Skip to content

Today + Trends (Android): unclip title, drop bogus Strain %, fix two description typos (#492) - #496

Merged
ryanbr merged 2 commits into
mainfrom
fix/today-visual-492-1-8
Jul 16, 2026
Merged

ryanbr merged 2 commits into
mainfrom
fix/today-visual-492-1-8

Conversation

@ryanbr

@ryanbr ryanbr commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Addresses the two clear bugs in #492 (items 1 and 8). Both are Android-only — iOS already handles them correctly, so no iOS change.

#1 — day title clipped ("W" of "Wednesday" cut off)

The tappable title Column had .clip(RoundedCornerShape(Metrics.cornerSm)) with indication = null — there's no ripple to shape, but the rounded corners were clipping the title/date text's bottom-left. Removed the clip; the clickable still defines the tap area. Mirrors iOS's title Button, which uses contentShape(Rectangle()) with no clip (LiquidTodayView.swift:388-405).

#8 — Strain shows "%"

The Strain Key-Metrics tile hardcoded unit = "%". Strain/Effort is a load index (0–21 WHOOP / 0–100 NOOP), not a percentage — most obviously wrong on the 0–21 scale ("5.7%"). Recovery and Rest are genuine 0–100 % readiness scores and keep it. iOS shows the strain axis as an "of 21"/"of 100" caption with no % (TodayView.swift:3206-3219); Android now drops the %.

Verification

  • ./gradlew compileFullDebugKotlin — BUILD SUCCESSFUL.
  • Pure display changes (a modifier removal + a unit string); no data/logic touched.

The other 9 items in #492 (spacing consistency, chart x-axis/hover, Compare add-metric wrap, value truncation, terminology) are triaged separately on the issue — they need design judgment / on-device iteration.

Reported by bartmuskala.

Two Android-only visual bugs from #492 (iOS already handles both correctly):

- #1: the tappable day-title Column had .clip(RoundedCornerShape(cornerSm)) with
  indication = null — no ripple to shape, but the rounded corners clipped the
  title/date text's bottom-left (the 'W' of 'Wednesday'). Drop the clip; the
  clickable still defines the tap area. iOS uses contentShape(Rectangle()), no clip.

- #8: the Strain Key-Metrics tile hardcoded unit = "%". Strain/Effort is a load
  index (0–21 WHOOP / 0–100 NOOP), not a percentage, so the % was wrong — most
  visibly on the 0–21 scale ('5.7%'). Recovery/Rest are genuine 0–100 % and keep
  it. iOS shows the strain axis as an 'of 21'/'of 100' caption with no %.

compileFullDebugKotlin: BUILD SUCCESSFUL. Reported by bartmuskala.
@ryanbr ryanbr mentioned this pull request Jul 16, 2026
5 tasks done
…follow-up)

Spotted in the #492 screenshots (not in the reporter's list): the Charge/Sleep
metric-explorer descriptions had a space before the comma, and the Sleep one
also used a comma where iOS uses a colon. These are documented to 'match the
macOS MetricCatalog entries exactly' (TrendsExploreScreen :190), so this
restores that parity:
  - 'you are , led'      -> 'you are, led'
  - 'sleep was , dura...' -> 'sleep was: dura...'  (matches MetricCatalog.swift)

