[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.userAgentwhich 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.navigatorreference still breaks SSR compatibility.Solution
Simplified the Edge browser detection to use
navigator.userAgentdirectly instead ofwindow.navigator.userAgent. This change:windowreference sincenavigatoris already being checkedtypeof navigator !== 'undefined'check already ensures safe accessNavigatorglobal object was implemented in Node.js from v21, so usingnavigatordirectly (with proper checks) is more compatiblewindow.prefix whennavigatorglobal 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.