Skip to content

fix(web): decide the composer strip from the controls it will draw - #438

Merged
rynfar merged 1 commit into
pylonfrom
fix/composer-strip-visibility-inputs
Sep 21, 2026
Merged

rynfar merged 1 commit into
pylonfrom
fix/composer-strip-visibility-inputs

Conversation

@rynfar

@rynfar rynfar commented Sep 9, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #435. Substantially addresses #437.

The composer context strip decided its own visibility from isGitRepo, while
BranchToolbar decided its Git controls from isGitRepo && !rollbackActive.
During a rollback the two disagreed: the strip stayed open because there was a
repository, and then drew nothing, leaving a visible empty bar with the shell's
clip-path extension around it.

The predicate's input was named for the repository when what it needs is what
the strip will actually draw, so it is now showsGitControls, and ChatView
derives that once and passes the same value to both the predicate and
BranchToolbar. The two can no longer disagree.

While here, the mount-versus-visible pair moved out of the view into
resolveComposerContextStripVisibility in ChatView.logic.ts. That pair is the
part that has now been wrong twice — once hiding a live capacity reading (#432),
once showing an empty bar — and it was only reachable by rendering a chat. It is
now a pure function with tests covering the rollback case, the capacity case,
and the measuring strip that must stay mounted while hidden.

Not claiming #437 is closed: ChatView still assembles the inputs, so cutting a
field there would restore a bug with tests green. What is left is literal field
assignment rather than a decision, and covering it properly needs a ChatView
render harness, which does not exist yet.

No UI change to show: this fixes a state that renders nothing either way — an
empty bar becomes no bar. Verified by test rather than by screenshot, including
a mutation check (forcing the Git input true fails 3 tests).

Written by Claude Opus 5 in Claude Code.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M labels Sep 9, 2026
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ The exact PR base did not have a successful artifact. Baseline uses the latest successful main measurement shown below.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.8 KiB 13.8 KiB −12 B (−0.1%) 15.1 KiB ✅
Codex Thread snapshot wire 7.1 KiB 7.1 KiB −1 B (−0.0%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.7 KiB 6.7 KiB −11 B (−0.2%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 57.4 KiB 57.4 KiB 0 B (0.0%) 66.4 KiB ✅
Codex Live turn messages 10 10 0 (0.0%) 21 ✅
Claude Total thread wire 13.8 KiB 13.8 KiB −4 B (−0.0%) 15.1 KiB ✅
Claude Thread snapshot wire 7.1 KiB 7.1 KiB −8 B (−0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.7 KiB 6.7 KiB +4 B (+0.1%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.2 KiB 58.2 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: f669dcd · PR result: 9cf70fd · 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: 111.2 KiB
  • Claude decoded thread snapshot: 111.9 KiB

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

@rynfar
rynfar force-pushed the fix/composer-strip-visibility-inputs branch from 9cf70fd to 32cb98b Compare September 21, 2026 07:24
@vercel

vercel Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
pylon-marketing Ignored Ignored Preview Sep 21, 2026 7:24am UTC

@rynfar
rynfar merged commit 35d19f4 into pylon Sep 21, 2026
4 of 5 checks passed
@rynfar
rynfar deleted the fix/composer-strip-visibility-inputs branch September 21, 2026 07:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

web: rollback on a Git project can render an empty composer context strip

1 participant