fix(client): overlay not appearing when multiple vite clients were loaded #18647
+9
−1
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.
Description
Vite is creating a custom elemtn with
<vite-error-overlay>
to display error overlay.If the vite client is loaded multiple times (e.g. in the case of Micro-Frontend architecture), there is an issue while creating error overlay from second vite client because creating custom element without defining into custom elements registry causes error. (below screenshot is error from chrome browser)
src/client/overlay.ts:
Fix this by get the constructor of
ErrorOverlay
from custom element registry if already defined.Although it may not be the expected behavior for the vite client to be loaded multiple times, this PR will be helpful as there are cases where the
ErrorOverlay
singleton cannot be guaranteed.