Problem
Per-tick updates can rerender every stream and chart, causing jank and battery use for accounts with many streams.
Objective
Deliver a production-quality improvement to stream lists, timelines, and chart rendering that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
- Memoize stable rows; isolate live tick state; virtualize or cap long lists; measure render and memory budgets.
Acceptance criteria
- Only affected live elements rerender; large lists meet a documented interaction budget; terminal streams stop updating.
Required validation
- Render-count tests, virtualized-list tests, fake-clock updates, and performance profiling checks.
- Existing tests and CI remain passing.
- Add regression coverage for the original failure mode.
- Do not weaken, delete, or skip unrelated tests to obtain a green build.
PR quality bar
- Keep the PR focused and explain design tradeoffs, compatibility impact, and test evidence.
- Avoid typo-only, documentation-only, cosmetic-only, or unrelated refactor submissions.
Out of scope
- Broad rewrites not required by the acceptance criteria.
- Changes to unrelated services, contracts, or user flows.
Problem
Per-tick updates can rerender every stream and chart, causing jank and battery use for accounts with many streams.
Objective
Deliver a production-quality improvement to stream lists, timelines, and chart rendering that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
Acceptance criteria
Required validation
PR quality bar
Out of scope