Skip to content

[codex] Fix WHOOP historical dashboard backfill - #9

Merged
BarMal merged 3 commits into
masterfrom
codex/whoop-history-dashboard-backfill
Jun 20, 2026
Merged

BarMal merged 3 commits into
masterfrom
codex/whoop-history-dashboard-backfill

Conversation

@BarMal

@BarMal BarMal commented Jun 20, 2026

Copy link
Copy Markdown
Owner

Summary

PR #8 was merged at 6d4f371, before the later backfill fixes landed on the branch. This PR carries those missing fixes forward from current master.

What changed

  • Aligns the Gen4 WHOOP historical startup sequence with the Whoopsie reference: sends the five init/history packets uninterrupted and keeps SET_CLOCK out of the transfer start.
  • Fixes historical batch ACKs to use the full 8-byte batch id from frame[17:25] instead of four bytes plus zero padding.
  • Treats historical transfer idle after received frames as successful completion, while keeping explicit metadata/realtime/disconnect completion paths and extending the hard sync timeout for larger strap backlogs.
  • Makes historical persistence order-agnostic so newest-to-oldest backfill samples are not silently dropped by live-stream interval downsampling.
  • Adds a focused unit test for the historical ACK frame shape.

Validation

  • ./gradlew.bat :app:assembleDebug
  • ./gradlew.bat testDebugUnitTest

@BarMal
BarMal marked this pull request as ready for review June 20, 2026 10:18
@BarMal
BarMal merged commit 0d294a3 into master Jun 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant