Lazy load rows#573
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: euler-xyz/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughThe PR introduces viewport-aware lazy rendering for the VaultsBorrowList component. A new ChangesWindowed List Rendering
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
🚅 Deployed to the euler-lite-pr-573 environment in euler-lite
|
LeonardEulerXYZ
left a comment
There was a problem hiding this comment.
Reviewed current head db17e35.
Verdict: COMMENT — no blocking findings from this pass.
What changed:
- Borrow/multiply pair list now uses viewport-windowed row rendering by default.
- A new UiLazyListItem mounts rows near the viewport and uses fixed-height placeholders for offscreen rows.
- fullrender / euler_full_render disables windowing for parity capture flows.
Risk areas checked:
- SSR/client behavior for the browser-only debug flag.
- IntersectionObserver lifecycle and shared observer cleanup.
- Placeholder height behavior while scrolling desktop and mobile borrow lists.
- Parity-capture escape hatch keeping all borrow rows mounted.
- Whole-diff malicious-code/supply-chain sweep: no new network calls, secrets, install hooks, eval/dynamic execution, or dependency/workflow changes found.
Validation:
- git diff --check origin/development...HEAD: passed
- npm run typecheck: passed
- npm run test:run: passed, 895 passed / 1 skipped
- npm run build: passed, with existing-style Rollup chunk/pure-annotation warnings only
- Browser visual smoke on Railway PR preview /borrow?network=1:
- Desktop 1440x1000: real borrow list rendered; 190 total pairs, 11 mounted cards at top, 179 placeholders; after mid-page scroll, rows remounted around viewport; no material console/page errors.
- Mobile 390x844: real borrow list rendered; 190 total pairs, 4 mounted cards at top, 186 placeholders; after mid-page scroll, rows remounted around viewport; no material console/page errors.
- fullrender escape hatch: /borrow?network=1&fullrender=1 mounted all 188 observed pairs with zero placeholders and data-rendered-count=188; no material errors.
Screenshot evidence from the public PR preview:
Desktop borrow list, top and scrolled:
Mobile borrow list, top and scrolled:
Coverage notes:
- Smoke coverage: browser visual smoke + mobile smoke on the changed borrow list surface; no wallet/signing smoke, because this PR changes list rendering rather than transaction construction.
- I did not find prior Leonard-authored comments/reviews on this PR to update or clean up.
Summary by CodeRabbit
New Features
Tests