Skip to content

Keep Call health compact, with Connection and Video on their own tabs - #251

Merged
itz4blitz merged 2 commits into
mainfrom
fix/compact-call-health
Nov 12, 2026
Merged

itz4blitz merged 2 commits into
mainfrom
fix/compact-call-health

Conversation

@itz4blitz

Copy link
Copy Markdown
Collaborator

What changed and why

The Call health card grew tall once it carried video numbers under the connection ones. It now stays the size it was and has two tabs: Connection (round trip, jitter, loss, traffic, transport) and Video (sending, receiving and rendered frame rates, resolution, last image, and its own send and receive graph). The Video graph keeps video's own rates and shows nothing for the seconds no video ran.

This commit was written on 4 November and never opened as a pull request. It is rebased onto main here, with the lab scenario added.

Type

  • feature
  • fix
  • perf
  • refactor
  • chore
  • docs

Platforms

  • windows
  • macos
  • linux
  • android
  • ios

Proof

Scenario: e2e/scenarios/compact-call-health

Lab run:

The scenario starts the app with TINYCLIENT_PROVE=compact-call-health, which exits 0 only when the Video history holds video's own rates and none for seconds without video, and the Connection history is unchanged by them. It does not open the card. The card's two tabs are covered by the --shot --demo states (--tiny-menu stats and --tiny-menu stats-video with TINYCLIENT_SHOT_VIDEO=1), which are design previews, not measured call proof.

Compatibility

Client only. No protocol or stored data changes; ChartSample gains a field that lives in memory.

Risk and rollback

A wrong tab state shows the Connection tab, which is what the card showed before video numbers existed. Revert the PR.

Release note

Call health stays compact, with Connection and Video on their own tabs.

🤖 Generated with Claude Code

itz4blitz and others added 2 commits November 12, 2026 08:38
Adds the compact-call-health scenario and the driver it starts.

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

Tiny Code Review

✅ No blocking findings — see the review · run

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tiny Code Review

✅ No blocking findings.

The change is a contained GUI reorganization: it adds a video_kbps field to the in-memory ChartSample, a StatsTab state on the shell, and rewrites the stats card to render two tabs from the same history. The wire, stats collection and health grading are untouched; the chart math change (fixed 60-second x span, shared video scale) is conservative and clamped. I found no defect that gates the merge.

Residual risk

  • The video chart draws a sample of (0, 0) for seconds with no video rather than leaving a gap, which reads as a flat zero line on the graph even though the stored history correctly holds None.
  • prove_compact_call_health and the new unit test exercise the same in-memory history logic, so neither covers the tab rendering or the chart drawing itself; the --shot previews are the only coverage of the visual change.
  • The details string built from all hints is only as useful as wherever the trimmed part of the card consumes it; if it ends up unused, clippy will flag it.

Agent run

@itz4blitz
itz4blitz merged commit 59d6abf into main Nov 12, 2026
14 checks passed
@itz4blitz
itz4blitz deleted the fix/compact-call-health branch November 12, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant