fix(transition): skip enter guard while hmr updating#14611
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe PR fixes a display issue that occurs when Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
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 |
Size ReportBundles
Usages
|
@vue/compiler-core
@vue/compiler-dom
@vue/compiler-sfc
@vue/compiler-ssr
@vue/reactivity
@vue/runtime-core
@vue/runtime-dom
@vue/server-renderer
@vue/shared
vue
@vue/compat
commit: |
9564977 to
4000ce9
Compare
4000ce9 to
285f274
Compare
|
/ecosystem-ci run |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@packages/runtime-core/src/renderer.ts`:
- Around line 741-749: The HMR flag set by setHmrUpdating inside the callback
passed to queuePostRenderEffect can leak if any hook throws; update the callback
so it captures prev = setHmrUpdating(isHmr) (when __DEV__), then executes
invokeVNodeHook(vnodeHook,...), transition!.enter(el), and
invokeDirectiveHook(...) inside a try block and always restore the HMR flag in a
finally block by calling setHmrUpdating(prev). Ensure you still only call
setHmrUpdating when __DEV__ and preserve usage of vnodeHook, invokeVNodeHook,
needCallTransitionHooks/transition.enter, and invokeDirectiveHook.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: d26de5e0-0ab6-4c68-ab01-c4a067500edd
📒 Files selected for processing (4)
packages/runtime-core/src/components/BaseTransition.tspackages/runtime-core/src/hmr.tspackages/runtime-core/src/renderer.tspackages/vue/__tests__/e2e/Transition.spec.ts
|
📝 Ran ecosystem CI: Open
|
close #14608
Summary by CodeRabbit
Bug Fixes
Tests