{"repo":"NousResearch/hermes-agent","public_id":"120978","display_label":"Desktop paste/attachment deduplication and transcript fixes","summary":"These items address bugs in the desktop client where pasted attachments and screenshots cause duplicate or mismatched turns in the transcript. Work covers attachment rewrite reconciliation, prompt deduplication, and related matching logic.","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":122079,"merged_at":"2026-09-27T02:05:53+00:00"},"resolution":{"state":"resolved","by":"pr-122079"},"freshness":{"state":"verified","last_verified_at":"2026-09-27T02:05:53+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":118415,"pr_number":122079,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-27T02:05:53+00:00"},{"issue_number":120978,"pr_number":122079,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-27T02:05:53+00:00"},{"issue_number":121088,"pr_number":122079,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-27T02:05:53+00:00"},{"issue_number":121148,"pr_number":122079,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-27T02:05:53+00:00"}],"members":[{"kind":"issue","number":120978,"title":"[Bug]: Desktop — pasted-screenshot prompt still re-appended below the newest turn (attachment rewrite, no rowId) — follow-up to #119326","url":null,"state":"closed"},{"kind":"pr","number":120986,"title":"fix(desktop): reconcile rewritten pasted attachment turns","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#122079","number":122079},{"kind":"pr","value":"#120978","number":120978}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":122079,"title":"fix(desktop): transcript duplication — acknowledged-prompt dedupe, attachment-tolerant matching, continuation provenance, backtick URLs","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/app/artifacts/artifact-utils.ts","apps/desktop/src/app/artifacts/index.test.ts","apps/desktop/src/app/chat/sidebar/session-row.test.tsx","apps/desktop/src/app/chat/sidebar/session-row.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/i18n/ar.ts","apps/desktop/src/i18n/de.ts","apps/desktop/src/i18n/en.ts","apps/desktop/src/i18n/es.ts","apps/desktop/src/i18n/fr.ts","apps/desktop/src/i18n/types.ts","apps/desktop/src/i18n/zh.ts","apps/desktop/src/lib/chat-messages/attachment-turn.ts","apps/desktop/src/lib/chat-messages/index.ts","apps/desktop/src/lib/chat-messages/reconciliation.test.ts","apps/desktop/src/lib/chat-messages/reconciliation.ts","apps/desktop/src/types/hermes.ts","apps/shared/src/gateway-contract.generated.ts","apps/shared/src/gateway-contract.openrpc.json","contributors/emails/raajkumars@users.noreply.github.com","hermes_state_sessions.py","tests/hermes_state/test_hermes_state.py","tui_gateway/contracts/common.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}