Show existing source paths as read-only fields and label bind mounts in deployment configuration. Remove the action that could convert them to named volumes.
The available tags list now sends only the tag id to the Livewire
action. The component resolves the tag from the current team, so
tag names with special characters, such as apostrophes, work.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Use the shared Docker container-name rules for custom internal names
in the API and Advanced settings form. Quote container names in
deployment inspect, log, and stop commands.
Allow local and S3 archives to be deleted independently when removing a
volume backup schedule, and consolidate destructive-action layouts with a
shared danger-zone component.
- Fix DB URL copy button: a Blade @if inside the <x-copy-button> tag silently
broke the component; compute the resolve expression in PHP and pass one attr
- Sidebar: show section dividers between groups in the collapsed rail
- Project cards/list + dashboard: use the app's styled tooltip (data-tooltip) on
the env/resource icon stats, and lift them above the card link overlay so they
actually receive hover
- Applications: show the persistent 'Deploying… View log' indicator (links to the
running deployment's log page) in the heading, extending the reopen feature to
all resource types
- Shared variables: use the canonical application-settings-workspace stacked,
sticky sidebar to match other settings pages
- Environment page: add a 'Shared variables' shortcut to the dedicated page
API log endpoints and the GetLogs UI now treat `all` as unbounded
output, with `-1` remaining as a compatibility alias. MCP still
falls back to a positive default. Traefik version checks run from
CheckForUpdatesJob instead of a weekly schedule.
Cache the related database before deleting the backup so authorization,
server lookup, and the service redirect do not touch a deleted morph.
Skip rendering after delete and cover the service-database path.
Extend the service reopen-deployment pattern to databases:
- Track the running activity id (refreshed on the 10s poll, on broadcasts, and
instantly when start/restart runs)
- Add reopenDeployment() to re-attach the activity monitor and reopen the dialog
- Show the shared x-deploying-indicator in the mobile status row + desktop HUD
- Clicking Start/Restart while an operation runs reopens the log instead of
launching a duplicate
Applications already use a persistent deployment-log page, so they need no
reopen affordance.
The deploy/start log lived in a fire-and-forget dialog; closing it left the
deploy running server-side with no way back, and re-clicking Deploy only
errored 'deployment in progress'.
- Track the running activity id in the service heading (refreshed on the 10s
poll, on broadcasts, and instantly when a deploy starts)
- Add reopenDeployment(): re-attach the activity monitor to the running deploy
and reopen the dialog
- Show a persistent 'Deploying… View log' indicator (mobile status row +
desktop action HUD) that reopens the live log
- Clicking Deploy/Restart while a deploy runs now reopens the log instead of
throwing an error
- New reusable x-deploying-indicator component
- Sidebar: keep nav icons at the same x-position when collapsed (muscle memory)
- Database URLs: add copy button to internal/public URL fields
- Project cards + list: compact icon stats for env/resource counts, add Created column
- Server card graph: add CPU/Memory color legend to the tooltip
- Server list: add IP address, resource count, and status dot columns
- Respect is_wire_navigate_enabled on scheduled-backups links (use wireNavigate helper)
Move service application and database settings into an embedded modal with a footer, subtitle helper, and Docker restart-count control. Accept max_restart_count on the service applications API, cap compose YAML collection aliases, and tighten status, backup, and database sidebar layouts.
S3-compatible and legacy buckets may include uppercase letters. Relax the bucket name pattern, validation messages, and tests so those names are accepted while still rejecting invalid characters and formats.
Add indexing, redirect, and hostname regeneration controls to domain editors. Queue DNS checks only for scheme or hostname changes and show progress consistently across application, service, and preview domains.
Move database import temp/container cleanup into a queued listener with retries, and clear the import running state on failed restore starts. Tighten Cloudflare replace/delete to the current server IP and owning resource, notify when DNS jobs fail, and pass domain-removal confirmation through remove-by-key. Document import request oneOf schemas without extra properties.