Files
WerkoutIOS/docs/step11_watch_regression_and_architecture.md

1.4 KiB

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