Repository navigation
Keep Android Stress marker values readable - #507
Merged
Merged
Conversation
kavemang
force-pushed
the
fix/stress-marker-values-492
branch
from
July 16, 2026 07:22
644c844 to
aa27bfc
Compare
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).
This was referenced Jul 16, 2026
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
StatTile's balanced value/delta layoutWhy
On narrow two-column cards, the intrinsic-width
vs basechip consumed nearly the entire value row. Real readings such as48and73were consequently rendered as4…and73….The balanced mode gives the primary value half of the row and allows the explanatory chip to compress. Other
StatTilecallers retain their existing layout.Addresses #492, item 5.
Validation
./gradlew :app:testFullDebugUnitTest --tests 'com.noop.ui.StressModelTest'git diff --check