{"repo":"NousResearch/hermes-agent","public_id":"119569","display_label":"Desktop streaming render and state fixes","summary":"These items address bugs in the desktop streaming pipeline, including dropped or duplicated replies, stream state mishandling across reordered heartbeats, and assistant messages disappearing after streaming completes.","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":120601,"merged_at":"2026-09-23T20:00:48+00:00"},"resolution":{"state":"resolved","by":"pr-120601"},"freshness":{"state":"verified","last_verified_at":"2026-09-23T20:00:48+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":119014,"pr_number":120601,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-23T20:00:48+00:00"},{"issue_number":119543,"pr_number":120601,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T20:00:48+00:00"},{"issue_number":119569,"pr_number":120601,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T20:00:48+00:00"},{"issue_number":120580,"pr_number":120601,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T20:00:48+00:00"}],"members":[{"kind":"issue","number":119569,"title":"[Bug] Desktop: assistant messages disappear after streaming completes (render race condition)","url":null,"state":"closed"},{"kind":"pr","number":119591,"title":"fix(desktop): keep open stream across reordered running=false heartbeat (#119569)","url":null,"state":"closed","close_reason":{"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":120601,"title":"fix: background-review supersede no longer duplicates or drops desktop replies; fork turns tagged in logs","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/background_review.py","agent/turn_context.py","agent/turn_finalizer.py","apps/desktop/src/app/session/hooks/use-message-stream/background-review-interrupt.test.tsx","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/index.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/message-stream.test.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/message-stream.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/session-info.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/types.ts","apps/desktop/src/app/session/hooks/use-message-stream/heartbeat-complete-reorder.test.tsx","apps/desktop/src/app/session/hooks/use-message-stream/index.ts","apps/desktop/src/app/session/hooks/use-prompt-actions/steering-recovery.test.tsx","apps/desktop/src/app/types.ts","tests/agent/test_background_review.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}