today: stop the Key Metrics header naming a window it is not drawing - #2377
Open
andremiliano wants to merge 1 commit into
Open
andremiliano wants to merge 1 commit into
andremiliano wants to merge 1 commit into
Conversation
Refs ryanbr#2376. The Key Metrics header carries a trailing "7-day trend" / "14-day trend" / "30-day trend" label naming the window the DETAILED tiles graph over. The detailed tiles are opt-in and default OFF, and the toggle behind them (`today.keyMetricsDetailed`) gated only the sparkline itself and the tile's minimum height. The header was outside that gate on both platforms, so on a default install nothing in the section drew a trend and the header announced one anyway. The tiles in that state render a value and a caption, so the label was the only thing on the screen framing the section as a trend, and there was no setting that removed it: the window picker's shortest choice is a week, and hiding the section takes the values with it. Both platforms gate the label on the same flag now. Android's SectionHeader already accepted `trailing: String? = null` and omits the row when both optional slots are null, so only the call site changed there. The Apple `sectionHead` helper took a required String and always rendered the Text, so it becomes `String? = nil` — the shape its Kotlin twin already had — and renders the caption only when one is passed. Its three other callers pass a non-nil string and are unaffected. Nothing about the window picker, the sparkline data, the tile layout or the label's wording changes; only whether the caption is rendered at all. VERIFICATION Built locally, since app-target Swift has no default CI: xcodebuild -scheme NOOPiOS -configuration Debug -destination 'generic/platform=iOS' build xcodebuild -scheme Strand -destination 'platform=macOS' CODE_SIGNING_ALLOWED=NO build cd android && ./gradlew compileFullDebugKotlin All three succeed; the Kotlin warnings in that run are pre-existing and none are on the changed line. What was observed on hardware is the BUG, not the fix: on an iPhone running 11.8.0 (400), turning the trend graphs off leaves "7-day trend" in the header. This build has not been run on a device, and no screenshot of the fixed header is offered. The change is a render gate on an existing flag, so the compile is the substantive check, but that distinction is worth stating rather than implying a device pass that did not happen. The single-day option the issue also raises is left alone: that is a design decision about the picker, not part of this fix. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Author
|
Device check on this branch, since the commit message says the fix had only been compiled. Built Release from this branch and installed on an iPhone 17 Pro (iOS 27.0 beta), 11.8.0 (400), default Liquid Today. With Show a trend graph beneath each metric off, the header now renders Stated precisely: what was confirmed on hardware is the graphs-off case, which is the default and the one the issue is about. The graphs-on case (label returns, naming the selected window) and the three other |
Tricked-dev
added a commit
to Tricked-dev/noop
that referenced
this pull request
Sep 21, 2026
Apply the Apple patch from ryanbr/noop PR ryanbr#2377 by @andremiliano (3aed288). Android is intentionally unchanged in this iPhone-only fork.
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.
Refs #2376.
The Key Metrics header carries a trailing "7-day trend" / "14-day trend" /
"30-day trend" label naming the window the DETAILED tiles graph over. The
detailed tiles are opt-in and default OFF, and the toggle behind them
(
today.keyMetricsDetailed) gated only the sparkline itself and the tile'sminimum height. The header was outside that gate on both platforms, so on a
default install nothing in the section drew a trend and the header announced
one anyway.
The tiles in that state render a value and a caption, so the label was the
only thing on the screen framing the section as a trend, and there was no
setting that removed it: the window picker's shortest choice is a week, and
hiding the section takes the values with it.
Both platforms gate the label on the same flag now. Android's SectionHeader
already accepted
trailing: String? = nulland omits the row when bothoptional slots are null, so only the call site changed there. The Apple
sectionHeadhelper took a required String and always rendered the Text, soit becomes
String? = nil— the shape its Kotlin twin already had — andrenders the caption only when one is passed. Its three other callers pass a
non-nil string and are unaffected.
Nothing about the window picker, the sparkline data, the tile layout or the
label's wording changes; only whether the caption is rendered at all.
VERIFICATION
Built locally, since app-target Swift has no default CI:
xcodebuild -scheme NOOPiOS -configuration Debug -destination 'generic/platform=iOS' build
xcodebuild -scheme Strand -destination 'platform=macOS' CODE_SIGNING_ALLOWED=NO build
cd android && ./gradlew compileFullDebugKotlin
All three succeed; the Kotlin warnings in that run are pre-existing and none
are on the changed line.
What was observed on hardware is the BUG, not the fix: on an iPhone running
11.8.0 (400), turning the trend graphs off leaves "7-day trend" in the header.
This build has not been run on a device, and no screenshot of the fixed header
is offered. The change is a render gate on an existing flag, so the compile is
the substantive check, but that distinction is worth stating rather than
implying a device pass that did not happen.
The single-day option the issue also raises is left alone: that is a design
decision about the picker, not part of this fix.
🤖 Generated with Claude Code