From 2f06999836b7ba0855f1d5fa8f5465903744df83 Mon Sep 17 00:00:00 2001 From: kualta Date: Sun, 11 Jan 2026 10:00:17 -0600 Subject: [PATCH 1/6] add postinstall script to regenerate fumadocs source --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 093f6e97..4885a345 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "dev": "bunx --bun next dev -p 3010 --experimental-https", "start": "bunx --bun next start", "check": "bunx @biomejs/biome check --write --unsafe ./src/*", - "generate-app-key": "bun scripts/generate-app-key.ts" + "generate-app-key": "bun scripts/generate-app-key.ts", + "postinstall": "fumadocs-mdx" }, "dependencies": { "@base-org/account": "^2.0.2", From 3efbb681d3943273fe68e419cf3f5b55d9dd4825 Mon Sep 17 00:00:00 2001 From: kualta Date: Sun, 11 Jan 2026 11:13:53 -0600 Subject: [PATCH 2/6] add i18n middleware for docs locale routing --- middleware.ts | 8 ++++++++ tsconfig.json | 1 + 2 files changed, 9 insertions(+) create mode 100644 middleware.ts diff --git a/middleware.ts b/middleware.ts new file mode 100644 index 00000000..de6eb56c --- /dev/null +++ b/middleware.ts @@ -0,0 +1,8 @@ +import { createI18nMiddleware } from "fumadocs-core/i18n/middleware"; +import { i18n } from "~/utils/i18n"; + +export default createI18nMiddleware(i18n); + +export const config = { + matcher: ["/docs/:path*", "/:lang/docs/:path*"], +}; diff --git a/tsconfig.json b/tsconfig.json index a9dd1b0c..ec144259 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -42,6 +42,7 @@ "include": [ "./.source/**/*", "next-env.d.ts", + "middleware.ts", ".eslintrc.cjs", "src/*.mjs", "src/app/*.ts", From 4d2d233c786d747cc71a6ba7a4c198d06baf2d2a Mon Sep 17 00:00:00 2001 From: kualta Date: Sun, 11 Jan 2026 11:48:47 -0600 Subject: [PATCH 3/6] fix middleware matcher and remove nested html tags from lang layout --- middleware.ts | 2 +- src/app/[lang]/layout.tsx | 22 ++-------------------- 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/middleware.ts b/middleware.ts index de6eb56c..48cd01ab 100644 --- a/middleware.ts +++ b/middleware.ts @@ -4,5 +4,5 @@ import { i18n } from "~/utils/i18n"; export default createI18nMiddleware(i18n); export const config = { - matcher: ["/docs/:path*", "/:lang/docs/:path*"], + matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"], }; diff --git a/src/app/[lang]/layout.tsx b/src/app/[lang]/layout.tsx index 899f7103..66cfbd30 100644 --- a/src/app/[lang]/layout.tsx +++ b/src/app/[lang]/layout.tsx @@ -1,18 +1,6 @@ import { RootProvider } from "fumadocs-ui/provider/next"; -import type { Metadata } from "next"; import type { ReactNode } from "react"; import "fumadocs-ui/style.css"; -import "~/styles/globals.css"; -import { quicksand } from "~/styles/fonts"; - -export const metadata: Metadata = { - metadataBase: new URL(process.env.NEXT_PUBLIC_SITE_URL || "https://flow.talk"), - title: { - default: "Flow Talk Docs", - template: "%s | Flow Talk Docs", - }, - description: "Flow Talk Documentation", -}; export default async function LangLayout({ children, @@ -21,12 +9,6 @@ export default async function LangLayout({ children: ReactNode; params: Promise<{ lang: string }>; }) { - const { lang } = await params; - return ( - - - {children} - - - ); + await params; + return {children}; } From a8343354d943b4b9e69e51787f00b043c7e10468 Mon Sep 17 00:00:00 2001 From: kualta Date: Sun, 11 Jan 2026 11:59:08 -0600 Subject: [PATCH 4/6] rename middleware.ts to proxy.ts for next.js 16 compatibility --- middleware.ts => proxy.ts | 0 tsconfig.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename middleware.ts => proxy.ts (100%) diff --git a/middleware.ts b/proxy.ts similarity index 100% rename from middleware.ts rename to proxy.ts diff --git a/tsconfig.json b/tsconfig.json index ec144259..68d8e356 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -42,7 +42,7 @@ "include": [ "./.source/**/*", "next-env.d.ts", - "middleware.ts", + "proxy.ts", ".eslintrc.cjs", "src/*.mjs", "src/app/*.ts", From 83d67ec3b32ae365b00fd7fb0acc14e10ff32821 Mon Sep 17 00:00:00 2001 From: kualta Date: Sun, 11 Jan 2026 12:21:16 -0600 Subject: [PATCH 5/6] update proxy export to use named function for next.js 16 compatibility --- proxy.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/proxy.ts b/proxy.ts index 48cd01ab..5b173084 100644 --- a/proxy.ts +++ b/proxy.ts @@ -1,7 +1,14 @@ +import type { NextFetchEvent, NextRequest } from "next/server"; import { createI18nMiddleware } from "fumadocs-core/i18n/middleware"; import { i18n } from "~/utils/i18n"; -export default createI18nMiddleware(i18n); +const i18nMiddleware = createI18nMiddleware(i18n); + +export function proxy(request: NextRequest, event: NextFetchEvent) { + return i18nMiddleware(request, event); +} + +export default proxy; export const config = { matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"], From 5e2f4c4ef30ecfa48667f7fcee50ff642751d16c Mon Sep 17 00:00:00 2001 From: kualta Date: Sun, 11 Jan 2026 16:38:40 -0600 Subject: [PATCH 6/6] remove duplicate root proxy.ts to use existing src/proxy.ts --- proxy.ts | 15 --------------- tsconfig.json | 1 - 2 files changed, 16 deletions(-) delete mode 100644 proxy.ts diff --git a/proxy.ts b/proxy.ts deleted file mode 100644 index 5b173084..00000000 --- a/proxy.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { NextFetchEvent, NextRequest } from "next/server"; -import { createI18nMiddleware } from "fumadocs-core/i18n/middleware"; -import { i18n } from "~/utils/i18n"; - -const i18nMiddleware = createI18nMiddleware(i18n); - -export function proxy(request: NextRequest, event: NextFetchEvent) { - return i18nMiddleware(request, event); -} - -export default proxy; - -export const config = { - matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"], -}; diff --git a/tsconfig.json b/tsconfig.json index 68d8e356..a9dd1b0c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -42,7 +42,6 @@ "include": [ "./.source/**/*", "next-env.d.ts", - "proxy.ts", ".eslintrc.cjs", "src/*.mjs", "src/app/*.ts",