v0.5.1: fix Stress detail screen (HRV-stress shape) - #16
Merged
Conversation
The Stress detail screen read the old top-level score/buckets/worn_min keys, but
/day/stress now nests the HRV stress under 'stress' ({score,si,lf_hf,rmssd,level}).
It saw null and showed 'No stress data' while Today (daily.stress.score) showed the
real value. Rewrote it to render the HRV score + SI/LF-HF/RMSSD + HR context +
overnight arousal + drivers.
abdulsaheel
added a commit
that referenced
this pull request
Jun 26, 2026
v0.5.1: fix Stress detail screen (HRV-stress shape)
abdulsaheel
added a commit
that referenced
this pull request
Aug 9, 2026
The branch forked at 5faa4b0 and was 96 commits behind. The last two experimental releases (0.9.22, 0.9.23) were both cut from that fork point, so WHOOP 5 testers have been running builds without fixes main has had for weeks — including the ones that matter most on iOS: strength workouts never reaching Apple Health (#184), strain scored 0.0 after a backgrounded workout (#206), reconnect dying for the process lifetime after one throw (#208), and the crash batch in #212, whose Journey-timeline clamp is the most-hit issue in Crashlytics. This merge ends that drift before the next experimental. Five conflicts, three of them real, all resolved as keep-both: getBattery/getHello — take main's throttled _pollBatteryIfDue (a raw send here was 2,880 radio round-trips a day) and keep the branch's gen5 HELLO, which is a different opcode on Maverick. enableHrOnlyLive — both sides wanted a line at the same place: the branch's isGen5 lookup and main's _applyLinkPriority() step-down. Both are kept. app_state imports — union of the two `show` lists. One conflict git resolved silently and wrongly, caught by the analyzer rather than by the merge: gen5 changed `setAlarm` to return the armed instant (null = the write never reached the band) where main returns a bool, and main's alarm grace-retry — code the branch has never seen — assigned it straight to `bool rearmed`. Same signal either way, so the call site becomes `!= null` and the retry bookkeeping is unchanged. Dependency pins, both moved forward rather than merged blind: protocol -> 367d22b, protocol main @ #16 merge. gen5 is ON MAIN now, so the side-branch pin is obsolete; this SHA is a strict superset of the 7edcb3e edge main carried (crc8 length check, realtimeRr RR-bound, odd-length hex rejection) plus every gen5 decoder the branch needs. analytics -> main's 1fb34dc. The branch's cbbe06a is an ancestor of it, 15 commits behind, so this is a straight fast-forward. flutter analyze lib test clean. Full suite +1535 ~2, 0 failures.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stress detail screen read the old top-level keys; /day/stress now nests HRV stress under
stress. Rewrote the screen to render the real score + SI/LF-HF/RMSSD + HR context + overnight arousal + drivers. Bump → 0.5.1+13.🤖 Generated with Claude Code