385 Commits
Author SHA1 Message Date
Andras BacsaiandClaude Opus 5.5 1d286427ad perf(canvas): stop pan and zoom from restyling every card
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:41:25 +01:00
Andras BacsaiandClaude Opus 5.5 f751365863 fix(canvas): keep card drags alive on logos and pan with the middle mouse button
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:31:02 +01:00
Andras Bacsai 86a11d6992 fix(metrics): show all container metrics in one table 2026-10-24 23:48:36 +02:00
Andras BacsaiandClaude Opus 5.5 547bdc3bf4 fix(ui): narrow the collapsed sidebar in the floating navigation style
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 23:17:09 +02:00
Andras BacsaiandClaude Opus 5.5 9c8f38752a fix(ui): flatten process log dialogs and show the run status next to the title
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 22:50:30 +02:00
Andras BacsaiandClaude Opus 5.5 649e90ab3b fix(ui): show resource menus in the sidebar and mobile drawer, not in the page
The main sidebar shows the resource menu from lg, where it appears, and the
mobile drawer shows it too, so the page grid menu is gone. The drawer opens
on the menu of the current page again after it closes. Below xl, the resource
actions are a compact button in line with the title.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 21:58:42 +02:00
Andras BacsaiandClaude Opus 5.5 32427a20f6 fix(ui): soften list separators and fix the page size control
- Row and section separators use a softer translucent divider token on all themes
- Page size trigger is an aligned bordered button ("10 / page")
- Pagination footer stays visible when a larger page size fits all rows
- Custom page size warns above the 100 maximum and the menu closes on select

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 14:04:43 +02:00
Andras BacsaiandClaude Opus 5.5 c0ae50f120 fix(ui): stop the list toolbar from shifting when the page loads
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 13:25:02 +02:00
Andras BacsaiandClaude Opus 5.5 860b815fbb fix(ui): apply the flat style to buttons, not only the sidebar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 12:54:36 +02:00
Andras BacsaiandClaude Opus 5.5 2111e95c7a feat(ui): replace native number spinners with a branded stepper
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 12:36:51 +02:00
Andras BacsaiandClaude Opus 5.5 73b1ad1587 fix(ui): restore the purple dark sidebar from v4.5.0
- Bring back the #120e1a sidebar with its brand wash, lavender tiles, edges,
  Search, section labels, and account menu in the default dark theme.
- Keep the neutral sidebar rules for custom themes.
- Set the Coolify preset sidebar to #1a0f2d, the color the dark sidebar shows.
- Update DESIGN.md to match.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:13:00 +02:00
Andras Bacsai 6699b436e8 fix(metrics): detect Sentinel data mount as the root disk 2026-10-23 22:22:46 +02:00
Andras BacsaiandClaude Opus 5.5 adacb764f9 fix(ui): stop canvas top bar :has() rule from blocking chart pages
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:07:37 +02:00
Andras Bacsai 582399c382 feat(ui): add four-color custom theme dialog with presets and share code 2026-10-23 22:07:21 +02:00
Andras BacsaiandClaude Opus 5.5 9e0823becc fix(ui): give the terminal target picker a solid background so it stays readable
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 21:43:52 +02:00
Andras BacsaiandClaude Opus 5.5 cb561d3d9c fix(ui): match dark terminal box to card colors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:34:27 +02:00
Andras BacsaiandClaude Opus 5.5 9f017bf8a0 fix(ui): restore grid layout in card wells
The card rule gave wells display:flex, which overrode Tailwind grid
classes and collapsed the resource picker to one column. Share only
the color variables with wells.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:34:27 +02:00
Andras BacsaiandClaude Opus 5.5 7de0e4cee8 fix(ui): quiet the dark sidebar and theme brand surfaces
- Make the dark sidebar a flat neutral #0d0d0d with neutral tiles, text,
  search, and account button; only the current item stays purple.
- Remove the resource row and spacer at the top of the main menu, so
  Dashboard sits under Search, and drop the unused nav context name.
- Route hard-coded brand purple, canvas, and card colors through tokens
  that the custom theme overrides, so sidebar, buttons, accents, cards,
  and tables follow the picked color.
- Paint page-level button and view-toggle tints over the canvas so the
  floating navigation dots do not show through.
- Document the new sidebar and token rules in DESIGN.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:15:32 +02:00
Andras Bacsai 717a915485 fix(logs): show fullscreen logs above the sidebar and topbar 2026-10-23 12:34:20 +02:00
Andras BacsaiandClaude Opus 5.5 95d796e922 feat(deployments): compact history beside logs with in-place switching
- Fit the embedded history to the logs height and page size to the screen
- Show status as a dot with short start time; add source, duration, and
  server as a second line; make whole rows clickable
