Conversation
…R_UUID) These are not visible on shared env page but user can use these variables like they use the COOLIFY_RESOURCE_UUID
…roler for PATCH, POST
…cations and remove from request
…tions for deployment
Use `$this->mainServer` when resolving environment variable values across deployment env generation (runtime, buildtime, nixpacks, args, and secrets hash) so shared server-scoped values are applied consistently. Also add `server_id` to `SharedEnvironmentVariable::$fillable` and normalize the Livewire Blade file newline.
Clear `branches` and `total_branches_count` in `loadRepositories` to avoid stale branch data after repo refreshes. Update the Livewire view to use the shared loading button pattern for refresh/load actions, and expand feature coverage for repository refresh behavior and refresh button visibility.
…illable guards Replace all uses of `forceFill`, `forceCreate`, and `forceFill` with their non-force equivalents across models, actions, controllers, and Livewire components. Add explicit `$fillable` arrays to all affected Eloquent models to enforce mass assignment protection. Add ModelFillableCreationTest and ModelFillableRegressionTest to verify that model creation respects fillable constraints and prevent regressions.
Replaces Model::forceCreate([...]) calls with (new Model)->forceFill([...])->save() across SettingsBackup, Server, and User models to avoid bypassing Eloquent model event lifecycle during record creation.
… Server Extract duplicated inline StandaloneDocker attribute arrays in the Server boot lifecycle into a dedicated method, eliminating repetition between the root-server (id=0) and normal-server paths. Also harden the shared_environment_variables migration by wrapping DDL statements in DB::transaction() and using DROP CONSTRAINT IF EXISTS to make the migration safely re-runnable. Add unit test covering the extracted method to verify uuid is always present in bootstrap attributes.
…for server variables Allow SharedVariables Livewire components (Environment, Project, Server) to accept UUID parameters directly via mount() instead of relying solely on route parameters. This enables Livewire component testing without a live route context. Also adds comment field support when saving/updating server shared environment variables, guards PostgreSQL-specific migration statements from running under SQLite (test environment compatibility), and expands the feature test suite with server shared variable scenarios including inline comment preservation and update behaviour.
Add `monospace` prop to Textarea component so font-mono is no longer applied by default. Apply it explicitly to env variable editors, private key fields, and shared variable forms where monospace is appropriate. Use Alpine.js x-data/x-model to make the multiline toggle reactive without a full Livewire round-trip. Add wire:key on the input/textarea wrappers to force proper DOM replacement when switching modes.
Parse `/tree/...` URLs by first capturing the full branch candidate, then iteratively resolving valid branch names for GitHub API lookups and deriving the remaining path as base directory. Also adjust env var editor/input view classes (`font-sans`, `w-full`) and add/extend feature tests for both branch parsing and multiline toggle rendering.
Add `WithoutOverlapping` middleware to `DatabaseBackupJob` keyed by backup ID with timeout-based lock expiry to prevent concurrent runs. Mark long-running backup executions as failed when they exceed the stale time threshold, and add periodic retention enforcement in `CleanupInstanceStuffsJob` with cache-based throttling. Also add float casts for retention max-storage fields on `ScheduledDatabaseBackup` and comprehensive feature tests covering overlap middleware, stale detection, casts, and retention behavior.
️✅ There are no secrets present in this pull request anymore.If these secrets were true positive and are still valid, we highly recommend you to revoke them. 🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request. |
|
@andrasbacsai - It looks like this merge didn't realise in a release? Our server has been max CPU ever since the v470 release. Are we able to get this release out please? Thank you for all the hard work! |
What's Changed
Security & Fixes
New Services & Templates
Fixes
Improvements