feat: add autoUpdateOptions to avoid a Floating UI RangeError - #3530
dennisridder wants to merge 1 commit into
Conversation
layoutShift tracking can loop until the browser throws RangeError: Maximum call stack size exceeded. Passing { layoutShift: false } through autoUpdateOptions stops that, and the option is left off steps that never set it.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Someone is attempting to deploy a commit to the shipshapecode Team on Vercel. A member of the Team first needs to authorize it. |
|
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 (3)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe change adds optional ChangesFloating UI auto-update configuration
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~15 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant Step
participant setupTooltip
participant FloatingUI
Step->>setupTooltip: provide merged autoUpdateOptions
setupTooltip->>FloatingUI: call autoUpdate with target, tooltip, callback, and options
FloatingUI-->>setupTooltip: return cleanup function
Suggested reviewers: Merge Risk: ⚪ Minimal · up to The change adds configurable Floating UI auto-update behavior per step, including disabling layout-shift tracking, with no concrete merge-blocking impact identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 ESLint
shepherd.js/test/unit/utils/floating-ui.spec.js(node:2) ESLintIgnoreWarning: The ".eslintignore" file is no longer supported. Switch to using the "ignores" property in "eslint.config.js": https://eslint.org/docs/latest/use/configure/migration-guide#ignore-files Oops! Something went wrong! :( ESLint: 10.9.1 A config object is using the "root" key, which is not supported in flat config system. Flat configs always act as if they are the root config file, so this key can be safely removed. 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 |
layoutShift tracking can loop until the browser throws RangeError: Maximum call stack size exceeded. Passing { layoutShift: false } through autoUpdateOptions stops that, and the option is left off steps that never set it.
Summary by CodeRabbit
New Features
Documentation
Tests