Skip to content

test: stop asserting SwiftUI rows in the sidebar AX walk again - #14625

Merged
teamleaderleo merged 1 commit into
mainfrom
test-sidebar-ax-walk-no-swiftui-rows
Sep 25, 2026
Merged

teamleaderleo merged 1 commit into
mainfrom
test-sidebar-ax-walk-no-swiftui-rows

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Why

SidebarAccessibilityTreeTests.mountedSidebarAndProjectPanelAccessibilityWalkIsAcyclic() fails on current main after its 5 s wait: Expectation failed: walk.textValues.contains { $0.contains("Context.swift") }. Seen on shard 6 of two unrelated PRs:

#14406 already removed this expectation. With no assistive client attached, SwiftUI does not vend the project panel's rows in the app host, and waiting 5 s did not help (job 107980861038). The #12817 merge (ae3ce37) then brought back 63a6e63's wait-and-assert version, which was written before #14406 landed, so main regressed.

What

Restore #14406's version of the file. This is a one-hunk revert of the reintroduced wait and expectation. The walk still descends into the hosting view for the cycle and depth checks.

Validation

git diff a855dbfecb0 HEAD -- cmuxTests/SidebarAccessibilityTreeTests.swift is empty. CI runs the test on the app-host shards.

🤖 Generated with 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.


Summary by cubic

Fixes the flaky mountedSidebarAndProjectPanelAccessibilityWalkIsAcyclic test by removing the assertion on SwiftUI-vended project panel rows.

  • Without an assistive client attached, SwiftUI does not vend those rows in the app host, so the 5 second wait still saw only the sidebar row's text.
  • The walk still descends into the hosting view, so the cycle and depth checks are unaffected.

Written for commit 18995f1. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Tests
    • Updated accessibility-tree checks to verify window traversal and retain coverage for depth, sidebar text, and links.

#14406 dropped the Context.swift expectation from
mountedSidebarAndProjectPanelAccessibilityWalkIsAcyclic because, with no
assistive client attached, SwiftUI does not vend the project panel's rows
in the app host, so a 5 s wait still saw only the sidebar row's text.
The #12817 merge (ae3ce37) brought back 63a6e63's earlier
wait-and-assert version, written before #14406 landed. Every app-host run
that schedules the suite now fails it after the 5 s wait (PR runs
36123906444 and 36123840967, shard 6). Restore #14406's version. The walk
still descends into the hosting view for the cycle and depth checks.

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

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 9ccc9b6d-5519-4fe7-bf68-f9531b2203e8

📥 Commits

Reviewing files that changed from the base of the PR and between c055747 and 18995f1.

📒 Files selected for processing (1)
  • cmuxTests/SidebarAccessibilityTreeTests.swift

Included review availability: Your plan provides up to 10 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The sidebar accessibility test now walks the mounted window once after AppKit layout. It retains the cycle, depth, text-view, and link checks, and no longer asserts that Context.swift appears in the walk.

Changes

Sidebar accessibility test

Layer / File(s) Summary
Mounted-window accessibility walk
cmuxTests/SidebarAccessibilityTreeTests.swift
The test replaces asynchronous polling and the Context.swift assertion with one walk of the mounted window. It retains the cycle, depth, text-view, and link checks.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 18995

The test no longer asserts unavailable project-panel rows and keeps its other accessibility checks. No actionable merge-blocking risk is evident.

