4465 Commits
Author SHA1 Message Date
peaklabs-dev 32574d76b1 Merge remote-tracking branch 'origin/main' into next 2026-11-02 16:12:51 +01:00
Andras BacsaiandClaude Opus 5.5 0b3ca79464 fix(scheduled-tasks): show disabled state in task and backup lists
Closes #12399

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:33:15 +01:00
Andras BacsaiandClaude Opus 5.5 dbd211486b fix(backups): let service databases choose the databases to back up
Closes #12432

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:59:53 +01:00
Andras BacsaiandClaude Opus 5.5 f2f89ccfae fix(canvas): add SQLite to database engines
Closes #12410

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:59:13 +01:00
Andras BacsaiandClaude Opus 5.5 51029aa8b9 fix(new-resource): accept a base directory without a leading slash
Closes #12428

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:58:15 +01:00
peaklabs-dev 6c17c29925 Merge remote-tracking branch 'origin/main' into next 2026-11-02 01:01:41 +01:00
peaklabs-dev a608a37d8b feat: add update settings to the instance settings
- Adds the channels stable, preview, nightly and custom
- Preview and nightly read /coolify/release.json on the CDN and take the newest version of their channel and the more stable ones, nightly gets a new build of next or the release branch twice a day
- Custom installs any image tag of ghcr.io by hand, such as pr-1234 for the build of pull request 1234
- After a switch to a more stable channel, the instance keeps the updates of the channel it left until the stable release of its version is out
- The local versions.json moves to storage/app and is replaced in one step, a channel change replaces it without the version of the old channel
2026-11-02 00:04:26 +01:00
Andras Bacsai faf0b6fac4 fix(runners): preserve unsaved settings during Sysbox checks
Move Sysbox checks and installation into a lazy Livewire component so its requests do not reset the runner form's unsaved state. Update tests to cover the separate component.
2026-11-01 21:03:26 +01:00
Andras Bacsai 23eebbf2ad fix(servers): refresh provider status with server details action 2026-11-01 15:49:13 +01:00
Andras Bacsai 759fbe5b3c feat(deployments): show spinners for in-progress status 2026-11-01 14:50:14 +01:00
Andras Bacsai 8178fa16b2 fix(ui): use red style for unused key deletion 2026-11-01 14:32:34 +01:00
peaklabs-dev c5d53418da chore: merge main into next 2026-10-30 22:16:19 +01:00
Andras BacsaiandClaude Opus 5.5 a567a4b659 fix(analytics): key traffic tables so the pager works after lazy load
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:52:02 +01:00
Andras BacsaiandClaude Opus 5.5 e36c54c23c fix(logs): style lines by their declared level, not by error keywords
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 19:53:16 +01:00
peaklabs-dev 3665482f77 feat(database): replace the SQLite uid note with a bind mount warning
- 3.54.1-v0.2.0 lets any uid write the databases, so the application no longer has to run as 65532 or root for improved compatibility, however the SQLite files are now writable by every user, so a bind mount instead of a docker volume mount opens them to every user on the host
2026-10-30 18:27:17 +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 6f1905b7b0 fix(access): enforce member grants on more actions
- Require write access on the target environment to clone or move a resource
- Check read access on shared variables before a reference is added or resolved
- Limit team credentials, git sources, and imports of other backups to team-wide writers
- Require the delete level for backup, volume, storage, and task deletes
- Require create access for previews, new projects, and git sources
- Use the token team for the access scope, and check team-wide access on Livewire updates
- Require instance admin to toggle the API and MCP server
- Hide server pickers and broadcast details from members without access
2026-10-30 16:11:10 +01:00
Andras BacsaiandClaude Opus 5.5 f733ea4c1f fix(team): show the members sort dropdown only on small screens
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:40:46 +01:00
Andras BacsaiandClaude Opus 5.5 c1fc9466b2 fix(ui): unify dropdown menu styles and drop sort buttons that duplicate table headers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:16:41 +01:00
Andras Bacsai 34e872482d fix(api-tokens): float the permissions dropdown over the token modal 2026-10-30 15:16:40 +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 BacsaiandClaude Opus 5.5 20466baae1 fix(team): remove the new team button from team settings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:08:42 +01:00
Andras BacsaiandClaude Opus 5.5 a81bd5b9d2 fix(team): show member access summary under the email
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:33:03 +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 Bacsai 18c5cf506b feat(api-tokens): edit a token in a modal that opens without a request 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 76b89fa8e9 feat(api-tokens): edit token access and pause or resume tokens (#12396)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:20:19 +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
github-actions[bot] 82764c6d79 Merge remote-tracking branch 'origin/main' into next 2026-10-29 22:37:14 +00:00
Andras Bacsai 72c8209285 feat(subscription): email checkout reminders for expired sessions
Enable Stripe checkout recovery links and send rate-limited reminders to the
admin who started an unfinished subscription checkout.
2026-10-29 23:35:34 +01:00
Andras Bacsai ca6eb20a38 Merge remote-tracking branch 'origin/main' into origin/next
# Conflicts:
#	app/Livewire/Dashboard.php
#	app/Livewire/Dashboard/ActiveDeployments.php
#	resources/views/livewire/team/member.blade.php
#	tests/Feature/Security/PrivateKeyServerLookupTest.php
2026-10-29 21:20:31 +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 BacsaiandClaude Opus 5.5 0d398ced24 fix(servers): open patches page from the patches badge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 20:44:17 +01:00
340de2684f chore: merge main into next (#12371)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 19:02:19 +01:00
Andras BacsaiandClaude Opus 5.5 607daf80be feat(auth): show two-factor code as separate digit boxes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 18:17:18 +01:00
Andras Bacsai a39370dbb8 fix(postgresql): prevent init script path traversal 2026-10-29 18:01:43 +01:00
Andras BacsaiandClaude Opus 5.5 3048e9948c fix(analytics): start Locations card on resource analytics tabs
Key the loaded view so the lazy-load morph replaces the placeholder
skeleton instead of patching it in place. Alpine did not start the
Locations toggle, the globe, and the table pagers on reused nodes.

Closes #12370

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 11:28:04 +01:00
Andras BacsaiandClaude Opus 5.5 6e3ab703bf fix(application): show watch paths for deploy key applications
Closes #12373

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 11:09:16 +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 103af830e5 feat(dashboard): sort projects and servers by clicking a column header 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
Andras BacsaiandClaude Opus 5.5 cd992e72e1 feat(tables): filter tables by clicking a cell value
Click a type, status, server, source, or role value in a table row to
filter the table by that value. Click it again to remove the filter.
Covers the environment resources, deployments, application and service
backups, and team members tables.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 10:53:44 +01:00
Andras BacsaiandClaude Opus 5.5 2616b4bba1 fix(deployments): index history ordering and skip payload columns in lists
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:44:28 +01:00
github-actions[bot] 9d0b6a5054 Merge remote-tracking branch 'origin/main' into next 2026-10-28 13:28:51 +00:00