Skip to content

Fix stale renderer callback fixture calls on main - #13422

Merged
teamleaderleo merged 1 commit into
mainfrom
fix/renderer-callback-fixture-main
Sep 21, 2026
Merged

teamleaderleo merged 1 commit into
mainfrom
fix/renderer-callback-fixture-main

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Current main no longer compiles CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift: PresentedSurfaceFixture now installs the native renderer callback lifecycle itself, but a later merge reintroduced three calls to the removed installRendererCallbacks: initializer.

This restores the fixture usage introduced by the native-callback alignment work: all three callback tests construct PresentedSurfaceFixture() directly and continue exercising the C callback boundary through the fixture-installed callbacks.

Evidence

Recent unrelated PRs fail swift-package-tests with extra argument 'installRendererCallbacks' in call, followed by cascading renderHealth inference errors. The fixture definition on current main has only init(windowVisibleAtCreation:) and already calls makeRendererCallbackContextForTesting plus registerRendererCallbacksForTesting.

This is test-only and intentionally narrow.


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 swift-package-tests build failure by updating three renderer callback tests to use the current PresentedSurfaceFixture() initializer.

PresentedSurfaceFixture now installs the renderer callback lifecycle itself, so the removed installRendererCallbacks: argument was breaking compilation on main. The tests continue exercising the C callback boundary through the fixture-installed callbacks; this is test-only and doesn't change runtime behavior.

Written for commit 7c51235. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Tests
    • Updated terminal rendering tests to use the standard callback configuration while preserving coverage for presentation acknowledgment, failure recovery, and shell-exit behavior across renderer rebuilds.

@github-actions

Copy link
Copy Markdown
Contributor

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

@teamleaderleo
teamleaderleo enabled auto-merge (squash) September 21, 2026 17:36
@coderabbitai

coderabbitai Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Understand this PR’s impact

Explore downstream dependencies and potential security impact with Blast Radius.

View 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: c96ee6d1-d996-4c53-bf1b-349bd543081a

📥 Commits

Reviewing files that changed from the base of the PR and between b96f70b and 7c51235.

📒 Files selected for processing (1)
  • Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift

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


📝 Walkthrough

Walkthrough

The three renderer callback tests now use PresentedSurfaceFixture() with default callback installation. The tests retain coverage for presentation acknowledgment, renderer failure recovery, and shell-exit health across renderer rebuilds.

Changes

Renderer callback test fixtures

Layer / File(s) Summary
Use default callback installation
Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift
The three tests use the fixture’s default renderer callback installation instead of disabling callbacks explicitly.

Priority: ⬇️ Low

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

Change: Other

Suggested reviewers: austinywang

