feat(ios): add location permission row and enable background updates#99235
feat(ios): add location permission row and enable background updates#99235joelnishanth wants to merge 2 commits into
Conversation
Add OpenClaw design system foundations: - Custom typography tokens (OpenClawType) using Plus Jakarta Sans, DM Sans, and JetBrains Mono with Dynamic Type scaling - Spacing and radius token enums (OpenClawSpacing, OpenClawRadius) - Additive brand color tokens (accentPressed, teal, void, obsidian, slate, textPrimary, textSecondary) - Shared components: OpenClawToggleIndicator, OpenClawStatusBadge, OpenClawPrimaryButtonStyle, OpenClawSecondaryButtonStyle - Bundled font files with OFL license provenance Migrate all iOS views to OpenClawType tokens. No behavioral, navigation, or routing changes — this is purely visual/typographic. Co-authored-by: Cursor <[email protected]>
- Add Location row to Privacy & Access section showing current OS authorization (Always / While Using / Not Set / Not Allowed) with an action button to upgrade or open Settings - Enable allowsBackgroundLocationUpdates on the CLLocationManager when starting significant-change monitoring so the system delivers location events after the app is suspended - Treat "While Using" as a warning tone in the permission UI to nudge users toward Always for reliable automations Co-authored-by: Cursor <[email protected]>
|
Thanks for the contribution. I reviewed the branch, and this PR is not a good landing base for OpenClaw. Close: the location idea is useful, but this branch is not a viable landing candidate because it mixes a privacy-sensitive background-location posture change with a broad unrelated typography/font migration and still lacks maintainer product/security approval or real behavior proof. Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. So I’m closing this PR rather than keeping an unmergeable branch open. A new narrow PR that carries only the useful part is welcome. Review detailsBest possible solution: Close this branch and invite a narrow replacement after maintainer direction on #99229 and #86217; typography/font work should be a separate design PR if maintainers want it. Do we have a high-confidence way to reproduce the issue? Not applicable as a feature PR. Source inspection confirms the branch changes the iOS permission and background-location surfaces, but no after-fix real runtime proof is attached. Is this the best way to solve the issue? No. The narrow maintainable path is an owner-approved location posture PR with tests/proof, not a privacy-sensitive capability change bundled with unrelated design-system and font assets. Security review: Security review needs attention: The diff enables a sensitive iOS background-location capability and adds third-party binary font assets without separating the security/privacy review surface.
AGENTS.md: found and applied where relevant. What I checked:
Likely related people:
Codex review notes: model internal, reasoning high; reviewed against 968aa51b8000. |
|
ClawSweeper applied the proposed close for this PR.
|
Fixes #99229
What Problem This Solves
Users selecting "Always" location mode in the OpenClaw iOS app have no visibility into their current iOS-level location permission, and no easy way to upgrade from "While Using" to "Always" without leaving the app. Additionally,
allowsBackgroundLocationUpdateswas not set on theCLLocationManager, which meant the system would not reliably deliver significant-location events after the app was suspended — even thoughUIBackgroundModesincludeslocation.Why This Change Was Made
A user reported that location-based automations are unreliable. The root causes are:
No location row in Privacy & Access — Contacts, Calendar, and Reminders each have a permission row with status + action button, but Location was missing. Users had no quick way to see or change their OS permission level.
Missing
allowsBackgroundLocationUpdates— Apple requires this property to betrueon theCLLocationManagerwhen the app declares thelocationbackground mode, otherwise the system may not deliver location updates after suspension.User Impact
allowsBackgroundLocationUpdates = trueEvidence
allowsBackgroundLocationUpdatesis set beforestartMonitoringSignificantLocationChanges()— Joel Nishanth · offlyn.AI