From 594b5f69800698fce8410f514700b62385675bd1 Mon Sep 17 00:00:00 2001 From: Cedric van Putten Date: Wed, 30 Oct 2024 18:21:05 +0100 Subject: [PATCH] fix(runtime): swap out `expo-random` for `expo-crypto` --- runtime/package.json | 2 +- runtime/src/NativeModules/getDeviceIdAsync.tsx | 4 ++-- runtime/src/NativeModules/getDeviceIdAsync.web.tsx | 4 ++-- runtime/yarn.lock | 14 +++++++------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/runtime/package.json b/runtime/package.json index 9bf1aa9ab..ee4cc6068 100644 --- a/runtime/package.json +++ b/runtime/package.json @@ -33,11 +33,11 @@ "expo-asset": "~11.0.0", "expo-barcode-scanner": "~14.0.1", "expo-constants": "~17.0.2", + "expo-crypto": "~14.0.1", "expo-file-system": "~18.0.0", "expo-font": "~13.0.0", "expo-keep-awake": "~14.0.1", "expo-linking": "~7.0.2", - "expo-random": "~14.0.1", "expo-router": "~4.0.0-preview.8", "expo-splash-screen": "~0.28.5", "expo-status-bar": "~2.0.0", diff --git a/runtime/src/NativeModules/getDeviceIdAsync.tsx b/runtime/src/NativeModules/getDeviceIdAsync.tsx index 3af8a3f01..5cd448eef 100644 --- a/runtime/src/NativeModules/getDeviceIdAsync.tsx +++ b/runtime/src/NativeModules/getDeviceIdAsync.tsx @@ -1,10 +1,10 @@ import AsyncStorage from '@react-native-async-storage/async-storage'; -import * as Random from 'expo-random'; +import { getRandomBytesAsync } from 'expo-crypto'; export default async function getDeviceIdAsync() { const value = await AsyncStorage.getItem('SnackDeviceId'); if (value) return value; - const byteArray = await Random.getRandomBytesAsync(16); + const byteArray = await getRandomBytesAsync(16); const hexString = [...new Uint8Array(byteArray.buffer)] .map((x) => x.toString(16).padStart(2, '0')) .join(''); diff --git a/runtime/src/NativeModules/getDeviceIdAsync.web.tsx b/runtime/src/NativeModules/getDeviceIdAsync.web.tsx index 0d7c43734..ac2885058 100644 --- a/runtime/src/NativeModules/getDeviceIdAsync.web.tsx +++ b/runtime/src/NativeModules/getDeviceIdAsync.web.tsx @@ -1,4 +1,4 @@ -import * as Random from 'expo-random'; +import { getRandomBytesAsync } from 'expo-crypto'; let fallbackStore: string | null = null; @@ -26,7 +26,7 @@ export default async function getDeviceIdAsync() { return value; } - const byteArray = await Random.getRandomBytesAsync(16); + const byteArray = await getRandomBytesAsync(16); const hexString = [...new Uint8Array(byteArray.buffer)] .map((x) => x.toString(16).padStart(2, '0')) .join(''); diff --git a/runtime/yarn.lock b/runtime/yarn.lock index e8b883e5e..ebb7ac9ca 100644 --- a/runtime/yarn.lock +++ b/runtime/yarn.lock @@ -4245,6 +4245,13 @@ expo-constants@~17.0.0, expo-constants@~17.0.2: "@expo/config" "~10.0.0" "@expo/env" "~0.4.0" +expo-crypto@~14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/expo-crypto/-/expo-crypto-14.0.1.tgz#2aabfebf202f8390db9060c033a18ad8eabe8cd9" + integrity sha512-/gGpD9UAz8fgZtU08cwwqeQElkFmMy2Hc8lLa9laSjD3YN0XM07zDJyJ+CC1VhQ63G8WpUnq1IHSmaPbbLp+oQ== + dependencies: + base64-js "^1.3.0" + expo-eas-client@~0.13.0: version "0.13.1" resolved "https://registry.yarnpkg.com/expo-eas-client/-/expo-eas-client-0.13.1.tgz#ebca627f3f58a54906394eb3f5d22f41a1822618" @@ -4314,13 +4321,6 @@ expo-modules-core@2.0.0-preview.7: dependencies: invariant "^2.2.4" -expo-random@~14.0.1: - version "14.0.1" - resolved "https://registry.yarnpkg.com/expo-random/-/expo-random-14.0.1.tgz#aedc6a3b6ff86c74a85989d77d20e0f1762ed669" - integrity sha512-gX2mtR9o+WelX21YizXUCD/y+a4ZL+RDthDmFkHxaYbdzjSYTn8u/igoje/l3WEO+/RYspmqUFa8w/ckNbt6Vg== - dependencies: - base64-js "^1.3.0" - expo-router@~4.0.0-preview.8: version "4.0.0-preview.8" resolved "https://registry.yarnpkg.com/expo-router/-/expo-router-4.0.0-preview.8.tgz#7522dce48acda5b6e66dd2c15682280a1751fb3c"