HERMES-GIELIE/static
Hermes Agent c37c0d1397 fix(streaming): whole-turn restore when live DOM is structurally ahead (Opus)
Opus flagged a tool-card-frame-loss edge in the segment-only swap: the premise of
#3877 is that the live DOM can be AHEAD of S.messages, so a tool/worklog group can
land in the live turn between the last throttled persist and a mid-stream rebuild.
The rebuild (built from the lagging S.messages) would then lack that group, and a
segment-only swap would drop it for a frame (empirically confirmed: a live-only
tool card present before the rebuild was absent after).

Fix: count structural blocks ([data-live-assistant=1] + tool/worklog/thinking
groups) on both turns. Segment-swap only when the rebuild is the structural
SUPERSET (rebuilt >= preserved); otherwise restore the WHOLE preserved turn so
live-only structure the user already saw never vanishes. Verified live: tool-card-
ahead → whole-turn restore keeps the card + parser; single-segment tie → segment
swap, parser connected; multi-live-segment tail → tail parser connected, both
segments kept.

Also addresses Opus's dead-code note implicitly — the dataset.sessionId stamp now
matters on the whole-turn restore path (it's the branch that actually inserts the
preserved wrapper).
2026-06-11 03:03:55 +00:00
..
vendor fix: vendor math and yaml assets for CSP 2026-05-26 23:49:02 +02:00
apple-touch-icon.png
boot.js feat(outline): opt-in conversation outline panel (#2124) 2026-06-10 23:46:39 +00:00
commands.js Release v0.51.297 — stage-3711 (terminal remote-backend guard #3711) (#3745) 2026-06-06 14:17:17 -07:00
favicon-32.png
favicon-192.png
favicon-512.png
favicon-512.svg
favicon.ico
favicon.svg
i18n.js feat(outline): opt-in conversation outline panel (#2124) 2026-06-10 23:46:39 +00:00
icons.js Merge remote-tracking branch 'origin/master' into fix/session-list-touch-actions 2026-05-18 22:22:35 -06:00
index.html feat(outline): opt-in conversation outline panel (#2124) 2026-06-10 23:46:39 +00:00
login.js feat: add passkey sign-in 2026-05-25 00:14:38 +00:00
manifest.json Stage 405: PR #2842 — feat: polish installed PWA startup by @AJV20 2026-05-24 18:28:52 +00:00
messages.js fix: preserve live stream output across session switches (cross-client) 2026-06-10 20:12:05 +00:00
onboarding.js
outline.js fix(outline): keep outline valid on the todos sidebar panel (Opus follow-up) 2026-06-10 23:55:05 +00:00
panels.js feat(outline): opt-in conversation outline panel (#2124) 2026-06-10 23:46:39 +00:00
pwa-startup.js Stage 405: PR #2842 — feat: polish installed PWA startup by @AJV20 2026-05-24 18:28:52 +00:00
sessions.js fix: preserve live stream output across session switches (cross-client) 2026-06-10 20:12:05 +00:00
style.css feat(outline): opt-in conversation outline panel (#2124) 2026-06-10 23:46:39 +00:00
sw.js Release v0.51.346 — Release LJ (PWA notification controls #3229) (#3897) 2026-06-09 15:54:21 -07:00
terminal.js Release v0.51.297 — stage-3711 (terminal remote-backend guard #3711) (#3745) 2026-06-06 14:17:17 -07:00
ui.js fix(streaming): whole-turn restore when live DOM is structurally ahead (Opus) 2026-06-11 03:03:55 +00:00
workspace.js Release v0.51.343 — Release LG (Phase-1 batch: #3883 + #3878 + #3880) (#3891) 2026-06-09 13:03:15 -07:00