Refresh virtual list rows after native scrolling - #1
Conversation
|
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 configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughVirtualListView now calls ChangesScroll tracking
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~3 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The change connects native scrolling to row tracking, with no unresolved merge-blocking behavior identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
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
Integration retest: the first image-based scroll check did not exercise JSX
onScroll. Manual interaction exposed that the compiler delegated this non-bubbling event tobody; 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
gea.targets.macosenabled built throughgea build --target macosagainst Dispatch virtual list scroll events core#57, Bind JSX scroll listeners to their target node compiler#1 and Sync macOS scroll containers with the engine apple#1. Manual trackpad scrolling showed rows past #16 during movement and returned to Refresh virtual list rows after native scrolling #1 at the top. Without Sync macOS scroll containers with the engine apple#1, rows past #16 stay blank on macOS, with or without this PR.gea.targets.iosenabled ran on an iPhone 16 Pro simulator (iOS 26.4).Known issue, not changed here
.probe-listusestop: 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