Skip to content

fix(ui): delay row snapping on home screen during mouse wheel scroll#545

Merged
RadicalMuffinMan merged 1 commit into
Moonfin-Client:mainfrom
mattsigal:feature/mouse-scroll-snap-delay
Jun 16, 2026
Merged

fix(ui): delay row snapping on home screen during mouse wheel scroll#545
RadicalMuffinMan merged 1 commit into
Moonfin-Client:mainfrom
mattsigal:feature/mouse-scroll-snap-delay

Conversation

@mattsigal

Copy link
Copy Markdown
Contributor

Pull Request

Summary

This PR delays the snap-to-centered-row logic on the Home screen when a mouse wheel scroll is detected, preventing users from getting snapped/pulled back to the currently focused row while trying to scroll through rows using a mouse.

Related Issues

Link related issues or tickets separated by commas.

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Performance improvement
  • UI/UX update
  • Documentation update
  • Build/CI change
  • Other (describe):

Changes Made

List the key changes included in this PR.

  • Added a PointerScrollEvent listener to the Listener widget enclosing the Home screen row list.
  • Recorded the timestamp of the last mouse wheel scroll event.
  • Extended the _scrollIdleTimer delay to 1000ms (up from 250ms) if a mouse scroll was recently active, ensuring the centering logic only triggers when mouse wheel input has fully stopped.

Platform

  • Android
  • iOS
  • macOS
  • Windows
  • Linux
  • All / Shared code

Testing

Describe how this change was tested.

  • Tested on emulator / simulator
  • Tested on physical device
  • Manual testing completed - tested with Windows Desktop build
  • Not tested (explain why):

Test Steps

  1. Open TV mode Home Screen on Windows.
  2. Use the mouse wheel to scroll vertically.
  3. Confirm that the viewport scrolls freely and does not snap back to a row until 1 second after mouse wheel input stops.

Screenshots (if applicable)

Include screenshots or recordings for UI changes.

Checklist

  • Code builds successfully
  • Code follows project style and conventions
  • No unnecessary commented-out code
  • No new warnings introduced

- Add PointerScrollEvent listener to capture mouse wheel scrolls on the Home screen.
- Record the timestamp of the last mouse wheel scroll.
- Increase the _scrollIdleTimer delay to 1000ms if a mouse wheel scroll was recently detected, allowing users to scroll past rows with the mouse wheel without getting instantly snapped/pulled back.
@mattsigal mattsigal force-pushed the feature/mouse-scroll-snap-delay branch from ffc2729 to 14537a8 Compare June 16, 2026 01:27
@RadicalMuffinMan RadicalMuffinMan merged commit 5a0b5df into Moonfin-Client:main Jun 16, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants