From 26c114830a908ce7034a6345a41d913c5263011d Mon Sep 17 00:00:00 2001 From: Gabriel Donadel Date: Mon, 15 Jan 2024 17:20:25 -0300 Subject: [PATCH 1/2] [menu-bar] Remove AsyncStorage migrator --- apps/menu-bar/macos/Podfile.lock | 10 +---- apps/menu-bar/package.json | 1 - apps/menu-bar/src/App.tsx | 13 +++--- apps/menu-bar/src/modules/PersistGate.tsx | 48 ----------------------- 4 files changed, 7 insertions(+), 65 deletions(-) delete mode 100644 apps/menu-bar/src/modules/PersistGate.tsx diff --git a/apps/menu-bar/macos/Podfile.lock b/apps/menu-bar/macos/Podfile.lock index 1e0801b6..3e6c938a 100644 --- a/apps/menu-bar/macos/Podfile.lock +++ b/apps/menu-bar/macos/Podfile.lock @@ -1059,8 +1059,6 @@ PODS: - React-jsi (= 0.73.1) - React-logger (= 0.73.1) - React-perflogger (= 0.73.1) - - RNCAsyncStorage (1.19.0): - - React-Core - RNCClipboard (1.13.1): - React-Core - RNSVG (13.14.0): @@ -1122,7 +1120,6 @@ DEPENDENCIES: - React-runtimescheduler (from `../../../node_modules/react-native-macos/ReactCommon/react/renderer/runtimescheduler`) - React-utils (from `../../../node_modules/react-native-macos/ReactCommon/react/utils`) - ReactCommon/turbomodule/core (from `../../../node_modules/react-native-macos/ReactCommon`) - - "RNCAsyncStorage (from `../../../node_modules/@react-native-async-storage/async-storage`)" - "RNCClipboard (from `../../../node_modules/@react-native-clipboard/clipboard`)" - RNSVG (from `../../../node_modules/react-native-svg`) - Sparkle (~> 2.5.0) @@ -1237,8 +1234,6 @@ EXTERNAL SOURCES: :path: "../../../node_modules/react-native-macos/ReactCommon/react/utils" ReactCommon: :path: "../../../node_modules/react-native-macos/ReactCommon" - RNCAsyncStorage: - :path: "../../../node_modules/@react-native-async-storage/async-storage" RNCClipboard: :path: "../../../node_modules/@react-native-clipboard/clipboard" RNSVG: @@ -1299,14 +1294,13 @@ SPEC CHECKSUMS: React-runtimescheduler: b4ed0e5f08dd236185b3d719c484b1d07ed69c07 React-utils: 9b1df4c7eb86a02607d61db23652559780031449 ReactCommon: 608b12d4b6d2fa209101a960a202721d33cd35b6 - RNCAsyncStorage: 4b98ac3c64efa4e35c1197cb0c5ca5e9f5d4c666 RNCClipboard: 90e241893de33a2f5962fc34d76ada4576033e49 RNSVG: d00c8f91c3cbf6d476451313a18f04d220d4f396 SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d Sparkle: 913cef92f73e08d0ae47a36ee20e523913e5f9e2 Swifter: e71dd674404923d7f03ebb03f3f222d1c570bc8e - Yoga: 5f6d85ca2ac7a018ea0ff4c3da3e5514a3f2149c + Yoga: 88f18d68738202d1be157e417a291ac59f86a77c PODFILE CHECKSUM: a15655f397a85e92ecca3834288dddae790b0c5a -COCOAPODS: 1.13.0 +COCOAPODS: 1.14.3 diff --git a/apps/menu-bar/package.json b/apps/menu-bar/package.json index aa178443..4893fa45 100644 --- a/apps/menu-bar/package.json +++ b/apps/menu-bar/package.json @@ -19,7 +19,6 @@ "dependencies": { "@apollo/client": "^3.8.1", "@expo/styleguide-native": "^1.0.1", - "@react-native-async-storage/async-storage": "^1.19.0", "@react-native-clipboard/clipboard": "^1.13.1", "apollo3-cache-persist": "^0.14.1", "common-types": "1.0.0", diff --git a/apps/menu-bar/src/App.tsx b/apps/menu-bar/src/App.tsx index b67da1c4..9475f4ab 100644 --- a/apps/menu-bar/src/App.tsx +++ b/apps/menu-bar/src/App.tsx @@ -3,7 +3,6 @@ import { StyleSheet } from 'react-native'; import AutoResizerRootView from './components/AutoResizerRootView'; import { SAFE_AREA_FACTOR } from './hooks/useSafeDisplayDimensions'; -import { PersistGate } from './modules/PersistGate'; import Popover from './popover'; import { DevicesProvider } from './providers/DevicesProvider'; import { ThemeProvider } from './providers/ThemeProvider'; @@ -18,13 +17,11 @@ function App(props: Props) { style={styles.container} enabled={!props.isDevWindow} maxRelativeHeight={SAFE_AREA_FACTOR}> - - - - - - - + + + + + ); } diff --git a/apps/menu-bar/src/modules/PersistGate.tsx b/apps/menu-bar/src/modules/PersistGate.tsx deleted file mode 100644 index 8ef1a269..00000000 --- a/apps/menu-bar/src/modules/PersistGate.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import AsyncStorage from '@react-native-async-storage/async-storage'; -import { useEffect, useState } from 'react'; - -import { storage } from './Storage'; - -// TODO: Remove after v1.0.0 -const migratedStorageKey = 'hasMigratedFromAsyncStorage'; - -interface Props { - children: React.ReactElement; -} - -export function PersistGate({ children }: Props) { - const [hasMigrated, setHasMigrated] = useState(storage.getBoolean(migratedStorageKey) || false); - - useEffect(() => { - async function migrateFromAsyncStorage() { - const keys = await AsyncStorage.getAllKeys(); - - for (const key of keys) { - const value = await AsyncStorage.getItem(key); - - if (value != null) { - if (['true', 'false'].includes(value)) { - storage.set(key, value === 'true'); - } else { - storage.set(key, value); - } - - AsyncStorage.removeItem(key); - } - } - - storage.set(migratedStorageKey, true); - setHasMigrated(true); - } - - if (!hasMigrated) { - migrateFromAsyncStorage(); - } - }, [hasMigrated]); - - if (!hasMigrated) { - return null; - } - - return children; -} From 5275dc95f0a7f28a5aaeeaa4b8a9cb5239c3195d Mon Sep 17 00:00:00 2001 From: Gabriel Donadel Date: Mon, 15 Jan 2024 17:26:03 -0300 Subject: [PATCH 2/2] Add changelog entry --- CHANGELOG.md | 2 ++ yarn.lock | 19 ------------------- 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6be84c0d..d8095b08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ ### 💡 Others +- Remove AsyncStorage migrator and @react-native-async-storage/async-storage dependency. ([#135](https://github.com/expo/orbit/pull/135) by [@gabrieldonadel](https://github.com/gabrieldonadel)) + ## 1.0.2 — 2024-01-17 ### 🎉 New features diff --git a/yarn.lock b/yarn.lock index 9562fd79..75c8348b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2837,13 +2837,6 @@ picocolors "^1.0.0" tslib "^2.6.0" -"@react-native-async-storage/async-storage@^1.19.0": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.19.0.tgz#594aca9c20924b7955d62cf43797b4187e1e6cf8" - integrity sha512-xOFkz/FaQctD6yNJDur+WnHdSTigOs3pTz6HmfC8X8PYwcnnN3R9UxuWiwsfK8vvT2WioAxUkQt3lB7GySNA2w== - dependencies: - merge-options "^3.0.4" - "@react-native-clipboard/clipboard@^1.13.1": version "1.13.1" resolved "https://registry.yarnpkg.com/@react-native-clipboard/clipboard/-/clipboard-1.13.1.tgz#e313110aa487c510acb9f810637a41d1d0511857" @@ -7596,11 +7589,6 @@ is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -8862,13 +8850,6 @@ meow@^8.1.2: type-fest "^0.18.0" yargs-parser "^20.2.3" -merge-options@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" - integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== - dependencies: - is-plain-obj "^2.1.0" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"