{"repo":"NousResearch/hermes-agent","public_id":"106935","display_label":"SSH sibling backend retirement during idle-exit fixes","summary":"These issues and PRs address a bug where idle-exit in SSH-isolated Desktop backends incorrectly retires sibling backends still owned by the app, causing live sessions to be disrupted and restarted. Multiple fix attempts approach the problem via keepalive connections, pool recovery preservation, and sibling backend protection.","subsystem":null,"counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":110025},"resolution":{"state":"resolved","by":"pr-110025"},"freshness":{"state":"verified","last_verified_at":"2026-09-14T14:26:18+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":106935,"pr_number":110025,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":106935,"title":"Desktop over SSH: the isolated backend's idle-exit (#101626) retires a sibling backend the app still owns, and the app answers by restarting everything, killing live turns","url":null,"state":"closed"},{"kind":"pr","number":106959,"title":"fix(desktop): hold SSH-isolated keepalive WS so idle-exit won't retire owned siblings","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"39ef1c1f3d","number":0},{"kind":"pr","value":"#110025","number":110025},{"kind":"pr","value":"#106935","number":106935}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":106969,"title":"fix(desktop): preserve sibling SSH backends during pool recovery","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#106959","number":106959},{"kind":"pr","value":"#106935","number":106935}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":107042,"title":"fix(desktop): preserve active SSH sibling backends","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"39ef1c1f3d","number":0},{"kind":"pr","value":"#106935","number":106935},{"kind":"pr","value":"#110025","number":110025},{"kind":"pr","value":"#106959","number":106959}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":110025,"title":"fix(desktop): SSH-isolated backends Desktop owns are no longer retired by idle-exit (#106935, salvage #106959)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/electron/main.ts","apps/desktop/electron/pool-stop.test.ts","apps/desktop/electron/pool-stop.ts","apps/desktop/electron/ssh-bootstrap-coordinator.test.ts","apps/desktop/electron/ssh-bootstrap-coordinator.ts","apps/desktop/electron/ssh-isolated-keepalive.test.ts","apps/desktop/electron/ssh-isolated-keepalive.ts"]}],"trust":{"default_tier":"verified","includes_suggested":false}}