perf: fix PageSpeed Insights issues (WebGL errors, bfcache, redirects, a11y)
All checks were successful
Gitea CI / test-build (push) Successful in 11m38s
All checks were successful
Gitea CI / test-build (push) Successful in 11m38s
- Add WebGL support detection in ShaderGradientBackground to prevent console errors - Add .catch() fallback to ShaderGradientBackground dynamic import - Remove hardcoded aria-label from consent banner minimize button (fixes label-content-name-mismatch) - Use rewrite instead of redirect for root locale routing (eliminates one redirect hop) - Change n8n API cache headers from no-store to no-cache (enables bfcache) - Add three and @react-three/fiber to optimizePackageImports for better tree-shaking Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -88,11 +88,15 @@ export function middleware(request: NextRequest) {
|
||||
return addHeaders(request, res);
|
||||
}
|
||||
|
||||
// Redirect bare routes to locale-prefixed ones
|
||||
// Add locale prefix: rewrite root path (avoids redirect roundtrip), redirect others
|
||||
const preferred = pickLocaleFromHeader(request.headers.get("accept-language"));
|
||||
const redirectTarget =
|
||||
pathname === "/" ? `/${preferred}` : `/${preferred}${pathname}${search || ""}`;
|
||||
responseUrl.pathname = redirectTarget;
|
||||
if (pathname === "/") {
|
||||
responseUrl.pathname = `/${preferred}`;
|
||||
const res = NextResponse.rewrite(responseUrl);
|
||||
res.cookies.set("NEXT_LOCALE", preferred, { path: "/" });
|
||||
return addHeaders(request, res);
|
||||
}
|
||||
responseUrl.pathname = `/${preferred}${pathname}${search || ""}`;
|
||||
const res = NextResponse.redirect(responseUrl);
|
||||
res.cookies.set("NEXT_LOCALE", preferred, { path: "/" });
|
||||
return addHeaders(request, res);
|
||||
|
||||
Reference in New Issue
Block a user