[6.x] Avoid "Maximum recursive updates exceeded" error from tooltips #13605
+194
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request aims to workaround the "Maximum recursive updates exceeded" error from Floating Vue's
v-tooltipdirective.While there is an open issue on the
floating-vuerepository, it's been open for 1.5 years and the last release was tagged nearly 2 years ago so I'm not confident it'll be fixed soon.Workaround
Inspired by Akryum/floating-vue#1005 (comment), I've created a custom
v-tooltipdirective which works slightly differently to thefloating-vueone.Instead of mounting a component separately per
v-tooltipdirective, we mount theTooltipscomponent once and re-use it. We still use floating-vue'sVTooltipcomponent internally for positioning and animations, but with a single shared instance rather than one per directive. This works around the recursive updates error and may help with performance too.Fixes #13591