Skip to content

Focused-session phone header · #3967

The six before-phone-session-* captures were recorded before implementation, from master 3905ab48104334fce8cf126e4fdb43641ec8ad8f, using the existing container recorder/selftest (make perf-container). The only recorder change added the 360, 390 and 430px screenshots; the UI and bundle were unchanged. Both themes use 812px height. The baseline visual suite and all performance budgets passed.

Before: the session title and project/view navigation disappear, while drawer, tabs, PR link, Keyboard and Actions compete for one row.

After: project/view navigation remains above the pane; title, static Keyboard and Actions have one row, with a horizontally scrolling tab row beneath. The same session, viewport heights and themes are used. The title retains its full text and tooltip while CSS truncates it with … when needed. Targets are 44px.

These are the real web client and an isolated daemon with the recorder's seeded stand-in agent transcript, not production work or a layout mockup. The recorder asserts header visibility, keyboard activation/Tab/Escape, title truncation, separate rows, scrolling tabs, target heights and viewport fit at each width.

unit-before.txt records all three new unit tests failing before implementation. The resize test also caught desktop Escape focusing the hidden phone trigger; that regression was fixed before submission.

Current master already had phone-session and phone-session-dark goldens. This PR refreshes and strengthens those existing cases, using the unchanged maxDiffPixels: 0 oracle. Performance budgets are unchanged.

Unchanged performance budgets

Merged-tree make perf-container run with golden updates disabled after merging master b3e59995e276a1ef56be010f4a25ce2ae175503f (#3965). All visual checks and all budgets passed. Three container samples per timing metric.

Metric Mean Min–max SD Budget
raw_bytes 907937.000 907937.000–907937.000 0.000 921961.950
gzip_bytes 202029.000 202029.000–202029.000 0.000 206516.100
first_terminal_ms 2802.767 2729.100–2846.500 52.394 5740.833
echo_ms 304.667 278.700–333.300 22.370 615.100
rail_ms 693.467 690.000–697.400 3.039 1452.767
load_shift 0.000 0.000–0.000 0.000 0.010
snapshot_shift 0.000 0.000–0.000 0.000 0.010
frame_ms 70.416 65.756–72.835 3.296 960.011
key_render_ms 60.070 57.338–64.105 2.912 701.279