41 lines
1.4 KiB
Markdown
41 lines
1.4 KiB
Markdown
# Step 11 Watch Regression + Architecture Cleanup
|
|
|
|
## Scope
|
|
|
|
Executed in requested order:
|
|
|
|
1. `#2` Focused watch/phone disconnect-reconnect regression coverage.
|
|
2. `#3` Architecture cleanup to reduce shared cross-target coupling.
|
|
|
|
## #2 Regression Work
|
|
|
|
- Added shared queue primitive:
|
|
- `SharedCore/Sources/SharedCore/BoundedFIFOQueue.swift`
|
|
- Added regression tests for disconnect/reconnect replay and overflow behavior:
|
|
- `SharedCore/Tests/SharedCoreWatchOSTests/BoundedFIFOQueueTests.swift`
|
|
- Wired iOS watch bridge queueing to shared queue:
|
|
- `iphone/Werkout_ios/BridgeModule.swift`
|
|
- `iphone/Werkout_ios/BridgeModule+Watch.swift`
|
|
- Wired watch sender queueing to shared queue:
|
|
- `iphone/Werkout_watch Watch App/WatchMainViewModel+WCSessionDelegate.swift`
|
|
|
|
## #3 Architecture Cleanup
|
|
|
|
- Replaced ad-hoc notification wiring with a shared typed notification constant:
|
|
- `SharedCore/Sources/SharedCore/AppNotifications.swift`
|
|
- Updated consumers to use shared constant:
|
|
- `iphone/Werkout_ios/UserStore.swift`
|
|
- `iphone/Werkout_ios/Werkout_iosApp.swift`
|
|
- `iphone/Werkout_ios/Views/CreateWorkout/CreateViewModels.swift`
|
|
- `iphone/Werkout_ios/Views/AllWorkouts/AllWorkoutsView.swift`
|
|
- Removed iOS-only notification extension that created cross-target coupling:
|
|
- `iphone/Werkout_ios/Extensions.swift`
|
|
|
|
## Validation
|
|
|
|
- `./scripts/smoke/smoke_all.sh` passed:
|
|
- token scan
|
|
- SharedCore tests (including new queue tests)
|
|
- iOS/watchOS/tvOS builds
|
|
|