991 Commits
Author SHA1 Message Date
Andras Bacsai fc9e61b7b4 feat(services): open resource settings in a modal with restart limits
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.
2026-09-10 17:39:56 +02:00
Andras Bacsai 3f1235158d fix(domains): detect Docker Compose domain conflicts
Normalize schemes when comparing routing identities and include per-service
Compose domains in conflict checks. Show the conflicting service name and
align the service domains heading layout.
2026-09-10 14:53:01 +02:00
Andras Bacsai 285684ad3c style(ui): unify view toggles at h-8 and View all buttons
Extract a shared view-toggle utility so list/grid switchers use the same 32px control height instead of mixed h-8/h-9 styles. Point section-heading View all links at the shared button class so they match other actions.
2026-09-10 08:40:41 +02:00
Andras Bacsai d71a72a45d fix(applications): flatten mobile config nav and pin domain save
Replace the collapsible mobile configuration menu with an always-visible
responsive grid, stack the mobile heading, and swap the domain editor
unsaved bar for a sticky Save footer with a scrollable form body.
2026-09-08 22:21:32 +02:00
Andras Bacsai 4a3dc11958 feat(ui): polish env editor, error buttons, and modal layout 2026-09-08 11:49:02 +02:00
Andras Bacsai 0afa59bc02 fix(ui): keep settings subnav in-page and persist sidebar collapse
Scroll active application settings sections with buttons instead of Livewire navigation, persist sidebar collapse even with auto-collapse, drop the unused modal id, and right-align destination status.
2026-09-08 09:20:38 +02:00
Aditya Tripathi 0cdb98d969 fix(ui): use dropdown-level shadow for popovers and floating menus
Replace inline modal-shadow styles on toasts, popups, and warning
banners with a shared `surface-popover` utility that uses the lighter
dropdown shadow instead of the heavier modal shadow. Apply the same
`shadow-dropdown` swap to the deployments indicator pill and the
server/deployment log floating menus. Remove now-unused console
header and error-contact-link rules from app.css, and add a test
asserting these surfaces consistently use the dropdown shadow.
2026-09-08 07:05:01 +02:00
Aditya Tripathi 9fbeb352a4 feat(ui): auto-collapse sidebar on settings pages; fixed full-height rail
Auto-collapse the main sidebar on pages that have a settings rail (follows
the page when enabled; expanded elsewhere), with an animated slide and a
profile-menu toggle (localStorage) to disable it.

Rework the settings rail to position:fixed like the main sidebar: full
height (3rem -> viewport bottom), left tracks the sidebar's collapsing
width via --sidebar-w, content pinned to grid column 2. Fixes the sticky
scroll crop and top/bottom gaps.
2026-09-08 07:05:01 +02:00
Aditya Tripathi 6bb8fcd5c7 feat(theme): extract shared Alpine theme controls into components
Introduce theme-controls and theme-controls/picker Blade components
housing the theme/page-width/custom-color logic previously duplicated
in top-user-menu and profile/appearance, and fix custom theme surface
colors to use oklch mixes instead of raw white/black/hex for correct
contrast.
2026-09-08 07:05:01 +02:00
Aditya Tripathi 160be6f571 feat(ui): white settings rail in light mode, unify shadows, mobile sheet polish
- Settings rail (application-settings-navigation) is now white in light mode
  instead of a gray fill; separation comes from the hairline ring + soft lift.
- Mobile slide-over: replace the heavy shadow-modal with a soft left-casting
  shadow (scrim handles content dimming, shadcn-style) + rounded-l corners.
- Unify scattered shadow-lg usages onto the shadow-dropdown / shadow-modal
  tokens across dropdowns, tooltips, popups and slide-over.
- Light-mode semantic text + tertiary/nav contrast tuning for WCAG AA.
- status-summary: support right-aligned dropdown; use it on the app heading.
2026-09-08 07:05:01 +02:00
Aditya Tripathi fd928537e3 feat(ui): unify motion/transition system across interactive components
Add shared easing curves and press/focus transitions for buttons, inputs,
and form controls in app.css. Refine dropdown, modal, tooltip, and
slide-over enter/leave transitions to use consistent easing and durations,
and remove the focus-visible box-shadow ring on inputs/selects in favor of
border-color transitions.
2026-09-08 07:05:01 +02:00
Aditya Tripathi 28fe3384ed feat(ui): section-heading component, dashboard spacing, sidebar-toggle icon
- Add reusable <x-section-heading> (title, muted subtitle, optional action)
  with a compact contained "View all" button; migrate dashboard Projects/
  Servers/Deployments and shared-variables environment headers to it.
