Skip to content

Fix manual scrolling and click-to-jump behavior#72

Open
nipunyatawara-dev wants to merge 1 commit into
f:masterfrom
nipunyatawara-dev:fix/manual-teleprompter-scrolling
Open

Fix manual scrolling and click-to-jump behavior#72
nipunyatawara-dev wants to merge 1 commit into
f:masterfrom
nipunyatawara-dev:fix/manual-teleprompter-scrolling

Conversation

@nipunyatawara-dev

Copy link
Copy Markdown

Closes #71

What changed

  • Allow manual scrolling while microphone tracking is active or paused.
  • Temporarily detach Word Tracking auto-follow while the user browses the script.
  • Keep scrolling navigation-only; the tracked word changes only after an explicit click.
  • Resume tracking from the clicked word with one deterministic recenter operation.
  • Handle mouse wheels that do not provide scroll-phase events.
  • Clamp scroll offsets consistently and clean up the wheel event monitor.

Why

Speech updates and automatic following could compete with manual scroll input. Scrolling could also affect the tracked position, while a delayed recenter callback could run after a word click and move the viewport again. Together, these caused blocked scrolling, unwanted selection, and apparently random upward jumps.

This change lets users browse freely without stopping microphone recognition, then explicitly choose where narration should continue.

Validation

  • Built the macOS app successfully for Apple Silicon using xcodebuild with code signing disabled.
  • Manually verified scrolling with microphone detection enabled.
  • Manually verified that scrolling does not select a word.
  • Manually verified clicking a word resumes from that position without the viewport jumping upward.

@nipunyatawara-dev
nipunyatawara-dev marked this pull request as ready for review July 22, 2026 10:20
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.

Manual scrolling and click to jump is unstable while tracking is active

1 participant