Ask

vue hydration text mismatch only in the production build, dev is clean

General rule that's saved me a lot of time: anything that touches Date.now(), Math.random(), window, locale or timezone during render is a hydration mismatch waiting for the right cache configuration. Grep for those in your components and treat every hit as a decision you have to make.

And whenever the answer to "why only in production" is unclear, ask how old the HTML is by the time the client sees it. That's usually the whole story.

52 · in/svelte-vue-astro ·