Skip to content

Skin Temp reads as a delta on Today and in the detail screen, not a temperature #1844

Open

Description

@ryanbr

The Today "Skin Temp" card and the Skin Temp detail screen still lead with the deviation (0.0 Δ°C), so a reading that should be a temperature shows as a delta against a baseline the screen never names.

The Health tile already solved this. #1663 stored the nightly ABSOLUTE beside the deviation (dailyMetric.skinTempC), and #1665 made the Health tile lead with it, demoting the delta to a note underneath. The rationale in skinTempLeadsWithAbsolute still stands:

A deviation with no anchor cannot be read — "+0.9" is a fever or a warm bedroom and nothing on the tile says which — so the absolute leads and the deviation becomes the context beneath it.

Three surfaces never came onto that pattern and still read skinTempDevC only:

  • TodayScreen DashboardCard.SKIN_TEMP — the "Your Cards" row
  • TodayScreen KeyMetric.SKIN_TEMP — the Key Metrics tile
  • HealthScreen skin-temp detail — title, unit, LATEST, min/avg/max and every readings row, all keyed off SkinTempDisplay.kind(latest) on the deviation series

Plus the Apple twins of each.

Δ°C itself is not the defect and should stay wherever a deviation is genuinely what is shown (#622 added it so −0.1 °C is not read as a broken thermometer). The defect is leading with a deviation when the night measured a real temperature.

Second case the same change picks up

A CALIBRATING night is the reverse of the common one: recomputeSkinTempDev returns null until the baseline is usable (~4 nights), while the absolute is measured from night one. Those wearers currently see the empty state on Today with a real temperature already sitting behind it, which is the same thing #1665 fixed on Health.

Note for anyone testing this

skinTempC is nullable and additive — it landed 2026-08-27 and refills on the next scoring pass, re-derived from the raw skinTempSample rows still on disk. Nights scored before that date keep the deviation-led display until a rescore, so on an install whose newest reading predates 27 Aug this change is correctly invisible until then.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions