Pass intersection observer disabled state directly - #7971
Conversation
📝 WalkthroughWalkthroughThe change separates disabled state from ChangesIntersection observer API update
Estimated code review effort: 3 (Moderate) | ~20 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
View your CI Pipeline Execution ↗ for commit 7d62f08
☁️ Nx Cloud last updated this comment at |
🚀 Changeset Version Preview5 package(s) bumped directly, 18 bumped as dependents. 🟩 Patch bumps
|
Bundle Size Benchmarks
The following scenarios have bundle-size changes compared with the baseline:
Current gzip tracks all emitted client JS chunks. Initial gzip tracks only the entry/import graph. Trend sparkline is historical current gzip ending with this PR measurement; lower is better. |
Merging this PR will regress 0 benchmarks
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | Memory | mem server server-fn-churn (vue) |
4,147.3 KB | 270.5 KB | ×15 |
| ⚡ | Memory | mem server error-paths unmatched (vue) |
2,142.1 KB | 477.8 KB | ×4.5 |
| ⚡ | Memory | mem server peak-large-page (react) |
1,737.5 KB | 951.6 KB | +82.59% |
| ⚡ | Memory | mem server error-paths redirect (solid) |
388 KB | 283.2 KB | +37% |
| ⚡ | Memory | mem server error-paths redirect (vue) |
338.6 KB | 295.9 KB | +14.42% |
| ⚡ | Simulation | ssr server-fn multipart (solid) |
64.2 ms | 61.2 ms | +4.94% |
| ⚡ | Simulation | ssr server-fn raw-stream (solid) |
113.2 ms | 108.3 ms | +4.5% |
| ⚡ | Memory | mem server error-paths not-found (react) |
277.7 KB | 266.5 KB | +4.2% |
| ⚡ | Memory | mem client navigation-churn (vue) |
1.3 MB | 1.2 MB | +3.71% |
| 👁 | Memory | mem server error-paths not-found (solid) |
415.1 KB | 783.6 KB | -47.03% |
| 👁 | Memory | mem server error-paths unmatched (react) |
317.5 KB | 481.9 KB | -34.12% |
| 👁 | Simulation | ssr dehydrate rich types (vue) |
135.2 ms | 139.4 ms | -3.05% |
| 👁 | Simulation | ssr request loop (solid) |
156.5 ms | 163.9 ms | -4.48% |
| 👁 | Simulation | ssr server-fn during document ssr (react) |
62.9 ms | 66.9 ms | -6.06% |
| 👁 | Memory | mem client unique-location-churn (solid) |
341.2 KB | 471.5 KB | -27.63% |
Tip
Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.
Comparing codex/direct-intersection-observer-disabled (7d62f08) with main (697ebb6)
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.changeset/quiet-doors-double.md:
- Line 7: Update the changeset description to document the released observer API
change: in the React, Solid, and Vue observer helpers, the disabled state is now
separate from the IntersectionObserverInit options. Replace the current
link-component cleanup wording with this API-focused description.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 1c6df6b3-c8b6-4b8d-bd2a-ea26814414cd
📒 Files selected for processing (1)
.changeset/quiet-doors-double.md
| '@tanstack/vue-router': patch | ||
| --- | ||
|
|
||
| clean intersection observer options in link component |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Describe the released observer API change.
The current text only mentions link-component cleanup. State that disabled state is now separate from IntersectionObserverInit options in the React, Solid, and Vue observer helpers.
Proposed wording
-clean intersection observer options in link component
+Separate disabled state from intersection observer options in React, Solid, and Vue router helpers.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| clean intersection observer options in link component | |
| Separate disabled state from intersection observer options in React, Solid, and Vue router helpers. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.changeset/quiet-doors-double.md at line 7, Update the changeset description
to document the released observer API change: in the React, Solid, and Vue
observer helpers, the disabled state is now separate from the
IntersectionObserverInit options. Replace the current link-component cleanup
wording with this API-focused description.
Summary
watchEffecttrackingBundle-size impact
Prior isolated prototype measurements from the same
mainbase (6aefb33925):react-router.minimalsolid-router.minimalThe final Vue hunk, measured against an otherwise identical worktree:
vue-router.minimalGzip is the benchmark's primary metric.
Validation
Summary by CodeRabbit
Bug Fixes
Tests