Context
The current iOS push path is silent-push → background fetch (WaveSyncPushHandler). If the product wants rich / visible notifications mutated before display, a UNNotificationServiceExtension (NSE) is required (mutable-content: 1).
Task (only if visible mutated notifications are wanted)
- Add an NSE target.
- Share the APNs token / DB via an App Group.
- Run the relevant Rust sync inside the extension within the
serviceExtensionTimeWillExpire() budget.
- Surface a localized notification.
- Keep it optional / feature-gated.
References
- Gap P2-7 in
docs/research/ios-sync-state-of-the-art.md
Context
The current iOS push path is silent-push → background fetch (
WaveSyncPushHandler). If the product wants rich / visible notifications mutated before display, aUNNotificationServiceExtension(NSE) is required (mutable-content: 1).Task (only if visible mutated notifications are wanted)
serviceExtensionTimeWillExpire()budget.References
docs/research/ios-sync-state-of-the-art.md