{"repo":"NousResearch/hermes-agent","public_id":"118670","display_label":"Desktop duplicate streaming turn rendering fix","summary":"A bug where long streaming turns appeared duplicated in the UI during live rendering (but stored correctly in the database) was identified and addressed. The related fix targets transcript rendering issues including duplicates, vanishing replies, and partial receipt handling.","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":120692,"merged_at":"2026-09-23T22:13:54+00:00"},"resolution":{"state":"resolved","by":"pr-120692"},"freshness":{"state":"verified","last_verified_at":"2026-09-23T22:13:54+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":68927,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":70108,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":78484,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":81422,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":81703,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":101938,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":118670,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":118671,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":118755,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":119326,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"},{"issue_number":119540,"pr_number":120692,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T22:13:54+00:00"}],"members":[{"kind":"issue","number":118670,"title":"[Desktop] Long streaming turn (178s, 4 tool calls) rendered twice live; single copy after relaunch — DB has only one copy","url":null,"state":"closed"},{"kind":"pr","number":119407,"title":"fix: resolve #118670 — #118670 [Desktop] Long streaming turn (178s, 4 tool calls) r","url":null,"state":"closed","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":120692,"title":"fix(desktop): transcript-render sweep — no duplicate or vanishing replies with partial receipts, failed turns, steers, reasoning-only streams","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/app/chat/composer/hooks/use-composer-submit.test.tsx","apps/desktop/src/app/chat/composer/hooks/use-composer-submit.ts","apps/desktop/src/app/contrib/hooks/folded-tool-turn-refresh.test.tsx","apps/desktop/src/app/session/hooks/use-message-stream/folded-segment-refresh.test.tsx","apps/desktop/src/app/session/hooks/use-message-stream/index.ts","apps/desktop/src/app/session/hooks/use-message-stream/session-info-side-effects.test.tsx","apps/desktop/src/app/session/hooks/use-session-actions/utils.test.ts","apps/desktop/src/app/session/hooks/use-session-actions/utils.ts","apps/desktop/src/lib/chat-messages/reconciliation.test.ts","apps/desktop/src/lib/chat-messages/reconciliation.ts"]}],"trust":{"default_tier":"verified","includes_suggested":false}}