You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please Help
I am upgrading an expo application to expo-48.
"react-native": "0.71.14",
"react-native-get-random-values": "~1.9.0",
"expo-crypto": "12.2.1",
"expo": "48.0.21"
I have added some console logs to try and find out whats happening and it appears that I am getting ExpoCrypto but getRandomValues is undefined.
function getRandomValues (array) {
if (!(array instanceof Int8Array || array instanceof Uint8Array || array instanceof Int16Array || array instanceof Uint16Array || array instanceof Int32Array || array instanceof Uint32Array || array instanceof Uint8ClampedArray)) {
throw new TypeMismatchError('Expected an integer array')
}
if (array.byteLength > 65536) {
throw new QuotaExceededError('Can only request a maximum of 65536 bytes')
}
// Expo SDK 48+
if (global.expo){
console.log("global.expo")
}
if (global.expo.modules){
console.log("global.expo.modules ")
}
if (global.expo.modules.ExpoCrypto){
console.log("global.expo.modules.ExpoCrypto")
}
if (global.expo.modules.ExpoCrypto.getRandomValues){
console.log("global.expo.modules.ExpoCrypto.getRandomValues")
} else console.log("global.expo.modules.ExpoCrypto.getRandomValues is " + typeof global.expo.modules.ExpoCrypto.getRandomValues)
// Expo SDK 48+
if (global.expo && global.expo.modules && global.expo.modules.ExpoCrypto && global.expo.modules.ExpoCrypto.getRandomValues) {
// ExpoCrypto.getRandomValues doesn't return the array
global.expo.modules.ExpoCrypto.getRandomValues(array)
return array
}
// Calling getRandomBase64 in debug mode leads to the error
// "Calling synchronous methods on native modules is not supported in Chrome".
// So in that specific case we fall back to just using Math.random.
if (__DEV__) {
if (typeof global.nativeCallSyncHook === 'undefined') {
return insecureRandomValues(array)
}
}
base64Decode(getRandomBase64(array.byteLength), new Uint8Array(array.buffer, array.byteOffset, array.byteLength))
return array
}
Please Help
I am upgrading an expo application to expo-48.
"react-native": "0.71.14",
"react-native-get-random-values": "~1.9.0",
"expo-crypto": "12.2.1",
"expo": "48.0.21"
I have added some console logs to try and find out whats happening and it appears that I am getting ExpoCrypto but getRandomValues is undefined.
//Output --------------------------------------------------------------
LOG global.expo
LOG global.expo.modules
LOG global.expo.modules.ExpoCrypto
LOG global.expo.modules.ExpoCrypto.getRandomValues is undefined
LOG global.expo
LOG global.expo.modules
LOG global.expo.modules.ExpoCrypto
LOG global.expo.modules.ExpoCrypto.getRandomValues is undefined
-Update
I am just building to expo-go with metro builder. My linking is being done by "expo-modules-autolinking": "~1.1.0 || ~1.2.0",
The text was updated successfully, but these errors were encountered: