Skip to content

fix(webviews): type the find pill's icon map in editor-find-narrow (base type-check red from #22872) - #22927

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
leo/base-red-find-narrow-icon
Oct 21, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
leo/base-red-find-narrow-icon

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

webviews/test/editor-find-narrow.test.tsx (from #22872) indexes an inline object literal by role, which widens each icon name to string, so vp check in webviews fails on base 3b0a6b37 with TS2322 ("Type 'string' is not assignable to type 'IconName'") at line 42. This names the map with as const satisfies Record<FindPillIconRole, IconName>, the way find/FindBar.tsx does. The map is inside the requireBrowserLane callback, which check:browser-lanes requires.

Changelog

none

Observed / Not run

  • Observed: scripts/web-lint.sh fails on base with the TS2322 above, and passes on this branch. prepush-gate.py reports no new violations.
  • Not run: the browser test itself (Playwright Chromium lane); CI runs it. Its behavior is unchanged: it draws the same four icons.

Agent session: cosmic-gray

🤖 Generated with Claude Code


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


Summary by cubic

Fixes the webviews type-check failure by typing the find pill's icon map in editor-find-narrow.test.tsx.

  • Indexing an inline object literal by role widened each icon name to string, causing TS2322 on base (string is not assignable to IconName).
  • Declares the map with as const satisfies Record<FindPillIconRole, IconName>, matching how find/FindBar.tsx does it.
  • Test behavior is unchanged; it renders the same four icons.

Written for commit a390758. Summary will update on new commits.

View guided diff Turn on auto-fix

…ase type-check red from #22872)

Indexing an object literal by role widened each icon to string, so vp check
failed with TS2322 (string is not assignable to IconName) on every webviews
push. Name the map with satisfies Record<FindPillIconRole, IconName>, as
find/FindBar.tsx does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c08-3514-7430-9c71-6b7ba4fdac72&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

owner: 01a15c08-3514-7430-9c71-6b7ba4fdac72

1 similar comment
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

owner: 01a15c08-3514-7430-9c71-6b7ba4fdac72

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review a390758: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr22927 -f ref=leo/base-red-find-narrow-icon -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards. This PR merged before its CI finished: fix forward on main.

CI failed on a390758c34 (run 39543154592 attempt 1): 4 code, 1 unknown.

Job Verdict Why
web / react-apps-check (1) code a web test failed
web / react-apps-check (2) code a web test failed
web / react-apps-check (4) code a web test failed
web / react-apps-check (3) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs agent-pane-queue.test.ts queued prompts from the keyboard > ⌘Return sends a queued prompt now; Delete removes one: failed (job)
  • seen on other PRs agent-pane-soft-edges.test.ts the transcript fades under the header once scrolled, and above the composer while more lies below: failed (job)
  • seen on other PRs composer-history.test.ts ↑ and ↓ in an empty prompt step through the chat's earlier prompts: failed (job)
  • seen on other PRs quiet-access-chip.test.ts chromium: Full access draws in the model chip's color: failed (job)
  • seen on other PRs quiet-access-chip.test.ts webkit: Full access draws in the model chip's color: failed (job)
  • seen on other PRs agent-pane-adopted-tool-calls.test.ts the adopted turn's Worked for opens to its commands and edited files: failed (job)
  • seen on other PRs agent-pane-adopted-tool-calls.test.ts a patch whose files only its input names counts each file, not one: failed (job)
  • seen on other PRs agent-pane-column-edges.test.ts the strip or queue and the card meet square in one rim, and the queue keeps room above: failed (job)
  • seen on other PRs agent-pane-wheel-pass-through.test.ts chromium > the wheel over a long draft stops at its ends and moves nothing else: failed (job)
  • seen on other PRs agent-pane-wheel-pass-through.test.ts webkit > the wheel over a long draft stops at its ends and moves nothing else: failed (job)
  • ... 16 more in the job logs
Matched log lines
web / react-apps-check (1): (fail) queued prompts from the keyboard > ⌘Return sends a queued prompt now; Delete removes one [31088.17ms]
web / react-apps-check (2): (fail) the adopted turn's Worked for opens to its commands and edited files [31188.74ms]
web / react-apps-check (4): (fail) queued and steering prompts > the queue takes its own place in the stack: nothing is cut off or drawn over [1284.78ms]
web / react-apps-check (3): (fail) the trust bar's corner is the composer card's [4871.09ms]

Not re-run automatically: web / react-apps-check (1), web / react-apps-check (2), web / react-apps-check (4), web / react-apps-check (3), web / react-apps-check are not machine failures.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: web / Web status; NEW: green on the base 3b0a6b3; do not merge until green; see lane-rules
red: web / react-apps-check; no finished base run on 3b0a6b3 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (1); no finished base run on 3b0a6b3 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (2); no finished base run on 3b0a6b3 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (3); no finished base run on 3b0a6b3 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (4); no finished base run on 3b0a6b3 to compare; do not merge until green; see lane-rules

Tour of a390758c34 (run): no media. The tour did not run: only webview code changed (1 path(s)), which the gallery advisory run checks in Linux Chromium on the pull request (its artifact holds any captures); add the media-tour-mac label to tour it on a Mac.

@teamleaderleo
teamleaderleo merged commit da79051 into feat-cmux-next Oct 21, 2026
@teamleaderleo
teamleaderleo deleted the leo/base-red-find-narrow-icon branch October 21, 2026 04:17
@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:low Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant