Append Jan 14-18 2026 session - Agent PTY Console Breakthrough, interactive bidirectional console complete
This commit is contained in:
parent
ed215ae89f
commit
7830fb8d8d
@ -202,3 +202,42 @@ separation between **host health**, **agent availability**, and **service runtim
|
||||
|
||||
### Next Focus
|
||||
- Console (read-only output first)
|
||||
|
||||
---
|
||||
|
||||
## 2026-01-14 → 2026-01-18 — Agent PTY Console Breakthrough
|
||||
|
||||
### Objective
|
||||
Replace log-only console streaming with a **true interactive PTY-backed console**
|
||||
supporting:
|
||||
- Dev server shell access
|
||||
- Game server (Minecraft) live console
|
||||
- Full duplex WebSocket I/O
|
||||
- Session persistence across reconnects
|
||||
|
||||
### What Changed
|
||||
- Agent console migrated from log tailing → **PTY-backed processes**
|
||||
- PTY ownership moved to agent (not frontend, not Proxmox)
|
||||
- WebSocket implementation replaced with `gorilla/websocket`
|
||||
- Enforced **single writer per WS connection**
|
||||
- Introduced **console session manager** keyed by `{vmid, container_type}`
|
||||
- Sessions survive WS disconnects (dev servers only, TTL = 60s)
|
||||
- PTY not killed on client close
|
||||
- Added keepalive frames (5s) to prevent browser timeouts
|
||||
- Added detailed WS + PTY logging for attach, read, write, close
|
||||
|
||||
### Architecture Summary
|
||||
- Dev containers attach to `/bin/bash` (fallback `/bin/sh`)
|
||||
- Game containers attach to Minecraft server PTY
|
||||
- WS input → PTY stdin
|
||||
- PTY stdout → WS broadcast
|
||||
- One PTY reader loop per session
|
||||
- Multiple WS connections can attach/detach safely
|
||||
|
||||
### Final Status
|
||||
✅ Interactive console confirmed working
|
||||
✅ Commands execute correctly
|
||||
✅ Output streamed live
|
||||
✅ Reconnect behavior stable
|
||||
|
||||
This closes the original "console v2" milestone.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user