[FIX] replace direct window reference with navigator check for ssr compatibility #6
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.
Remove window reference from navigator.userAgent for SSR compatibility
Problem
The Edge browser detection was using
window.navigator.userAgent
which causes issues when the code is parsed in Node.js environments (like during Server-Side Rendering). Even though there's atypeof navigator !== 'undefined'
check, the directwindow.navigator
reference still breaks SSR compatibility.Solution
Simplified the Edge browser detection to use
navigator.userAgent
directly instead ofwindow.navigator.userAgent
. This change:window
reference sincenavigator
is already being checkedtypeof navigator !== 'undefined'
check already ensures safe accessNavigator
global object was implemented in Node.js from v21, so usingnavigator
directly (with proper checks) is more compatiblewindow.
prefix whennavigator
global is already being checkedThis is a small but important fix for teams using this hook in SSR applications like Next.js, Nuxt.js, or other server-rendered React applications, and ensures better compatibility with modern Node.js versions.