- Dashboard: hide the empty active-deployments node so it no longer adds a
  gap above the first section; align section actions with the title row.
- Mobile: use the panel-left sidebar-toggle icon (matching desktop) as the
  drawer trigger instead of a hamburger.
2026-09-08 07:04:48 +02:00
Aditya Tripathi d91d2fa35d feat(ui): WCAG contrast, neutral oklch surface system, and mobile nav overhaul
Design tokens
- Fix WCAG AA text failures: darken light muted text and lighten dark
  tertiary text so 13-14px copy clears 4.5:1 on every surface.
- Rebuild the dark surface ladder in correct values (oklch compresses to
  near-black below ~15%), giving visible steps: content, chrome, cards.
- Establish a 3-layer shell (deep content, lighter sidebar/topbar chrome,
  lifted cards) with crisp hairline rings and a restrained card shadow.
- Unify every surface to one neutral temperature (pure gray); neutralize
  the cool-tinted sidebar text and legacy surface tokens.
- Convert all color tokens to oklch (neutrals + brand).
- Unify inputs to the recessed token; fix invisible dark placeholders.
- One shared --shadow-dropdown for all menus/listboxes/command palette.

Settings sidebar
- Sticky contained-card rail with subtle scrollbar; collapsible sub-section
  groups (active open by default), cross-page section links.
- Mobile: collapsible disclosure with animated open, outside/Escape dismiss,
  press feedback, and reduced-motion support.

Mobile
- Consolidate the resource header (title + status + links on one row).
- Tighten settings-page vertical rhythm.
- Rebuild the main sidebar as an animated shadcn-style sheet (slide/fade,
  Escape, scroll lock, in-panel close, close-on-navigate).

Fixes
- #11532: selected server invisible in the light-mode terminal toolbar.

