fix: hydration error on small device (chat-header) #546
+18
−1
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.
Issue & Resolution Note for Vercel AI Chat Repo
Issue:#535
The chat app encountered a hydration mismatch error due to the use of the useWindowSize hook. This occurred because server-side rendered content couldn’t access the window dimensions, causing a mismatch when the client-side rendered content based on the actual window width.
Resolution:
To fix this, we added a client-side mounting check using an isMounted state tracker:
Initially rendered a simplified header that matched the SSR output.
After the client was mounted, we rendered the full header with width-dependent content.
This ensures consistent rendering between server and client, following React’s SSR best practices.
Fixed Component: components/chat-header.tsx