String-literal only; no logic.
@ryanbr ryanbr changed the title Today (Android): unclip the day title + drop the bogus Strain % (#492) Today + Trends (Android): unclip title, drop bogus Strain %, fix two description typos (#492) Jul 16, 2026
@ryanbr

ryanbr commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

Folded in a third fix spotted in the #492 screenshots (not on the reporter's list): two metric-explorer descriptions in TrendsExploreScreen.kt had drifted from the macOS MetricCatalog they're documented to match exactly —

  • "How recovered you are , led by HRV…" → "…you are, led…" (stray space before comma)
  • "How restorative your sleep was , duration…" → "…sleep was: duration…" (space-comma → colon, matching iOS)

String-literal only; compileFullDebugKotlin still green.

@ryanbr
ryanbr merged commit b316590 into main Jul 16, 2026
1 check passed
@ryanbr
ryanbr deleted the fix/today-visual-492-1-8 branch July 16, 2026 01:57
tanarchytan added a commit to tanarchytan/noop that referenced this pull request Jul 20, 2026
ryanbr#496 — Strain displayed with bogus "%" unit (it's a 0-21 load index).
Fix two stray-space typos in Trends descriptions ("are , led" / "was , duration").

ryanbr#507 — Stress MarkerTile deltas clipping: add compactDelta param, use short
"+10" format on the Resting HR + HRV tiles so the value doesn't get squeezed
to "73…" on narrow screens.

ryanbr#497 — Workout source filter labels truncating: swap the six long labels
(Whoop/Apple/Detected/Manual/Lifting/File) to 3-4 char codes
(WHP/APL/AUTO/MAN/LIFT/FILE) so they fit in the weight(1f) Src column.
DX23876 pushed a commit to DX23876/noop that referenced this pull request Jul 22, 2026
…description typos (ryanbr#492) (ryanbr#496)

* Today (Android): unclip the day title + drop the bogus Strain % (ryanbr#492)

Two Android-only visual bugs from ryanbr#492 (iOS already handles both correctly):

- #1: the tappable day-title Column had .clip(RoundedCornerShape(cornerSm)) with
  indication = null — no ripple to shape, but the rounded corners clipped the
  title/date text's bottom-left (the 'W' of 'Wednesday'). Drop the clip; the
  clickable still defines the tap area. iOS uses contentShape(Rectangle()), no clip.

- #8: the Strain Key-Metrics tile hardcoded unit = "%". Strain/Effort is a load
  index (0–21 WHOOP / 0–100 NOOP), not a percentage, so the % was wrong — most
  visibly on the 0–21 scale ('5.7%'). Recovery/Rest are genuine 0–100 % and keep
  it. iOS shows the strain axis as an 'of 21'/'of 100' caption with no %.

compileFullDebugKotlin: BUILD SUCCESSFUL. Reported by bartmuskala.

* Trends (Android): fix two metric-description punctuation typos (ryanbr#492 follow-up)

Spotted in the ryanbr#492 screenshots (not in the reporter's list): the Charge/Sleep
metric-explorer descriptions had a space before the comma, and the Sleep one
also used a comma where iOS uses a colon. These are documented to 'match the
macOS MetricCatalog entries exactly' (TrendsExploreScreen :190), so this
restores that parity:
  - 'you are , led'      -> 'you are, led'
  - 'sleep was , dura...' -> 'sleep was: dura...'  (matches MetricCatalog.swift)

String-literal only; no logic.
simoncad7 pushed a commit to simoncad7/noop that referenced this pull request Aug 17, 2026
…description typos (ryanbr#492) (ryanbr#496)

* Today (Android): unclip the day title + drop the bogus Strain % (ryanbr#492)

Two Android-only visual bugs from ryanbr#492 (iOS already handles both correctly):

- ryanbr#1: the tappable day-title Column had .clip(RoundedCornerShape(cornerSm)) with
  indication = null — no ripple to shape, but the rounded corners clipped the
  title/date text's bottom-left (the 'W' of 'Wednesday'). Drop the clip; the
  clickable still defines the tap area. iOS uses contentShape(Rectangle()), no clip.

- ryanbr#8: the Strain Key-Metrics tile hardcoded unit = "%". Strain/Effort is a load
  index (0–21 WHOOP / 0–100 NOOP), not a percentage, so the % was wrong — most
  visibly on the 0–21 scale ('5.7%'). Recovery/Rest are genuine 0–100 % and keep
  it. iOS shows the strain axis as an 'of 21'/'of 100' caption with no %.

compileFullDebugKotlin: BUILD SUCCESSFUL. Reported by bartmuskala.

* Trends (Android): fix two metric-description punctuation typos (ryanbr#492 follow-up)

Spotted in the ryanbr#492 screenshots (not in the reporter's list): the Charge/Sleep
metric-explorer descriptions had a space before the comma, and the Sleep one
also used a comma where iOS uses a colon. These are documented to 'match the
macOS MetricCatalog entries exactly' (TrendsExploreScreen :190), so this
restores that parity:
  - 'you are , led'      -> 'you are, led'
  - 'sleep was , dura...' -> 'sleep was: dura...'  (matches MetricCatalog.swift)

String-literal only; no logic.
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