# NousResearch/hermes-agent · Message display ordering and duplication fixes

## Open now

- 1 issue, 2 PRs open on GitHub.
- #122167: Desktop: a just-sent message disappears from the thread, and assistant replies render twice — duplicate traced to the server-side display projection
- PR #122187: fix(session): preserve compaction display slots and visible turns
- PR #126834: fix(desktop,gateway): fewer doubled, dropped, and out-of-order bubbles after refresh and compaction \[risk 0.90\]

A cluster of fixes addressing bubbles appearing doubled, dropped, or out-of-order in the message thread, particularly around compaction and refresh events. The work spans desktop rendering, session state, and server-side display projection.

## TL;DR

- 5 member(s): 1 open issue(s), 0 closed issue(s), 2 open PR(s), 1 merged PR(s), 1 PR(s) closed without merging.
- A fix was merged to main in PR #124720. Verify it addresses your case.
- **Recommended:** read PR #124720 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.40`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #122167: Desktop: a just-sent message disappears from the thread, and assistant replies render twice — duplicate traced to the server-side display projection

## Prior & competing PRs

- **#124720: fix(state): re-fold split display generations at compaction commit**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `hermes_state_messages.py`, `tests/hermes_state/test_display_split_heal.py`
- **#122187: fix(session): preserve compaction display slots and visible turns**. open
  - maintainer direction: category `silent_close`; implication `active`
  - files: `apps/desktop/src/components/assistant-ui/message-render-boundary.test.tsx`, `apps/desktop/src/components/assistant-ui/message-render-boundary.tsx`, `apps/desktop/src/components/assistant-ui/thread/list-session-scroll.test.tsx`, `apps/desktop/src/components/assistant-ui/thread/list.tsx`, `hermes_state.py`, `hermes_state_common.py`, `hermes_state_messages.py`, `hermes_state_schema.py`, `tests/hermes_state/test_get_messages_include_compacted.py`
- **#126043: fix(desktop): spread MessageRenderBoundary transient retries over settle window**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `88e1dc6e8fd1`, `60ae3cbea1f2`
- **#126834: fix(desktop,gateway): fewer doubled, dropped, and out-of-order bubbles after refresh and compaction \[risk 0.90\]**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `bec44c7977e`
  - files: `apps/desktop/src/app/chat/transcript-backfill.compaction-refresh.test.ts`, `apps/desktop/src/app/chat/transcript-backfill.tool-row-identity.test.ts`, `apps/desktop/src/app/chat/transcript-backfill.ts`, `apps/desktop/src/app/session/hooks/use-message-stream/collapse-duplicate-final.ts`, `apps/desktop/src/app/session/hooks/use-message-stream/index.ts`, `apps/desktop/src/app/session/hooks/use-message-stream/persisted-final-twin.test.tsx`, `apps/desktop/src/components/assistant-ui/message-render-boundary.test.tsx`, `apps/desktop/src/components/assistant-ui/message-render-boundary.tsx`, `contributors/emails/[redacted:email]`, `gateway/run.py`, `tests/agent/test_archive_compact_restamp.py`, `tests/agent/test_in_place_preflight_rewind.py`, `tests/gateway/test_replay_entry_fields.py`

## Fix status

- Merged to main in PR #124720 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-09-27`.
- Subsystem: `apps/desktop`
