-
Notifications
You must be signed in to change notification settings - Fork 0
Add headless sync pipeline bootstrap trigger for iOS LocationTrackingService #222
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Context
PR #221 (fix for #220) added a sync pipeline bootstrap trigger in the Android LocationTrackingService.LogLocationToQueue() fallback path. When Android kills the app process and restarts the sticky foreground service headlessly, LocationPipelineWiring.EnsureBootstrappedAsync() is now called to re-wire delegates, drain services, and timeline storage.
The iOS LocationTrackingService does not yet have an equivalent trigger.
What needs to happen
Assess whether iOS has an equivalent headless restart scenario (e.g., significant location change wakeups, background fetch) where the sync pipeline could be null, and if so, add the same LocationPipelineWiring.EnsureBootstrappedAsync() call in the iOS fallback path.
Key differences from Android
- iOS uses a different lifecycle model (no sticky foreground services)
- iOS background location uses
CLLocationManagersignificant-change monitoring or region-based wakeups - iOS may fully terminate and re-launch the app for location events, which would go through normal MAUI startup
Acceptance criteria
- Determine if iOS has a code path where
LocationTrackingServiceruns with null delegates (no MAUI bootstrap) - If yes, add
LocationPipelineWiring.EnsureBootstrappedAsync()call in the iOS fallback path - If no (iOS always goes through full app launch), document why and close this issue
References
- [Bug]: App stales if closed and not sync location data to server #220 — original bug report (Android-specific)
- PR Fix #220: bootstrap sync pipeline on headless service restart #221 — Android fix with
LocationPipelineWiring src/WayfarerMobile/Services/LocationPipelineWiring.cs— shared bootstrapper
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request