[Vapor] Does external DOM mutation silently break reactivity? #14829
HaceraI
started this conversation in
General Discussions
Replies: 2 comments
-
|
Svelte doesn't have any solution either.
This behavior depends on how the framework manages and modifies the DOM, regardless of whether it's based on a VDOM or not, and the reactivity in VDOM mode is similarly broken like this. |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Like solid, vapor relies on a stable DOM structure at runtime. If the DOM structure changes, it will cause bugs. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I was playing around with a Vapor component and noticed something weird — after I triggered Chrome's built-in page translation, some bindings just stopped updating. No errors, no warnings, nothing. The counter froze, button text froze, but v-if show/hide kept working fine.
Minimal repro:
Steps:
I don't think this is specific to browser translation. Translation just happens to be the easiest way to trigger it. My guess is that anything that touches the DOM from outside Vue could cause the same thing — accessibility extensions, password managers, whatever. Browser translation is just the most common one users will actually hit without realizing it.
The same issue was reported in SolidJS back in 2022 (solidjs/solid#1451), which was closed without a resolution. Thought it was worth flagging for Vapor before it ships more widely, especially since vdom mode doesn't seem to have this problem.
Not sure what the right fix looks like — just wanted to make sure it's on the radar.
Beta Was this translation helpful? Give feedback.
All reactions