- Switch the logs viewer to another deployment without a page load
- Use View and Export menus and the runtime logs search in the toolbar
- Export visible logs from the server with secrets hidden; redact app
  secrets in the full log download

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 12:34:08 +02:00
Andras Bacsai e5a23a1725 fix(logs): keep deployment and service menus open on updates
Use stable wire:keys and let the listbox take new options and keep its
panel position through Livewire morphs. Preview badges reuse the link
menu colors.
2026-10-23 12:09:29 +02:00
Andras Bacsai 2e7cf8633b feat(logs): pick runtime log streams from service selectors
Replace the container accordion with Deployment and Service selectors
that show one stream, merging replica containers by timestamp. The
viewer fills the page, opens in text view, keeps whitespace, and only
lets grid rows expand when the detail shows more than the row.

Based on the proposal in discussion #12176 by PhilippMolitor.
2026-10-23 11:55:44 +02:00
Andras BacsaiandClaude Opus 5.5 47bfe5e6a6 style(ui): give split action buttons 3D depth and drop logs empty icon
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 11:55:22 +02:00
Andras Bacsai 0b2e931a42 fix(ui): blend mobile sidebar branding and default FreeScout database 2026-10-22 21:46:20 +02:00
Andras Bacsai 7acfcdff24 feat(ui): reorganize resource settings and domain port editing 2026-10-22 20:26:41 +02:00
Andras Bacsai 6c6fff5d26 style(ui): use brand accents for dark-mode controls and feedback 2026-10-22 16:34:40 +02:00
Andras Bacsai 61e46da88d style(source): align dark source selection with brand colors 2026-10-22 16:04:30 +02:00
Andras Bacsai eeaeacbe3f style(ui): refine canvas layouts and rollback settings 2026-10-22 15:54:02 +02:00
Andras BacsaiandClaude Opus 5.5 dff2674466 style(sidebar): add resource menu return row and refine dark UI details
- Add a main-menu row that reopens the resource menu, with a placeholder row
- Show only the other view as an icon in the view switcher
- Remove the active tile glow and the collapsed Search frame
- Tint the dark command palette purple and whiten focused-row details
- Soften the toast edge and give the toast icon tile 3D depth
- Document the decisions in DESIGN.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:02:18 +02:00
Andras Bacsai ab531972d2 style(sidebar): apply dark theme styles to mobile sidebar 2026-10-22 10:08:50 +02:00
Cursor AgentandAndras Bacsai 8df39bc637 Refresh the dark dashboard around the coolLabs purple brand.
Dark mode keeps a black canvas, paints cards at #121212, and tints the sidebar purple-black. Active navigation, secondary buttons, and the view switcher use brand purple; warning yellow stays for real warnings.

