{"repo":"NousResearch/hermes-agent","public_id":"68594","display_label":"Desktop session continuity bugs during profile/gateway changes","summary":"These issues and fixes address cases where desktop sessions are incorrectly resumed, lost, or not rebound during profile switches, gateway opens, and WebSocket reconnects. The work focuses on preserving correct session routing across these transition events.","subsystem":"apps/desktop","counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":95080,"merged_at":"2026-08-26T05:51:32+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-08-26T05:51:32+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":68594,"pr_number":95080,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-26T05:51:32+00:00"},{"issue_number":81094,"pr_number":95080,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-26T05:51:32+00:00"},{"issue_number":93888,"pr_number":95080,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-26T05:51:32+00:00"},{"issue_number":93937,"pr_number":95080,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-26T05:51:32+00:00"},{"issue_number":94162,"pr_number":95080,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-26T05:51:32+00:00"}],"members":[{"kind":"issue","number":68594,"title":"[Bug]: Desktop profile switch resumes previous session when target gateway opens","url":null,"state":"closed"},{"kind":"pr","number":68632,"title":"fix(desktop): guard gateway-open resume against active fresh-draft transition (#68594)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"682a34a7c","number":0},{"kind":"pr","value":"#95080","number":95080},{"kind":"pr","value":"#94724","number":94724}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":95080,"title":"fix(desktop): gateway switches, primary reuse, and session routing hold exact route identity (multi-gateway class 1, tracker #94724)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/electron/main.ts","apps/desktop/electron/profile-session-routing.test.ts","apps/desktop/electron/profile-session-routing.ts","apps/desktop/src/app/contrib/wiring.tsx","apps/desktop/src/app/gateway/hooks/use-gateway-boot.test.tsx","apps/desktop/src/app/gateway/hooks/use-gateway-boot.ts","apps/desktop/src/app/session/hooks/use-hermes-config.test.ts","apps/desktop/src/app/session/hooks/use-hermes-config.ts","apps/desktop/src/app/session/hooks/use-prompt-actions/index.test.tsx","apps/desktop/src/app/session/hooks/use-prompt-actions/index.ts","apps/desktop/src/app/session/hooks/use-route-resume.test.tsx","apps/desktop/src/app/session/hooks/use-route-resume.ts","apps/desktop/src/app/session/hooks/use-session-actions.test.tsx","apps/desktop/src/app/session/hooks/use-session-actions/index.ts","apps/desktop/src/app/session/hooks/use-session-list-actions.test.tsx","apps/desktop/src/app/session/hooks/use-session-list-actions.ts","apps/desktop/src/lib/json-rpc-gateway-recovery.test.ts","apps/desktop/src/lib/with-timeout.test.ts","apps/desktop/src/lib/with-timeout.ts","apps/desktop/src/store/connections.test.ts","apps/desktop/src/store/connections.ts","apps/desktop/src/store/gateway-connection-lifecycle.test.ts","apps/desktop/src/store/gateway-connection-scope.test.ts","apps/desktop/src/store/gateway-profile-request.test.ts","apps/desktop/src/store/gateway-shared-remote.test.ts","apps/desktop/src/store/gateway-switch.test.ts","apps/desktop/src/store/gateway-switch.ts","apps/desktop/src/store/gateway.test.ts","apps/desktop/src/store/gateway.ts","apps/desktop/src/store/profile-agent-activation.test.ts","apps/desktop/src/store/profile-select-source.test.ts","apps/desktop/src/store/profile-switch-failure.test.ts","apps/desktop/src/store/profile.ts","apps/desktop/src/store/session.test.ts","apps/desktop/src/store/session.ts","apps/shared/src/json-rpc-gateway.ts","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]"]}],"trust":{"default_tier":"verified","includes_suggested":false}}