Skip to content

cmux NEXT: Invite People hides the empty link row from VoiceOver; Copied clears with the link - #35119

Open
teamleaderleo wants to merge 7 commits into
feat-cmux-nextfrom
leo/invite-sheet-nits
Open

teamleaderleo wants to merge 7 commits into
feat-cmux-nextfrom
leo/invite-sheet-nits

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Follow-ups from the review of #34656 on the Invite People sheet (listed on #33746):

  • VoiceOver skipped nothing. The invite link row stays laid out with no link so the card keeps its size, but VoiceOver still read the empty label and the disabled Copy Invite Link. Now the row, its label and the button are hidden from accessibility until the chat has a link, and come back when it does.
  • Copied outlived its link. If the link went away while Copy Invite Link read Copied (the last invitee removed), the next link showed with Copied. Loading the shares now clears copied (and its reset timer) when there is no link.
  • zh-Hans used 拷贝 for Copy Invite Link and Copied; the rest of the catalogs use 复制. Now 复制邀请链接 / 已复制.
  • Test: the card test now checks Copy Invite Link has one fixed width that fits Copied and keeps it across the confirmation.

Commit 1 adds the tests (the accessibility and Copied checks fail on base), commit 2 the fix. Design spec: design/chat-multiplayer.md (Invite people); no design change. Localization audit: only the two zh-Hans values changed; no new strings.

Refs #33746

Agent session: agent session

🤖 Generated with Claude Code


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


Summary by cubic

Updates the Invite People sheet so VoiceOver skips the empty invite-link row, and the Copied confirmation clears when the link disappears.

  • Keeps the row laid out to preserve the card's size while hiding it from accessibility.
  • Updates the Simplified Chinese translations for "Copy Invite Link" and "Copied."
  • Tests accessibility, confirmation reset, and button width across the confirmation state.

Written for commit 1f03386. Summary will update on new commits.

View guided diff Turn on auto-fix

teamleaderleo and others added 2 commits November 4, 2026 08:16
…py width, Copied clears with the link

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b443a4be4f9b3a1f457e
…ied clears with the link; zh-Hans 复制

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b443a4be4f9b3a1f457e
@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium): SHIP at 2741c67

Visual verdict: unchanged by this diff (accessibility state, two zh-Hans values, a model flag and tests; layout and alpha as on base).

Checked the NSView accessibility API names, DemandTimer.cancel(), MainActor isolation, that the accessibility and Copied tests fail without the fix, and that the width checks read the one fixed width constraint linkView sets.

Follow-ups:

  • [follow-up] F1 (correctness, outcome:pending): load() clears copied only when the link goes to nil; a link replaced by a different one inside the 1.5 s window still shows Copied. Clearing on any change of inviteLink would cover it.
  • [follow-up] F2 (quality, outcome:pending): CmuxDialogButtonView.retitle does not call invalidateIntrinsicContentSize(); the fixed width hides it here, other users may size stale.

…width constraint on it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b443a4be4f9b3a1f457e
@cursor

cursor Bot commented Nov 4, 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.

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

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

Review db9a34a: 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=pr35119 -f ref=leo/invite-sheet-nits -f platform=macos -f backend_mode=local

web and size checks: green

@blacksmith-sh

blacksmith-sh Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Found 4 test failures on Blacksmith runners:

Failures

Test View Logs
main.DeveloperIdAppTests.test_download_prints_the_active_profile_only/
test_download_prints_the_active_profile_only
View Logs
stubs: /System/Library/Frameworks/Security.framework/Versions/A/Security has no stub/
Security has no stub
View Logs
stubs: CoreFoundation.tbd: install-name /System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation, missing 1: ['_CFRetain']/
CoreFoundation, missing 1: ['_CFRetain']
View Logs
stubs: CoreFoundation.tbd: install-name /System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation, missing 1: ['_log2']/
CoreFoundation, missing 1: ['_log2']
View Logs

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium): SHIP at ae53f06

Visual verdict: unchanged by this diff (test only).

The new commit narrows the fixed-width check to the button's own required constant width (the old count also caught its subviews' width constraints, the CI red at line 464); it compiles and the frame-width checks across Copied still guard the behaviour. Compile check passed at this head.

Follow-ups: [follow-up] F1 (test, outcome:pending): !fixed.isEmpty could also check a matched constant equals the button's frame width.

@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 11:13 Inactive
@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 11:13 Inactive
@cmux-bot cmux-bot Bot removed the stack-blocker label Nov 4, 2026
@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 19:29 Inactive
@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 19:29 Inactive
@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 19:30 Inactive

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 1f033867 Deployed Nov 6, 2026 by teamleaderleo via cmux-tui tree preflight #118821
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant