Update Geistdocs to 1.23.0 - #481
Merged
Merged
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
dferber90
approved these changes
Aug 25, 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.
Summary
Upgrades the docs app from
@vercel/geistdocs1.19.4 to 1.23.0 (Next.js 16.2.12 → 16.3.1).Target release includes the five required upstream PRs, verified against the published changelog:
eebb634, 1.21.1) — require Next.js 16.3+6302cd3, 1.22.0) — Cache Components47dd13a, 1.22.0) — Partial Prefetching + instant docs navigation193b510, 1.22.0) — stable Next.js 16.3 APIs, retryable page/Ask AI boundaries77968fd, 1.22.0) — tree sidebar scroll preservation on folder toggles58a6d38— homepage Markdown negotiation, recoverable application 404s, default page canonicals, product JSON-LDAdapter and configuration changes
next.config.ts: enabledcacheComponentsandpartialPrefetching; removedexperimental.turbopackFileSystemCacheForDev(default in 16.3).dynamic,revalidate,dynamicParams) incompatible with Cache Components; RSS and XML sitemap now use"use cache"+cacheLife("max"). Shiki highlighting on the home page is wrapped in"use cache"(it readsDate.now()internally).[lang]vianext/root-params(lib/geistdocs/root-params.ts, Server Components only); route handlers keep route contextparams.createLlmsRoute/createDocsMarkdownRoute/createSitemapMarkdownRoute/createAgentsRoute(sourcesoption, package-providedgenerateStaticParams),createChatRoutereturns{ POST, maxDuration }(still 800), search usessources./[lang]/.well-known/mcp.json,/[lang]/not-found.tsx,/[lang]/[...not-found](real 404s for unknown paths; Markdown 404 for agents).lib/geistdocs/helpers from the template:i18n.ts,root-params.ts,site-url.ts,site-url-warning.ts,public-path.ts;defineConfignow receivessiteUrl.text/markdownalternate to/agents.md(viagenerateMetadata).proxy.ts: the/→/[lang]/home/[code]rewrite moved frombeforetoafterso it no longer preempts package Markdown negotiation (see contract differences).prefetch={true}(provider cards, LearnMore, homepage CTAs, banner).app/styles/geistdocs.css: adopted the template's app-only rules (mobile breadcrumb/TOC colors, body text color).apps/docs/AGENTS.md(template agent instructions, adapted to this repo).packages/flagsdevDependencynextbumped to 16.3.1: the docs app type-checksflags/nextroute types, and Next's generated route validator rejects mixed Next type versions. No published-artifact impact, no changeset needed.Lockfile
Delta is scoped to:
next@16.3.1tree (incl.@next/env/swc/sharp binaries,@swc/helpers0.5.23),@vercel/geistdocs@1.23.0(+@vercel/agent-readability0.6.0), and peer-context re-keying for the docs app andpackages/flags. No unrelated importer specifiers changed; frozen install verified.Verification
pnpm install --frozen-lockfile,biome check .(2 pre-existing warnings, unchanged from main),turbo type-check(18/18),validate-packages,validate-skills, docs production build (195 static generations).[code]permutations,/en/sitemap.md,/en/.well-known/mcp.json,/robots.txt,/sitemap.xmlare prerendered (verified inprerender-manifest.json, no fallbacks). Every known docs URL has a complete static prerender; generic dynamic entries remain for unknown params (404 via package not-found handling).next startsmoke tests (curl + Playwright): instant sidebar and prev/next navigation with complete content and zerodata-geistdocs-page-fallback; search returns and navigates; theme switch; Copy Page; Ask AI opens; mobile menu; homepage flag permutations;/HTML for browsers..md/.mdxURLs,Accept: text/markdown, agent-UA negotiation,/llms.txt,/sitemap.md,/agents.md,/.well-known/mcp.json,/rss.xml,/sitemap.xml,/robots.txt, OG images (/en/og/.../image.png→image/png), legacy redirects.sidebarMode="tree"(no collapsible sidebar folders), so the Updated optional peer dep @sveltejs/kit to 2.49.5 #251 fix has no consumer-visible surface here; the fix is package-internal and verified by upstream CI. Active-item scroll-into-view on navigation verified.turbo test: 16/17 tasks pass.@vercel/flags-coreblack-box streaming tests time out in my local working directory only — they fail identically on unmodifiedmainthere and pass in a clean worktree both without and with this PR's changes applied. Local-environment flake; CI is the arbiter.Intentional contract differences
/withAccept: text/markdownor an AI-agent UA now returns the generated/agents.mdMarkdown instead of the homepage HTML (1.23.0 homepage negotiation; enabled by thebefore→afterproxy change)./llms.txt,/llms.mdx/*,/og/*,/rss.xml,/agents.mdare served dynamically with package-internal"use cache"instead of build-time SSG; content and content types unchanged./.well-known/mcp.jsonreturns 404 untilagent.mcp.serversis configured (package contract, asserted by upstream CI).metadataBaseis now derived fromNEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL(template convention) instead of a hardcodedhttps://flags-sdk.dev; production value is identical on Vercel./en/home/[code]URLs now render dynamically instead of 404ing (dynamicParams = falseremoved per Cache Components requirements); all known codes remain prerendered.Known pre-existing issue (not introduced here)
Docs pages log React hydration error #418 in production. Reproduced identically on
main(1.19.4 + Next 16.2.12), so it predates this upgrade; worth a separate investigation (likely in app-owned components or package UI).Preview
Vercel will attach the preview deployment below; manual checks above were run against a local
next startproduction server.Preview URL: https://flags-sdk-dev-git-richard-update-geistdocs-1230.vercel.sh (deployment, Ready). The preview sits behind Vercel SSO protection, so content checks against it require a browser session or a bypass secret; all runtime checks above ran against a local production (
next start) server built from this branch.