Skip to content

Fix restored training controls and improve widget feedback - #18

Closed
AlexSchmidt1999 wants to merge 5 commits into
codex/local-performance-capturefrom
codex/training-widget-response
Closed

AlexSchmidt1999 wants to merge 5 commits into
codex/local-performance-capturefrom
codex/training-widget-response

Conversation

@AlexSchmidt1999

@AlexSchmidt1999 AlexSchmidt1999 commented Oct 9, 2026 •

Copy link
Copy Markdown
Owner

Training controls appeared unresponsive, and restored normal workouts lost their persisted session ID, causing existing widget and Live Activity actions to address a different session. The decoder now preserves the ID and pulse-loss pause flag. The existing round-trip regression test reproduced the loss before the correction. The shared controls also use an intent-backed optimistic Toggle for Pause/Resume, retaining existing icons, localized labels, design tokens and two-step ending.

The coordinator avoids publishing an unchanged snapshot before applying an action, reconciles the final state on early returns and errors, compares snapshot values instead of JSON byte order, and awaits pending ActivityKit updates before returning from an app intent. Display & Performance records local action/handler duration, session-match and confirmation flags and active-session count, without IDs or health values. These timings exclude app-process wake and the system's final redraw.

Validation: macOS build and 40 targeted training/snapshot/persistence/save-failure tests passed; iOS Release app, widget and watch builds passed; 12 existing layout renders passed, with Live Activities below 160 points. Translation, source hygiene and source/binary policy checks passed. An existing timer-test expectation now uses localized text so the rest-transition test also runs on German hosts.

Device evidence: the owner confirmed improved Pause feedback in build 445, but End did not display the expected confirmation. Local request-End handler times were 23–61 ms. Waiting redaction was removed after the owner reported blinking without the confirmation. Build 446 contains the restoration and final-state corrections; final End behavior and warm/cold latency still require device verification.

Apple-only fork change, stacked on the local performance-capture branch. No Android changes, schema changes, dependencies, network reporting or upstream PRs. Local iPhone test build 446 uses the existing signing process. The stored control fields are Apple-specific; physiological values and the backup whitelist are unchanged.

@AlexSchmidt1999 AlexSchmidt1999 changed the title Improve training widget and Live Activity interaction feedback Fix restored training controls and improve widget feedback Oct 9, 2026
@AlexSchmidt1999

Copy link
Copy Markdown
Owner Author

Closing this older fork test PR. Its full head (b1db860654ec) is included in the combined test branch. New test-version work continues in #28. The branch and commits are kept.

The relevant changes are now submitted for upstream review in #2759, #2761.

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