Page MenuHomePhabricator

Vue warn: client-side rendered virtual DOM not matching server-rendered content
Closed, ResolvedPublic

Description

Happened when loading a dist/ folder build for development (2MB) in integration with wikibase - danger of heisenbug.

Do we have unbalanced mark-up?

Potentially a good moment to introduce https://eslint.vuejs.org/rules/

Bildschirmfoto von 2019-04-08 14-05-27.png (1×1 px, 177 KB)

Repro per @Tarrow https://phabricator.wikimedia.org/T220364

Event Timeline

Change 503285 had a related patch set uploaded (by Pablo Grass (WMDE); owner: Pablo Grass (WMDE)):
[wikibase/termbox@master] eslint: introduce vue rules

https://gerrit.wikimedia.org/r/503285

The answer is: it's by design and not a problem. Using a v-show instead would avoid it but also cause significantly more mark-up sent through SSR without any added benefit and potentially causing other problems (we tried that before and TermTextField struggeled to resizeTextField() on initially hidden textareas, i.e. when first opened the textareas were all tiny).

@Jakob_WMDE you mentioned that you (quickly?) looked into this. If what I wrote makes sense then please feel free to move this task to done as there is no patch strictly connected to it - https://gerrit.wikimedia.org/r/503285 was created as bycatch but it is by no means representative of what the title of this ticket is about.

Change 503285 merged by jenkins-bot:
[wikibase/termbox@master] eslint: introduce vue rules

https://gerrit.wikimedia.org/r/503285