Repository navigation
Open
Labels
bugSomething isn't workingSomething isn't working
Description
NOOP version
9.1
Platform
iOS
OS version
26
WHOOP strap model
WHOOP 5.0
Where the data is coming from
WHOOP CSV export import
Test Centre profile
Not a test-mode bug
What happens
Hello community, Since 2 weeks i’m trying to get my charge calculated back again.
It looks like since the import of the WHoop Data via csv it stucks on the latest charge from 20.Feb.2026.
I tried to recalculate the baseline but it newer showed the charge again!
What can i do or provide to fix the issue?
logs:
noop-master-iOS-v9.1.0-260722-2150.zip
noop-strap-log-260722-2200.txt
What you expected instead
That charge is calculated correctly
Steps to reproduce
1.Use app
2.
3.
Strap log
attached
NOOP strap log - iOS
App: 9.1.0
iOS: Version 26.4.1 (Build 23E254)
Device: iPhone17,1
iOS: Version 26.4.1 (Build 23E254)
Data Protection: unlocked (files readable)
Background refresh: Available
Low Power Mode: off
Sideloaded build: yes
Sideload expiry: 7 days remaining
Before you submit
- I attached my exported NOOP .zip (not a screenshot of the Live screen). If my bug is a clearly reproducible UI issue I described exactly how to see it instead.
- I attached or pasted a strap log above — or my bug is a clearly reproducible UI issue that doesn't need one (e.g. a typo, a button that does nothing) and I've described exactly how to see it.
- I checked the Troubleshooting guide — especially "history syncs but no data" (most often the strap isn't banking history to flash; charge it to 100% and reconnect).
- I checked the FAQ and — if I'm on a WHOOP 5.0 / MG — the 5.0/MG status page, and this isn't an already-known limit (e.g. SpO₂, or recovery/sleep on the 5/MG).
- I've left out anything personal (strap serial, account email, raw export).
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Activity
ryanbr commentedon Jul 24, 2026
Thanks for the detailed report and especially for attaching the strap log — it had the answer in it.
Good news first: nothing is broken, and your data is excellent. Your ring is producing 44,000–64,000 R-R intervals a night with only 1–3% rejection, and NOOP is successfully computing sleep and HRV for 15 consecutive nights (8–22 July):
The problem is the "Recalibrate baseline" button — and unfortunately, pressing it is what's keeping Charge from coming back.
Here's what happens. Charge needs an HRV baseline, and that baseline needs 4 valid nights before it can score. When you tap Recalibrate baseline, NOOP deliberately discards every night before that moment and starts learning again from zero — that's the point of the button, it's for when a baseline has anchored to a bad period.
Your log shows:
3 of the 4 nights it needs — you were one night away. But each time you tapped Recalibrate, the count went back to 0 and started over. Two weeks of that means it never got to reach 4.
What to do
Stop tapping "Recalibrate baseline", and just wear the strap for 4 nights. That's it. Don't touch the button again — Charge should appear on the 4th morning and then keep working.
The 20 February date you're seeing is simply the last Charge that was computed before the recalibration cycle began; it isn't stuck to your CSV import.
On our side
This is our fault for making it confusing, not yours. The button gives no indication that it resets your progress, and the calibrating state doesn't tell you how many nights are left — so tapping it again is the natural thing to do when Charge doesn't appear. We're going to:
Please do let us know if Charge hasn't returned after 4 uninterrupted nights — if so there's something more going on and we'll dig further.
Wire the restart-cause line into the calibrating cards (both platform…
Fix: the restart-cause line was wired to the WRONG card (#731)
diag: report the HRV baseline recalibration epoch + dropped nights (#731
diag: 'Recent Nd' read the wrong device id and mislabelled the range (#…
Calibrating card: say WHY the countdown restarted (#731) (#788)
diag: report the HRV baseline recalibration epoch + dropped nights (r…
diag: 'Recent Nd' read the wrong device id and mislabelled the range (r…
Calibrating card: say WHY the countdown restarted (ryanbr#731) (ryanb…
diag: stamp the day-span on Android's Recent-Nd lines (Swift #731 par…
diag: add the computed '-noop' spine to the Recent-Nd data line (#1403)
Trace the baseline fold, so a log can say why a spread never lifted (#…