FCE-3336: Emit error if react-native-get-random-values is missing#540
Merged
MiloszFilimowski merged 2 commits intoMay 22, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds early startup assertions in the React Native client to surface actionable errors when required native dependencies (WebRTC native module and crypto.getRandomValues polyfill) are missing or not linked, avoiding later/cryptic runtime failures.
Changes:
- Added a runtime assertion to verify
NativeModules.WebRTCModuleis present and throw an install/rebuild guidance error if not. - Added a runtime assertion to verify
globalThis.crypto.getRandomValuesis functional and throw an error pointing toreact-native-get-random-valuesif not. - Invoked both assertions immediately after the existing
registerGlobalsPolyfill()initialization.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
6c3d24e to
1b56b65
Compare
czerwiukk
approved these changes
May 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
assertReactNativeWebrtcNativeModulecheck that verifiesNativeModules.WebRTCModuleis linked and throws an actionable error with install/rebuild steps when missing.assertGetRandomValuesPolyfillcheck that verifiesglobalThis.crypto.getRandomValuesworks and throws an actionable error pointing toreact-native-get-random-valueswhen missing.registerGlobalsPolyfill()inpackages/mobile-client/src/webrtc-polyfill.ts.Motivation and Context
Surface a clear, actionable error at startup when required native dependencies are missing or not linked, instead of letting the SDK fail later with cryptic runtime errors.
Documentation impact
Types of changes
not work as expected)