Stabilize iOS/watchOS/tvOS apps and add cross-platform audit remediation

This commit is contained in:
Trey t
2026-02-11 12:54:40 -06:00
parent e40275e694
commit acce712261
77 changed files with 2940 additions and 765 deletions

View File

@@ -0,0 +1,39 @@
# Step 10 Reliability Round 2
## Coverage
- Reviewed and patched:
- `iphone/Werkout_ios/BridgeModule+Watch.swift`
- `iphone/Werkout_ios/BridgeModule+WorkoutActions.swift`
- `iphone/Werkout_ios/CurrentWorkoutInfo.swift`
- `iphone/Werkout_watch Watch App/WatchDelegate.swift`
- `iphone/Werkout_ios/UserStore.swift`
- Validation:
- `./scripts/smoke/smoke_all.sh`
- iOS/tvOS analyzer passes
## Fixes
1. Main-thread state safety for watch session callbacks
- Wrapped `didReceiveMessageData` action handling and `activationDidCompleteWith` state transitions on main.
- Prevents shared bridge state (`@Published` workout/watch properties + queued message mutations) from being changed off-main.
2. Removed dead closure path that could retain `BridgeModule`
- Removed unused `CurrentWorkoutInfo.complete` closure and its assignment in `BridgeModule+WorkoutActions.start(workout:)`.
- Reduces lifecycle risk and removes dead behavior.
3. HealthKit authorization crash hardening on watch launch
- Replaced force-unwrapped quantity types with guarded optional binding in `WatchDelegate`.
- Logs and exits cleanly if required HealthKit quantity types are unavailable.
4. Cross-target notification compile stability
- Updated `UserStore.logout` to post `Notification.Name("CreatedNewWorkout")` directly.
- Avoids reliance on an iOS-only extension file when `UserStore` is compiled in tvOS target.
## Validation
- Smoke suite passed:
- token scan
- SharedCore tests
- iOS/watchOS/tvOS builds