Bind JSX scroll listeners to their target node - #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; 8 remain after this review. 📝 WalkthroughWalkthrough
ChangesScroll Listener Targeting
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~8 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to Scroll handlers now attach to their target so non-bubbling scroll events can be received. No concrete merge-blocking regression is established; engine-side listener cleanup could not be verified. 🚥 Pre-merge checks | ✅ 5❌ Failed checks (1 inconclusive)
✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Problem
JSX
onScrolllisteners are delegated toDocument::body(), but UI scroll events do not bubble. The native view scrolls while the Virtual List recycler and its scroll display remain stale.Change
Bind JSX scroll listeners to their target node. Keep delegation for bubbling events and the existing document-level routes.
Verification
wchar_t), binding-composition, global-host-mutations, deferred-intrinsic-protocols, recursive-native-carriers, dynamic-value-metadata, value-contracts, and declaration-overlays checks passed.npm run gateremains red on this Windows checkout with broad emitted-baseline drift (157 corpus entries moved); the change is confined to the runtime header, which is included by emitted units rather than copied into their generated source. The drift has not been attributed to this patch, so the gate is not claimed as passing.test:hot-path-shapescannot run with Windows Clang because the allocation-profile path requires<execinfo.h>.The manually triggered Linux CI run passed: full compiler build, Hono C++ compilation, and byte-for-byte verification of both routes. Review and the emitted-gate baseline question remain before merge.
macOS and iOS
dist/cli.js(GEA_GEATSC_BIN), together with Dispatch virtual list scroll events core#57, Refresh virtual list rows after native scrolling examples#1 and Sync macOS scroll containers with the engine apple#1. The emitted runtime header contains the scroll target binding. Manual trackpad scrolling updated rows during movement, and captured frames showed no blank or mismatched rows.npm run gatewas not run on macOS.Summary by CodeRabbit