🚥 Pre-merge checks | ✅ 24 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (24 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: removing the SwiftUI row assertion from the sidebar accessibility walk test.
Description check ✅ Passed The description explains the failure, root cause, intended fix, and validation. It provides equivalent Summary and Testing information under different headings. A demo is not needed for this test-only…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Cloud Persistent Session And Early Input ✅ Passed PASS: The PR changes only cmuxTests/SidebarAccessibilityTreeTests.swift. It removes a five-second accessibility-test wait and a Context.swift assertion, then keeps local AppKit/SwiftUI accessibili…
Cmux Swift Actor Isolation ✅ Passed PASS: The review-scoped diff changes only cmuxTests/SidebarAccessibilityTreeTests.swift. It removes a test wait and expectation and adds test comments. No production Swift files change, so this cust…
Cmux Swift Blocking Runtime ✅ Passed PASS. The pull request changes only cmuxTests/SidebarAccessibilityTreeTests.swift, which is test-only code. The diff removes the 5-second AppKitTestEventPump().waitUntil polling block and the `Con…
Cmux Browser Automation Off-Main ✅ Passed PASS. The pull request changes only cmuxTests/SidebarAccessibilityTreeTests.swift. It does not change Sources/TerminalController.swift, ControlCommandExecutionPolicy.swift, or any browser socket…
Cmux Expensive Synchronous Load ✅ Passed The pull request changes only cmuxTests/SidebarAccessibilityTreeTests.swift. It removes a test wait and a Context.swift assertion; it does not add or move production Swift code or any synchronous …
Cmux Cache Substitution Correctness ✅ Passed PASS. The PR changes only cmuxTests/SidebarAccessibilityTreeTests.swift, which is a test file, not production Swift, TypeScript, or JavaScript. The diff removes an accessibility-test wait and a `Con…
Cmux No Hacky Sleeps ✅ Passed PASS. The pull request changes only cmuxTests/SidebarAccessibilityTreeTests.swift, which is Swift test code and outside this check's scope. It removes the five-second accessibility walk wait and the…
Cmux Algorithmic Complexity ✅ Passed PASS. The only changed file is cmuxTests/SidebarAccessibilityTreeTests.swift, a test. The diff removes a bounded accessibility-test wait and contains assertion, then performs one tree walk. It add…
Cmux Swift Concurrency ✅ Passed PASS. The PR changes only cmuxTests/SidebarAccessibilityTreeTests.swift and removes an AppKitTestEventPump wait plus an accessibility assertion. It does not introduce or materially expand Dispatch…
Cmux Swift @Concurrent ✅ Passed PASS: The only changed file is cmuxTests/SidebarAccessibilityTreeTests.swift. The diff removes an AppKitTestEventPump wait and a text assertion; it adds no async function, call site, or `@concurre…
Cmux Swift Package Boundaries ✅ Passed PASS. The diff changes only cmuxTests/SidebarAccessibilityTreeTests.swift, which belongs to the cmuxTests test target. It removes an accessibility-test wait and assertion; it does not add or retai…
Cmux Swiftpm Lockfiles ✅ Passed The pull request changes only cmuxTests/SidebarAccessibilityTreeTests.swift. The diff contains no Package.swift, Package.resolved, .gitignore, workflow, Xcode project, or dependency changes. T…
Cmux Swift Logging ✅ Passed The pull request changes only cmuxTests/SidebarAccessibilityTreeTests.swift, which is test code. The diff removes an accessibility wait and assertion and adds comments. It adds no print, `debugPri…
Cmux User-Facing Error Privacy ✅ Passed PASS — The only changed file is cmuxTests/SidebarAccessibilityTreeTests.swift. The diff removes a test wait and assertion and adds a developer-only test comment. The rule explicitly allows tests and…
Cmux Full Internationalization ✅ Passed The pull request changes only cmuxTests/SidebarAccessibilityTreeTests.swift. It removes a test wait and a Context.swift assertion, and adds only developer comments. The full-internationalization r…
Cmux Swiftui State Layout ✅ Passed PASS: The pull request changes only an accessibility test. It removes a wait, a text assertion, and related comments. It does not introduce or expand ObservableObject/@published state, GeometryReader …
Cmux Architecture Rethink ✅ Passed PASS. The PR changes only cmuxTests/SidebarAccessibilityTreeTests.swift. It removes a test-only AppKitTestEventPump().waitUntil(timeout: .seconds(5)) loop and the Context.swift assertion, then p…
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed PASS. The pull request changes only cmuxTests/SidebarAccessibilityTreeTests.swift. The diff removes a wait and a Context.swift assertion from a test accessibility walk. It does not add or material…
Cmux Source Artifacts ✅ Passed The pull request changes only cmuxTests/SidebarAccessibilityTreeTests.swift. The diff removes an unreliable wait and Context.swift assertion and adds a test comment. This is intentional hand-writt…
Cmux No Test Or Debug Seam In Production Source ✅ Passed PASS: The PR changes only cmuxTests/SidebarAccessibilityTreeTests.swift. The authoritative diff contains no Swift files under a production Sources/ path, so it introduces no production test/debug …
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@teamleaderleo
teamleaderleo merged commit 1348db7 into main Sep 25, 2026
49 of 50 checks passed
@teamleaderleo
teamleaderleo deleted the test-sidebar-ax-walk-no-swiftui-rows branch September 25, 2026 16:00
@github-actions

Copy link
Copy Markdown
Contributor

Merge receipt for 18995f11b2: every check was green at merge (14 verified; 13 skipped by policy). Full suite runs on main after merge.

rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 25, 2026
1348db7 test: stop asserting SwiftUI rows in the sidebar AX walk again (manaflow-ai#14625)
2e269cd Fix Files pane refresh after filesystem changes (manaflow-ai#9589)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant