Repository navigation
Fix current main Swift CI regressions - #8892
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
📝 WalkthroughWalkthroughContentView initialization now uses main-actor isolation and optional feature-flag injection with a shared fallback. Sidebar group-header configuration bases full model re-application on the cell’s stored actions state. ChangesContentView actor isolation and feature flags
Sidebar model application
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 1 warning, 1 inconclusive)
✅ Passed checks (22 passed)
✨ 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 |
Greptile SummaryThis PR fixes two deterministic Swift CI regressions: a Swift 6 actor isolation violation in
Confidence Score: 5/5Both changes are minimal, targeted, and correct — safe to merge. The ContentView.init change correctly moves a main-actor-isolated singleton access inside a @MainActor-annotated initializer, which is the canonical Swift 6 fix for this class of isolation error. The self.actions == nil change fixes a clearly unintentional comparison of a non-optional parameter to nil (always false), restoring the intended full-apply path for reused and fresh cells. Neither change introduces new state, new synchronization, or new architectural concerns; both narrow an existing correctness gap. Files Needing Attention: No files require special attention; both changed files have isolated, easily-verified one-or-two-line fixes. Important Files Changed
Sequence DiagramsequenceDiagram
participant TableView as NSTableView
participant Cell as SidebarGroupHeaderTableCellView
Note over Cell: prepareForReuse()
Cell->>Cell: "suspendPresentation() → self.actions = nil"
Cell->>Cell: "self.model = nil"
TableView->>Cell: configure(model:actions:...)
Cell->>Cell: "requiresFullApply = self.actions == nil (true after reuse)"
Cell->>Cell: "self.actions = actions"
Cell->>Cell: "guard requiresFullApply || modelChanged || hoverChanged"
Cell->>Cell: applyModel(model) — full apply on first configure
Cell->>Cell: "needsLayout = true"
Note over Cell: Second configure (same cell, reused again)
TableView->>Cell: configure(model:actions:...)
Cell->>Cell: "requiresFullApply = self.actions == nil (false, already set)"
Cell->>Cell: "guard modelChanged || hoverChanged → skips if unchanged"
Reviews (3): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile |
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. |
Summary
Fix the two deterministic Swift regressions that remain on current main:
ContentView.initas@MainActor, accept an optional injectedCmuxFeatureFlags, and resolve.sharedinside the actor-isolated body so Swift 6 does not evaluate a main-actor singleton in a nonisolated default argument;self.actionsbefore replacement inSidebarGroupHeaderTableCellView.configure, restoring the intended full apply for fresh/reused cells.The original window-snapshot actor fix is already present on main and dropped out when this branch was synchronized.
Verification
mci89, workflow run 30185040587,BUILD_OK.Localization audit
The final PR diff changes no user-facing strings, localization keys, schema text, docs, menus, alerts, or tooltips.
Resources/Localizable.xcstringsis not part of the current-main diff; the bot warning aboutmenu.history.reopenClosedWorkspacerefers to an upstream merge, not this PR.