Skip to content

fix(web): scope chat resume reattachments - #62178

Open
LeonSGP43 wants to merge 1 commit into
NousResearch:mainfrom
LeonSGP43:fix/62045-chat-session-reopen
Open

fix(web): scope chat resume reattachments#62178
LeonSGP43 wants to merge 1 commit into
NousResearch:mainfrom
LeonSGP43:fix/62045-chat-session-reopen

Conversation

@LeonSGP43

Copy link
Copy Markdown
Contributor

Summary

  • add a dedicated resume helper that stamps a reopen nonce for session-list resume clicks
  • scope dashboard chat attach tokens to the selected session/profile so switching sessions cannot reattach the previous PTY
  • cover the URL and attach-scope helpers with targeted tests

Testing

  • pnpm --dir web exec vitest run src/lib/chat-resume.test.ts
  • pnpm --dir web exec tsc -p tsconfig.app.json --noEmit
  • pnpm --dir web exec eslint src/pages/ChatPage.tsx src/lib/chat-resume.ts src/lib/chat-resume.test.ts
  • git diff --check

Closes #62045

@alt-glitch alt-glitch added type/bug Something isn't working comp/dashboard Web dashboard / control panel UI (dashboard/, landing) P2 Medium — degraded but workaround exists sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages labels Jul 10, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Related to the wrong-session dashboard-chat PTY-reattach cluster (regression from the keep-alive PTY reuse in #60515):

This PR takes a different frontend mechanism (a dedicated chat-resume.ts helper + reopen nonce + SessionsPage wiring) and targets #62045. Not a duplicate — same goal, different layer/mechanism. Flagging the cluster so a maintainer can pick the layer(s) to land.

@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the focused frontend fix. The current-main diagnosis is valid: web/src/pages/ChatPage.tsx:61-81 keeps one global attach token, while hermes_cli/pty_session.py:148-166 reuses an existing live PTY solely by that token.

Problems

Suggested changes

  • Reuse the resume/nonce helper from ChatSessionList.pick() for every selected row, including the active row, and add coverage for that shared update path.

Automated hermes-sweeper review.

@teknium1 teknium1 added the sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform label Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/dashboard Web dashboard / control panel UI (dashboard/, landing) P2 Medium — degraded but workaround exists sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Dashboard chat session picker reopens the wrong session and cannot reopen the active one

3 participants