Problem
Browser console shows React error #418 (hydration mismatch) when loading the project dashboard via SPA fallback. The server-rendered HTML from the static export template doesn't match what the client renders after hydration with the real project ID.
Error
Uncaught Error: Minified React error #418; visit
https://react.dev/errors/418?args[]=HTML&args[]= for the full message
Root cause
The static export pre-renders /project/_.html with placeholder data. When served via SPA fallback for /project/quadwork, the client hydrates with different content (real project ID via usePathname()), causing a mismatch.
Possible fixes
- Suppress hydration warnings for the project page (use
suppressHydrationWarning)
- Don't pre-render the project page at all — make it fully client-side rendered
- Use
dynamic(() => import(...), { ssr: false }) for ProjectDashboard
Acceptance Criteria
Branch
task/102-hydration-fix
Problem
Browser console shows React error #418 (hydration mismatch) when loading the project dashboard via SPA fallback. The server-rendered HTML from the static export template doesn't match what the client renders after hydration with the real project ID.
Error
Root cause
The static export pre-renders
/project/_.htmlwith placeholder data. When served via SPA fallback for/project/quadwork, the client hydrates with different content (real project ID viausePathname()), causing a mismatch.Possible fixes
suppressHydrationWarning)dynamic(() => import(...), { ssr: false })for ProjectDashboardAcceptance Criteria
Branch
task/102-hydration-fix