Skip to content

v4.20.1

Choose a tag to compare

@rodrigoslayertech rodrigoslayertech released this 18 Jul 01:31
· 45 commits to main since this release
v4.20.1
4c8ed9b

Focus: Hydration state fixes — theme, below-the-fold blocks and the anchor rail stay alive.

Changes

  • 🎨 Fixed dark-theme users seeing light code blocks on server-rendered pages: Vue adopts server DOM without patching class mismatches, so theme-dependent tones now use two-pass rendering (useSsrSafeDark) — hydrate in the serialized tone, flip to the real theme right after mount
  • 💧 Fixed below-the-fold blocks never hydrating (dead theme classes, unregistered ToC anchors): hydrateOnVisible's IntersectionObserver proved unreliable for multi-block fragments inside the scroll area — tail chunks now hydrate on idle, one small task each
  • ⚓ Fixed the desktop anchor rail rendering empty until toggled: components mount before Quasar's Screen plugin measures (width 0 reads as "mobile"), and the mobile no-auto-open rule permanently hid the rail — viewport-dependent decisions now wait for the first real measurement
  • ✅ Validated: zero hydration mismatches across routes and viewports, all code blocks live and theme-reactive, anchor tree fully populated (335 passing tests)