{"repo":"NousResearch/hermes-agent","public_id":"38858","display_label":"Desktop pinned sessions lost on restart or update","summary":"Multiple bug reports and fixes address pinned sessions being cleared or not persisted across Desktop app restarts, updates, and sleep/wake cycles. Fixes cover state persistence, empty-array edge cases, and related session handling issues.","subsystem":"apps/desktop","counts":{"members":10,"open_issues":1,"open_issues_distinct":1,"open_prs":0,"closed_issues":4,"merged_prs":2,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":91315,"merged_at":"2026-08-21T06:19:16+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-08-21T06:19:16+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.14311111111111113},"fix_edges":[{"issue_number":37582,"pr_number":74234,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-07-29T17:31:39+00:00"},{"issue_number":38858,"pr_number":74234,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-07-29T17:31:39+00:00"},{"issue_number":38858,"pr_number":91315,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-21T06:19:16+00:00"},{"issue_number":51685,"pr_number":74234,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-07-29T17:31:39+00:00"},{"issue_number":60918,"pr_number":74234,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-07-29T17:31:39+00:00"},{"issue_number":72948,"pr_number":74234,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-07-29T17:31:39+00:00"},{"issue_number":89700,"pr_number":91315,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-21T06:19:16+00:00"}],"members":[{"kind":"issue","number":38858,"title":"[Bug]: Hermes Desktop pinned sessions are unpinned after app restart","url":null,"state":"open"},{"kind":"issue","number":52953,"title":"Bug: Pinned sessions disappear after Desktop app restart","url":null,"state":"closed"},{"kind":"issue","number":55616,"title":"Desktop on macOS lost all pinned sessions while state.db remained intact","url":null,"state":"closed"},{"kind":"issue","number":56152,"title":"[Bug]: hermes.desktop.pinnedSessions cleared on every desktop app startup — pins do not persist across restarts","url":null,"state":"closed"},{"kind":"issue","number":63027,"title":"Desktop: Pinned sessions disappear after app update","url":null,"state":"closed"},{"kind":"pr","number":39360,"title":"fix(desktop): restore pinned sessions after restart","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#74234","number":74234}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":55622,"title":"fix(desktop): preserve pinned sessions key on empty array to prevent permanent loss","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#56152","number":56152}],"category":"uncategorized","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":74234,"title":"Pins are server-owned, so they survive paging and follow you between apps","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/store/session-pin-sync.test.ts","apps/desktop/src/store/session-pin-sync.ts","apps/desktop/src/types/hermes.ts","hermes_cli/web_server.py","hermes_state.py","tests/test_hermes_state.py"]},{"kind":"pr","number":91315,"title":"fix(desktop): don't re-list a just-unpinned session under Pinned","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/app/chat/sidebar/index.tsx","apps/desktop/src/app/chat/sidebar/session-index.test.ts","apps/desktop/src/app/chat/sidebar/session-index.ts","apps/desktop/src/store/session-pin-sync.test.ts","apps/desktop/src/store/session-pin-sync.ts"]},{"kind":"pr","number":98972,"title":"fix(desktop): retry a failed unpin instead of resurrecting the pin","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"524b062289","number":0},{"kind":"pr","value":"#91315","number":91315},{"kind":"pr","value":"#89700","number":89700}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}