CodeNomad/packages
Pascal André e41bf9401b
perf(chat): persist transcript scroll when it settles; drop dead render notifications (#977)
Scrolling no longer persists the transcript position on every scroll event: MessageSection records it once Virtua reports the scroll ended (40 -> 1 store writes, 1112 -> 160 rect reads over 1.5 s of wheel), and follow-mode changes (hold escapes immediately; a follow resume once the reader is at the bottom) are persisted at once because a pinned stream never settles. No reached position is lost: unmount captures are anchored on rows still laid out (shared with #972), and app shutdown, navigation and pagehide flush unsettled scrolls through messageStoreBus.flushScrollSnapshots(). An A/B trace showed markdown/text render notifications are needed to pin a following reader in the paint frame, while the reasoning-stream and bash RAF notifications moved nothing and the memory-accounting call was redundant; those are removed. Tests cover unsettled scrolls persisted on switch, unmount and flush with anchor and return-gap checks, settle-path persistence without a flush, a resumed follow, and the bus flush API. Gatekeeper rounds 1-6 resolved to zero findings.
2026-10-16 06:15:04 +02:00
..
cloudflare chore(release): prepare stable 0.20.1 (#842) 2026-10-03 15:47:14 +02:00
electron-app feat(stats): display service-wide activity statistics (#968) 2026-10-15 15:04:58 +02:00
remote-tunnel fix(remote-control): keep a connected tunnel open past the start deadline (#931) 2026-10-13 02:12:22 +02:00
server fix(diagnostics): include OpenCode versions and the server's OS release (#979) 2026-10-15 23:21:11 +02:00
tauri-app feat(stats): display service-wide activity statistics (#968) 2026-10-15 15:04:58 +02:00
ui perf(chat): persist transcript scroll when it settles; drop dead render notifications (#977) 2026-10-16 06:15:04 +02:00