Skip to content

Refresh virtual list rows after native scrolling - #1

Merged
dogukani merged 1 commit into
mainfrom
fix/virtual-list-scroll-events
Sep 24, 2026
Merged

dogukani merged 1 commit into
mainfrom
fix/virtual-list-scroll-events

Conversation

@dogukani

@dogukani dogukani commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Problem

The virtual-list example restarts its row tracker for touch events, but native wheel and scrollbar input does not produce a touch event. Its 16 recycled rows can remain at the top while the viewport moves past them.

Change

Restart the existing tracker when the virtual-list emits a scroll event. Its idle behavior and touch handlers stay in place.

Verification

  • The isolated example passed tsc --noEmit against the matching local Core declarations.
  • The matching local Core and Windows changes rendered rows 69–73 after 12 Win32 page-downs, where the baseline viewport was blank.
  • The example does not yet declare Windows support in its manifest.

Integration retest: the first image-based scroll check did not exercise JSX onScroll. Manual interaction exposed that the compiler delegated this non-bubbling event to body; compiler#1 binds it to the target. The rebuilt Windows app with all four changes appeared fixed in manual retest. Merge this PR with that compiler dependency in mind.

macOS and iOS

Known issue, not changed here

.probe-list uses top: 118px; height: 100vh, so the list extends 118 px below the window and .probe-app { overflow: hidden } clips it. At the maximum offset #5000 is never visible and #4999 is cut off. This predates this PR.

Summary by CodeRabbit

  • Bug Fixes
    • Scrolling within virtual lists is now tracked when the list emits a scroll event. This keeps scroll activity recognized as you move through the list.

@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: dab11296-69a4-452d-916d-290bcf0f0e82

📥 Commits

Reviewing files that changed from the base of the PR and between 1533af2 and 0cc81fc.

📒 Files selected for processing (1)
  • apps/virtual-list/components/VirtualListView.tsx

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

VirtualListView now calls scrollProbe.track() when the native virtual list emits a scroll event.

Changes

Scroll tracking

Layer / File(s) Summary
Track scroll events
apps/virtual-list/components/VirtualListView.tsx
An onScroll handler calls scrollProbe.track() when the native virtual list emits a scroll event.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix

Suggested reviewers: dashersw

Merge Risk: ⚪ Minimal · up to 0cc81

The change connects native scrolling to row tracking, with no unresolved merge-blocking behavior identified.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: refreshing virtual list rows after native scrolling.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@dogukani
dogukani merged commit ff46ae0 into main Sep 24, 2026
3 checks passed
@dogukani
dogukani deleted the fix/virtual-list-scroll-events branch September 24, 2026 18:55
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 24, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant