Skip to content

Home hides last night's sleep until the data edge is 1 h past wake, while the Sleep tab already shows it. #638

Open

Description

@Riedel-David

What happened?

On Android (0.11.3), the morning after sleep, the Sleep tab already shows last night, but Home says "Last night is still being worked out" and shows no sleep for about an hour, and for hours if the band stops recording after waking. Two users reported the same thing.

Expected: Home shows the night as soon as the Sleep tab can, marked as still updating if it can still change.

Measured on a live band (local times, 2026-10-27, from two in-app database exports):

export 08:40 (Home stuck) export 09:32 (Home settled)
sleep window 00:32 to 08:26:36 00:32 to 08:17:38
newest synced record 08:26:36 09:27:02
edge past wake 0 min 1 h 09 min
overnight / recovery state building / night_in_progress ready / final

Cause: overnightSettled() in lib/compute/derivation_engine.dart only lets Home show today's night once the newest record is at least 1 h past wake, or 12 h after wake. While a sync is arriving, the stager closes the window at the newest record, so the "wake" is just where the sync stopped (here wake equals edge to the second).
The Sleep tab reads the stored row with no such gate. If the band keeps syncing, Home waits for the next sync and derive (about 70 min here). If the band stops recording after waking, it waits for the 12 h give-up.

This is the intended trade-off of #448 / #490, and #578 added provisional and final recovery states. It just hides the sleep figures longer than needed.

Proposal:

  1. Home shows a provisional night's sleep figures labelled "still updating", like the Sleep tab. Readiness stays withheld until final, as in fix(recovery): provisional/final states, no early pins, one headline source (refs #543) #578.
  2. Settle early when the band is quiet, with a persisted "drain complete" marker, so a charging band doesn't wait 12 h.

Question: is showing a provisional night on Home acceptable given #448?

Steps to reproduce

Wear the band overnight and sync. Open Home right after waking: the Sleep tab has the night, Home says "Last night is still being worked out". It happens most mornings.
It clears about an hour after wake if the band keeps syncing, or at wake + 12 h if it stops.

App version

0.11.3 (78)

Platform

Android (APK)

Phone model and OS version

Samsung S25, Android 17

Which band?

WHOOP 4.0

Screenshots

No response

Quick checks

  • The official WHOOP app is not also connected to this band
  • I've searched existing issues for this

Activity

  1. kurexw commented on Nov 13, 2026

    @kurexw

    Adding a vote for the narrow half of this, since it's the most visible open bug in the tracker (most mornings, two reporters).

    @abdulsaheel the open question is the one in the issue: is it acceptable for Home to show a night that overnightSettled() hasn't settled yet, the way the Sleep tab already does?

    If yes, I'd keep the change small:

    Happy to open that as a PR if the direction is OK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions