Skip to content

Make presenter timer controls follow slide metadata - #53

Merged
samuel-williams-shopify merged 3 commits into
mainfrom
improve-presenter-timer-controls
Sep 25, 2026
Merged

samuel-williams-shopify merged 3 commits into
mainfrom
improve-presenter-timer-controls

Conversation

@samuel-williams-shopify

@samuel-williams-shopify samuel-williams-shopify commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Reset was always available and treated the first slide specially. Reset is now available only while paused and always uses the current slide's expected timestamp. Ordinary slides stay paused; timer: start slides return to the ready state at that timestamp, so advancing starts from the correct position even midway through the deck.

  • Show Start, Pause, or Resume + Reset according to the timer state. Waiting slides show a gently pulsing Auto-start indicator, with a reduced-motion fallback.
  • Explain outgoing timer actions in the Next tooltip and preserve keyboard focus by leaving unchanged paused controls in place.
  • Make Clock#reset! / reset!(nil) clear the clock, replacing stop!. Numeric resets preserve whether it is running and move a ready clock into the paused state; started: false prepares a timestamp for a later start.
  • Preserve the ready clock's timestamp when saving/restoring, and account for it in the remaining-time display.
  • Add a zero-duration waiting slide without speaker notes and update the guides, release notes, and regression tests.

Validation: 305 Ruby tests (736 assertions), 100% line coverage, 31 JavaScript tests, RuboCop, documentation coverage (185/185), and static package checks. Chrome checks confirmed the Auto-start animation and reduced-motion fallback.

@samuel-williams-shopify
samuel-williams-shopify merged commit 9db76d6 into main Sep 25, 2026
28 checks passed
@samuel-williams-shopify
samuel-williams-shopify deleted the improve-presenter-timer-controls branch September 25, 2026 03:41
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