3a357833313e1487e325992e83c673a78f01f57e
Root cause: CloudSyncManager.kvStoreChanged blindly overwrote any externally-changed iCloud key, including workoutDates - a lifetime tally that every local write path (HealthKit sync, manual finish) carefully dedups/unions. A stale iCloud snapshot racing a fresh Watch-sync write could silently replace the correct array with an older, smaller one. Now unions instead of overwriting for that key specifically. Also: removed the Undo action/row from DotProgressCard entirely (Watch/ Health is the source of truth once a day is logged), and restored the confirmation dialog on Finish Workout so every state-changing action confirms first. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
Personal productivity and fitness companion — iOS SwiftUI app
Languages
Swift
99.3%
HTML
0.4%
Shell
0.3%