fix(dashboard): scope PTY attach token by resume session - #67217
fix(dashboard): scope PTY attach token by resume session#67217thelonewander3r wants to merge 1 commit into
Conversation
Keep-alive used one localStorage token for every /chat tab, so New chat then clicking an older session could reattach the wrong living PTY. Scope the token by resume id and profile so sidebar switches load the matching transcript.
|
After re-review against current main and #60745: closing this PR. Backend #60745 already scopes the keep-alive PTY registry by canonical resume + profile, with regression coverage for session switches and parent→descendant reattach ( Our local A→B→C→A “fix” was likely from rebuilding If #64425 / #63701 still reproduce on current main without this change, they need a different root-cause investigation (e.g. descendant/subagent walk or history render), not another attach-token layer. Leaving those issues for verification rather than claiming Fixes here. Sorry for the noise — thanks for the triage note linking #61045 / related work. |
|
Closing as superseded by #60745; see comment above. |
Summary
resumesession id and profile inlocalStorage, instead of one sharedhermes.pty.token.chatkey for the whole tab./api/pty?attach=reattach discards the?resume=spawn env)** #63701 / Windows Desktop can timeout when packaged Electron readiness parser is older than Python backend #60772.main.Test plan
hermes dashboard→/chat): create chat A with history → New chat B → New chat C → click A in the sidebar → A's transcript loadsweb_distso the new bundle is used?resume=session still reattaches keep-alive (same scoped token)?profile=) keeps a separate attach token from the default profile/api/ptykeepalive tests still pass:scripts/run_tests.sh tests/test_pty_keepalive_ws.py -q