From 526c07d4fdff04c644db571bb87927629902f23e Mon Sep 17 00:00:00 2001 From: Ken Date: Thu, 28 May 2026 07:19:59 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20Phase=202=20complete=20=E2=80=94=20muxt?= =?UTF-8?q?erm=20Go=20binary=20replaces=20ttyd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary of Phase 2 changes: Go (muxterm): - muxterm Go binary with PTY pool, WebSocket server, HMAC token auth - JSON control protocol (attach/detach/resize/input/output/exited) - /health endpoint, graceful shutdown on SIGTERM/SIGINT Python (muxplex): - GET /api/terminal-token endpoint for muxterm HMAC auth - Process supervision: start muxterm on boot, restart on crash, stop on shutdown - Deleted ttyd.py, WS proxy, /connect endpoint, terminal cache Frontend: - Single WebSocket connection with JSON control protocol - ghostty-web replaces xterm.js as terminal renderer - No terminal cache — muxterm owns the terminal lifecycle - Deleted xterm.js vendor files Build verification: - muxterm binary compiles (go build) - 1305 Python tests pass - 18 Go tests pass (17 pass, 1 integration skipped in short mode) - /health endpoint responds {"status":"ok"}