Mark Phase 1a complete in migration doc

This commit is contained in:
Claude 2026-06-19 10:52:15 +00:00
parent 71f49e0700
commit 067bf16c04
No known key found for this signature in database

View file

@ -43,7 +43,10 @@ The actual `/terminal` page: a real interactive SSH terminal in the browser (xte
Rationale for splitting: 1a alone is a real, useful terminal (matches what `/terminal` needs to stop being a placeholder) and is testable end-to-end on its own. Bundling jump-hosts/OPKSSH/tmux into the first pass risks a large unreviewable change with no working checkpoint in between.
**Status:** scoping complete, implementation starting on Phase 1a.
**Status:**
- ✅ **Phase 1a — done.** `/terminal` is a real interactive SSH terminal: `backend/src/routes/terminal.ts` (WebSocket, connect/input/resize/disconnect over `ssh2`), `backend/src/db/secrets.ts` (shared secret loader), `src/pages/Terminal.tsx` (xterm.js + host picker, reuses ArchNest's existing SSH integrations — no duplicate host table). Verified end-to-end against a real test SSH server. No jump hosts, no tabs/split panes, no OPKSSH, no tmux monitor yet — see 1b/1c below.
- ⬜ Phase 1b — not started.
- ⬜ Phase 1c — not started.
### Phase 2 — SSH Tunnels (NOT STARTED)