Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hydration mismatch errors when copying a site from v0.10.0 to stable, but only for two-digit version numbers? #4667

Open
jkrumbiegel opened this issue Apr 1, 2025 · 0 comments

Comments

@jkrumbiegel
Copy link

jkrumbiegel commented Apr 1, 2025

First of all, thanks for the package, generally it's working great for us!

My issue ties into the complex of "builds with relative paths" I think, but with a slightly different flavor.
In the Julia ecosystem, docs have traditionally been built to version subfolders, and the gh-pages branch additionally contains symlinks with aliases to certain builds. For example, the stable symlink is made to point to the latest version on each deploy. Github actions then fully expands the contents of that symlink when deploying, so you end up with a full copy under the stable folder. Here's the gh-pages branch of the repo I'm working on which has the issue I'm about to describe: https://github.com/MakieOrg/AlgebraOfGraphics.jl/tree/gh-pages

So far, when you opened https://aog.makie.org/stable/, the latest version loaded fine. Ever since the last major version, 0.10.0, each link under stable 404s, but you can click any link there and you'll continue without errors under the versioned url. After some debugging (MakieOrg/AlgebraOfGraphics.jl#631) I figured out that both the previously working 0.9.7 version showed the 404 error when built from a fake 0.10.0 tag, and also that the failing 0.10.0 version worked correctly when built from a fake 0.9.7 tag.

So to summarize, I get hydration mismatch errors when I'm on a page that's copied to a stable folder (the internal links of course all don't have stable but v0.10.0 because stable status is not considered at build time, and some version might be stable for a while but then superseded). But I only seem to get those errors with a version number like v0.10.0 but not v0.9.7, and I'm stumped as to where that behavior could come from. Do you have any idea? I tried that one vue dev variable that shows more hydration mismatch debug info, but that didn't lead to anything useful. Other pages in our ecosystem seem to have started failing as well with such version numbers. I have actually added an elbats (just to use the same letters as stable) symlink to gh-pages which points to the old v0.9.7 version and this one works, so you could use it to compare: https://aog.makie.org/elbats/

I know that a "relative base" is not supported, but here we don't change the nesting level of the build, which would break relative links, and all internal links should be valid anyway because both stable and the associated version exist. Does vitepress take the URL it's at into account for hydration mismatch calculations?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant