Repository navigation
Clear the three Swift warning buckets over the CI budget on main - #10905
Conversation
- MobileHostIrxRuntime: the UserDefaults key constants are nonisolated (read from the nonisolated activation gate). - SurfaceSocketCommands: the worker-lane vm.port_open / surface.new_terminal paths await SurfaceCatalog.shared instead of touching the main-actor property synchronously. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe change updates Swift concurrency access in the mobile runtime and surface socket commands. Runtime preference keys are nonisolated. Two surface catalog lookups now use asynchronous access. ChangesSwift concurrency access updates
Estimated code review effort: 1 (Trivial) | ~3 minutes Merge Risk: ⚪ Minimal · up to This PR makes localized Swift concurrency-warning fixes to clear the CI warning budget without changing intended behavior; no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 25✅ Passed checks (25 passed)
Full details: Description checkExplanation The description clearly states what changed, why it changed, and how it was verified. The Demo Video section is not required because the PR reports no behavior change. The review trigger and checklist are not included, but these omissions are non-critical. Full details: Cmux Swift Actor IsolationExplanation PASS. The diff fixes actor-isolation diagnostics and does not introduce a listed mistake. Full details: Cmux Swift Blocking RuntimeExplanation The diff adds no semaphore, blocking wait, sleep, delayed dispatch, polling, main-queue sync, or manual lock. It only marks two string constants Full details: Cmux Browser Automation Off-MainExplanation PASS: The pull request does not change browser.* socket automation routing. The diff changes only two UserDefaults string constants and adds await when obtaining the Full details: Cmux Expensive Synchronous LoadExplanation PASS. The commit changes only four declarations/usages: two string constants become Full details: Cmux Cache Substitution CorrectnessExplanation PASS — The diff does not substitute a cached value for a fresh authoritative read. It only marks two string constants Full details: Cmux No Hacky SleepsExplanation PASS. The pull request changes only two Swift files. The exact diff changes actor isolation declarations and adds Full details: Cmux Algorithmic ComplexityExplanation PASS — The pull request changes only two isolation annotations and two Full details: Cmux Swift ConcurrencyExplanation PASS. The diff changes only two string constants to Full details: Cmux Swift `@Concurrent`Explanation PASS. The diff only makes two synchronous string constants Full details: Cmux Swift Package BoundariesExplanation PASS. The diff changes only actor-isolation annotations on two string constants and adds Full details: Cmux Swiftpm LockfilesExplanation PASS: The pull-request diff changes only Full details: Cmux Swift LoggingExplanation PASS. The commit changes only two Full details: Cmux User-Facing Error PrivacyExplanation The PR changes only Swift isolation access. It marks two existing string-key constants as Full details: Cmux Full InternationalizationExplanation PASS: The diff changes only Swift isolation/concurrency syntax. It adds Full details: Cmux Swiftui State LayoutExplanation PASS: The diff changes only two Full details: Cmux Architecture RethinkExplanation PASS. The diff changes only two string constants to Full details: Cmux Swift Auxiliary Window Close ShortcutsExplanation The pull request changes only actor-isolation annotations and asynchronous access to Full details: Cmux Source ArtifactsExplanation PASS. The commit changes only Full details: Cmux No Test Or Debug Seam In Production SourceExplanation PASS: The PR changes only two constant declarations from Full details: Cmux No Ambient Global StateExplanation The diff introduces no ambient global state. It only changes two existing string constants to ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
Status: the warning-budget step passes on this branch. The job then fails at Run display UI regressions ( |
…atics/captured self, surfaces socket shared access) Same fixes as #10905, carried here so the warning-budget gate lets the display step run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…occlusion .visible bit (fixes the display-liveness CI regression from #10815) (#10922) * Present terminal renderers in on-screen windows that never report an occlusion .visible bit #10815 gates renderer presentation on NSWindow.occlusionState.contains(.visible). On the CI display-churn harness the app runs on a CGVirtualDisplay where AppKit never raises that bit for a window that is ordered in and drawing, so the renderer was never presented and DisplayResolutionRegressionUITests counted 0 terminal presents (the step last passed before #10815 landed). One rule now decides window visibility (TerminalRendererWindowVisibility): the occlusion bit or key window wins; until a window has reported .visible at least once its ordinary on-screen state (visible, not miniaturized, on the active Space) is trusted. Once the bit has been seen the occlusion verdict is honored, so miniaturized, covered, and inactive-Space windows still release GPU as #10815 intended. Key/main transitions and screen changes re-evaluate the rule. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test: irx keepalive waits for the first pong with a deadline (reintroduced by #10889; the determinism gate blocks main) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix: clear the Swift warning buckets over budget on this base (irx statics/captured self, surfaces socket shared access) Same fixes as #10905, carried here so the warning-budget gate lets the display step run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
525352e ios: match launch screen logo to the App Store icon glyph (manaflow-ai#10913) a1f0cf9 Present terminal renderers in on-screen windows that never report an occlusion .visible bit (fixes the display-liveness CI regression from manaflow-ai#10815) (manaflow-ai#10922) 86061c8 iOS: show the unread count on workspace indicators, in parity with macOS (manaflow-ai#10791) 5cacd70 fix: clear three Swift warning buckets over the CI budget on main (manaflow-ai#10905)
tests-build-and-lagon main fails its warning-budget gate with three buckets over budget:Sources/Mobile/MobileHostIrxRuntime.swift×2 —enabledDefaultsKey/forceRelayDefaultsKeyare main-actor-isolated statics read from the nonisolated activation gate (inherited from irx: from-scratch iroh transport for cmux mobile (dev-gated), 15-min relay-only soak PASS #10782). Markednonisolated(they are string constants).Sources/Surfaces/SurfaceSocketCommands.swift×2 — worker-lane handlers readSurfaceCatalog.sharedsynchronously; now awaited like the surrounding calls.No behavior change. Verified with
swiftc -parse; the gate ispython3 scripts/swift_warning_budget.pyon the CI build log.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Clears the three Swift warnings pushing the
tests-build-and-lagCI job over its warning-budget gate on main. No behavior change.UserDefaultskey constants inSources/Mobile/MobileHostIrxRuntime.swiftasnonisolatedso the nonisolated activation gate can read them without a main-actor warning.SurfaceCatalog.sharedinSources/Surfaces/SurfaceSocketCommands.swiftinstead of touching the main-actor property synchronously.Written for commit 9f1d87e. Summary will update on new commits.
Summary by CodeRabbit