Skip to content

fix(today): take the workout Start back off Today - #2748

Merged
ryanbr merged 1 commit into
mainfrom
today-no-workout-start
Oct 9, 2026
Merged

ryanbr merged 1 commit into
mainfrom
today-no-workout-start

Conversation

@ryanbr

@ryanbr ryanbr commented Oct 9, 2026

Copy link
Copy Markdown
Owner

What

Today no longer offers Start workout, on Apple and on Android. Both Today screens go back to the active-workout indicator alone: nothing while idle, and the in-progress card with a tap through to Live while a workout is running. The liquid Home goes back with them.

Starting a workout stays where it already was: Workouts, the gold centre FAB, and Live.

Why

#2467 listed five parts, and Today's Start was the first of them. The other four were the point of it: a coaching switch inside the workout, one shared Start/Pause/End for both, one screen carrying zones and coaching advice together, and one saved summary that counts the session once.

Only the button was built. That left Today carrying both of the entry points the report opened about, Start session for coaching and Start workout for recording, which is more of the confusion it described rather than less.

It also drew as a full-width primary slab above the day's scores. That was not a styling decision: the Start-beside-Add row it belongs to collapses to a single weight(1f) child when Today passes no Add, so a control designed as half a row became the loudest thing on the dashboard.

What goes back with it

The supporting plumbing reverts too, rather than being left sitting unwired:

  • WorkoutStartSection(vm, onAdd) requires its Add again, and the three if (onAdd != null) guards are gone
  • WorkoutStartControl is a plain button again, with no showsActiveIndicator branch
  • ActiveWorkoutIndicatorSection has no showStart
  • ActiveWorkoutIndicatorCard is private again

Strand/Screens/WorkoutStartControl.swift, Strand/Liquid/LiquidTodayView.swift and android/app/src/main/java/com/noop/ui/WorkoutStart.kt are byte-identical to their state before #2648. The two Today screens differ from theirs only by a comment recording why Start is not offered there.

Verification

  • :app:compileFullDebugKotlin and :app:compileFullDebugUnitTestKotlin clean
  • Tools/doc_comment_lint.py: no new detached doc comments
  • Tools/i18n_audit.py --ci origin/main: clean. No copy is added or removed, so every locale is untouched
  • No test referenced any of the removed parameters

Refs #2467, which stays open for the four parts that carry the value. Thanks @MatteoFari for the report and @kavemang for the original work.

The report asked for Start on Today as the first of five parts, the other
four being the merge of workout recording and heart-rate coaching into one
session: one Start/Pause/End pair, one screen, one saved summary. Only the
button was built, so Today carried both of the entry points the report was
about, Start session for coaching and Start workout for recording, which is
more of the confusion it described rather than less.

It also drew as a full-width primary slab above the day's scores, because the
Start-beside-Add row it belongs to collapses to a single weighted child when
Today passes no Add.

Both Today screens go back to the active-workout indicator alone, on Apple and
on Android, and so does the liquid Home. Starting a workout stays on Workouts,
the centre FAB and Live. The supporting plumbing goes back with it rather than
sitting unwired: WorkoutStartSection requires its Add again, WorkoutStartControl
is a button again, and ActiveWorkoutIndicatorCard is private again.

Refs #2467
@ryanbr
ryanbr merged commit 18de275 into main Oct 9, 2026
6 checks passed
@ryanbr
ryanbr deleted the today-no-workout-start branch October 9, 2026 12:04
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