What happened
An Android user on 11.8.0 went looking for the gym log book announced in the release notes and could not find an entry point. They were right: there isn't one.
The three PRs behind the feature split by platform:
| PR |
What it added |
Platforms |
| #2098 |
v46 schema + Room twin |
Packages/ + android/ (storage) |
| #2099 |
the Lift Log itself, 8 screens |
Packages/ + Strand/ + StrandTests/ |
| #2232 |
Kotlin LiftMetrics twin |
android/ (engine) |
Android therefore has data/LiftEntities.kt, analytics/LiftMetrics.kt and the v46 schema, and no UI at all. Apple has LiftLogView, LiftSessionView, LiftSessionBar and four program/session sheets under Strand/Screens/.
The only Android mention of a lift log outside the changelog string is WorkoutsScreen.kt:2520, WorkoutSource.LIFTING -> "LIFT", which is the badge for IMPORTED Hevy / Liftosaur data and predates all of this.
So the storage and the maths are on Android and the book is not. Nothing is broken; the feature is simply Apple-only in its usable form, and the notes never said so.
Why it reads as available
The 11.8.0 entry says:
An on-device gym log book: build a session, then move between sets with a double-tap on the strap instead of reaching for the phone. Stored in a new schema with a matching Room twin, and the set metrics are computed by the same engine on both platforms.
Every clause is true. The trouble is that the only two platform phrases in it, "a matching Room twin" and "on both platforms", attach to the storage and the engine, which are exactly the two halves Android did get. Nothing says the log is Apple-only, so on Android it reads as an announcement of a feature you have. The same text ships in the in-app changelog (AppChangelog.kt, AppChangelog.swift) and in docs/releases/v11.8.0.md.
The wording is worth correcting on its own, and the changelog already has a convention for it ("iPhone only", "Android only", "(iPhone and Mac)" all appear in existing entries). That part is a separate small change and does not need this issue.
What this issue is for
The Android Lift Log UI. The schema, the Room twin and the metrics engine are already in place and already twinned, so this is a UI port rather than a feature build: session construction, the set list, program editing and import, and the double-tap advance.
Parent feature issue is #760, which scoped the strength-trainer work originally.
Secondary, found while confirming the above
The same report showed "Start session" listed under SHOWN in Customize Today while no such row appears on the screen. That one is not the lift log: it is the Live Sessions beta entry, gated at TodayScreen.kt:1635
TodaySection.LIVE_SESSION ->
selectedDayOffset == 0 && (liveSessionsEnabled || activeLiveSession != null)
and the reporter has Live Sessions (beta) switched off in Settings, where it defaults on. The sheet builds its list from the saved order with no feature-gate filter, so a section can sit under SHOWN and still never render. YOUR_CARDS, JOURNAL and ADDED_CARDS have the same shape when empty or off. Worth a look, but the honest fix is probably to annotate those rows rather than hide them, since hiding would lose the user's saved position for the section.
What happened
An Android user on 11.8.0 went looking for the gym log book announced in the release notes and could not find an entry point. They were right: there isn't one.
The three PRs behind the feature split by platform:
Packages/+android/(storage)Packages/+Strand/+StrandTests/LiftMetricstwinandroid/(engine)Android therefore has
data/LiftEntities.kt,analytics/LiftMetrics.ktand the v46 schema, and no UI at all. Apple hasLiftLogView,LiftSessionView,LiftSessionBarand four program/session sheets underStrand/Screens/.The only Android mention of a lift log outside the changelog string is
WorkoutsScreen.kt:2520,WorkoutSource.LIFTING -> "LIFT", which is the badge for IMPORTED Hevy / Liftosaur data and predates all of this.So the storage and the maths are on Android and the book is not. Nothing is broken; the feature is simply Apple-only in its usable form, and the notes never said so.
Why it reads as available
The 11.8.0 entry says:
Every clause is true. The trouble is that the only two platform phrases in it, "a matching Room twin" and "on both platforms", attach to the storage and the engine, which are exactly the two halves Android did get. Nothing says the log is Apple-only, so on Android it reads as an announcement of a feature you have. The same text ships in the in-app changelog (
AppChangelog.kt,AppChangelog.swift) and indocs/releases/v11.8.0.md.The wording is worth correcting on its own, and the changelog already has a convention for it ("iPhone only", "Android only", "(iPhone and Mac)" all appear in existing entries). That part is a separate small change and does not need this issue.
What this issue is for
The Android Lift Log UI. The schema, the Room twin and the metrics engine are already in place and already twinned, so this is a UI port rather than a feature build: session construction, the set list, program editing and import, and the double-tap advance.
Parent feature issue is #760, which scoped the strength-trainer work originally.
Secondary, found while confirming the above
The same report showed "Start session" listed under SHOWN in Customize Today while no such row appears on the screen. That one is not the lift log: it is the Live Sessions beta entry, gated at
TodayScreen.kt:1635and the reporter has Live Sessions (beta) switched off in Settings, where it defaults on. The sheet builds its list from the saved order with no feature-gate filter, so a section can sit under SHOWN and still never render.
YOUR_CARDS,JOURNALandADDED_CARDShave the same shape when empty or off. Worth a look, but the honest fix is probably to annotate those rows rather than hide them, since hiding would lose the user's saved position for the section.