1.7 KiB
1.7 KiB
Step 8 Performance/State Round 1
Coverage
- Reviewed and patched:
iphone/Werkout_ios/DataStore.swiftiphone/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swiftiphone/Werkout_ios/Views/WorkoutDetail/ExerciseListView.swiftWekoutThotViewer/WekoutThotViewer/ContentView.swiftiphone/Werkout_ios/BridgeModule.swiftiphone/Werkout_ios/BridgeModule+Watch.swiftiphone/Werkout_ios/BridgeModule+Timer.swiftiphone/Werkout_watch Watch App/WatchWorkout.swift
- Validation run:
./scripts/smoke/smoke_all.sh
Fixes
-
Coalesced concurrent
fetchAllDatarequestsDataStorenow queues completion handlers while a fetch is active to prevent overlapping network fan-out and state churn.
-
Reduced AVPlayer churn in iOS workout detail
- Reuses current player for same URL by seeking to start instead of recreating
AVPlayereach time exercise/video updates.
- Reuses current player for same URL by seeking to start instead of recreating
-
Reduced AVPlayer churn in iOS exercise preview sheet
- Added preview URL tracking; same URL now replays without allocating a new player.
-
Reduced AVPlayer churn in tvOS content loop
- Same URL replay now seeks/replays existing player rather than recreating.
-
Capped queued watch messages on iOS bridge
- Added queue cap to prevent unbounded growth while watch is disconnected.
-
Added queue fallback for send failures
- Failed reachable send now re-queues payload for later delivery.
-
Improved timer power behavior
- Added timer tolerance to workout/exercise timers.
-
Fixed watch heart-rate loop early-return behavior
- Non-heart sample types now
continueinstead of exiting handler early.
- Non-heart sample types now
Validation
- Smoke suite passed:
- token scan
- SharedCore tests
- iOS/watchOS/tvOS builds