Repository navigation
Add iPhone training favorites and interactive controls - #11
Closed
AlexSchmidt1999 wants to merge 12 commits into
Closed
AlexSchmidt1999 wants to merge 12 commits into
AlexSchmidt1999 wants to merge 12 commits into
Conversation
Owner
Author
|
Closing this older fork test PR. Its full head ( The relevant changes are now submitted for upstream review in #2761. |
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.
iPhone Settings now configures three training favorites (Strength, Running, empty by default), selecting a sport or an existing Lift Log program. A medium Home Screen widget and configurable Lock Screen widget share Start/Pause/Resume/End intents with the new workout Live Activity and existing Lift activity. End requires a session-bound token confirmed within 30 seconds; completed Lift sets are saved without changing program templates.
Normal workouts and Lift Log pause after ten minutes without a fresh accepted live pulse. Protection arms only after the first sample; reconnection does not resume automatically. Existing clocks, persistence, App Group snapshots and Lift Activity update limits are reused. Widget/Activity actions run through one app-owned path with no training screen required. The new UI uses design tokens and translated strings. Apple platforms only.
Local reminders are opt-in and scheduled in advance with a 30-second allowance. A suspended process cannot execute an exact timer; restoration checks the persisted deadline before accepting new pulse data. Native Activity clocks avoid one-second app updates. The device checklist documents these limits.
The training widget is listed first in the NOOP gallery and its visibility is now confirmed on the owner's iPhone. Idle favorites use equal tiles and sport icons; active training prioritizes elapsed time and distinct session controls. Workout and Lift activities use the same muted action buttons, prioritize end confirmation and preserve native date-driven clocks. Compact Lock Screen controls retain complete VoiceOver labels. iOS build 437 updates the app and extensions together. Workout Live Activities now reuse the same workout-type glyph component as the app and favorite tiles, carrying the raw sport independently of the localized name; older snapshots remain readable. Lift keeps its existing in-app dumbbell icon. Favorites are configured under More → Settings → Training favorites.
Validation for this presentation change: macOS app build, iOS Release device app/widgets/watch build, four-bundle unsigned binary policy, translation coverage, source hygiene and source policy passed. Local SwiftUI layout renders cover idle, active, paused and end confirmation, small widget dimensions and long German exercise names. Additional renders at standard iOS font sizes pass the 160-point Live Activity height check. These Mac renders do not reproduce iOS vibrancy, Always-On or larger accessibility sizes; the device checklist includes those cases. The training foundation is unchanged; its 15 focused tests and the earlier 338 Tools tests passed before this presentation change. The sport-icon follow-up passed a new snapshot backward-compatibility test within 20 targeted snapshot/sync tests on macOS, and the combined iOS Release build 438 compiled the app, widgets and watch targets.
NOOP 12.0.0 build 438 was verified installed and launched over Wi-Fi with the existing bundle ID. The latest combined test build is now 439, also verified installed and launched; its centered widget tiles and fitted glyphs are tracked separately in #13. It combines this widget/icon work with the separate Today sync-layout follow-up. Hardware widget/Activity actions and longer WHOOP sync behavior remain subject to device testing.
Baseline review: separate review commits update the project hash for the iOS build counter. The latest baseline also records the additional UI use of the already-inventoried SF Symbol
stop.fill; no endpoint, permission, dependency, signing configuration or workflow was added. The owner explicitly authorized local source-built testing while GitHub checks run. Caching a GitHub artifact for trusted automatic renewal still requires review and approval of its exact completed security run.Stacked on the training pause/save foundation for a combined fork test build. No upstream PR is requested yet.
GitHub checks for the current PR head run independently. The local installation follow-up is paused; this PR does not authorize automatic upgrades or an upstream merge.