Skip to content

Add targeted practice and custom text practice modes#36

Closed
ltraj wants to merge 3 commits into
AshBuk:mainfrom
ltraj:main
Closed

Add targeted practice and custom text practice modes#36
ltraj wants to merge 3 commits into
AshBuk:mainfrom
ltraj:main

Conversation

@ltraj
Copy link
Copy Markdown

@ltraj ltraj commented May 30, 2026

Summary

This PR adds two new practice modes to FingerGo.

Targeted Practice

Users can generate exercises focused on specific key groups:

  • Home Row
  • Left Hand
  • Right Hand
  • Top Row
  • Bottom Row
  • Numbers
  • Punctuation
  • Symbols
  • Weak Keys
  • Custom Groups

Features:

  • Group selection UI
  • Exercise preview generation
  • Session metadata support
  • Weak key recommendations

Custom Text Practice

Users can:

  • Paste arbitrary text
  • Preview before starting
  • Practice immediately
  • Optionally save later

Examples:

  • Resume practice
  • Interview answers
  • Articles
  • Notes
  • Custom typing exercises

Session Metadata

Added support for:

  • PracticeMode
  • PracticeGroupId
  • PracticeGroupName
  • TargetKeys

Testing

Tested locally on:

  • Linux Mint 22.3
  • Go 1.26
  • Wails 2.12

Verified:

  • Group selection
  • Exercise generation
  • Start practice flow
  • Custom text practice
  • Session completion
  • Session summaries

Screenshots
image
image

ltraj and others added 3 commits May 30, 2026 12:36
Copy practice fields onto TypingSession for JSON persistence, use a
value-embedded PracticeSessionMeta on SessionPayload, and show weak
keys in the targeted practice built-in list.

Co-authored-by: Cursor <cursoragent@cursor.com>
@AshBuk
Copy link
Copy Markdown
Owner

AshBuk commented May 31, 2026

Closing in favour of a focused PR.
Scope: targeted practice only with built-in groups + weak-keys derived from mistake history. No custom groups (and no new file / Go backend storage). No custom-text paste - duplicates the library functionality with minimal added value.
A PR scoped to the above would be very welcome!

Also, this is on me: I should have clearly stated that new features (2k+ lines) are best discussed in an issue before submitting a PR.

Thanks, appritiate your contribution!

@AshBuk AshBuk closed this May 31, 2026
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