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.
Description
Extract the client-environment check into a new, exported
isClientEnvironment()
helper so tests can mock it directly, without changing any runtime behavior or throwing errors.As this is not intended as a patch but rather a small enhancement, I avoided adding any breaking behaviors like throwing errors to ensure full backward compatibility.
Related Issue: Fixes #178
Changes
isClientEnvironment()
utiluseClientLayoutEffect
call it and return early when false (non-changed behavior)Motivation and Context
Patching
global.navigator
injest.setup.js
is a pretty good workable solution, but it feels a bit weird and like a global workaround.By extracting and exporting the check, we enable targeted
jest.mock()
/jest.spyOn()
of exactly that function (and it makes the [overlay-kit] repo itself more testable)While I’m not primarily a frontend engineer and may not be fully familiar with the canonical idioms, I believe this small suggestion maintains full backward compatibility, introduces no runtime changes, and allows for more flexible testing.
How Has This Been Tested?
I didn’t find dedicated tests for this hook, so I’ll check the CI test results after opening the PR.
Screenshots (if appropriate):
Types of changes
Checklist
Further Comments