Mobile Session Card Fixes -> main - #1117
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
Warning Review limit reached
Next review available in: 57 minutes Limit details: You’ve used all 1 included review currently available under your plan. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
✨ 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 |
351dcd7 to
8abd33c
Compare
The iOS app is not built by PR CI, and three recent merges each landed a compile break that the next one hid: - WorkSessionDestinationView passed onOpenParentSession right after onOpenLane, but memberwise-init argument order follows property declaration order in WorkChatSessionView, where it sits after the model controls (#1117). - SyncService.errorByClearingAmbiguousRouteAuthFailure is called from the connection race's task-group closures off the main actor; it is a pure NSError rewrite, so mark it nonisolated (#1120). - WorkChatSessionView.body had grown into one ~300-line expression chain; the x86_64 simulator slice hit the type-checker's "unable to type-check in reasonable time" ceiling (#1121). Split it into bounded helpers (transcriptScrollView / chatColumn / timelineScrollHandlers / sessionLifecycleHandlers / feedbackAndSheets) with the identical view tree and modifier order. Verified: xcodebuild build-for-testing succeeds for the ADE scheme (simulator, both arches); ADETests runs 1494 tests with 6 failures that predate this branch (PR-list workflow context, roster delta, sync recovery policy — tracked separately). Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* ci: build and test the iOS app on every PR The iOS app was the only ADE surface with zero CI coverage; three consecutive merges (#1117, #1120, #1121) each landed a Swift compile break, and 6 ADETests failures accumulated invisibly. New test-ios job on macos-26 (Xcode 26) builds the ADE scheme for testing and runs ADETests. It always runs — ci-pass deliberately counts "skipped" as failure — but exits success immediately on PRs that don't touch apps/ios/** or ci.yml, so non-iOS PRs pay only runner spin-up. SPM packages cached on Package.resolved. Make the suite it gates green (1494 tests, 0 failures locally): - Three PR-list tests still built 'queue' group fixtures; queue workflows were removed in 1b3d33b and the joins narrowed to integration groups. Fixtures now use 'integration'; the scoping/filter subjects and every other assertion are unchanged. - testFilterPullRequestListItemsMatchesStateAndSearch asserted a search for "review" returns one row, but both fixtures contain "review" in title/branch — wrong since the day it landed (4f18960); state narrowing is covered by the following assertions. - testRosterCleanExitAndLegacyPayloadRemainCompatible expected clean exit to settle; 31bac9b (#951) made settle declared-only. Expect .ended and additionally pin exitCode == 0. - testRelayCandidateRuntimeIgnoresReadyBeforeAccepted raced a real 350 ms negotiation deadline against the host scheduler. The budget is now a SyncConnectionRaceBudget field (production defaults byte-identical) and the test hook widens only that window; assertions untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ci: let the iOS test host sign ad-hoc; surface full failure detail CODE_SIGNING_ALLOWED=NO left the test host unsigned, so simulator keychain access failed with missing-entitlement errors in the account sign-out and DPoP proof tests (they pass locally, where the host signs ad-hoc). Also replace output truncation with -quiet and upload the .xcresult bundle on failure so CI failures are diagnosable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ci: address review — persist-credentials off, timeout test keeps a real window - test-ios checkout no longer persists the GITHUB_TOKEN into .git/config; xcodebuild runs PR-controlled build phases and needs no authenticated git. - awaitRelayCandidateReadyForTesting takes an acceptedWindowNanoseconds override; the negotiation-timeout test passes 50ms so it exercises the timeout path without sitting out the wide scheduling-safe window (SyncRecoveryPolicyTests back to ~9s). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.