Repository navigation
fix: bump fumadocs-core/ui/openapi to fix a hydration bug - #69
Merged
Merged
Conversation
fumadocs-openapi's Authorization selector renders a single security scheme's label (built as a <div>) inside a <p> tag, which is invalid HTML and logs a hydration error on every reference page. The fix landed upstream in 10.10.3, but that release needs fumadocs-core and fumadocs-ui >=16.9.0, which this repo didn't have. A prior attempt patched 10.1.1 directly with `bun patch`. That broke under Nix: `bun install --backend=copyfile` populates node_modules from a read-only bun2nix cache, and bun's patchedDependencies step needs to write into the file it's patching, so the Nix derivation that builds this repo's generated corpus failed with EACCES applying the patch. Patching around that gap (stripping patchedDependencies before install, the way bun2nix's own hook already does for exactly this case) was the next thing tried, and is a legitimate pattern, but means one install step behaves differently depending on who's running it --- a correctness surface not worth owning when the library already ships the fix two versions up. Bumps fumadocs-core and fumadocs-ui to 16.9.3 (the lowest patch on the required minor) and fumadocs-openapi to 10.10.3, all within already- declared semver ranges. tailwindcss needed a matching bump too: fumadocs-ui's bundled CSS now uses the `inset-s-*` logical-property utility, added in Tailwind 4.2.0, and bun.lock had tailwindcss pinned below that. Two usage sites needed fixing for the version jump: a locally-forked `BaseLayoutProps` type (`src/components/layout/shared`) had drifted from upstream's now-wider `NavOptions.title` type, so `layout.shared.tsx` points at the local type it's actually rendered through instead of upstream's; and fumadocs-openapi's `SchemaMap` type isn't exported, so the OpenAPI client's `input` function is now typed off `createOpenAPI`'s own signature rather than a guessed private name.
lhagenWP
force-pushed
the
corpus-build-patch-fix
branch
from
October 13, 2026 22:31
48a1c96 to
2088241
Compare
trichardswp
approved these changes
Oct 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Every reference page logs a React hydration error: fumadocs-openapi's
Authorization selector renders a single security scheme's label
(built as a
<div>) inside a<p>tag, which is invalid HTML. Thefix landed upstream in fumadocs-openapi 10.10.3, but that release
needs fumadocs-core and fumadocs-ui >=16.9.0, which this repo didn't
have, so a direct bump of fumadocs-openapi alone breaks the build on
a missing export.
What Changed
Bumps fumadocs-core and fumadocs-ui to 16.9.3 and fumadocs-openapi to
10.10.3, all within already-declared semver ranges. tailwindcss needed
a matching bump too — fumadocs-ui's bundled CSS now uses the
inset-s-*logical-property utility, added in Tailwind 4.2.0, andbun.lock had tailwindcss pinned below that.
Two usage sites needed fixing for the version jump:
BaseLayoutPropstype(
src/components/layout/shared) had drifted from upstream'snow-wider
NavOptions.titletype.layout.shared.tsxnow points atthe local type it's actually rendered through, instead of
upstream's.
SchemaMaptype isn't exported, so the OpenAPIclient's
inputfunction is now typed offcreateOpenAPI's ownsignature rather than a guessed private type name.
Context
An earlier PR patched fumadocs-openapi 10.1.1 directly with
bun patchto carry just the hydration fix. That broke the Nix derivationthat builds this repo's generated corpus:
bun install --backend=copyfilepopulatesnode_modulesfrom a read-only bun2nixcache, and bun's
patchedDependenciesstep needs to write into thefile it's patching, so it failed with EACCES. Stripping
patchedDependenciesbefore install (mirroring what bun2nix's ownhook already does for this exact situation) worked, but means one
install step behaves differently depending on who's running it — not
worth owning as a permanent pattern when the library already ships
the fix two versions up. This PR takes the clean upgrade instead and
removes the patch entirely.