🚥 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 3 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 identifies the main change: replacing stale renderer callback fixture calls on main. It is concise and specific.
Description check ✅ Passed The description provides a clear summary, explains the compilation failure, identifies the affected tests, and states the scope. It does not include a dedicated Testing section or completed checklist,…
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 pull request changes only three test fixture initializers in TerminalSurfaceRendererCallbackTests.swift. The diff introduces no Cloud terminal creation, cmux-tui transport, session, atta…
Cmux Swift Actor Isolation ✅ Passed PASS. The review-scoped diff changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. It replaces three test fixture calls and introduces no produ…
Cmux Swift Blocking Runtime ✅ Passed PASS. The review range changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. It removes three obsolete initializer arguments and adds no semaph…
Cmux Browser Automation Off-Main ✅ Passed PASS: The pull request changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. It replaces three `PresentedSurfaceFixture(installRendererCallback…
Cmux Expensive Synchronous Load ✅ Passed PASS. The PR changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. It replaces three test fixture calls and adds no agent-history loads, file p…
Cmux Cache Substitution Correctness ✅ Passed PASS. The pull request changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. It replaces three test fixture calls with `PresentedSurfaceFixture…
Cmux No Hacky Sleeps ✅ Passed PASS. The pull request changes one Swift test file only: three PresentedSurfaceFixture(installRendererCallbacks: false) calls become PresentedSurfaceFixture(). The fixture definition has `init(win…
Cmux Algorithmic Complexity ✅ Passed PASS. The pull request changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. It replaces three test fixture initializers and adds no production…
Cmux Swift Concurrency ✅ Passed PASS. The pull request changes only three test fixture initializer arguments in TerminalSurfaceRendererCallbackTests.swift. It adds no DispatchQueue, Combine, completion-handler, or fire-and-forge…
Cmux Swift @Concurrent ✅ Passed The PR changes only three synchronous fixture initializers in a test suite. The changed tests remain @MainActor and introduce no async, nonisolated, or @concurrent code. The fixture initialize…
Cmux Swift Package Boundaries ✅ Passed PASS. The authoritative diff changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. It changes three test fixture calls and introduces no produc…
Cmux Swiftpm Lockfiles ✅ Passed The pull request changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. The diff contains three test fixture initializer updates and no `Package…
Cmux Swift Logging ✅ Passed PASS. The pull request changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift, a test file. The three changed lines only remove the `installRende…
Cmux User-Facing Error Privacy ✅ Passed PASS. The pull request changes only three constructor calls in a test file. The new calls use PresentedSurfaceFixture(), which installs test renderer callbacks. No user-facing error, alert, command …
Cmux Full Internationalization ✅ Passed PASS. The pull request changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift, replacing three test fixture initializer calls. It adds no user-fa…
Cmux Swiftui State Layout ✅ Passed PASS. The pull request changes only TerminalSurfaceRendererCallbackTests.swift. The diff replaces three PresentedSurfaceFixture(installRendererCallbacks: false) calls with `PresentedSurfaceFixture…
Cmux Architecture Rethink ✅ Passed The diff changes only three test fixture initializers from PresentedSurfaceFixture(installRendererCallbacks: false) to PresentedSurfaceFixture(). The fixture owns callback setup through `makeRende…
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed PASS. The pull request changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. It replaces three test fixture initializer calls and introduces no…
Cmux Source Artifacts ✅ Passed The pull request changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. The diff changes three test fixture calls from an obsolete argument form…
Cmux No Test Or Debug Seam In Production Source ✅ Passed The pull request changes only Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererCallbackTests.swift. No Swift file under a production Sources/ path changed. The added line…
  • 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.

@greptile-apps

greptile-apps Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

This narrow test-only correction appears safe to merge.

Summary

This PR repairs three renderer callback tests by removing calls to a deleted fixture initializer parameter.

  • Uses the fixture’s current default initializer.
  • Preserves fixture-managed callback registration and teardown.
  • Changes test code only; production behavior is unaffected.

Reviews (1) · Last reviewed commit: "test: repair renderer callback fixture c..."

@teamleaderleo
teamleaderleo merged commit 34e079c into main Sep 21, 2026
48 of 50 checks passed
rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 21, 2026
cc3e06c ci: run PR web validation tests only once (manaflow-ai#13170)
34e079c test: repair renderer callback fixture calls (manaflow-ai#13422)
6c68431 Merge pull request manaflow-ai#13348 from manaflow-ai/feat/agent-rooms-pr
b96f70b Merge pull request manaflow-ai#13319 from manaflow-ai/feat/capacity-routing-reliability
06ccafb test(agent-chat): run routing locale coverage
4b44485 test(agent-chat): cover routing locales
830af36 fix(agent-chat): localize continuation actions
2529b10 fix(agent-chat): consume localized routing notices
a7e5bb9 feat(agent-chat): localize routing handoff copy
916942b test(agent-chat): reject stale handoff responses
6a51312 fix(agent-chat): ignore stale handoff responses
c567163 test(agent-mail): cover readable JSON framing
d983516 fix(agent-mail): keep ACP message bodies readable
69f1646 fix(agent-chat): clean up reserved handoff tabs
6e22f0a chore(web): keep routing complexity gate green
46deb98 fix(agent-chat): guard handoff lifecycle
a2d2c99 test(coderouter): sequence split NDJSON retry responses
47874e3 test(coderouter): return healthy response after split NDJSON failover
5f4e2c4 fix(coderouter): keep probing metadata and cancellation
e57953a test(coderouter): cover NDJSON probe boundaries
ff80f03 fix(coderouter): ignore capacity markers in output deltas
fba5152 fix(coderouter): fail over NDJSON capacity events
be92b41 fix(agent-chat): harden agent room message contracts
447a565 refactor(coderouter): split capacity routing control flow
fcfff82 fix(coderouter): serialize cooldown SQL timestamps explicitly
9b45b7c fix(coderouter): use ArrayBuffer-backed Claude probe bodies
cd1b353 docs: mark agent rooms core in progress
d4de5f5 docs: align agent room message identity
a4470bc docs: propose provider-neutral agent rooms
8035c05 feat(agent-chat): add durable mail prompt seam for ACP
7ac69f3 feat(agent-chat): add deterministic mail replies
3122049 feat(agent-chat): add provider-neutral mail broker
610fa61 expose normalized agent route health
7fb4a43 add explicit continue elsewhere handoff
f116181 ci: retry canary artifact cleanup
087d30a ci: serialize stale run janitor invocations
44d51f2 make chat handoff visible
9ad79b0 fail over embedded Claude overload streams
abcc13f classify Codex quota holdouts separately
074f33e handle Codex overload and quota error codes
da049be reroute non-2xx model capacity responses
ad5323b trace coderouter capacity failover
f970f43 route model capacity failures before output
b8e2c19 Document hosted Subrouter capacity contract

# Conflicts:
#	.github/workflows/ci-artifact-canary.yml
#	.github/workflows/ci-stale-run-janitor.yml
#	.github/workflows/web-validation.yml
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