feat: support ios 16 for swiftui - #8036
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit bd75a77. Configure here.
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR is a broad iOS 16 compatibility feature with new navigation, observation, UI fallback, widget, and dependency behavior rather than a low-risk maintenance change. The new compact-navigation path has an unresolved transition defect, and the Clerk package is switched to a personal fork, so the runtime and dependency changes need human review. Notes:
You can add or adjust custom eligibility rules. Learn more. |

Clerk iOS fork is at https://github.com/Yash-Singh1/clerk-ios/tree/backport-clerkkitui-auth-ios16
Note
Medium Risk
Navigation and observation plumbing change across the whole app (split view vs stack, Combine vs Observation). Clerk is pinned to a fork revision, so auth UI on 16.x needs extra verification.
Overview
Lowers the native SwiftUI app (and extensions) from iOS 17 to 16.2, replacing Observation/
@Bindablewith CombineObservableObject/@Publishedand@ObservedObject/@StateObject.Adds iOS 16 shims in
T3Theme(T3ContentUnavailableView,t3OnChange, presentation/list/scroll helpers) and uses them across empty states and change handlers. CompactWorkspaceViewfalls back toNavigationStackon iOS 16; widgets, markdown link taps, Clerk env injection, and terminal trait updates get version-gated paths.Pins Clerk to a fork revision that supports iOS 16. Tests wait on
$Publishedpublishers instead ofwithObservationTracking.Reviewed by Cursor Bugbot for commit bd75a77. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add iOS 16 support by migrating to Combine and back-deploying SwiftUI APIs
IPHONEOS_DEPLOYMENT_TARGETfrom 17.0 to 16.2 and updates the Clerk dependency to a pinned revision from a new repository.@Observable,@Bindable) to Combine (ObservableObject,@Published,@StateObject,@ObservedObject).T3ContentUnavailableViewand modifiers like.t3OnChange,.t3PresentationBackground, and.t3ScrollBounceBasedOnSizeto provide iOS 16 fallbacks for iOS 17 APIs.WorkspaceViewnavigation to useNavigationStackwithisPresentedbindings on iOS 16 compact layouts instead ofNavigationSplitView.Macroscope summarized bd75a77.