Skip to content

Today: explain Start session availability in customization - #2654

Closed
kavemang wants to merge 1 commit into
ryanbr:mainfrom
kavemang:agent/today-live-session-availability-2327
Closed

kavemang wants to merge 1 commit into
ryanbr:mainfrom
kavemang:agent/today-live-session-availability-2327

Conversation

@kavemang

@kavemang kavemang commented Oct 3, 2026 •

Copy link
Copy Markdown

What this PR does

Customize Today lists Start session as Shown even when Live Sessions is switched off, so the saved layout reads as a promise that the section is on screen. Add an availability subtitle to that row on Apple and Android, including the Android Hidden list, while preserving the section’s saved position and visibility controls.

The notes describe the existing platform gates: Apple requires Live Sessions enabled in Settings; Android displays it today when the setting is enabled or a session is active. All ten Apple catalogue locales and nine Android resource locales include the copy. This addresses the secondary customization report in #2327; the Android Lift Log UI and other conditional Today sections remain outside this focused change.

Type of change

  • Bug fix

How it was tested

Local Tools discovery: 338 tests passed, including repository parity acceptance. Diff-scoped i18n, doc-comment hygiene, JSON/XML checks across all supplied locales, Swift syntax parse and whitespace checks passed. Cold Android full-app compile and 20 existing customization JVM tests passed with zero failures, errors or skips; all 28 tasks executed (--no-build-cache --rerun-tasks --max-workers=2 --offline). Exact-head upstream CI: all six required checks passed (Android APK/full unit suite, universal macOS build + StrandTests, NOOPiOS simulator build, Tools, i18n and hygiene). macOS executed 2,269 tests, two skipped, zero failures. Android’s full unit-test task executed successfully rather than using a cached result. Apple run, Android run. Apple SDK typing was validated by the upstream builds; this Linux host cannot interact with a simulator or device. Draft pending manual customization checks with Live Sessions on/off and moving the section between Shown and Hidden. No strap behavior changed or hardware validation claimed.

Checklist

  • No new warnings from the changed code; pre-existing warnings remain
  • UI uses existing StrandDesign / Palette / Metrics tokens
  • No protocol, scoring, storage, preference, or network changes
  • Follows docs/CONTRIBUTING.md
  • No generated output or secrets committed

Related issues

Refs #2327

@kavemang
kavemang marked this pull request as ready for review October 3, 2026 17:53
@ryanbr

ryanbr commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Merged, with your authorship intact. Thanks @kavemang.

It needed a rebase onto current main, so it went in via #2672 rather than from this branch. On main now as 93182ea8d.

Two things the rebase did, both mechanical. The docs commit 13cdde663 was dropped, because it is already on main as f8594b894 from #2653, which this was stacked on; only your own change replayed, so it landed as 12 files rather than 15. And Strand/Resources/Localizable.xcstrings conflicted: both sides prepend one new key to "strings": {, main carrying "Skips sessions that overlap a saved or imported workout..." from #2658 and this adding "Requires Live Sessions to be enabled in Settings.". The catalogue is not alphabetically ordered, so I kept both, and checked the result rather than the method: it parses, holds 4171 keys, carries both, and has no duplicate key under a pairs-hook check that a plain parse would hide.

Verified before merge: the new Android key is in the default locale and all eight translations with nothing in a locale the default lacks, i18n_audit --ci and doc_comment_lint clean, the Tools suite green, compileFullDebugKotlin clean, and all six CI checks green on the rebased head including both Apple app builds.

Worth noting for the rest of the stack: #2653, #2658 and #2656 all landed earlier today, in that order, and I dispatched the app build on main afterwards to compile the combined SettingsView.swift state, since #2658 and #2656 both edit that file and each was only ever green against a main without the other. Both Apple legs passed.

Nice small change, and the per-locale translations being complete in the same commit made it a quick one to take.

@ryanbr ryanbr closed this Oct 4, 2026
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