{"repo":"NousResearch/hermes-agent","public_id":"93937","display_label":"Gateway switching session identity and ordering fixes","summary":"These items address bugs in desktop gateway switching logic, specifically around preserving correct route identity, ensuring switches are committed before the new source is published, and preventing previous session IDs from leaking into new sessions.","subsystem":null,"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":"resolved","by":"pr-95080"},"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":93937,"title":"[Bug]: Registered-gateway switcher leaks previous runtime session ID and returns \"session not found\"","url":null,"state":"closed"},{"kind":"pr","number":94145,"title":"fix(desktop): commit gateway switches before publishing the new source (#93937)","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}}