keycombiner icon indicating copy to clipboard operation
keycombiner copied to clipboard

Allow configurable practice-session duration (currently fixed at 60s)

Open suhailphotos opened this issue 2 months ago • 0 comments

Summary Practice sessions currently end after 60 seconds with no way to change the duration. For larger selections (e.g., ~20–40 key combinations), one minute isn’t enough to cycle through and reinforce the set. I’d like the practice timer to be user-configurable.

Steps to reproduce 1. Create or select a subset (e.g., 28 key combinations). 2. Click Practice Selection. 3. The session ends after 60 seconds; there’s no setting to adjust the timer.

Current behavior • Practice duration is fixed at 60 seconds. • Workaround is to start a new 60-second run, which breaks flow and fragments stats.

Expected behavior • A setting to choose practice length (global default and/or per-session override), with 60 seconds remaining available as a “Sprint” preset.

Why this matters • Larger selections need more time for spaced repetition within a single uninterrupted flow. • Repeated 60-second sprints skew session stats and add overhead between runs. • Accessibility and learning-pace differences benefit from adjustable durations.

Proposed solutions (any of the below would help) 1. User preference (global default): Settings → Practice → Default duration: 30s / 60s / 90s / 120s / 180s / 5m / Unlimited. Keep 60s as the default for consistency. 2. Per-session override: A small timer dropdown on the Practice screen (“Timer: 60s ▾”), remembering the last used value. 3. Modes: • Sprint (time-boxed): 30–300s presets. • Marathon (unlimited): timer off; user exits manually. • Target reps: continue until each item reaches N correct answers or a streak threshold. 4. Auto-continue toggle: After a sprint ends, automatically start the next block with the same selection (“Auto-continue: On”), optionally aggregating results. 5. Analytics considerations: Record session duration and mode so WPM/accuracy remain comparable; leaderboards can filter or normalize by mode/duration.

UI sketch (textual) • Practice screen header: Mode: Sprint | Duration: 120s ▾ | Auto-continue: ☐ • Settings page: Default Practice Duration: 60s ▾ and Default Mode: Sprint ▾

Environment • App: KeyCombiner (web) • OS: macOS [version] • Browser: [name + version]

Additional context I typically practice selections of ~28 combos. A 120–180s block, or an unlimited session, would let me finish a full pass without breaking flow while still keeping 60s available for quick sprints.

Acceptance criteria • Users can set a default practice duration in Settings. • Users can override duration per session from the Practice screen. • 60-second preset remains available. • Session results include duration/mode for fair comparisons. • (Nice-to-have) Auto-continue option to chain blocks without leaving the screen.

suhailphotos avatar Oct 29 '25 20:10 suhailphotos