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>
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>
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.
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
- 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>
- 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>
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>
- 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
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>
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>