Keep the screen awake during workouts; fix watch timers freezing
- iPhone: disable the idle timer while the exercise detail screen is open, so the display no longer sleeps mid-set. - Watch: the work/rest timers counted on a run-loop Timer that watchOS throttles in the Always-On (wrist-down) state, so they froze. Anchor both to a wall-clock Date rendered with SwiftUI's self-updating timer text; rest haptics + auto-advance now derive from the end time so they catch up after a stall instead of stalling.
This commit is contained in:
@@ -4,6 +4,15 @@ All notable changes to this project are documented here.
|
||||
|
||||
## June 2026
|
||||
|
||||
- Fixed the Apple Watch work/rest timers freezing when the wrist was lowered. They
|
||||
counted by incrementing a per-second `Timer`, which watchOS throttles in the
|
||||
Always-On (dimmed) state; they now derive from a wall-clock anchor rendered with
|
||||
SwiftUI's self-updating timer text, so the time keeps advancing while dimmed and is
|
||||
correct the instant the wrist comes back up. Rest haptics and auto-advance are
|
||||
driven off the end time too, so they catch up after a stall instead of stalling.
|
||||
- Keep the iPhone screen awake while the exercise detail screen is open, so the
|
||||
display no longer sleeps mid-set. (The Apple Watch already stays awake during a
|
||||
workout via its HealthKit workout session.)
|
||||
- Set the iPhone app to iPhone-only (`TARGETED_DEVICE_FAMILY` 1); it was
|
||||
inadvertently universal but isn't an iPad-shaped experience. The Apple Watch app
|
||||
is a separate target and is unaffected.
|
||||
|
||||
Reference in New Issue
Block a user