{"repo":"NousResearch/hermes-agent","public_id":"74142","display_label":"Desktop unread dot read-state fixes and overhaul","summary":"These issues and PRs address bugs with the completed-unread green dot on desktop, including incorrect clearing behavior for tiled sessions and keying read state on the focused session. A broader overhaul addresses persistence, manual mark-unread, and related edge cases.","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":86772,"merged_at":"2026-08-15T08:21:41+00:00"},"resolution":{"state":"resolved","by":"pr-86772"},"freshness":{"state":"verified","last_verified_at":"2026-08-15T08:21:41+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":74142,"pr_number":86772,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-15T08:21:41+00:00"},{"issue_number":78159,"pr_number":86772,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-15T08:21:41+00:00"},{"issue_number":83056,"pr_number":86772,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-15T08:21:41+00:00"},{"issue_number":85305,"pr_number":86772,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-15T08:21:41+00:00"},{"issue_number":86565,"pr_number":86772,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-15T08:21:41+00:00"}],"members":[{"kind":"issue","number":74142,"title":"[Bug]: Desktop — the completed-unread green dot never clears for a session open as a tile","url":null,"state":"closed"},{"kind":"pr","number":74162,"title":"fix(desktop): key the completed-unread dot on the focused session, not the selected one","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#86772","number":86772}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":86772,"title":"fix(desktop): unread-dot read-state overhaul — correct clears, restart persistence, manual mark-unread (salvages #74162 #74293 #76504 #82824 #84822)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/e2e/unread-dot-restart.spec.ts","apps/desktop/src/app/chat/sidebar/index.tsx","apps/desktop/src/app/chat/sidebar/session-actions-menu.test.tsx","apps/desktop/src/app/chat/sidebar/session-actions-menu.tsx","apps/desktop/src/app/chat/sidebar/session-row.test.tsx","apps/desktop/src/app/chat/sidebar/session-row.tsx","apps/desktop/src/app/chat/sidebar/sessions-section.test.tsx","apps/desktop/src/app/chat/sidebar/sessions-section.tsx","apps/desktop/src/app/chat/sidebar/virtual-session-list.test.tsx","apps/desktop/src/app/chat/sidebar/virtual-session-list.tsx","apps/desktop/src/app/contrib/controller.tsx","apps/desktop/src/app/open-session.ts","apps/desktop/src/app/session/hooks/use-session-actions/index.ts","apps/desktop/src/app/settings/sessions-settings.tsx","apps/desktop/src/hermes.ts","apps/desktop/src/i18n/ar.ts","apps/desktop/src/i18n/en.ts","apps/desktop/src/i18n/ja.ts","apps/desktop/src/i18n/types.ts","apps/desktop/src/i18n/zh-hant.ts","apps/desktop/src/i18n/zh.ts","apps/desktop/src/lib/persisted.test.ts","apps/desktop/src/lib/persisted.ts","apps/desktop/src/store/gateway-switch.ts","apps/desktop/src/store/session-dot-state.test.ts","apps/desktop/src/store/session-dot-state.ts","apps/desktop/src/store/session-states.ts","apps/desktop/src/store/session-unread-remote.test.ts","apps/desktop/src/store/session-unread-remote.ts","apps/desktop/src/store/session-unread-tile.test.ts","apps/desktop/src/store/session-unread.test.ts","apps/desktop/src/store/session-unread.ts","apps/desktop/src/store/session.test.ts","apps/desktop/src/store/session.ts","apps/desktop/src/types/hermes.ts","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","gateway/platforms/api_server.py","hermes_cli/web_models.py","hermes_cli/web_routers/sessions.py","tests/hermes_cli/test_web_server.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}