Problem
A live balance display can be misleading when polling is unbounded, browser time is wrong, or the stream state has changed.
Objective
Deliver a production-quality improvement to stream detail, accrual display, and refresh behavior that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
- Use server/chain timestamps and bounded polling; show last-updated and pending states; stop polling when terminal or hidden.
Acceptance criteria
- Displayed accrual never exceeds the authoritative cap; polling is bounded; clock drift and stale status are visible.
Required validation
- Fake-clock, polling-limit, tab-visibility, terminal-state, and reconciliation tests.
- 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
A live balance display can be misleading when polling is unbounded, browser time is wrong, or the stream state has changed.
Objective
Deliver a production-quality improvement to stream detail, accrual display, and refresh behavior that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
Acceptance criteria
Required validation
PR quality bar
Out of scope