From 97442b31db41aa71b0a090fedda42cb8530defb2 Mon Sep 17 00:00:00 2001 From: Zhiyuan Zheng Date: Thu, 24 Dec 2020 10:39:44 +0100 Subject: [PATCH] Replace `crypto-js` with `expo-crypto` --- package.json | 2 +- src/screens/Shared/Compose.tsx | 7 ++++--- yarn.lock | 7 +------ 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 0fb2aba0..7e92ceae 100644 --- a/package.json +++ b/package.json @@ -15,11 +15,11 @@ "@react-navigation/native": "^5.8.10", "@reduxjs/toolkit": "^1.5.0", "axios": "^0.21.0", - "crypto-js": "^3.3.0", "expo": "^40.0.0", "expo-auth-session": "~3.0.0", "expo-av": "~8.7.0", "expo-blur": "~8.2.2", + "expo-crypto": "~8.4.0", "expo-image-picker": "~9.2.0", "expo-linear-gradient": "~8.4.0", "expo-linking": "~2.0.0", diff --git a/src/screens/Shared/Compose.tsx b/src/screens/Shared/Compose.tsx index 5604faec..0595197c 100644 --- a/src/screens/Shared/Compose.tsx +++ b/src/screens/Shared/Compose.tsx @@ -20,7 +20,7 @@ import { } from 'react-native' import { SafeAreaView } from 'react-native-safe-area-context' import { createNativeStackNavigator } from 'react-native-screens/native-stack' -import sha256 from 'crypto-js/sha256' +import * as Crypto from 'expo-crypto' import { store } from '@root/store' import ComposeRoot from '@screens/Shared/Compose/Root' @@ -464,7 +464,8 @@ const Compose: React.FC = ({ route: { params }, navigation }) => { instance: 'local', url: 'statuses', headers: { - 'Idempotency-Key': sha256( + 'Idempotency-Key': await Crypto.digestStringAsync( + Crypto.CryptoDigestAlgorithm.SHA256, composeState.spoiler.raw + composeState.text.raw + composeState.poll.options['0'] + @@ -477,7 +478,7 @@ const Compose: React.FC = ({ route: { params }, navigation }) => { composeState.attachments.uploads.map(upload => upload.id) + composeState.visibility + (params?.type === 'edit' ? Math.random() : '') - ).toString() + ) }, body: formData }) diff --git a/yarn.lock b/yarn.lock index fa2e9c25..af1ede07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2390,11 +2390,6 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -crypto-js@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" - integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== - css-select@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" @@ -2832,7 +2827,7 @@ expo-constants@^9.3.3, expo-constants@~9.3.3: fbjs "1.0.0" uuid "^3.3.2" -expo-crypto@^8.4.0: +expo-crypto@^8.4.0, expo-crypto@~8.4.0: version "8.4.0" resolved "https://registry.yarnpkg.com/expo-crypto/-/expo-crypto-8.4.0.tgz#59a5b0640bb39db93e6857feafa2c9514b172cef" integrity sha512-EHEFx5sHTDVIuQH8/juuecQWj1uQ7ClM98fKXPFcNYcBlYSCQvkik37hwfJC5WLcVnelFDpvZJmHxiTfB5GKCg==