Commit Graph
107 Commits
Author SHA1 Message Date
Andras Bacsai 4c41817cda feat(v5): move clusters to dedicated page and remove CLI services
Extract clusters out of Home into a standalone Clusters page with its
own controller action and route. Delete CoolifyCliBootstrap and
CoolifyCliVersion services along with the coolifyCliVersion endpoint.

Add Dialog component, warning CSS token, Inertia progress bar, and a
Clusters nav link. Extend V5Server type with ssh/builder/key fields.
2026-06-16 20:52:38 +02:00
Andras Bacsai 790bd2e28c refactor(v5): migrate frontend from JSX to TypeScript
Convert all v5 JS/JSX source files to TS/TSX, add tsconfig.json,
install typescript and @types/react* dev deps, add typecheck npm
script, create types.ts with shared prop types, and update Tailwind
CSS source glob and shadcn components.json to include TS extensions.
2026-06-16 20:15:36 +02:00
Andras Bacsai 859a701669 refactor(v5): migrate UI primitives from radix-ui to @base-ui/react 2026-06-16 19:49:36 +02:00
Andras Bacsai 6b8f50a90e refactor(v5): extract csrfToken into shared lib/csrf.js module 2026-06-16 19:42:26 +02:00
Andras Bacsai c178dfdb39 feat(v5): add shadcn/ui with button, select, separator, and navbar 2026-06-16 19:38:21 +02:00
Andras Bacsai 9566b259b2 refactor(v5): remove Project model and consolidate v5 migrations
Drop v5_projects table, Project model, and related alter-table
migrations; fold cluster_id and nullable private_key_id into the
initial v5_servers migration; rename migration files to v5_ prefix;
strip cooldServers/privateKeys/teams props from HomeController and
Home page.
2026-06-16 16:57:52 +02:00
Andras Bacsai 5c23b9aaa5 feat(dev): add example nginx connectivity commands
Add ping and firewall up/down helpers for example nginx dev VMs.
Remove the v5 home ready banner and coolify version controls, and render Flux status as a compact summary.
2026-06-16 16:47:10 +02:00
Andras Bacsai 1e038fecae feat(v5): add server clusters and CLI bootstrap
Create v5 cluster/server persistence, expose them on the home page,
and add a bootstrap endpoint backed by the coolify CLI. Add dev Lima
server sync support and update the dev script firewall flow.
2026-06-16 15:45:16 +02:00
Andras Bacsai c884aaaeea feat(v5): add coolify CLI version check 2026-06-16 13:57:42 +02:00
Andras Bacsai 1b1b0726a2 feat(dev): add coold VM dev workflow
Add scripts and Lima config for managing local coold endpoint VMs,
mint Flux dev host JWTs, expose coold host details on the V5 home
page, and document the local development workflow.
2026-06-16 11:39:36 +02:00
Andras Bacsai dcd325dc44 feat(v5): add Inertia app shell with Flux health
Adds v5 routing, middleware, home page rendering, team context sharing,
project model/table support, and Flux health reporting. Installs Flux in
container builds with role-aware s6 services and documents runtime roles.
2026-06-15 23:09:49 +02:00
Andras Bacsai 5acf4d9af2 fix(navigation): strip stale x-cloak after Livewire navigation
Remove leftover x-cloak attributes after wire:navigate events so morphed
pages do not stay hidden, while keeping the initial-load cloak guard covered
by a feature test.
2026-06-02 17:00:55 +02:00
Andras Bacsai 24fc8db8db fix(terminal): exit fullscreen when PTY exits
Reset fullscreen and mobile toolbar state on PTY exit so the terminal UI returns to its normal layout. Update packaging coverage for the PTY exit behavior and mobile fullscreen height.
2026-06-01 10:21:30 +02:00
Andras Bacsai a8db2864f3 Merge remote-tracking branch 'origin/next' into mobile-terminal-toolbar-controls 2026-06-01 10:15:23 +02:00
Andras Bacsai ec367549b4 feat(terminal): add mobile shell controls
Add a compact mobile toolbar for fullscreen terminal control keys and adjust terminal sizing so the toolbar does not cover rows.
2026-06-01 10:13:56 +02:00
Andras Bacsai 53f24df0a0 fix(terminal): enforce eight hour session expiry
Add a visible countdown in the terminal UI and terminate realtime PTY
sessions after the fixed maximum lifetime.
2026-06-01 09:45:56 +02:00
Andras Bacsai b46d8e2601 fix(terminal): keep sessions alive without hard timeouts 2026-05-31 21:52:46 +02:00
Andras Bacsai 1368026f20 fix(terminal): remove verbose websocket message logging 2026-04-28 12:29:32 +02:00
Andras Bacsai cabcd8f699 fix(terminal): add idle timeout, reconnect replay, and scrollback preservation
- Kill PTY and notify client after 30 min of inactivity (IDLE_TIMEOUT_MS)
- Buffer client messages during async auth/IP fetch to prevent race-condition
  message loss on fast reconnects
- Replay last sent command after transient reconnect so PTY respawns without
  user interaction
- Preserve scrollback on disconnect/reconnect; write visible timestamp markers
  instead of wiping term state
- Handle idle-timeout sentinel on client with user-facing error message
2026-04-28 12:26:31 +02:00
Andras Bacsai 9408620d5f fix(terminal): add WS heartbeat and fix proxy idle disconnects
Proxies (Cloudflare, nginx) drop idle WebSocket connections before the
application notices, leaving clients typing into dead sockets.

