fix(mobile): even out the working pill's spacing#10209

merged1
t3code/fix-mobile-tool-shimmer-thinking-row
t3code/mobile-working-pill-spacing
openedSep 5, 2026byJJulius Marminge
View on GitHubTwo-way sync enabledPR last imported 3d ago

Stacked on #10173.

Problem

The floating "Working for…" pill sat 20 above the composer capsule but only a few points below the last timeline row, so it read as attached to the feed and detached from the composer.

Fix

Size the offsets from the pill's real height (h-11 = 38.5, not the 44 the constant claimed) and the composer capsule's 6-point inset inside its overlay, so the pill sits 8 above the capsule. Reserve the same 8 above the pill in the feed's end inset. CONTROL_SEPARATION picks up the corrected height too; it is the arrow button's width, which is also w-11.

Verification

  • tsc --noEmit for apps/mobile, targeted lint and format.
  • iPhone 17 Pro simulator, same seeded thread on main and this branch. Measured from screenshots: pill-to-capsule gap 19.7 → 8.0; last-row-to-pill gap ~7 → ~8.

Before: the pill floats high above the composer. After: the pill sits 8 points above the composer capsule and 8 below the last row.

Implemented by Claude Fable 5 in the Claude Code harness.

Added 1 commit

  • fix(mobile): even out the working pill's spacingce09458
Synced from GitHub

Approvability

Verdict: Approved at ce09458

Macroscope's review found this PR approvable — This is a small, self-contained mobile layout correction that only adjusts the working pill’s size, vertical offset, and corresponding feed inset. It introduces no new capability, schema change, deployment change, product-default change, or static-analysis override.

You can add or adjust custom eligibility rules. Learn more.

Synced from GitHub

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ No successful main baseline artifact is available yet. This run establishes the initial measurement.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire—13.5 KiB—15.1 KiB✅
CodexThread snapshot wire—7.0 KiB—7.3 KiB✅
CodexLive turn WebSocket wire—6.5 KiB—7.8 KiB✅
CodexLive turn WebSocket decoded—57.0 KiB—66.4 KiB✅
CodexLive turn messages—8—21✅
ClaudeTotal thread wire—13.6 KiB—15.1 KiB✅
ClaudeThread snapshot wire—7.0 KiB—7.3 KiB✅
ClaudeLive turn WebSocket wire—6.5 KiB—7.8 KiB✅
ClaudeLive turn WebSocket decoded—57.8 KiB—66.4 KiB✅
ClaudeLive turn messages—9—21✅

Baseline: unavailable · PR result: ce09458 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 113.8 KiB
  • Claude decoded thread snapshot: 114.5 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.