Docs: update DESIGN.md tokens, shell layering, and temperature rules.
2026-09-08 07:04:48 +02:00
Andras Bacsai ba30c64d7d fix(stripe): prevent duplicate subscription checkouts (#11666) 2026-09-07 20:25:06 +02:00
Andras Bacsai d75881fa96 feat(domains): keep domain drafts and move preview settings
Preserve in-progress domain edits and redirects across Livewire
refreshes, copy www port overrides for service redirect pairs, and
relocate preview deployment toggles from Advanced to Previews.
Unsaved bars can stay dirty via Alpine while a modal is closed, and
service domain tables stack at narrow widths.
2026-09-07 18:29:58 +02:00
Andras Bacsai b123356acd feat: add backup controls, resource search, and Sentinel enablement
Unify service backup history with pagination, schedule settings actions, S3 destination details, and team-safe access checks. Display server built-ins as read-only variables and add loading and empty states for searchable resources.
2026-09-07 16:46:37 +02:00
Andras Bacsai 08f68016dd fix(storage): prevent PR suffix dropdown clipping (#11637) 2026-09-05 15:58:12 +02:00
Devrim Tunçer 16295e1ab3 fix(ui): keep modal content across re-renders (#11294) 2026-09-05 14:10:21 +02:00
Andras Bacsai 053b030c42 fix: remove database restart limits and clear stale Traefik state
Drop restart-limit fields and enforcement from database resources, clear cached Traefik version data when proxies change, and show missing service environment variables from disabled deploy actions.
2026-09-04 15:42:26 +02:00
Andras Bacsai 7a7564e6b3 fix(ui): improve compose editor layout on mobile screens 2026-09-02 10:22:44 +02:00
Andras Bacsai e4146a6314 feat(backups): unify service backup management (#11574) 2026-08-31 22:51:30 +02:00
Andras Bacsai 67b33c27a9 fix(applications): persist restart limit state for stopped containers (#11566) 2026-08-31 13:13:26 +02:00
Andras Bacsai b357522f94 fix(livewire): prevent stale keys and refresh races
Use stable identities for dynamic rows and nested components so reordering does not target the wrong item. Scope storage count and volume-list refreshes, preserve PostgreSQL script identity when renaming files, use Livewire-aware destination redirects, and bump the version to 4.3.13.
2026-08-28 09:26:57 +02:00
Andras Bacsai 97831ef06e feat(media): serve avatars and project icons from S3 or CDN 2026-08-27 22:32:16 +02:00
🏔️ Peak 22ca3216e8 fix(ui): monaco editor placeholder alignment (#11514) 2026-08-26 15:27:48 +02:00
Andras Bacsai 63cbdd5c52 fix(security): preserve private key editor modal identity (#11497) 2026-08-25 20:51:59 +02:00
Andras Bacsai 981163973b fix(server): distinguish proxy restart and update statuses 2026-08-24 10:52:08 +02:00
Andras Bacsai 7bbd91175f Revert "Merge branch 'next' into main"
This reverts commit 2598f3e4c8, reversing
changes made to 83f1a2e503.
2026-08-21 12:12:56 +02:00
Andras Bacsai 2598f3e4c8 Merge branch 'next' into main 2026-08-21 12:11:40 +02:00
Andras Bacsai 15072b9cf7 fix(ui): release modal scroll lock before confirmation submission
Close the confirmation modal before submitting destructive actions and reopen it when submission fails or returns an error.
2026-08-21 11:23:04 +02:00
github-actions[bot] fc6f6fd0d4 Merge remote-tracking branch 'origin/main' into next 2026-08-20 09:10:52 +00:00
Andras Bacsai 38502e8205 fix(resources): preserve deletion when remote cleanup fails
Separate remote service cleanup from resource deletion and ensure database removal
completes despite cleanup errors. Update the disabled two-factor badge icon.
2026-08-20 11:10:14 +02:00
peaklabs-dev eb9a422d9b refactor(ui): rename forms.copy-button to forms.copy-input 2026-08-19 15:11:49 +02:00
peaklabs-dev 595b72df6a feat(ui): add some animations to the copy button 2026-08-19 15:11:49 +02:00
peaklabs-dev 0e35eb2aa3 feat(ui): use the shared copy button component everywhere 2026-08-19 15:11:49 +02:00
peaklabs-dev 4ee59442ce feat(ui): add shared copy button component 2026-08-19 15:11:34 +02:00
peaklabs-dev a4886f6dfb feat(ui): add copy icon 2026-08-19 15:11:34 +02:00
Andras Bacsai 81227670e6 Reapply "Merge origin/next into main"
This reverts commit 15359833d3.
2026-08-19 12:39:55 +02:00
Andras Bacsai 15359833d3 Revert "Merge origin/next into main"
This reverts commit 541d743907, reversing
changes made to bb1d3f13f2.
2026-08-19 12:33:16 +02:00
github-actions[bot] ba933ac8a0 Merge remote-tracking branch 'origin/main' into next 2026-08-19 09:09:28 +00:00
Andras Bacsai e3a0279c00 fix(ui): flag pending proxy updates and Sentinel outages 2026-08-19 11:09:02 +02:00
github-actions[bot] 56537220cd Merge remote-tracking branch 'origin/main' into next 2026-08-18 21:29:24 +00:00
🏔️ Peak 25df9ec473 fix(ui): center icon tooltips over their trigger (#11382) 2026-08-18 23:29:09 +02:00
github-actions[bot] 1dc7baf7b5 Merge remote-tracking branch 'origin/main' into next 2026-08-18 20:42:25 +00:00
Andras Bacsai 81f3cc6446 Merge remote-tracking branch 'origin/main' 2026-08-18 22:42:06 +02:00
github-actions[bot] 23f9a435c8 Merge remote-tracking branch 'origin/main' into next 2026-08-18 20:13:42 +00:00
Rohit Tiwari 3d08bc898a fix(ui): close account menu on outside click when appearance is expanded (#11374) 2026-08-18 22:13:25 +02:00
Andras Bacsai b4f9c9b51d feat(development): add QEMU VM provisioning and server seeding
Add configurable development QEMU profiles, host setup, VM lifecycle management,
and commands to seed managed VMs as Coolify servers. Improve installation dialog
logs with responsive mobile presentation.
2026-08-18 21:14:29 +02:00
Andras Bacsai 85e0821dd4 Merge branch 'main' into third-party-integration-tokens 2026-08-18 16:15:53 +02:00
Andras Bacsai 743f54b317 feat(security): add Cloudflare integration token management
Add encrypted team-scoped integration token storage, admin UI, authorization, and Cloudflare token validation.
2026-08-18 16:15:34 +02:00