Skip to content

Keep Android Stress marker values readable - #507

Merged
ryanbr merged 1 commit into
ryanbr:mainfrom
kavemang:fix/stress-marker-values-492
Jul 16, 2026
Merged

ryanbr merged 1 commit into
ryanbr:mainfrom
kavemang:fix/stress-marker-values-492

Conversation

@kavemang

Copy link
Copy Markdown

What changed

  • opt the two Android Stress baseline marker cards into StatTile's balanced value/delta layout
  • update the shared component documentation to describe the narrow-card behavior

Why

On narrow two-column cards, the intrinsic-width vs base chip consumed nearly the entire value row. Real readings such as 48 and 73 were consequently rendered as 4… and 73….

The balanced mode gives the primary value half of the row and allows the explanatory chip to compress. Other StatTile callers retain their existing layout.

Addresses #492, item 5.

Validation

  • ./gradlew :app:testFullDebugUnitTest --tests 'com.noop.ui.StressModelTest'
  • full-debug Kotlin compilation completed as part of the test task
  • git diff --check

@kavemang
kavemang force-pushed the fix/stress-marker-values-492 branch from 644c844 to aa27bfc Compare July 16, 2026 07:22
@kavemang
kavemang marked this pull request as ready for review July 16, 2026 07:47
ryanbr added a commit that referenced this pull request Jul 16, 2026
…#514)

The 9.0.1 release generated its AppChangelog title as a raw Kotlin literal
(title = "German, French & Spanish, ..."), unlike every other entry which
uses uiString(R.string.l10n_app_changelog_...). The full-tree i18n audit flags
the raw literal, and since i18n-coverage runs only on pull_request (never on
the release's push to main), it landed unaudited and now red-checks every open
PR (#507, #512, #513) on a line none of them touched.

Localize it like the prior entries: title -> uiString(R.string.l10n_app_changelog_german_french_spanish_pull_to_sync_1109bda2),
with the string added to values/ (en) + the de/es/fr focus locales. Key follows
the established scheme (first-6-word slug + sha1(title)[:8]; verified it
reproduces the 9.0.0/8.7.0/8.6.2 keys).

i18n_audit.py --ci: OK no hardcoded literals. compileFullDebugKotlin: OK.
Apple side is unaffected (SwiftUI auto-extracts literals).
@ryanbr
ryanbr merged commit 3e418a2 into ryanbr:main Jul 16, 2026
1 check failed
ryanbr added a commit that referenced this pull request Jul 17, 2026
Numbers are main's current 292/203 +1, matching the previous staging commit's
pattern, so the .staging app upgrades cleanly over the last testing build (290)
and stays above main's released high-water.

Carries everything merged since the 9.0.1 release:
 - Workouts read HR under the recording strap, not a hardcoded id (#512 Kotlin,
   #513 Swift twin)
 - Oura 0x60/0x80 IBI decoders corrected to the ring's real byte layout (#511)
 - Whoop5Config enable_sig12 corrected to ASCII '1' (#522)
 - Sleep time edits save as one validated window (#525)
 - "Recompute this night" for deleted sleep windows (#526)
 - Stress marker values stay readable (#507)
 - Faster history sync + faster Bluetooth link, both EXPERIMENTAL and default-off
   (#536/#537/#538) - the whole point of this build is field data on those
 - i18n changelog-title fix + main-push audit (#514/#535)

versionName stays 9.0.2 here for the staging identity only; the real 9.0.2
release still bumps main separately (and must be raised past 293 first).
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
…ryanbr#514)

The 9.0.1 release generated its AppChangelog title as a raw Kotlin literal
(title = "German, French & Spanish, ..."), unlike every other entry which
uses uiString(R.string.l10n_app_changelog_...). The full-tree i18n audit flags
the raw literal, and since i18n-coverage runs only on pull_request (never on
the release's push to main), it landed unaudited and now red-checks every open
PR (ryanbr#507, ryanbr#512, ryanbr#513) on a line none of them touched.

Localize it like the prior entries: title -> uiString(R.string.l10n_app_changelog_german_french_spanish_pull_to_sync_1109bda2),
with the string added to values/ (en) + the de/es/fr focus locales. Key follows
the established scheme (first-6-word slug + sha1(title)[:8]; verified it
reproduces the 9.0.0/8.7.0/8.6.2 keys).

i18n_audit.py --ci: OK no hardcoded literals. compileFullDebugKotlin: OK.
Apple side is unaffected (SwiftUI auto-extracts literals).
DX23876 pushed a commit to DX23876/noop that referenced this pull request Jul 22, 2026
Co-authored-by: kavemang <kavemang@users.noreply.github.com>
simoncad7 pushed a commit to simoncad7/noop that referenced this pull request Aug 17, 2026
…ryanbr#514)

The 9.0.1 release generated its AppChangelog title as a raw Kotlin literal
(title = "German, French & Spanish, ..."), unlike every other entry which
uses uiString(R.string.l10n_app_changelog_...). The full-tree i18n audit flags
the raw literal, and since i18n-coverage runs only on pull_request (never on
the release's push to main), it landed unaudited and now red-checks every open
PR (ryanbr#507, ryanbr#512, ryanbr#513) on a line none of them touched.

Localize it like the prior entries: title -> uiString(R.string.l10n_app_changelog_german_french_spanish_pull_to_sync_1109bda2),
with the string added to values/ (en) + the de/es/fr focus locales. Key follows
the established scheme (first-6-word slug + sha1(title)[:8]; verified it
reproduces the 9.0.0/8.7.0/8.6.2 keys).

i18n_audit.py --ci: OK no hardcoded literals. compileFullDebugKotlin: OK.
Apple side is unaffected (SwiftUI auto-extracts literals).
simoncad7 pushed a commit to simoncad7/noop that referenced this pull request Aug 17, 2026
Co-authored-by: kavemang <kavemang@users.noreply.github.com>
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.

2 participants