Co-authored-by: Andras Bacsai <andrasbacsai@users.noreply.github.com>
2026-10-22 07:13:38 +00:00
Andras Bacsai 5fd97af0e4 style(ui): use neutral near-black dark theme surfaces 2026-10-21 21:41:22 +02:00
Andras Bacsai 8d400e3d6b fix(ui): refine service resources and settings section styling 2026-10-21 21:01:24 +02:00
Andras BacsaiandClaude Opus 5.5 8255f85a50 fix(ui): lighten dark mode and match card, table, and tile headers to the topbar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 18:46:52 +02:00
Andras BacsaiandClaude Opus 5.5 ab71f1af61 fix(ui): align dashboard deployments heading and unify muted table headers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 18:45:49 +02:00
Andras BacsaiandClaude Opus 5.5 f227bbcb5d fix(ui): keep cards opaque over the floating dotted backdrop
- Top-level cards, empty states, and standalone wells paint their translucent tint over the page color
- Boxes inside a standalone well keep their tint in floating dark mode

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 18:23:07 +02:00
Andras BacsaiandClaude Opus 5.5 141d2c67c8 fix(ui): style wells outside a layer card
- Define the well colors on the well too, so standalone tables keep a background and border
- In dark mode, standalone wells use the card surface instead of the black well fill
- Empty states inside a well show only their centered text

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:52:01 +02:00
Andras BacsaiandClaude Opus 5.5 54febeffd6 feat(ui): restyle cards, sidebar, and dark surfaces
- Cards use a soft outer box with an inset well; empty states match
- Smaller sidebar icon tiles; sidebar and brand block use the canvas color with faint borders
- Darker inputs in the dark well; floating panels stay opaque
- Faint purple tint on dark surfaces, menus, and logs
- Cloudflare icon for Cloudflare Tunnel
- DESIGN.md: add a portable design language part

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:18:59 +02:00
22a8c09dd6 Next (#12202)
Co-authored-by: Aditya Tripathi <aditya@climactic.co>
Co-authored-by: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: rosslh <ross@rosshill.ca>
Co-authored-by: Abdulfetah Suudi <suudiabdulfetah@gmail.com>
Co-authored-by: Dharmveer <51308779+dharmveer97@users.noreply.github.com>
Co-authored-by: Maxwell <136101+mxswd@users.noreply.github.com>
2026-10-19 10:07:23 +02:00
e3d4411ff2 chore: merge main into release/v4.5 (#12192)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Furox <177975472+Furox-Art@users.noreply.github.com>
Co-authored-by: johandenhollander <johan.den.hollander@finalist.nl>
Co-authored-by: João Cruz <161638790+SrJooJ@users.noreply.github.com>
Co-authored-by: Saim Hashmi <hashmisaim037@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-18 23:43:20 +02:00
Andras BacsaiandClaude Opus 5.5 7c14c0098e feat(server-transfer): run instance migration as a background job (#12180)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:03:45 +02:00
Andras Bacsai 0a567cb8e7 feat(backups): refresh backup views live on team channel events
- Refresh application, database and volume backup lists on BackupCreated
- Refresh backup execution, edit and service resource views on
  ServiceStatusChanged as well as ServiceChecked
- Hide the deployments counter when only the current page's application
  is deploying, since its heading already shows "Deploying…"
- Show storage section shortcuts in the service configuration sidebar
- Drive server sidebar Sentinel/Security active state from activeMenu
  and activeSubMenu instead of route matching
- Start the app sidebar expanded for new users
- Drop a column from the backup executions table grid and adjust the
  responsive breakpoints
- Update the related feature tests
2026-10-15 14:10:14 +02:00
Andras Bacsai fdd69977a4 feat(canvas): show empty environments as placeholder cards
Environments without resources now appear as placeholder cards on the
project, team projects and server canvases. They sit in the zone that
holds most of their project's cards, or in a new "Empty environments"
zone when there is none. A new EmptyCard component renders them.

- Project canvas: admins can move groups and cards, and the moves are
  saved on their environment canvas. Environments are ordered by id.
- Server canvas: admins can move single cards as well as groups.
- Shared variable canvas: built-in COOLIFY_SERVER_UUID/NAME variables
  and their links are hidden on server scope.
- Main nav: resource menus register through registerMainNavContext()
  with depth levels (#main-nav-context-{depth}). Back goes one level
  lower, and Back at depth 0 returns to the main menu.
- The deploy canvas state, styles and controls are simplified, and the
  related sidebar, navbar and dashboard views are updated.

Tests are added or updated for the canvases and the main nav resource
menus.
2026-10-15 08:46:44 +02:00
Andras Bacsai fa1895c99a feat(dashboard): add canvas view with active deployment overlay
Add a /dashboard/canvas page that renders every team server with its
resources and their running or queued deployments, backed by a new
ServerCanvasController::dashboard endpoint and a per-server usage
endpoint for zone headers. The dashboard remembers the list/canvas
choice and each section (projects, servers) its own table/grid view.

- Show Deploying/Queued pills on canvas cards and a foldable recent
  deployments panel; add shared CanvasControls component
- Allow backup downloads from the server host via the S3 download
  storage (PrepareFileDownloadJob accepts a null container)
- Extract backup toggle/run actions into ManagesDatabaseBackup and
  surface them in backup execution headers; merge S3 and retention
  sections into the general backup settings
- Move deployments indicator to the top bar and add a main nav
  resource menu with submenus; simplify breadcrumbs and settings
  layouts
- Add shared variables overview canvas and scheduled task modals
- Add feature tests for dashboard canvas, view modes, navbar
  submenus, backup S3 downloads and scheduled task modals
2026-10-14 23:55:28 +02:00
Aditya TripathiandAndras Bacsai fe0b038f3c feat(files): add native file browser for applications, services and databases (#11518)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
2026-10-14 14:32:44 +02:00
Andras Bacsai b31a458a51 style(ui): align floating navigation and canvas radii to 8px 2026-10-14 11:29:35 +02:00
Andras Bacsai 33ee09fa87 feat(canvas): add interactive resource views and team avatars (#12160) 2026-10-14 09:28:10 +02:00
Andras Bacsai f63726279c Merge remote-tracking branch 'origin/release/v4.5' into sentinel-metrics-sidebar-page 2026-10-13 11:57:47 +02:00
Andras Bacsai da426914ca Revert "fix(ui): prevent layout shifts with a stable scrollbar gutter"
This reverts commit 5756a4cda4.
2026-10-12 15:14:30 +02:00
Andras Bacsai 5756a4cda4 fix(ui): prevent layout shifts with a stable scrollbar gutter
Skip terminal scroll-lock padding when the browser reserves scrollbar space.
2026-10-12 15:07:09 +02:00