The Today page on iOS has a visual inconsistency in the Charge card, it should be aligned with the Peak card
NOOP strap log — iOS
App: 2.6.7
iOS: Version 26.5 (Build 23F77)
----------------------------------------
[18:03:11] Central state: 5 (5 = poweredOn)
[18:03:11] Scanning for WHOOP 5.0 / MG…
[18:03:14] Discovered WHOOP 5B00776454 (rssi -64) — connecting
[18:03:14] Connected — discovering services
[18:03:14] Services discovered: FD4B0001-CCE1-4033-93CE-002D5875F58A, 180D, 180F
[18:03:14] WHOOP 5/MG detected — discovering puffin characteristics (experimental).
[18:03:14] Central state: 4 (5 = poweredOn)
[18:03:17] Central state: 5 (5 = poweredOn)
[18:03:17] Scanning for WHOOP 5.0 / MG…
[18:03:19] Scanning for WHOOP 5.0 / MG…
[18:03:20] Discovered WHOOP 5B00776454 (rssi -63) — connecting
[18:03:21] Connected — discovering services
[18:03:21] Services discovered: FD4B0001-CCE1-4033-93CE-002D5875F58A, 180D, 180F
[18:03:21] WHOOP 5/MG detected — discovering puffin characteristics (experimental).
[18:03:21] WHOOP 5/MG: writing CLIENT_HELLO to fd4b0002 with response (to trigger bonding, experimental).
[18:03:21] Notify requested 2A37 (discovery)
[18:03:21] Notify requested Battery Level (discovery)
[18:03:21] Confirmed write failed: Encryption is insufficient.
[18:03:21] WHOOP 5/MG: bond refused — the strap is likely still paired to the WHOOP app. Put it in pairing mode (blue LEDs) with the WHOOP app closed, then reconnect.
[18:03:22] Notify active 2A37
[18:03:22] HR notify: 63 bpm, rr=1
[18:03:22] → Set Alarm Time payload=040150542d6a00002f980000000000000000071e (puffin)
[18:03:22] Alarm: armed 5/MG rev4 for Sat 09:00 EDT — your local wake time
[18:03:22] WHOOP 5/MG: live HR streaming — marking the link established (experimental).
[18:03:22] Notify requested Battery Level (start realtime)
[18:03:22] send(R10/R11 Realtime (raw stream)) skipped — no WHOOP 5/MG framing for this command yet
[18:03:22] → Toggle Realtime HR payload=01 (puffin)
[18:03:22] Reading standard Battery Level
[18:03:22] Notify active Battery Level
[18:03:22] Notify active Battery Level
[18:04:06] Already connected to WHOOP 5.0 / MG — refreshing services and notifications
[18:04:06] Services discovered: FD4B0001-CCE1-4033-93CE-002D5875F58A, 180D, 180F
[18:04:06] WHOOP 5/MG detected — discovering puffin characteristics (experimental).
[18:04:06] WHOOP 5/MG: writing CLIENT_HELLO to fd4b0002 with response (to trigger bonding, experimental).
[18:04:06] Notify already active 2A37 (discovery)
[18:04:06] Notify already active Battery Level (discovery)
[18:04:10] → Toggle Realtime HR payload=00 (puffin)
[18:04:10] send(R10/R11 Realtime (raw stream)) skipped — no WHOOP 5/MG framing for this command yet
[18:04:10] Disconnected — The connection has timed out unexpectedly.; rescanning in 3s
[18:04:13] Scanning for WHOOP 5.0 / MG…
[18:04:13] Discovered WHOOP 5B00776454 (rssi -64) — connecting
[18:04:14] Connected — discovering services
[18:04:14] send(R10/R11 Realtime (raw stream)) ignored — command characteristic unavailable
[18:04:14] send(Toggle Realtime HR) ignored — command characteristic unavailable
[18:04:14] Battery Level characteristic unavailable
[18:04:14] Already connected to WHOOP 5.0 / MG — refreshing services and notifications
[18:04:14] Services discovered: FD4B0001-CCE1-4033-93CE-002D5875F58A, 180D, 180F
[18:04:14] WHOOP 5/MG detected — discovering puffin characteristics (experimental).
[18:04:14] Services discovered: FD4B0001-CCE1-4033-93CE-002D5875F58A, 180D, 180F
[18:04:14] WHOOP 5/MG detected — discovering puffin characteristics (experimental).
[18:04:14] WHOOP 5/MG: writing CLIENT_HELLO to fd4b0002 with response (to trigger bonding, experimental).
[18:04:14] Notify requested 2A37 (discovery)
[18:04:14] Notify requested Battery Level (discovery)
[18:04:14] WHOOP 5/MG: writing CLIENT_HELLO to fd4b0002 with response (to trigger bonding, experimental).
[18:04:14] Notify requested 2A37 (discovery)
[18:04:14] Notify requested Battery Level (discovery)
[18:04:16] WHOOP 5/MG: CLIENT_HELLO acked — link established; subscribing notify chars (experimental).
[18:04:16] Notify requested FD4B0003-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:16] Notify requested FD4B0004-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:16] Notify requested FD4B0005-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:16] Notify requested FD4B0007-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:16] Notify requested FD4B0003-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:16] Notify requested FD4B0004-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:16] Notify requested FD4B0005-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:16] Notify requested FD4B0007-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:16] Notify requested 2A37 (post-bond 5/MG)
[18:04:16] Notify requested Battery Level (post-bond 5/MG)
[18:04:16] WHOOP 5/MG: arming realtime HR (puffin TOGGLE_REALTIME_HR)
[18:04:16] → Toggle Realtime HR payload=01 (puffin)
[18:04:16] WHOOP 5/MG: connect handshake done — backfill unblocked
[18:04:16] → Set Clock payload=60822c6a00000000 (puffin)
[18:04:16] → Get Clock payload= (puffin)
[18:04:16] WHOOP 5/MG: clock synced (set/get) — strap can persist history now
[18:04:16] WHOOP 5/MG: scheduling first historical offload (connect)
[18:04:17] Notify active 2A37
[18:04:17] Notify requested Battery Level (start realtime)
[18:04:17] send(R10/R11 Realtime (raw stream)) skipped — no WHOOP 5/MG framing for this command yet
[18:04:17] → Toggle Realtime HR payload=01 (puffin)
[18:04:17] Reading standard Battery Level
[18:04:17] Notify active Battery Level
[18:04:17] Notify requested FD4B0003-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:17] Notify requested FD4B0004-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:17] Notify requested FD4B0005-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:17] Notify requested FD4B0007-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:17] Notify requested FD4B0003-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:17] Notify requested FD4B0004-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:17] Notify requested FD4B0005-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:17] Notify requested FD4B0007-CCE1-4033-93CE-002D5875F58A (post-bond puffin)
[18:04:17] Notify active 2A37
[18:04:17] Notify active Battery Level
[18:04:17] Notify active FD4B0003-CCE1-4033-93CE-002D5875F58A
[18:04:17] Notify active FD4B0004-CCE1-4033-93CE-002D5875F58A
[18:04:17] Notify active FD4B0005-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0007-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0003-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0004-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0005-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0007-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active 2A37
[18:04:18] Notify active Battery Level
[18:04:18] → Send Historical Data payload=00 (puffin)
[18:04:18] Backfill: session started — historical offload requested
[18:04:18] Notify active Battery Level
[18:04:18] Notify active FD4B0003-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0004-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0005-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0007-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0003-CCE1-4033-93CE-002D5875F58A
[18:04:18] Notify active FD4B0004-CCE1-4033-93CE-002D5875F58A
[18:04:19] Notify active FD4B0005-CCE1-4033-93CE-002D5875F58A
[18:04:19] Notify active FD4B0007-CCE1-4033-93CE-002D5875F58A
[18:04:19] → Historical Data Result ack #1 payload=012c9c010004000000 (puffin)
[18:04:20] Already connected to WHOOP 5.0 / MG — refreshing services and notifications
[18:04:20] Services discovered: FD4B0001-CCE1-4033-93CE-002D5875F58A, 180D, 180F
[18:04:20] WHOOP 5/MG detected — discovering puffin characteristics (experimental).
[18:04:20] WHOOP 5/MG: writing CLIENT_HELLO to fd4b0002 with response (to trigger bonding, experimental).
[18:04:20] Notify already active 2A37 (discovery)
[18:04:20] Notify already active Battery Level (discovery)
[18:04:33] → Historical Data Result ack #25 payload=01829c010004000000 (puffin)
Double-tap → Nothing
[18:04:34] Backfill: session ended — reason=HISTORY_COMPLETE
[18:04:34] Backfill: session persisted 3651 rows (1294 with motion) across 1 night(s).
Backfill: refreshing dashboard cache from completed sync
[18:04:37] Backfill: strap skipped (rate-limited; last 19s ago)
[18:04:42] → Run Haptics Pattern payload=012f98000000000000000000 (puffin cmd=0x13)
[18:04:43] Backfill: strap skipped (rate-limited; last 24s ago)
[18:04:43] Backfill: strap skipped (rate-limited; last 25s ago)
[18:04:45] Backfill: strap skipped (rate-limited; last 27s ago)
[18:04:45] HR notify: 0 bpm ignored, rr=0
NOOP version
2.6.7
Platform
iOS
OS version
26.5
WHOOP strap model
WHOOP 5.0
Where the data is coming from
Live Bluetooth (strap connected)
What happens
The Today page on iOS has a visual inconsistency in the Charge card, it should be aligned with the Peak card
What you expected instead
For the Peak card and Charge card in Today's Synthesis to be visually consistent
Steps to reproduce
Strap log
Before you submit