ReviewOS

also looking at this

craft-native/craft

feat(ios): haptic, whose reason expired when ios_config landed

#134
Merged glennmichael123 wants to merge fix/sdk-event-map into main
18 files +562 -163
packages/zig/src/bridge_mobile_bgtasks.zigmodified+7-4
Changes to packages/zig/src/bridge_mobile_bgtasks.zig
@@ -103,10 +103,13 @@
103103//! posting); a field that is **present with the wrong type** is refused, never
104104//! coerced.
105105//!
106//! **The `config.enableBackgroundTasks` gate has no Zig mirror.** It appears
107//! nowhere in `packages/zig/src`, so the three actions here are served
108//! unconditionally — the securestore and notifcancel modules document the same
109//! choice. In an app that left the gate at its default `false` this changes a
106//! **The `config.enableBackgroundTasks` gate is read, not skipped.**
107//! `ios_config.gateFor` maps all three actions to `.background_tasks`, so
108//! `ios_dispatch.offerToModules` answers `CAPABILITY_DISABLED` before this
109//! module is asked. This paragraph used to say the flag "appears nowhere in
110//! `packages/zig/src`" and that the actions were served unconditionally — true
111//! when written, false since `ios_config.zig`, and repeated in eight other
112//! module headers that were equally true and are equally false. In an app that left the gate at its default `false` this changes a
110113//! hang into an answer: `schedule` now reaches the scheduler and reports
111114//! whatever it says (a rejection, until the plist gains
112115//! `BGTaskSchedulerPermittedIdentifiers`), and the cancels report the no-op