836 Commits
Author SHA1 Message Date
Andras Bacsai 4e3def11e3 fix(ui): expose environment variable settings on mobile
Collapse environment variable rows to the key and settings action on small
screens, and let the key open the corresponding details modal.
2026-08-12 11:51:42 +02:00
Andras Bacsai 8264129f03 fix(ui): raise top bar above open service actions 2026-08-12 11:32:00 +02:00
9794ce2686 feat(ui): show two-factor status of team members (#11186)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
2026-08-11 21:10:55 +02:00
Andras Bacsai 5e0e76df4b feat(release): rebuild stable images from reviewed draft releases
Add manual fix-release validation and stable image rebuilds, inject traceable development versions into SHA builds, and suppress invalid release links for development versions.
2026-08-11 16:11:13 +02:00
Andras Bacsai d64cbda3e8 fix(profile): remove redundant 2FA enabled badge 2026-08-11 12:18:35 +02:00
Andras Bacsai 1a8a4bb5ef fix(ui): refine overlays, toast actions, and save-state feedback
Improve overlay stacking and positioning, add toast copying, standardize domain labels, and animate unsaved changes while saving.
2026-08-11 12:08:44 +02:00
Andras Bacsai 41b3ed95aa fix(ui): stabilize domain controls and unify resource navigation
Preserve optimistic listbox selections during Livewire saves, refresh service domains after updates, and align application, service, and server navigation layouts.
2026-08-11 11:28:46 +02:00
Andras Bacsai 3f47d41880 feat(ui): improve terminal mobile UX and server status feedback
Add keyboard-aware terminal controls, refine terminal layouts and navigation, surface proxy and Sentinel health warnings, and make avatar uploads update only after successful persistence.
2026-08-11 09:33:11 +02:00
Andras Bacsai 32bf1860d4 feat(domains): add structured URL editing and responsive domain controls
Add reusable domain URL parsing and input components, expose per-domain
redirect and indexing controls, and improve application and service domain
layouts across responsive breakpoints.
2026-08-11 00:06:55 +02:00
Andras Bacsai 8cf22d7739 feat(search): preselect first result in resource picker
Add the local UI design system reference and update frontend references to it.
2026-08-10 15:17:26 +02:00
Andras Bacsai be2a6d6d1e feat(domains): edit compose redirect direction in domain modal 2026-08-10 15:15:48 +02:00
Andras Bacsai 69ba001e21 feat(domains): add inline indexing and redirect controls
Move domain indexing and redirect settings into domain management views and include noindex changes in deployment configuration diffs.
2026-08-10 15:10:30 +02:00
Andras Bacsai 8c9a7413d0 Merge remote-tracking branch 'origin/next' into feat/noindex-domains 2026-08-10 14:23:09 +02:00
Andras Bacsai 7037633f45 feat(dashboard): refresh metrics and color server status indicators
Refresh visible dashboard metrics every minute and after backgrounding. Replace server status badges with accessible color-coded icon borders and status text.
2026-08-10 14:04:24 +02:00
Andras Bacsai a84505efe8 style(ui): refine focus ring thickness and warning color 2026-08-10 11:52:24 +02:00
Andras Bacsai f412b2bf0d feat(dashboard): add server metrics charts and polish UI feedback 2026-08-10 11:08:04 +02:00
Andras Bacsai 62b2fe2330 feat(ui): add volume backup storage controls and grouped navigation 2026-08-10 10:35:15 +02:00
Andras Bacsai 4ba6aa3500 feat(servers): separate connection and provisioning options
Group existing server connections separately from cloud provisioning and use a select for dedicated build server roles.
2026-08-10 10:09:03 +02:00
Andras Bacsai faf527d554 fix(dev): support configurable hosts and light-mode surfaces
Add configurable bind addresses and Vite protocols for development networking, and improve light-mode styling for logs and unsaved-change controls.
2026-08-10 09:56:30 +02:00
Andras Bacsai 003e44d123 Merge remote-tracking branch 'origin/next' into feat/noindex-domains 2026-08-08 11:26:20 +02:00
Andras Bacsai c0b75d04a6 feat(service): unify database and storage backups on one page
List service database schedules with volume backups, add a database
picker when creating scheduled DB backups from the service page, and
cover the unified table and create flow in tests.
2026-08-08 00:12:56 +02:00
Andras Bacsai 12b14665b5 fix(ui): use 100dvh body height and coollabs auth glow
Replace min-h-screen with min-height: 100dvh on body for correct
mobile viewport height, and point the auth shell radial glow at
--color-coollabs instead of --color-accent. Add branding CSS tests.
2026-08-07 23:31:57 +02:00
Andras BacsaiandGitHub f9caa5250d feat(servers): add cross-instance server migration (#11075) 2026-08-07 23:07:55 +02:00
Andras BacsaiandGitHub c15e3b35fd feat(resources): add cross-server resource migration (dev-only) (#11165) 2026-08-07 23:01:31 +02:00
Andras Bacsai bbb46eca59 fix(ui): scroll backup tables on mobile and use icon actions
Keep backup schedule grids full-width with horizontal scroll instead of
hiding columns, and replace volume backup execution Download/Delete
buttons with compact icon actions.
2026-08-07 21:48:01 +02:00
Andras Bacsai 51561e4bee feat(profile): add uploadable avatars with local/S3 storage
Users can upload and remove profile pictures on the profile page.
Admins choose local or instance S3 storage in advanced settings.
Avatars are compressed to JPEG and served via a private cached route.
2026-08-07 21:39:56 +02:00
Andras Bacsai e50108a905 fix(ui): prefer Compose env values and polish error pages
When a managed variable shares a Compose-defined key, show the
hardcoded Compose value as read-only and exclude it from managed
rows. Render Contact support as a button, use the collapsible
component for 419 proxy help, and style its list/code markers.
2026-08-07 18:31:19 +02:00
Andras Bacsai 47da47d8e0 fix(docker): escape Traefik www redirect replacements for Compose
Double-escape ${n} in Traefik redirectregex.replacement labels so Docker
Compose emits $${n} and Traefik still receives the correct capture groups.
2026-08-07 18:18:58 +02:00
Andras Bacsai 968ea69e7d fix(ui): show loading state on compose validate button
Disable the Validate control and show a spinner until validateCompose
finishes, then clear state via compose-validate-finished.
2026-08-07 18:05:51 +02:00
Andras Bacsai a37f1369c8 fix(ui): skip hidden global search results in keyboard nav
Limit navigateResults to visible .search-result-item nodes under the
search root so hidden command palette entries are not focused.
2026-08-07 18:01:43 +02:00
Andras Bacsai 78fe7ee76f fix(ui): use listbox for domain redirects and key terminal canvases
Replace the service domain www-redirect native select with the shared
listbox (htmlId for stable trigger IDs) and allow dropdown overflow.
Key terminal target/session canvases for Livewire DOM branches, and
enable terminal browser debug via ?terminal-debug= plus theme logs.
2026-08-07 17:59:00 +02:00
Andras Bacsai fff83884da fix(ui): polish create flows and terminal navigation
Open the global terminal outside Livewire navigation, clarify that
image tag and SHA256 digest are mutually exclusive, inset the GitLab
empty state, and show loading on Dockerfile create. Add regression tests.
2026-08-07 17:54:50 +02:00
Andras Bacsai c07f66cb5e fix(ui): polish create flows for compose and GitHub repos
Use shared listbox for private-repo selection, align listbox
trigger heights with form inputs, restore compose editor spacing
and full width, and wire loading states on create/continue
actions.
2026-08-07 17:25:50 +02:00
Andras Bacsai 9c0908f0fc feat(ui): polish DB public access, backups, and nav
Gate public TCP proxy until a port is set, show loading while saving
access, and open proxy logs in process-dialog. Compact backup
execution actions, add Postgres general section anchors, and tint
resource Actions icons with warning color.
2026-08-07 17:14:43 +02:00
Andras Bacsai 7d5c9fdbe1 fix(ui): hide application domains on compose resource cards
Remove FQDN display from service resource cards in both card and list
layouts, and assert the template no longer renders resource domains.
2026-08-07 16:32:55 +02:00
Andras Bacsai ada3ea354a feat(ui): add collapsible advanced settings and enlarge compose modal
Extract a shared forms collapsible for advanced SSH/build settings
across boarding, server creation, and application general. Support
larger modals with header actions, close the compose editor after
save via compose-save-finished, and cover the layout in tests.
2026-08-07 16:22:11 +02:00
Andras Bacsai 4926cdba0e fix(ui): mute custom theme input placeholders
Darken --theme-placeholder-color and lower placeholder opacity so
custom-theme inputs read more clearly; update AppearanceThemeTest.
2026-08-07 15:45:58 +02:00
Andras Bacsai de4e74b4cd feat(server): fall back Sentinel URL to request host
Use the current request scheme/host when no FQDN or public IP is set,
skipping loopback hosts. Polish boarding/server create cards, optional
listbox tooltips, and cover the layout and Sentinel URL behavior in tests.
2026-08-07 15:41:39 +02:00
Andras Bacsai 28f57aafb8 fix(server): keep resources nav active and show tab loading
Use $activeMenu for Resources so Livewire updates do not clear
the sidebar highlight, and disable managed/unmanaged tabs with
spinners while containers load.
2026-08-07 15:24:41 +02:00
Andras Bacsai 8f7eb2d790 feat(server): auto-resolve Sentinel URL and polish setup UI
Ensure a Sentinel endpoint from instance FQDN/IP when enabling, use process dialogs for validation with install state, and tidy server create, boarding, metrics empty state, and log timestamps.
2026-08-07 15:21:18 +02:00
Andras Bacsai a6f71909fd feat(ui): add Open server links on destination cards
Link primary and additional destination server cards to their server
pages via wire:navigate, and cover the markup in a feature test.
2026-08-07 14:43:04 +02:00
Andras Bacsai 8ae9c03209 feat(terminal): lazy-load targets and polish theme UI
Defer container loading with wire:init and a containersLoaded gate,
add autoStart/starting session state, extract a shared theme selector,
and restyle terminal headers, pickers, and fullscreen chrome. Cover the
new packaging and header behavior in feature tests.
2026-08-07 14:14:26 +02:00
Andras Bacsai 7c6d00c8de fix(ui): cap helper popup width and share destination status
Limit helper info popups to 320px with normal text wrapping so
content stacks vertically. Use the shared status-summary on the
application destination card instead of custom status badges.
2026-08-07 13:02:54 +02:00
Andras Bacsai 4539d1442e feat(ui): show S3 backup status and move domain action
Eager-load S3 on volume backup lists and add an S3 status column with
Configured/Unavailable/Not set badges. Surface Local vs S3 on the
persistent storages backup column. Move service resource domain links
to a globe action in the card footer, and update related tests and grid CSS.
2026-08-07 12:49:25 +02:00
Andras Bacsai d68b198d53 feat(ui): toggle Server Timing HUD and link missing env badge
Add a local-only command palette action to show/hide the Server Timing
HUD via localStorage and a visibility event. Make the service heading
"Required variables missing" badge link to environment variables, with
tests covering both behaviors.
2026-08-07 12:35:49 +02:00
Andras Bacsai fd6dbd5863 feat(service): warn when required environment variables are missing
Surface unset required service env vars in the configuration checker
popup and sidebar, refresh on env updates, and keep the env table
horizontally scrollable with correct managed/hardcoded pagination order.
2026-08-07 12:24:09 +02:00
Andras Bacsai 64d73b6922 fix(ui): keep helper popups in visual viewport on mobile
Position helper info popups with visualViewport bounds and
max size so they stay on screen. Ignore helper triggers in the
global icon tooltip handler via data-icon-tooltip-ignore.
2026-08-06 23:38:11 +02:00
Andras Bacsai 39197d0357 fix(ui): keep deployment history columns scrollable on mobile
Replace responsive column-hiding with horizontal scroll and a fixed
min-width grid so Status, Source, Commit, Started, Duration, and Server
stay available on small screens. Also let logs-viewer actions grow in
the primary toolbar so the status badge remains usable.
2026-08-06 21:52:56 +02:00
Andras Bacsai e4fa2b6964 fix(ui): polish mobile layouts, error pages, and volume backups
Keep error pages full-viewport, lift the unsaved bar above the
mobile keyboard, make status/heading layouts stack cleanly on small
screens, route service DB backups to volume-backups, and tighten
volume backup grid/forms. Cover with feature tests.
2026-08-06 21:29:26 +02:00
Andras Bacsai 262ad8981a feat(ui): unify status summaries, tooltips, and resource headings
Add shared status-summary and icon-tooltip components and wire them into
application, service, and database headings, breadcrumbs, and previews.
Badge production and PR domain links, prefer helper popups below the
trigger, keep full wire targets for button loading, and cover the UI
with feature tests.
2026-08-06 18:15:58 +02:00