Skip to content

Mobile Session Card Fixes -> main - #1117

Merged
arul28 merged 1 commit into
mainfrom
ade/mobile-session-card-fixes
Aug 18, 2026
Merged

Mobile Session Card Fixes -> main#1117
arul28 merged 1 commit into
mainfrom
ade/mobile-session-card-fixes

Conversation

@arul28

@arul28 arul28 commented Aug 18, 2026

Copy link
Copy Markdown
Owner

ADE   Open in ADE  ·  ade/mobile-session-card-fixes branch  ·  PR #1117

@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
ade Ignored Ignored Preview Aug 18, 2026 3:14am

@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@arul28, you've reached your PR review limit, so we couldn't start this review.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7d3a33f3-b5fd-4973-8fe4-f1b11271b8a0

📥 Commits

Reviewing files that changed from the base of the PR and between 52b00e6 and 8abd33c.

📒 Files selected for processing (6)
  • apps/ios/ADE/Views/Work/WorkChatRichCardViews.swift
  • apps/ios/ADE/Views/Work/WorkChatSessionView.swift
  • apps/ios/ADE/Views/Work/WorkRootScreen.swift
  • apps/ios/ADE/Views/Work/WorkSessionDestinationView+Actions.swift
  • apps/ios/ADE/Views/Work/WorkSessionDestinationView.swift
  • apps/ios/ADE/Views/Work/WorkSessionRowCard.swift
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ade/mobile-session-card-fixes

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.

@arul28
arul28 force-pushed the ade/mobile-session-card-fixes branch from 351dcd7 to 8abd33c Compare August 18, 2026 03:14
@arul28
arul28 merged commit 300b047 into main Aug 18, 2026
36 checks passed
@arul28
arul28 deleted the ade/mobile-session-card-fixes branch August 18, 2026 04:08
arul28 added a commit that referenced this pull request Aug 19, 2026
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>
arul28 added a commit that referenced this pull request Aug 19, 2026
* 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>
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