fix(ios): keep While Using selected after approval#100512
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 5, 2026, 10:02 PM ET / 02:02 UTC. Summary PR surface: Other +94. Total +94 across 3 files. Reproducibility: yes. source-reproducible: current main can complete the authorization wait with Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review detailsBest possible solution: Land the iOS waiter fix only after redacted exact-head simulator or device proof shows While Using stays selected during prompt approval and after relaunch, or after a maintainer explicitly overrides that proof gap. Do we have a high-confidence way to reproduce the issue? Yes, source-reproducible: current main can complete the authorization wait with Is this the best way to solve the issue? Yes for the code shape: installing the waiter before requesting and filtering AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against d095f4755339. Label changesLabel justifications:
Evidence reviewedPR surface: Other +94. Total +94 across 3 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
d9c00b9 to
c359f89
Compare
2a5e13b to
290c681
Compare
|
Merged via squash.
|
* fix(ios): preserve initial location permission selection * chore: keep iOS location fix independent
* fix(ios): preserve initial location permission selection * chore: keep iOS location fix independent
Regression from #99247.
What Problem This Solves
Fixes an issue where users selecting Location → While Using on iOS would approve the system location prompt, but the OpenClaw setting would snap back to Off while the prompt was still resolving.
Why This Change Was Made
The initial Core Location request now installs its waiter before showing the system prompt and refuses to complete while authorization remains
.notDetermined. The existing bounded fallback remains for the separate Always-upgrade flow, where iOS can legitimately suppress a second prompt.User Impact
After approving the first While Using prompt, the setting remains selected immediately and after relaunch instead of reverting to Off.
Evidence
.notDeterminedcallbacks.xcodebuild build-for-testing -project apps/ios/OpenClaw.xcodeproj -scheme OpenClawUITests -destination 'platform=iOS Simulator,id=10B67EA9-8307-421B-8E49-C2778B3BB9E0' -derivedDataPath /tmp/openclaw-ios-location-derived-local -disableAutomaticPackageResolution— passed; app and UI test targets compile.pnpm check:changedon Blacksmith Testboxtbx_01kwtbye96qq4x8g11tyt37v98— passed.