Commit Graph

438 Commits

Author SHA1 Message Date
Andras Bacsai c7c8107dcd Merge remote-tracking branch 'origin/next' into fix/application-branch-validation 2026-06-02 11:10:33 +02:00
Andras Bacsai 7193a5d0f6 fix(tests): reuse instance settings in API token team tests 2026-06-02 11:05:51 +02:00
Andras Bacsai a511bd9b67 fix(api): validate token team context 2026-06-01 15:17:55 +02:00
Andras Bacsai 2bb07bbe9e fix: validate application branch updates 2026-06-01 15:13:04 +02:00
Andras Bacsai 906717a936 Merge remote-tracking branch 'origin/next' into mobile-terminal-toolbar-controls 2026-06-01 10:38:58 +02:00
Andras Bacsai a5313a78cf fix(deployments): filter generated compose service env vars (#10186) 2026-06-01 10:38:36 +02:00
Andras Bacsai e37f9401bc Merge remote-tracking branch 'origin/next' into 7552-pr-previews-not-working 2026-06-01 10:35:37 +02:00
Andras Bacsai 8e30035031 Merge remote-tracking branch 'origin/next' into s3-backup-validation 2026-06-01 10:32:17 +02:00
Andras Bacsai 24fc8db8db fix(terminal): exit fullscreen when PTY exits
Reset fullscreen and mobile toolbar state on PTY exit so the terminal UI returns to its normal layout. Update packaging coverage for the PTY exit behavior and mobile fullscreen height.
2026-06-01 10:21:30 +02:00
Andras Bacsai a8db2864f3 Merge remote-tracking branch 'origin/next' into mobile-terminal-toolbar-controls 2026-06-01 10:15:23 +02:00
Andras Bacsai ec367549b4 feat(terminal): add mobile shell controls
Add a compact mobile toolbar for fullscreen terminal control keys and adjust terminal sizing so the toolbar does not cover rows.
2026-06-01 10:13:56 +02:00
Andras Bacsai d4ff7ea791 Merge remote-tracking branch 'origin/next' into s3-backup-validation 2026-06-01 10:02:12 +02:00
Andras Bacsai 3db41a83a8 Merge remote-tracking branch 'origin/next' into terminal-long-session-disconnects 2026-06-01 09:52:34 +02:00
Andras Bacsai 51062e73a6 fix(database): honor disabled standalone health checks
Skip Docker healthcheck configuration when standalone database health checks are disabled, and document default health check settings in the database API schema.
2026-06-01 08:55:03 +02:00
Andras Bacsai 094e64ed2d Merge remote-tracking branch 'origin/next' into terminal-long-session-disconnects 2026-06-01 06:56:11 +02:00
Andras Bacsai 4f053bf5b4 Merge remote-tracking branch 'origin/next' into 10444-database-healthchecks 2026-06-01 06:55:40 +02:00
Andras Bacsai b46d8e2601 fix(terminal): keep sessions alive without hard timeouts 2026-05-31 21:52:46 +02:00
Andras Bacsai 8a52307255 fix(cleanup): preserve self-hosted server IPs (#10480) 2026-05-31 21:50:28 +02:00
Andras Bacsai d423223d38 feat(database): configure standalone health checks
Add configurable health check settings for standalone databases and apply them to generated Docker Compose services. Allow disabling health checks and cover the behavior with feature tests.
2026-05-31 21:50:10 +02:00
Andras Bacsai 1b68f11ec0 fix(cleanup): disable unreachable self-hosted servers
Preserve self-hosted server IPs during unreachable cleanup and force-disable them instead. Keep cloud cleanup behavior overwriting the IP, with test coverage for both paths.
2026-05-31 21:47:18 +02:00
Andras Bacsai 34f15c106c fix(webhook): match GitLab SSH repos with custom ports
Strip leading port segments from scp-style GitLab repository URLs so manual webhook matching compares the repository path consistently. Cover both ported and unported SSH URL forms.
2026-05-31 21:46:23 +02:00
Andras Bacsai c9fcc0bc44 fix(service): defer stop when pulling latest images
Ensure restart actions flow through StartService so pull-latest restarts can
avoid stopping the service before image pulls. Also raise the changelog modal
above the desktop sidebar toggle.
2026-05-31 21:19:18 +02:00
Andras Bacsai ea80649b6b fix(settings): update What's New menu icon 2026-05-29 14:02:41 +02:00
Andras Bacsai b81bfc7f32 feat(profile): add appearance preferences page
Add a profile appearance section for theme, page width, and zoom preferences.
Move changelog access into the sidebar and bump the Coolify version to 4.1.2.
2026-05-29 13:59:01 +02:00
Andras Bacsai c5fbf78bd8 fix(database): quote S3 restore temp paths
Escape generated restore file paths before composing docker and shell cleanup commands so paths with spaces or metacharacters cannot break command execution. Update import form security coverage to target ImportForm directly.
2026-05-29 12:27:33 +02:00
Andras Bacsai 37a99e5f94 fix(application): only show server warning for false status
Treat unknown server status separately from false so the unreachable badge is not shown until a server is confirmed unreachable. Add feature coverage for the badge rendering.
2026-05-28 20:50:14 +02:00
Andras Bacsai eb7da5c082 fix(database): gate import form controls by update access
Require database import form controls to declare update authorization against the resource and add coverage to prevent unguarded controls.
2026-05-28 20:48:18 +02:00
Andras Bacsai 322bf7c1b2 refactor(database): split import form into Livewire child
Extract the database import form into its own component and add realtime
status refresh components for application server badges and service resource
cards.
2026-05-28 19:30:12 +02:00
Andras Bacsai 4401bee941 Merge remote-tracking branch 'origin/next' into fix/form-state 2026-05-28 17:34:52 +02:00
Andras Bacsai 90aa4e7e73 chore(sentinel): remove stale resource exit check 2026-05-27 16:55:03 +02:00
Andras Bacsai 626cfb4a22 fix(sentinel): reduce resource churn from health flaps
Ignore health status changes in Sentinel push deduplication when the container lifecycle state is unchanged.

Scope stale resource checks to Sentinel servers whose heartbeat is stale, and avoid refreshing resource last_online_at on unchanged statuses.
2026-05-27 16:48:38 +02:00
Andras Bacsai 1c5d5676ef fix(crons): dispatch due schedules across chunks
Interleave due backups and tasks so one schedule type cannot starve the
other, and defer task job context loading until execution.
2026-05-27 16:35:41 +02:00
Andras Bacsai 9d1ede0733 fix(github): require opt-in custom webhook endpoint 2026-05-27 09:11:23 +02:00
Andras Bacsai a07cee7ad6 fix(github): support custom webhook override 2026-05-27 09:05:55 +02:00
Andras Bacsai 499a8666db fix(github): allow custom webhook endpoint input 2026-05-27 08:37:10 +02:00
Andras Bacsai 9b996b4dc9 chore: inspect commit message guidance 2026-05-27 07:14:54 +02:00
Andras Bacsai d443758b03 fix(github): allow system-wide private apps across teams
Use the shared GitHub app scope when listing and loading private apps so system-wide apps owned by another team remain available. Update coverage for mounting and loading repositories through those apps.
2026-05-26 17:36:02 +02:00
Andras Bacsai 9f29df4cc3 fix(sentinel): accept empty container heartbeats
Allow Sentinel pushes with an empty containers array so servers with no
running containers still refresh their heartbeat and enqueue an update.
2026-05-26 17:31:27 +02:00
Andras Bacsai 081bd6ef8c fix(seeding): ensure root user joins root team
Create the root team before production seeding depends on it, reuse the
existing root team when creating root users, and cover the production seeder
flow with a feature test.
2026-05-26 17:05:54 +02:00
Andras Bacsai 6da907f1c8 chore: inspect commit message guidance 2026-05-26 15:35:09 +02:00
Andras Bacsai 0c6a233b27 fix(deployment): unregister Livewire morph hook on teardown
Store the morph.updated cleanup callback and invoke it during Alpine destroy so deployment log search hooks do not survive component teardown.
2026-05-26 14:57:20 +02:00
Andras Bacsai 8e033c5bc3 fix(destination): promote networks atomically
Wrap destination promotion in a transaction so the main destination swap and additional network updates stay consistent. Add coverage for promoting an owned team network while preserving the previous main destination as an additional network.
2026-05-26 14:50:29 +02:00
Andras Bacsai f44ace3965 fix(destination): validate network server pairing
Ensure destination attach and promote operations only accept networks that belong to the selected server, preventing mismatched same-team server/network pairs.
2026-05-26 14:48:36 +02:00
Andras Bacsai 097efd14ce fix(storage): clear stale disk usage cache
Forget cached storage threshold state when reported disk usage drops below the alert threshold, allowing future threshold crossings to dispatch a fresh storage check.
2026-05-26 14:45:49 +02:00
Andras Bacsai 43884823c6 chore(ssh): remove stale mux cleanup job
Drop the scheduled stale multiplexed connection cleanup job, its SSH mux
health/orphan config, and the tests that covered that cleanup path.
2026-05-26 14:40:38 +02:00
Andras Bacsai b5be9fe9e8 fix(sentinel): lock push dedupe decisions
Guard Sentinel push hash checks and cache updates with a server-scoped atomic cache lock to prevent concurrent duplicate dispatches.
2026-05-26 14:12:56 +02:00
Andras Bacsai 7677fac2f5 fix(sentinel): validate push containers payload
Reject malformed sentinel push payloads before updating heartbeat state,
dispatching jobs, or writing deduplication cache entries.
2026-05-26 14:07:41 +02:00
Andras Bacsai ed3780b2a7 fix(schedule): run stale multiplex cleanup on crons queue
Dispatch CleanupStaleMultiplexedConnections through the crons queue and
cover the scheduled job queue assignment with a feature test.
2026-05-26 13:51:22 +02:00
Andras Bacsai 8a40c4e348 chore(sync-bunny): remove GitHub release sync paths
Drop the unused GitHub release and version sync options from sync:bunny,
leaving the command focused on BunnyCDN template, release, and nightly syncs.
Update the nightly test to assert it does not invoke gh or git.
2026-05-26 11:51:38 +02:00
Andras Bacsai 21db1fd374 fix(sync-bunny): sync nightly CDN files to nested paths
Write nightly versions and releases under json/nightly in the CDN repo, and cover both release and versions-only sync flows with feature tests.
2026-05-26 11:41:04 +02:00