Skip to content

HomeChiefLinkInkTests: name NSView.display unambiguously (fix the base's test build) - #24219

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
chief-ui-fix-link-ink
Oct 22, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
chief-ui-fix-link-ink

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes the base's red fast tier. #24002 (cc027d8) added HomeChiefLinkInkTests with #selector(NSView.display). AppKit has both display() and display(_:), so the selector is ambiguous and CmuxNextAppTests no longer builds. Every PR's cmux-next fast tier has been red since, for example jobs 119640111188, 119641860268 and 119642938745 at 4f51657.

Change

One line: #selector(NSView.display as (NSView) -> () -> Void). Only the test changes; no app code.

Tests

  • cmux-ci run --class light --script scripts/ci/package-test-lane.sh --ref a88c965e4f52b14b92dfc4553e4333a01c6a808b --arg=suite --arg=Packages/macOS/CmuxNext --arg=HomeChiefLinkInkTests builds CmuxNextAppTests and runs the test. The result goes in a comment.
  • Red on base: the fast tier jobs above fail at HomeChiefLinkInkTests.swift:23:116: error: ambiguous use of 'display'.

Observed / Not run

Observed: the base's fast-tier errors. Fleet results are pending at the time of writing. Not run: nothing else; this is test-only.

Changelog

none

No capture: test-only change.

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 red cmux-next fast tier by disambiguating #selector(NSView.display) in HomeChiefLinkInkTests. AppKit has both display() and display(_:), so the bare selector is ambiguous and CmuxNextAppTests no longer compiles — every PR's fast tier has been red since #24002.

The fix casts the selector as (NSView) -> () -> Void. Test-only change; no app code is modified.

Written for commit 42c6b04. Summary will update on new commits.

View guided diff Turn on auto-fix

…e's test build)

#24002 wrote #selector(NSView.display), which is ambiguous between display() and
display(_:), so CmuxNextAppTests no longer built and every PR's fast tier was red.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a16057-0fea-7933-80f2-cec81447d873&host=cosmic-gray
@cursor

cursor Bot commented Oct 22, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 22, 2026
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 42c6b04: 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=pr24219 -f ref=chief-ui-fix-link-ink -f platform=macos -f backend_mode=local

red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: red check: Checks job structure (+1 more) is not red on the base 1aee113; do not merge until green; see lane-rules

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by chief-ui on cosmic-gray · session

@blacksmith-sh

blacksmith-sh Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Found 12 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp0ona9nal/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpmu2wsl_a/summary-missing.json (live):/summary-missing.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
convention violations found (ERROR lines above)./
convention violations found (ERROR lines above).
View Logs
nightly cmux-tui resolve/nightly cmux-tui resolve View Logs
test_every_submodule_free_checkout_on_an_owned_runner_resets_submodules (main.Reuse
dWorkspaceSubmodules.test_every_submodule_free_checkout_on_an_owned_runner_resets_submo
dules)/
test_every_submodule_free_checkout_on_an_owned_runner_resets_submodules (main.Reuse
dWorkspaceSubmodules.test_every_submodule_free_checkout_on_an_owned_runner_resets_submo
dules)
View Logs
test_every_submodule_free_checkout_on_an_owned_runner_resets_submodules (main.Reuse
dWorkspaceSubmodules.test_every_submodule_free_checkout_on_an_owned_runner_resets_submo
dules) (job='web-bundles')/
test_every_submodule_free_checkout_on_an_owned_runner_resets_submodules (main.Reuse
dWorkspaceSubmodules.test_every_submodule_free_checkout_on_an_owned_runner_resets_submo
dules) (job='web-bundles')
View Logs

...and 2 more test failures. View all on Blacksmith: run 39729550499, run 39729550523

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (claude-reviewer-24219, sonnet): SHIP at a88c965

Read-only review of the one-line change at HomeChiefLinkInkTests.swift:23. I did not build or run it.

  1. Valid Swift: yes. #selector(Type.method as (Type) -> (Args) -> Ret) is the documented way to pick one overload. NSView's display() is an instance method with no arguments and a Void return, so its unapplied reference has type (NSView) -> () -> Void. The other overload, display(_ rect: NSRect), has type (NSView) -> (NSRect) -> Void, so the cast excludes it.
  2. Selector: it resolves to display. The display(_:) overload is displayRect:, and the cast removes it.
  3. Line 25: those two errors cascade from line 23. link had no resolved type, so link.attributedTitle had no base type and the .foregroundColor and nil arguments had no contextual type. Once line 23 type-checks, link is HomeChiefLinkButton, an NSButton subclass. attributedTitle is then NSAttributedString, .foregroundColor infers as NSAttributedString.Key, and effectiveRange: nil infers as NSRangePointer?. Line 25 has nothing else that needs a fix.
  4. Other ambiguity: none. #selector appears once in the file, and the HomeChiefLinkButton.init(title:target:action: Selector) signature accepts the result. The rest of the file (the ThemeScope, Palette and ThemeTokens calls, and #expect lines 28-32) is unchanged, and none of it is among the reported errors.

The fix is minimal and test-only. It touches no app source, so there is no runtime risk. The only unverified part is that CI has not yet compiled it, so the CmuxNextAppTests build on this head is the final confirmation.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-daeld created for this PR by the cmux coordinator.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (claude-reviewer-24219, sonnet): SHIP at 42c6b04

Read-only re-check of the base merge. I did not build or run anything.

  • 42c6b04 is Merge branch 'feat-cmux-next' into chief-ui-fix-link-ink, with parents a88c965 (the previously reviewed head) and 1aee113 (base).
  • git diff --stat 1aee1139 42c6b046 lists one file, HomeChiefLinkInkTests.swift, 1 insertion and 1 deletion. The change is exactly the line-23 swap from #selector(NSView.display) to #selector(NSView.display as (NSView) -> () -> Void). The merge adds nothing beyond base.
  • git diff a88c965e 42c6b046 for that file is empty, so the file is identical to the version I reviewed in my earlier SHIP comment.
  • Base at 1aee113 still has the ambiguous #selector(NSView.display) on line 23, so this line is still the fix.

My earlier analysis stands: the cast selects display() (selector display), the line-25 errors cascade from line 23, and the file has no other #selector. CI's CmuxNextAppTests build on this head is the remaining confirmation.

@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

teamleaderleo added a commit that referenced this pull request Oct 22, 2026
Picks up #24219 (HomeChiefLinkInkTests compiles again), which unblocks the
CmuxNext test build on this PR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 42c6b046 Deployed Oct 22, 2026 by teamleaderleo
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