Every poll and event rebuilt each table from scratch, and an open bytes
view collapsed to "loading..." and was refetched every five seconds.
- Tables are rewritten only when their markup changes. Clock-dependent
text (ages, retry countdowns, uptime) is rendered as placeholders and
ticked in place once a second, so unchanged data means no DOM writes.
- The bytes view is cached per route and set of established sessions, and
the previous bytes stay visible while new ones load.
Measured with a MutationObserver: zero table rebuilds across 13 s of
polling with a bytes view open; one announcement redraws only the local
and received tables once each, with no "loading..." flash.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>