also looking at this
feat(ios): haptic, whose reason expired when ios_config landed
#134
18 files
+562
-163
| @@ -139,10 +139,17 @@ | ||
| 139 | 139 | //! `deleteCalendarEvent` — which requests nothing (3350) — the key is only |
| 140 | 140 | //! evidence of `config.enableCalendar`, and it is checked for that reason. |
| 141 | 141 | //! |
| 142 | //! **`config.enableCalendar` has no Zig mirror**, the same gap | |
| 143 | //! `bridge_mobile_contactpicker.zig` records for `enableContacts`. The plist key | |
| 144 | //! `packages/ios/src/index.ts:190` writes iff that flag is the stand-in, and the | |
| 145 | //! mapping is exact — nothing else writes or shares it. | |
| 142 | //! **`config.enableCalendar` is read directly now.** `ios_config.gateFor` maps | |
| 143 | //! all three actions to `.calendar`, so `ios_dispatch.offerToModules` answers | |
| 144 | //! `CAPABILITY_DISABLED` before this module is asked. This used to say the flag | |
| 145 | //! had no Zig mirror, which was true until `ios_config.zig` read | |
| 146 | //! `craft.config.json`. | |
| 147 | //! | |
| 148 | //! The plist key `packages/ios/src/index.ts:190` writes iff that flag was the | |
| 149 | //! stand-in, and on the one path where it is *only* evidence of the flag rather | |
| 150 | //! than a precondition of the API it is now redundant with the real gate. | |
| 151 | //! Tracked in issue #131; the paths where the key is a genuine precondition are | |
| 152 | //! separated below and stay. | |
| 146 | 153 | //! |
| 147 | 154 | //! **Behaviour changes on every disabled or malformed path, in Zig's favour.** |
| 148 | 155 | //! Swift's three cases have no `else` (717-731): an app with |