Commit graph

17 commits

Author SHA1 Message Date
Andras Bacsai
c8185c8336 fix(realtime): replace axios with native HTTP client
Remove axios from the realtime server dependencies to avoid header injection risk,
switch Docker builds to npm ci, and bump the realtime image version to 1.0.15.
2026-05-11 21:43:52 +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
5c5f67f48b chore: prepare for PR 2026-03-10 20:37:22 +01:00
Andras Bacsai
f7d6aa850b fix(terminal): Terminal through Cloudflare tunnel works?!
fix(dependencies): update realtime version to 1.0.9 and cloudflared version to 2025.5.0; enhance SSH argument parsing in terminal-server.js
2025-05-30 17:50:06 +02:00
Andras Bacsai
f5cc272861 fix(terminal): enhance WebSocket client verification with authorized IPs in terminal server 2025-04-25 15:35:23 +02:00
peaklabs-dev
e51207a35e
fix: bind() to 0.0.0.0:80 failed 2024-12-23 15:33:12 +01:00
Andras Bacsai
66bb4e0fc1 refactor: Remove inactivity timer in terminal-server.js 2024-10-02 21:23:59 +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
cbc2f1f015 chore: Update versions.json to reflect latest version of realtime container 2024-09-17 11:58:28 +02: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
0cfd8ed5f0 chore: Update Dockerfile and workflow for Coolify Realtime (v4) 2024-09-13 13:46:10 +02:00
Luan Estradioto
35dfb1b0f8 fix: grouped process and docker execs are killed with ssh process
fix: run clear command only if exists
fix: link terminal js on dev compose better dx
fix: add error on terminal ux
2024-09-12 01:58:56 -03:00
Andras Bacsai
117fbeb07c fixes for terminal 2024-09-11 12:19:27 +02:00
Renamed from terminal-server.js (Browse further)