- Add server-side ping/pong heartbeat (30s) in terminal-server.js;
  terminate unresponsive clients instead of letting connections go stale
- Move client keepAlive interval start to the connect event so it
  restarts correctly after reconnects
- Remove hidden-tab keepalive short-circuit — server pings now own
  liveness; suppressing client pings while hidden masked proxy drops
- Fix clearAllTimers to use clearTimeout for one-shot timers
- On visibility resume, probe with a 5s timeout instead of the default
  35s so half-open sockets are detected quickly
- Bump coolify-realtime to 1.0.14 across all compose files
2026-04-28 10:35:32 +02:00
Andras Bacsai 2692496726 fix(database): refresh SSL/status state and harden clone writes
Handle database status updates more reliably by listening for `ServiceChecked`
and using explicit `refresh()` handlers in Livewire database components.

Also switch guarded clone/create paths to `forceFill`/`forceCreate` in helper
flows to avoid missing persisted attributes during app/service cloning.

Update log/terminal font stacks to Geist (with bundled variable fonts) and add
coverage for SSL status refresh, persistent volume UUID cloning, and log font
styling.
2026-03-31 09:29:36 +02:00
Andras Bacsai 5c5f67f48b chore: prepare for PR 2026-03-10 20:37:22 +01:00
Andras BacsaiandClaude dca6d9f7aa fix: Prevent terminal disconnects when browser tab loses focus
Add visibility API handling to pause heartbeat monitoring when the browser tab is hidden, preventing false disconnection timeouts. When the tab becomes visible again, verify the connection is still alive or attempt reconnection.

Also remove the ApplicationStatusChanged event listener that was triggering terminal reloads whenever any application status changed across the team.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 20:48:03 +01:00
Andras Bacsai 43ff38d914 feat(terminal): dispatch focus event for terminal after connection and enhance focus handling in JavaScript 2025-07-18 22:39:42 +02:00
Andras Bacsai f7daddce58 refactor(ui): terminal 2025-06-17 09:28:07 +02:00
Andras Bacsai 6e85419adb feat(terminal): implement resize handling with ResizeObserver for improved terminal responsiveness 2025-06-06 22:05:16 +02:00
Andras Bacsai ba970d909c feat(terminal-connection): enhance terminal connection handling with auto-connect feature and improved status messaging 2025-06-06 21:15:50 +02:00
Andras Bacsai 05a03c44d3 refactor(terminal): enhance terminal connection management and error handling, including improved reconnection logic and cleanup procedures 2025-05-29 14:36:13 +02:00
0x4e32andGitHub c728e6f2ba feat(ui): Upgrade to Tailwind v4 (#5710) 2025-05-14 12:43:23 +02:00
Andras Bacsai 54db7523d5 refactor(app): remove unused MagicBar component and related code 2025-03-17 15:15:53 +01:00
Andras Bacsai f2063939d4 fix: websocket connections autoreconnect 2024-11-25 12:55:21 +01:00
peaklabs-dev 97f868a285 Delete bootstrap.js 2024-11-12 15:29:59 +01:00
Luan Estradioto 764a24ba30 fix ctrl v terminal 2024-10-09 11:44:29 -03:00
Andras Bacsai ceccd093d2 refactor: Improve socket reconnection interval in terminal.js 2024-10-02 21:24:05 +02:00
Andras Bacsai e03e4f2e91 refactor: Improve SSH command generation in Terminal.php and terminal-server.js 2024-10-02 15:16:55 +02:00
Luan Estradioto 2c38af1df0 - fixes: no more exit fallback to server 2024-10-01 01:42:09 -03:00
Luan Estradioto 6bd8583eab - resize check to int
- modularize, tree-shake terminal, idempotency on navigations
2024-09-25 22:14:05 -03:00
Andras Bacsai dcf91cc034 Update WebSocket URL in terminal.blade.php to include /ws for consistency with the server configuration. 2024-09-13 16:58:16 +02:00
Andras Bacsai 51c43e7457 chore: Rename Command Center to Terminal in code and views 2024-09-13 15:18:00 +02:00
Luan Estradioto c2ea8996ee feat: fully functional terminal for command center 2024-08-15 11:17:18 -03:00
Andras Bacsai f33fdb3bfd Refactor code and comment out unused imports and code blocks 2024-04-03 14:32:23 +02:00
Andras Bacsai 37333f7fbe fix: two factor 2024-03-25 14:23:32 +01:00
Andras Bacsai a66090b594 ui + package updates 2024-03-25 10:41:44 +01:00
Andras Bacsai b418a78e2e ui ui ui (pig) 2024-03-24 16:00:25 +01:00
Andras Bacsai 91950e1891 ui: redesign 2024-03-19 15:37:16 +01:00
Andras Bacsai 6cb3df9350 rename boarding to onboarding 2024-03-13 12:11:37 +01:00
Andras Bacsai 7a7157c155 fix: deployment queue
fix: cancel deployment
ui: changed to simpler toaster
2024-01-25 11:57:47 +01:00
Andras Bacsai 238337fecb Add new shared variable and update variable usage 2024-01-23 20:26:45 +01:00
Andras Bacsai 718603e37e wip: migrate to livewire 3 2023-12-07 19:06:32 +01:00
Andras Bacsai 6ccafacc87 very important commit 2023-12-06 17:02:27 +01:00