feat(tui): show session workspace (cwd) in the status bar

SessionWorkspaceBoundEvent already recorded the bound workspace root but
it was never surfaced. Map it to a new session.workspace_bound frame
(sealed ServerMessage variant, auto-registered; re-emitted on reconnect
via the snapshot replay), carry it on Session.WorkspaceRoot, and show it
home-abbreviated in the status bar (⌂ ~/Programs/correx). Golden test
pins the decode.
This commit is contained in:
2026-06-03 01:56:46 +04:00
parent 00b08660bd
commit 5721ed21bb
8 changed files with 82 additions and 33 deletions
+4
View File
@@ -175,6 +175,10 @@ func (m *Model) applyServer(msg protocol.ServerMessage) {
if s := m.session(msg.SessionID); s != nil {
s.addEvent(nowMillis(), "ArtifactCreated", msg.ArtifactID)
}
case protocol.TypeWorkspaceBound:
if s := m.session(msg.SessionID); s != nil {
s.WorkspaceRoot = msg.WorkspaceRoot
}
case protocol.TypeApprovalRequired:
m.onApprovalRequired(msg)
case protocol.TypeApprovalResolved: