1208 Commits
Author SHA1 Message Date
Andras Bacsai 0c74db833d Merge remote-tracking branch 'origin/main' into next 2026-11-09 11:39:07 +01:00
Andras BacsaiandClaude Opus 5.5 c589449c3e fix(ui): make banners readable in light mode
Refs #12494

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 11:32:10 +01:00
Andras Bacsai adec9911cf Merge remote-tracking branch 'origin/main' into next 2026-11-09 10:16:31 +01:00
Andras BacsaiandClaude Opus 5.5 65dba32385 feat(server-security): scan host OS packages for vulnerabilities (#12482)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 10:12:56 +01:00
Andras BacsaiandClaude Opus 5.5 1d21a27812 refactor(image-scan): remove the instance switch and the vulnerability DB URL
Scanning is now controlled per server and per app. Each server downloads
the Grype database from its default source.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 15:49:05 +01:00
Andras BacsaiandClaude Opus 5.5 5af4715b8a feat(ui): put the star button after the status in the top bar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:29:43 +01:00
Andras BacsaiandClaude Opus 5.5 c648f4ec6a feat(ui): star servers and resources for quick access on the dashboard
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:16:25 +01:00
Andras BacsaiandClaude Opus 5.5 17a9fa624e feat(ui): move maintenance mode to its own page with a confirmed toggle
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 15:20:41 +01:00
Andras BacsaiandClaude Opus 5.5 b1a20fabd4 fix(ui): hide tooltips on close and dismiss buttons
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 15:12:41 +01:00
033f0c84da v4.7 (#12478)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com>
Co-authored-by: Aditya Tripathi <aditya@climactic.co>
2026-11-06 14:25:02 +01:00
Andras Bacsai 7bab8f76ad Merge remote-tracking branch 'origin/main' into next 2026-11-06 12:08:06 +01:00
Andras BacsaiandClaude Opus 5.5 bd499de1fb feat(ui): add UI scale option to appearance settings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 11:18:33 +01:00
Andras BacsaiandClaude Opus 5.5 b12c965fbe fix(ui): use bare status badges and show backup S3 storage as plain text
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 10:49:21 +01:00
Aditya TripathiandAndras Bacsai 3c33f61d7b feat(image-scan): container image vulnerability scanning with a security status per resource (#12377)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
2026-11-06 10:31:27 +01:00
Andras Bacsai 0db8f60bdd feat(storage): add SFTP, FTPS, and WebDAV backup destinations (#12417) 2026-11-06 10:28:30 +01:00
cdc45e5736 fix: merge fixes-next into next (security hardening and fixes) (#12460)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com>
2026-11-06 10:18:19 +01:00
Andras BacsaiandClaude Opus 5.5 f7867923b7 feat(email): add named SMTP servers, provider templates, Resend sender (#12471)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 11:38:17 +01:00
Andras BacsaiandClaude Opus 5.5 6518734935 fix(theme): keep custom accent text and fills readable
Compute accent text per page and sidebar surface to reach 4.5:1, move fill shades away from their text, pick the fill text by exact WCAG contrast, show the real fill in the preview, and use the theme surface for light custom wells.

Closes #12468

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 10:36:16 +01:00
Andras Bacsai 9e64998d68 refactor(ui): drop deprecated -webkit-overflow-scrolling declarations
Remove the obsolete -webkit-overflow-scrolling: touch rule from the
table and log scroll containers in app.css, and the matching inline
styles from the scrollable bodies of modals, dialogs, the global
search create modals, the domain settings, subscription and upgrade
views. Modern iOS Safari scrolls with momentum by default, so these
declarations no longer did anything.
2026-11-05 10:18:06 +01:00
Andras BacsaiandClaude Opus 5.5 ca27224628 fix(server): refresh the page after the localhost connection is validated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 11:29:49 +01:00
Andras BacsaiandClaude Opus 5.5 fc027be248 fix(compose): warn when the Compose file is in a subdirectory of the base directory
Closes #9525

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 20:36:26 +01:00
Andras Bacsai f21acdc3e4 fix(notifications): notify when a resource stops unexpectedly
Status checks now queue a delayed check for each application, preview,
service part, or database that goes from up to exited. After 2 minutes
it sends the "Resource status changes" notification if the resource is
still stopped, no deployment runs, and Coolify did not stop it. Each
resource sends at most one notification in 15 minutes.

Closes #9493
2026-11-03 20:18:50 +01:00
Andras BacsaiandClaude Opus 5.5 688134a994 feat(backups): import backups from a dialog on the backups page
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 17:59:57 +01:00
peaklabs-dev 6c17c29925 Merge remote-tracking branch 'origin/main' into next 2026-11-02 01:01:41 +01:00
Andras Bacsai 759fbe5b3c feat(deployments): show spinners for in-progress status 2026-11-01 14:50:14 +01:00
github-actions[bot] a0b56bc42f Merge remote-tracking branch 'origin/main' into next 2026-10-30 16:29:43 +00:00
Andras BacsaiandClaude Opus 5.5 a80f0c7ca8 fix(ui): name the deepest menu on the resource menu row
- Backup pages show Backup, and service sub-resources show their own
  name, because the row opens that menu.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 17:23:49 +01:00
Andras BacsaiandClaude Opus 5.5 49346aeb29 fix(ui): restore the main menu row that reopens the resource menu
- On a resource page, the main menu starts with a row that shows the
  resource name and opens the deepest resource menu again.
- Pass the resource name to registerMainNavContext() again.
- Document the row in DESIGN.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 17:21:08 +01:00
Andras Bacsai 091654ce7f feat(access): set member grants when inviting 2026-10-30 16:41:30 +01:00
Andras BacsaiandClaude Opus 5.5 8fcff6ebd1 fix(ui): consolidate table row actions into one menu pattern
Rows with two or more actions use a shared "..." menu (x-table.row-actions);
rows with one action keep a single icon button. Every actions column has an
"Actions" header. Removing a member and revoking an invitation now ask for
confirmation. Row and card icons are neutral in dark mode.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 16:14:46 +01:00
Andras Bacsai 1bacfd1966 fix(ui): use an outline trash icon for delete buttons 2026-10-30 16:14:02 +01:00
Andras Bacsai fb854a7cff fix(access): hide shared variables and actions that a member cannot use
- Check read access on the project or environment for shared variables
  pages, the canvas, and the sidebar, not only navigation access
- Require team-wide read for the server shared variables canvas API
- Open the environment variable editor read-only when the value is hidden
- Show the integration tokens button only to users who can open it
- Show disabled confirmation buttons as disabled, not as danger buttons
2026-10-30 15:14:02 +01:00
Andras Bacsai be80808138 fix(team): show 2FA off as a label instead of an X icon 2026-10-30 14:33:02 +01:00
Andras Bacsai cdff76a9b5 feat(api-tokens): keep issued tokens visible and improve scope selection 2026-10-30 14:27:58 +01:00
Andras BacsaiandClaude Opus 5.5 548dec65b7 feat(api-tokens): warn 7 days before a token expires
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:27:58 +01:00
Andras BacsaiandClaude Opus 5.5 263eab5d27 feat(api-tokens): roll a token to replace its secret
Keep the description, permissions, scopes, and expiry. Move the row actions into a dropdown menu and measure the dropdown panel after it is shown, so menus at the right edge stay on screen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:06:43 +01:00
b85a9197a1 chore: merge main into next (#12382)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:10:39 +01:00
Andras Bacsai c6f5899949 feat(tables): show loading state while a server-side sort runs 2026-10-29 11:05:39 +01:00
Andras Bacsai af28ba8bbc feat(tables): sort tables by clicking a column header 2026-10-29 10:53:54 +01:00
62b2a99a70 chore: merge main into next (#12351)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Aditya Tripathi <aditya@climactic.co>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:25:43 +01:00
fe6c73726d chore: merge main into next (#12344)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Aditya Tripathi <aditya@climactic.co>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:25:53 +01:00
Andras BacsaiandClaude Opus 5.5 67673525a8 fix(modal): let password managers autofill the confirmation password
Closes #9963

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:11:07 +01:00
Andras Bacsai fcdcd80eeb feat(env): support variable flag directives in developer view (#12349) 2026-10-27 16:27:22 +01:00
Andras BacsaiandClaude Opus 5.5 d3b1a3d405 fix(ui): update breadcrumb names after a rename
Closes #12341

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:55:39 +01:00
Andras Bacsai 56c427b671 fix(forms): stop checkbox label clicks from opening the helper tooltip 2026-10-27 09:57:09 +01:00
Andras Bacsai 1a2a5362ad fix(security): secure remote command secrets and clone volume data 2026-10-27 09:47:18 +01:00
github-actions[bot] e6df60c7a4 Merge remote-tracking branch 'origin/main' into next 2026-10-26 22:47:01 +00:00
Andras BacsaiandClaude Opus 5.5 c4b9b7a165 fix(navbar): show sidebar toggle line on the left when expanded
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:41:23 +01:00
github-actions[bot] 7f65c6f303 Merge remote-tracking branch 'origin/main' into next 2026-10-26 18:49:11 +00:00
Andras BacsaiandClaude Opus 5.5 b17c83d688 fix(modal): keep confirmation checkbox state in one place
The dialog checkboxes used both Alpine selectedActions and wire:model.
After the dialog closed, the two could differ, so a click did not change
the checkbox. Alpine now holds the state, and the dialog sends it to
Livewire on submit.

Closes #12338

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 19:28:36 +01:00