15887 Commits

Author SHA1 Message Date
ShadowArcanist 84eb9d31bb feat(ui): improve configuration changes modal 2026-05-30 13:16:37 +05:30
Andras Bacsai 38e855b20e fix(webhook): skip preview deployments for fork PRs (#10457) 2026-05-29 20:43:29 +02:00
ShadowArcanist ab4b2045d4 fix(webhook): skip preview deployments for fork PRs when public previews are off 2026-05-29 23:53:51 +05:30
Andras Bacsai db83289a4a fix(team): prevent 500 when deleting the current team (#10353) 2026-05-29 19:09:25 +02:00
dependabot[bot] 3ef05dd5ec chore(deps): bump ws from 8.19.0 to 8.20.1 in /docker/coolify-realtime
Bumps [ws](https://github.com/websockets/ws) from 8.19.0 to 8.20.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.19.0...8.20.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 8.20.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-29 15:37:38 +00:00
Andras Bacsai 8dd5d01f69 Update bootstrap/helpers/shared.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-05-29 15:37:42 +02:00
Andras Bacsai 6ed03a8c0a chore(deps): bump realtime helper and postcss versions 2026-05-29 15:25:25 +02:00
Andras Bacsai 7c28d339c8 chore(deps): bump ws from 8.19.0 to 8.20.1 in /docker/coolify-realtime (#10424) 2026-05-29 15:24:35 +02:00
Andras Bacsai 246219220d chore(deps): bump symfony/polyfill-intl-idn from 1.37.0 to 1.38.1 (#10442) 2026-05-29 15:24:01 +02:00
Andras Bacsai 50e198fd51 fix(service): Chatwoot Support allowlisted private API inbox webhooks (#10426) 2026-05-29 15:20:17 +02:00
Andras Bacsai d9fe81500d fix(service): set correct image tag for hermes-agent-with-webui (#10445) 2026-05-29 15:20:04 +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 d4a538a265 fix(livewire): stop broadcast handlers from wiping in-progress form (#10321) 2026-05-29 12:29:32 +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 5abc01882e Merge remote-tracking branch 'origin/next' into fix/form-state 2026-05-29 12:22:37 +02:00
Andras Bacsai 6cd05fb559 fix(webhooks): point auth-required docs to authorization 2026-05-29 11:18:53 +02:00
ShadowArcanist 1af5cc11c9 fix(service): set correct image tag for hermes-agent-with-webui 2026-05-29 12:14:17 +05:30
Andras Bacsai bbbd46ca26 fix(database): always include MongoDB archive path in restores 2026-05-29 08:27:45 +02:00
dependabot[bot] d7d9004aae chore(deps): bump symfony/polyfill-intl-idn from 1.37.0 to 1.38.1
Bumps [symfony/polyfill-intl-idn](https://github.com/symfony/polyfill-intl-idn) from 1.37.0 to 1.38.1.
- [Release notes](https://github.com/symfony/polyfill-intl-idn/releases)
- [Commits](https://github.com/symfony/polyfill-intl-idn/compare/v1.37.0...v1.38.1)

---
updated-dependencies:
- dependency-name: symfony/polyfill-intl-idn
  dependency-version: 1.38.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-29 01:18:55 +00: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 902a60239d fix(database): use named backup upload route 2026-05-28 20:46:38 +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
Ömer Faruk ŞAHİN ddd84e5adc fix(git): write deploy key to per-deployment path, not root's id_rsa 2026-05-28 19:13:29 +03:00
Andras Bacsai 4401bee941 Merge remote-tracking branch 'origin/next' into fix/form-state 2026-05-28 17:34:52 +02:00
Andras Bacsai dd8a0d501d fix(s3): cap connection checks at 15 seconds
Return a friendly timeout error for failed S3 endpoint checks while
preserving the original exception as the previous throwable.
2026-05-28 17:31:11 +02:00
Andras Bacsai c35d28f99b fix(database): guard proxy listeners without a team 2026-05-28 17:13:18 +02:00
Gianfranco P ef5cf3c626 Merge branch 'next' into fix/ux-close-icon-buttons 2026-05-28 12:35:50 +02:00
Andras Bacsai 20f9bb4305 perf(realtime): reduce push update churn
Cache destination lookups and skip empty resource queries during push
server updates. Add database indexes and Postgres storage tuning for
hot-update tables, and make the realtime entrypoint forward process
failures and signals reliably.
2026-05-27 19:38:23 +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
Gabriel Peralta 885f6eb124 Chatwoot: Support allowlisted private API inbox webhooks
Self-hosted installations can now opt SafeFetch into private-network access after SSRF hardening. The default remains unchanged: private IP destinations are blocked unless the instance owner explicitly enables private-network requests with SAFE_FETCH_ALLOW_PRIVATE_NETWORK=true

This is a breaking change if you use latest tag and have evolution-api or similar deployed on coolify alongside chatwoot.
2026-05-27 09:31:29 -03:00
dependabot[bot] 98b36c1ff7 chore(deps): bump ws from 8.19.0 to 8.20.1 in /docker/coolify-realtime
Bumps [ws](https://github.com/websockets/ws) from 8.19.0 to 8.20.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.19.0...8.20.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 8.20.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-27 07:27:47 +00:00
Andras Bacsai 5a27427cad v4.1.1 (#10357) v4.1.1 2026-05-27 09:26:44 +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 9c62996e40 chore: inspect commit message guidance 2026-05-26 15:41:24 +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 7f35a2d98e fix(deployment): clear scroll debounce on teardown 2026-05-26 14:55:13 +02:00
Andras Bacsai dcaaf2ed68 style(destination): capitalize server label 2026-05-26 14:54:01 +02:00
Andras Bacsai b751628545 fix(database): normalize read/write host lists
Trim comma-separated database host values and fall back to DB_HOST or the default host when write hosts are empty. Add unit coverage for read/write host parsing.
2026-05-26 14:52:25 +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