Update subproject commits and Podfile.lock for dependency versioning

- Marked subprojects as dirty to indicate local changes.
- Updated Podfile.lock to reflect new versions for several dependencies, including EXConstants (18.0.11), EXManifests (1.0.10), Expo (54.0.27), and others, ensuring compatibility and access to the latest features and fixes.
- Adjusted paths in external sources to match updated dependency versions.
This commit is contained in:
Jamie Pine 2025-12-09 19:24:04 -08:00
parent 2770a7a8a9
commit 9438965ffd
2 changed files with 243 additions and 213 deletions

View File

@ -1,10 +1,10 @@
PODS:
- EXConstants (18.0.10):
- EXConstants (18.0.11):
- ExpoModulesCore
- EXJSONUtils (0.15.0)
- EXManifests (1.0.9):
- EXManifests (1.0.10):
- ExpoModulesCore
- Expo (54.0.26):
- Expo (54.0.27):
- ExpoModulesCore
- hermes-engine
- RCTRequired
@ -29,15 +29,15 @@ PODS:
- ReactCommon/turbomodule/core
- ReactNativeDependencies
- Yoga
- expo-dev-client (6.0.19):
- expo-dev-client (6.0.20):
- EXManifests
- expo-dev-launcher
- expo-dev-menu
- expo-dev-menu-interface
- EXUpdatesInterface
- expo-dev-launcher (6.0.19):
- expo-dev-launcher (6.0.20):
- EXManifests
- expo-dev-launcher/Main (= 6.0.19)
- expo-dev-launcher/Main (= 6.0.20)
- expo-dev-menu
- expo-dev-menu-interface
- ExpoModulesCore
@ -66,7 +66,7 @@ PODS:
- ReactCommon/turbomodule/core
- ReactNativeDependencies
- Yoga
- expo-dev-launcher/Main (6.0.19):
- expo-dev-launcher/Main (6.0.20):
- EXManifests
- expo-dev-launcher/Unsafe
- expo-dev-menu
@ -97,7 +97,7 @@ PODS:
- ReactCommon/turbomodule/core
- ReactNativeDependencies
- Yoga
- expo-dev-launcher/Unsafe (6.0.19):
- expo-dev-launcher/Unsafe (6.0.20):
- EXManifests
- expo-dev-menu
- expo-dev-menu-interface
@ -200,35 +200,35 @@ PODS:
- ReactCommon/turbomodule/core
- ReactNativeDependencies
- Yoga
- ExpoAsset (12.0.10):
- ExpoAsset (12.0.11):
- ExpoModulesCore
- ExpoCamera (17.0.10):
- ExpoModulesCore
- ZXingObjC/OneD
- ZXingObjC/PDF417
- ExpoDocumentPicker (14.0.7):
- ExpoDocumentPicker (14.0.8):
- ExpoModulesCore
- ExpoFileSystem (19.0.19):
- ExpoFileSystem (19.0.20):
- ExpoModulesCore
- ExpoFont (14.0.9):
- ExpoFont (14.0.10):
- ExpoModulesCore
- ExpoHaptics (15.0.7):
- ExpoHaptics (15.0.8):
- ExpoModulesCore
- ExpoHead (6.0.16):
- ExpoHead (6.0.17):
- ExpoModulesCore
- RNScreens
- ExpoImage (3.0.10):
- ExpoImage (3.0.11):
- ExpoModulesCore
- libavif/libdav1d
- SDWebImage (~> 5.21.0)
- SDWebImageAVIFCoder (~> 0.11.0)
- SDWebImageSVGCoder (~> 1.7.0)
- SDWebImageWebPCoder (~> 0.14.6)
- ExpoKeepAwake (15.0.7):
- ExpoKeepAwake (15.0.8):
- ExpoModulesCore
- ExpoLinking (8.0.9):
- ExpoLinking (8.0.10):
- ExpoModulesCore
- ExpoModulesCore (3.0.27):
- ExpoModulesCore (3.0.28):
- hermes-engine
- RCTRequired
- RCTTypeSafety
@ -251,7 +251,7 @@ PODS:
- ReactCommon/turbomodule/core
- ReactNativeDependencies
- Yoga
- ExpoSplashScreen (31.0.11):
- ExpoSplashScreen (31.0.12):
- ExpoModulesCore
- EXUpdatesInterface (2.0.0):
- ExpoModulesCore
@ -2041,8 +2041,28 @@ PODS:
- ReactCommon/turbomodule/core
- ReactNativeDependencies
- Yoga
- RNCClipboard (1.5.1):
- RNCClipboard (1.16.3):
- hermes-engine
- RCTRequired
- RCTTypeSafety
- React-Core
- React-Core-prebuilt
- React-debug
- React-Fabric
- React-featureflags
- React-graphics
- React-ImageManager
- React-jsi
- React-NativeModulesApple
- React-RCTFabric
- React-renderercss
- React-rendererdebug
- React-utils
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- ReactNativeDependencies
- Yoga
- RNGestureHandler (2.28.0):
- hermes-engine
- RCTRequired
@ -2323,27 +2343,27 @@ PODS:
- ZXingObjC/Core
DEPENDENCIES:
- "EXConstants (from `../../../node_modules/.bun/expo-constants@18.0.10+51e9e2dc80cf693a/node_modules/expo-constants/ios`)"
- "EXConstants (from `../../../node_modules/.bun/expo-constants@18.0.11+2792f2bc5256f260/node_modules/expo-constants/ios`)"
- "EXJSONUtils (from `../../../node_modules/.bun/expo-json-utils@0.15.0/node_modules/expo-json-utils/ios`)"
- "EXManifests (from `../../../node_modules/.bun/expo-manifests@1.0.9+51e9e2dc80cf693a/node_modules/expo-manifests/ios`)"
- "Expo (from `../../../node_modules/.bun/expo@54.0.26+51e9e2dc80cf693a/node_modules/expo`)"
- "expo-dev-client (from `../../../node_modules/.bun/expo-dev-client@6.0.19+51e9e2dc80cf693a/node_modules/expo-dev-client/ios`)"
- "expo-dev-launcher (from `../../../node_modules/.bun/expo-dev-launcher@6.0.19+51e9e2dc80cf693a/node_modules/expo-dev-launcher`)"
- "expo-dev-menu (from `../../../node_modules/.bun/expo-dev-menu@7.0.18+51e9e2dc80cf693a/node_modules/expo-dev-menu`)"
- "expo-dev-menu-interface (from `../../../node_modules/.bun/expo-dev-menu-interface@2.0.0+51e9e2dc80cf693a/node_modules/expo-dev-menu-interface/ios`)"
- "ExpoAsset (from `../../../node_modules/.bun/expo-asset@12.0.10+51e9e2dc80cf693a/node_modules/expo-asset/ios`)"
- "ExpoCamera (from `../../../node_modules/.bun/expo-camera@17.0.10+51e9e2dc80cf693a/node_modules/expo-camera/ios`)"
- "ExpoDocumentPicker (from `../../../node_modules/.bun/expo-document-picker@14.0.7+51e9e2dc80cf693a/node_modules/expo-document-picker/ios`)"
- "ExpoFileSystem (from `../../../node_modules/.bun/expo-file-system@19.0.19+51e9e2dc80cf693a/node_modules/expo-file-system/ios`)"
- "ExpoFont (from `../../../node_modules/.bun/expo-font@14.0.9+83575243b667459d/node_modules/expo-font/ios`)"
- "ExpoHaptics (from `../../../node_modules/.bun/expo-haptics@15.0.7+51e9e2dc80cf693a/node_modules/expo-haptics/ios`)"
- "ExpoHead (from `../../../node_modules/.bun/expo-router@6.0.16+85d6c08e48ae1549/node_modules/expo-router/ios`)"
- "ExpoImage (from `../../../node_modules/.bun/expo-image@3.0.10+51e9e2dc80cf693a/node_modules/expo-image/ios`)"
- "ExpoKeepAwake (from `../../../node_modules/.bun/expo-keep-awake@15.0.7+206ccdd724816a93/node_modules/expo-keep-awake/ios`)"
- "ExpoLinking (from `../../../node_modules/.bun/expo-linking@8.0.9+51e9e2dc80cf693a/node_modules/expo-linking/ios`)"
- "ExpoModulesCore (from `../../../node_modules/.bun/expo-modules-core@3.0.27+87dd5a4c738f4c73/node_modules/expo-modules-core`)"
- "ExpoSplashScreen (from `../../../node_modules/.bun/expo-splash-screen@31.0.11+51e9e2dc80cf693a/node_modules/expo-splash-screen/ios`)"
- "EXUpdatesInterface (from `../../../node_modules/.bun/expo-updates-interface@2.0.0+51e9e2dc80cf693a/node_modules/expo-updates-interface/ios`)"
- "EXManifests (from `../../../node_modules/.bun/expo-manifests@1.0.10+2792f2bc5256f260/node_modules/expo-manifests/ios`)"
- "Expo (from `../../../node_modules/.bun/expo@54.0.27+2792f2bc5256f260/node_modules/expo`)"
- "expo-dev-client (from `../../../node_modules/.bun/expo-dev-client@6.0.20+2792f2bc5256f260/node_modules/expo-dev-client/ios`)"
- "expo-dev-launcher (from `../../../node_modules/.bun/expo-dev-launcher@6.0.20+2792f2bc5256f260/node_modules/expo-dev-launcher`)"
- "expo-dev-menu (from `../../../node_modules/.bun/expo-dev-menu@7.0.18+2792f2bc5256f260/node_modules/expo-dev-menu`)"
- "expo-dev-menu-interface (from `../../../node_modules/.bun/expo-dev-menu-interface@2.0.0+2792f2bc5256f260/node_modules/expo-dev-menu-interface/ios`)"
- "ExpoAsset (from `../../../node_modules/.bun/expo-asset@12.0.11+2792f2bc5256f260/node_modules/expo-asset/ios`)"
- "ExpoCamera (from `../../../node_modules/.bun/expo-camera@17.0.10+2792f2bc5256f260/node_modules/expo-camera/ios`)"
- "ExpoDocumentPicker (from `../../../node_modules/.bun/expo-document-picker@14.0.8+2792f2bc5256f260/node_modules/expo-document-picker/ios`)"
- "ExpoFileSystem (from `../../../node_modules/.bun/expo-file-system@19.0.20+2792f2bc5256f260/node_modules/expo-file-system/ios`)"
- "ExpoFont (from `../../../node_modules/.bun/expo-font@14.0.10+c262bee79918334c/node_modules/expo-font/ios`)"
- "ExpoHaptics (from `../../../node_modules/.bun/expo-haptics@15.0.8+2792f2bc5256f260/node_modules/expo-haptics/ios`)"
- "ExpoHead (from `../../../node_modules/.bun/expo-router@6.0.17+5ebc6f58bf947709/node_modules/expo-router/ios`)"
- "ExpoImage (from `../../../node_modules/.bun/expo-image@3.0.11+2792f2bc5256f260/node_modules/expo-image/ios`)"
- "ExpoKeepAwake (from `../../../node_modules/.bun/expo-keep-awake@15.0.8+ddb0696906414ead/node_modules/expo-keep-awake/ios`)"
- "ExpoLinking (from `../../../node_modules/.bun/expo-linking@8.0.10+2792f2bc5256f260/node_modules/expo-linking/ios`)"
- "ExpoModulesCore (from `../../../node_modules/.bun/expo-modules-core@3.0.28+87dd5a4c738f4c73/node_modules/expo-modules-core`)"
- "ExpoSplashScreen (from `../../../node_modules/.bun/expo-splash-screen@31.0.12+2792f2bc5256f260/node_modules/expo-splash-screen/ios`)"
- "EXUpdatesInterface (from `../../../node_modules/.bun/expo-updates-interface@2.0.0+2792f2bc5256f260/node_modules/expo-updates-interface/ios`)"
- "FBLazyVector (from `../../../node_modules/.bun/react-native@0.81.5+87dd5a4c738f4c73/node_modules/react-native/Libraries/FBLazyVector`)"
- "hermes-engine (from `../../../node_modules/.bun/react-native@0.81.5+87dd5a4c738f4c73/node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)"
- "RCTDeprecation (from `../../../node_modules/.bun/react-native@0.81.5+87dd5a4c738f4c73/node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)"
@ -2414,7 +2434,7 @@ DEPENDENCIES:
- "ReactCommon/turbomodule/core (from `../../../node_modules/.bun/react-native@0.81.5+87dd5a4c738f4c73/node_modules/react-native/ReactCommon`)"
- "ReactNativeDependencies (from `../../../node_modules/.bun/react-native@0.81.5+87dd5a4c738f4c73/node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec`)"
- "RNCAsyncStorage (from `../../../node_modules/.bun/@react-native-async-storage+async-storage@2.2.0+87dd5a4c738f4c73/node_modules/@react-native-async-storage/async-storage`)"
- "RNCClipboard (from `../../../node_modules/.bun/@react-native-community+clipboard@1.5.1+87dd5a4c738f4c73/node_modules/@react-native-community/clipboard`)"
- "RNCClipboard (from `../../../node_modules/.bun/@react-native-clipboard+clipboard@1.16.3+87dd5a4c738f4c73/node_modules/@react-native-clipboard/clipboard`)"
- "RNGestureHandler (from `../../../node_modules/.bun/react-native-gesture-handler@2.28.0+87dd5a4c738f4c73/node_modules/react-native-gesture-handler`)"
- "RNReanimated (from `../../../node_modules/.bun/react-native-reanimated@4.1.6+d983531a34c8e10a/node_modules/react-native-reanimated`)"
- "RNScreens (from `../../../node_modules/.bun/react-native-screens@4.16.0+87dd5a4c738f4c73/node_modules/react-native-screens`)"
@ -2436,47 +2456,47 @@ SPEC REPOS:
EXTERNAL SOURCES:
EXConstants:
:path: "../../../node_modules/.bun/expo-constants@18.0.10+51e9e2dc80cf693a/node_modules/expo-constants/ios"
:path: "../../../node_modules/.bun/expo-constants@18.0.11+2792f2bc5256f260/node_modules/expo-constants/ios"
EXJSONUtils:
:path: "../../../node_modules/.bun/expo-json-utils@0.15.0/node_modules/expo-json-utils/ios"
EXManifests:
:path: "../../../node_modules/.bun/expo-manifests@1.0.9+51e9e2dc80cf693a/node_modules/expo-manifests/ios"
:path: "../../../node_modules/.bun/expo-manifests@1.0.10+2792f2bc5256f260/node_modules/expo-manifests/ios"
Expo:
:path: "../../../node_modules/.bun/expo@54.0.26+51e9e2dc80cf693a/node_modules/expo"
:path: "../../../node_modules/.bun/expo@54.0.27+2792f2bc5256f260/node_modules/expo"
expo-dev-client:
:path: "../../../node_modules/.bun/expo-dev-client@6.0.19+51e9e2dc80cf693a/node_modules/expo-dev-client/ios"
:path: "../../../node_modules/.bun/expo-dev-client@6.0.20+2792f2bc5256f260/node_modules/expo-dev-client/ios"
expo-dev-launcher:
:path: "../../../node_modules/.bun/expo-dev-launcher@6.0.19+51e9e2dc80cf693a/node_modules/expo-dev-launcher"
:path: "../../../node_modules/.bun/expo-dev-launcher@6.0.20+2792f2bc5256f260/node_modules/expo-dev-launcher"
expo-dev-menu:
:path: "../../../node_modules/.bun/expo-dev-menu@7.0.18+51e9e2dc80cf693a/node_modules/expo-dev-menu"
:path: "../../../node_modules/.bun/expo-dev-menu@7.0.18+2792f2bc5256f260/node_modules/expo-dev-menu"
expo-dev-menu-interface:
:path: "../../../node_modules/.bun/expo-dev-menu-interface@2.0.0+51e9e2dc80cf693a/node_modules/expo-dev-menu-interface/ios"
:path: "../../../node_modules/.bun/expo-dev-menu-interface@2.0.0+2792f2bc5256f260/node_modules/expo-dev-menu-interface/ios"
ExpoAsset:
:path: "../../../node_modules/.bun/expo-asset@12.0.10+51e9e2dc80cf693a/node_modules/expo-asset/ios"
:path: "../../../node_modules/.bun/expo-asset@12.0.11+2792f2bc5256f260/node_modules/expo-asset/ios"
ExpoCamera:
:path: "../../../node_modules/.bun/expo-camera@17.0.10+51e9e2dc80cf693a/node_modules/expo-camera/ios"
:path: "../../../node_modules/.bun/expo-camera@17.0.10+2792f2bc5256f260/node_modules/expo-camera/ios"
ExpoDocumentPicker:
:path: "../../../node_modules/.bun/expo-document-picker@14.0.7+51e9e2dc80cf693a/node_modules/expo-document-picker/ios"
:path: "../../../node_modules/.bun/expo-document-picker@14.0.8+2792f2bc5256f260/node_modules/expo-document-picker/ios"
ExpoFileSystem:
:path: "../../../node_modules/.bun/expo-file-system@19.0.19+51e9e2dc80cf693a/node_modules/expo-file-system/ios"
:path: "../../../node_modules/.bun/expo-file-system@19.0.20+2792f2bc5256f260/node_modules/expo-file-system/ios"
ExpoFont:
:path: "../../../node_modules/.bun/expo-font@14.0.9+83575243b667459d/node_modules/expo-font/ios"
:path: "../../../node_modules/.bun/expo-font@14.0.10+c262bee79918334c/node_modules/expo-font/ios"
ExpoHaptics:
:path: "../../../node_modules/.bun/expo-haptics@15.0.7+51e9e2dc80cf693a/node_modules/expo-haptics/ios"
:path: "../../../node_modules/.bun/expo-haptics@15.0.8+2792f2bc5256f260/node_modules/expo-haptics/ios"
ExpoHead:
:path: "../../../node_modules/.bun/expo-router@6.0.16+85d6c08e48ae1549/node_modules/expo-router/ios"
:path: "../../../node_modules/.bun/expo-router@6.0.17+5ebc6f58bf947709/node_modules/expo-router/ios"
ExpoImage:
:path: "../../../node_modules/.bun/expo-image@3.0.10+51e9e2dc80cf693a/node_modules/expo-image/ios"
:path: "../../../node_modules/.bun/expo-image@3.0.11+2792f2bc5256f260/node_modules/expo-image/ios"
ExpoKeepAwake:
:path: "../../../node_modules/.bun/expo-keep-awake@15.0.7+206ccdd724816a93/node_modules/expo-keep-awake/ios"
:path: "../../../node_modules/.bun/expo-keep-awake@15.0.8+ddb0696906414ead/node_modules/expo-keep-awake/ios"
ExpoLinking:
:path: "../../../node_modules/.bun/expo-linking@8.0.9+51e9e2dc80cf693a/node_modules/expo-linking/ios"
:path: "../../../node_modules/.bun/expo-linking@8.0.10+2792f2bc5256f260/node_modules/expo-linking/ios"
ExpoModulesCore:
:path: "../../../node_modules/.bun/expo-modules-core@3.0.27+87dd5a4c738f4c73/node_modules/expo-modules-core"
:path: "../../../node_modules/.bun/expo-modules-core@3.0.28+87dd5a4c738f4c73/node_modules/expo-modules-core"
ExpoSplashScreen:
:path: "../../../node_modules/.bun/expo-splash-screen@31.0.11+51e9e2dc80cf693a/node_modules/expo-splash-screen/ios"
:path: "../../../node_modules/.bun/expo-splash-screen@31.0.12+2792f2bc5256f260/node_modules/expo-splash-screen/ios"
EXUpdatesInterface:
:path: "../../../node_modules/.bun/expo-updates-interface@2.0.0+51e9e2dc80cf693a/node_modules/expo-updates-interface/ios"
:path: "../../../node_modules/.bun/expo-updates-interface@2.0.0+2792f2bc5256f260/node_modules/expo-updates-interface/ios"
FBLazyVector:
:path: "../../../node_modules/.bun/react-native@0.81.5+87dd5a4c738f4c73/node_modules/react-native/Libraries/FBLazyVector"
hermes-engine:
@ -2617,7 +2637,7 @@ EXTERNAL SOURCES:
RNCAsyncStorage:
:path: "../../../node_modules/.bun/@react-native-async-storage+async-storage@2.2.0+87dd5a4c738f4c73/node_modules/@react-native-async-storage/async-storage"
RNCClipboard:
:path: "../../../node_modules/.bun/@react-native-community+clipboard@1.5.1+87dd5a4c738f4c73/node_modules/@react-native-community/clipboard"
:path: "../../../node_modules/.bun/@react-native-clipboard+clipboard@1.16.3+87dd5a4c738f4c73/node_modules/@react-native-clipboard/clipboard"
RNGestureHandler:
:path: "../../../node_modules/.bun/react-native-gesture-handler@2.28.0+87dd5a4c738f4c73/node_modules/react-native-gesture-handler"
RNReanimated:
@ -2634,26 +2654,26 @@ EXTERNAL SOURCES:
:path: "../../../node_modules/.bun/react-native@0.81.5+87dd5a4c738f4c73/node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
EXConstants: fd688cef4e401dcf798a021cfb5d87c890c30ba3
EXConstants: c378c1b344ff1ecfbad27b90f0e48d1d0ead8cbb
EXJSONUtils: 1d3e4590438c3ee593684186007028a14b3686cd
EXManifests: 26e15640538c3d5ef028077ebcaf004b744d4932
Expo: 7af24402df45b9384900104e88a11896ffc48161
expo-dev-client: 8c7ea59b34bfe0a89bd78b831c067605c7868523
expo-dev-launcher: 444f77c299d5d6e129a46202fd14a92068ab3ee0
EXManifests: a8d97683e5c7a3b026ffbd58559c64dc655b747b
Expo: 3d19389232751e415391827839a629100a3c6a64
expo-dev-client: 425ee077d6754a98cfe3a2e2410d29b440b24c9d
expo-dev-launcher: a4f4cdef064ab1fb8621e5b8c7c457cd6e9568c3
expo-dev-menu: 05b18812110c175814c6af0d09dd658abcc5e00d
expo-dev-menu-interface: 600df12ea01efecdd822daaf13cc0ac091775533
ExpoAsset: d839c8eae8124470332408427327e8f88beb2dfd
ExpoAsset: 23a958e97d3d340919fe6774db35d563241e6c03
ExpoCamera: 6a326deb45ba840749652e4c15198317aa78497e
ExpoDocumentPicker: 2200eefc2817f19315fa18f0147e0b80ece86926
ExpoFileSystem: 77157a101e03150a4ea4f854b4dd44883c93ae0a
ExpoFont: cf9d90ec1d3b97c4f513211905724c8171f82961
ExpoHaptics: 807476b0c39e9d82b7270349d6487928ce32df84
ExpoHead: fc0185d5c2a51ea599aff223aba5d61782301044
ExpoImage: 9c3428921c536ab29e5c6721d001ad5c1f469566
ExpoKeepAwake: 1a2e820692e933c94a565ec3fbbe38ac31658ffe
ExpoLinking: 77455aa013e9b6a3601de03ecfab09858ee1b031
ExpoModulesCore: bdc95c6daa1639e235a16350134152a0b28e5c72
ExpoSplashScreen: 268b2f128dc04284c21010540a6c4dd9f95003e3
ExpoDocumentPicker: 7cd9e71a0f66fb19eb0a586d6f26eee1284692e0
ExpoFileSystem: 3592defb5faa3c5866a2900eae87ceec8cc0489f
ExpoFont: 35ac6191ed86bbf56b3ebd2d9154eda9fad5b509
ExpoHaptics: d3a6375d8dcc3a1083d003bc2298ff654fafb536
ExpoHead: 5611b33d6b983922d0233367ee6ab65633364dfd
ExpoImage: 686f972bff29525733aa13357f6691dc90aa03d8
ExpoKeepAwake: 55f75eca6499bb9e4231ebad6f3e9cb8f99c0296
ExpoLinking: f4c4a351523da72a6bfa7e1f4ca92aee1043a3ca
ExpoModulesCore: ded694f230d03c59d919efe243911622fa169834
ExpoSplashScreen: 76af87337650d06926aa7d0157fe98b4fddca336
EXUpdatesInterface: 5adf50cb41e079c861da6d9b4b954c3db9a50734
FBLazyVector: e95a291ad2dadb88e42b06e0c5fb8262de53ec12
hermes-engine: 9f4dfe93326146a1c99eb535b1cb0b857a3cd172
@ -2727,7 +2747,7 @@ SPEC CHECKSUMS:
ReactCommon: 08810150b1206cc44aecf5f6ae19af32f29151a8
ReactNativeDependencies: 71ce9c28beb282aa720ea7b46980fff9669f428a
RNCAsyncStorage: 3a4f5e2777dae1688b781a487923a08569e27fe4
RNCClipboard: b0541df1bb88935d40bdc93b41b7d8e3334c998a
RNCClipboard: 88d7eeb555d1183915f0885bdbc5c97eb6f7f3ba
RNGestureHandler: 2914750df066d89bf9d8f48a10ad5f0051108ac3
RNReanimated: 83246804817326398f1506dd916bf6fe47fa6242
RNScreens: d8d6f1792f6e7ac12b0190d33d8d390efc0c1845

View File

@ -1,10 +1,10 @@
import React, {
useEffect,
useState,
ReactNode,
} from "react";
import React, { useEffect, useState, ReactNode } from "react";
import { QueryClientProvider } from "@tanstack/react-query";
import { SpacedriveClientContext, queryClient, useSpacedriveClient } from "@sd/ts-client/src/hooks/useClient";
import {
SpacedriveClientContext,
queryClient,
useSpacedriveClient,
} from "@sd/ts-client/src/hooks/useClient";
import { SpacedriveClient } from "../SpacedriveClient";
import { View, Text, ActivityIndicator, StyleSheet } from "react-native";
import AsyncStorage from "@react-native-async-storage/async-storage";
@ -14,8 +14,8 @@ import { SDMobileCore } from "sd-mobile-core";
export { useSpacedriveClient };
interface SpacedriveProviderProps {
children: ReactNode;
deviceName?: string;
children: ReactNode;
deviceName?: string;
}
/**
@ -23,147 +23,157 @@ interface SpacedriveProviderProps {
* and provides the client context to children.
*/
export function SpacedriveProvider({
children,
deviceName,
children,
deviceName,
}: SpacedriveProviderProps) {
const [client] = useState(() => new SpacedriveClient());
const [initialized, setInitialized] = useState(false);
const [error, setError] = useState<string | null>(null);
const [client] = useState(() => new SpacedriveClient());
const [initialized, setInitialized] = useState(false);
const [error, setError] = useState<string | null>(null);
useEffect(() => {
let mounted = true;
let unsubscribeLogs: (() => void) | null = null;
useEffect(() => {
let mounted = true;
let unsubscribeLogs: (() => void) | null = null;
async function init() {
try {
await client.initialize(deviceName ?? "Spacedrive Mobile");
async function init() {
try {
await client.initialize(deviceName ?? "Spacedrive Mobile");
// Subscribe to core logs AFTER core is initialized
console.log("[SpacedriveProvider] 🔌 Subscribing to core logs...");
unsubscribeLogs = SDMobileCore.addLogListener((log) => {
console.log("[SpacedriveProvider] 📝 RAW LOG RECEIVED:", log);
try {
const logData = JSON.parse(log.body);
console.log(`[CORE ${logData.level}] ${logData.target}: ${logData.message}`);
} catch (e) {
console.error("[SpacedriveProvider] Failed to parse log:", log.body);
}
});
console.log("[SpacedriveProvider] ✅ Log listener subscribed");
// // Subscribe to core logs AFTER core is initialized
// console.log("[SpacedriveProvider] Subscribing to core logs...");
// unsubscribeLogs = SDMobileCore.addLogListener((log) => {
// console.log("[SpacedriveProvider] RAW LOG RECEIVED:", log);
// try {
// const logData = JSON.parse(log.body);
// console.log(`[CORE ${logData.level}] ${logData.target}: ${logData.message}`);
// } catch (e) {
// console.error("[SpacedriveProvider] Failed to parse log:", log.body);
// }
// });
// console.log("[SpacedriveProvider] Log listener subscribed");
// Load persisted library ID from storage
const storedData = await AsyncStorage.getItem("spacedrive-sidebar");
let libraryIdSet = false;
// Load persisted library ID from storage
const storedData = await AsyncStorage.getItem("spacedrive-sidebar");
let libraryIdSet = false;
if (storedData) {
const parsed = JSON.parse(storedData);
if (parsed.state?.currentLibraryId) {
console.log("[SpacedriveProvider] Restoring library ID:", parsed.state.currentLibraryId);
client.setCurrentLibrary(parsed.state.currentLibraryId);
libraryIdSet = true;
}
}
if (storedData) {
const parsed = JSON.parse(storedData);
if (parsed.state?.currentLibraryId) {
console.log(
"[SpacedriveProvider] Restoring library ID:",
parsed.state.currentLibraryId,
);
client.setCurrentLibrary(parsed.state.currentLibraryId);
libraryIdSet = true;
}
}
// If no library ID was restored, try to auto-select the first library
if (!libraryIdSet) {
try {
const libraries = await client.coreQuery("libraries.list", { include_stats: false });
if (libraries && Array.isArray(libraries) && libraries.length > 0) {
const firstLibrary = libraries[0];
console.log("[SpacedriveProvider] Auto-selecting first library:", firstLibrary.name, firstLibrary.id);
client.setCurrentLibrary(firstLibrary.id);
// If no library ID was restored, try to auto-select the first library
if (!libraryIdSet) {
try {
const libraries = await client.coreQuery("libraries.list", {
include_stats: false,
});
if (libraries && Array.isArray(libraries) && libraries.length > 0) {
const firstLibrary = libraries[0];
console.log(
"[SpacedriveProvider] Auto-selecting first library:",
firstLibrary.name,
firstLibrary.id,
);
client.setCurrentLibrary(firstLibrary.id);
// Also save to AsyncStorage for next time
await AsyncStorage.setItem(
"spacedrive-sidebar",
JSON.stringify({
state: {
currentLibraryId: firstLibrary.id,
collapsedGroups: [],
},
})
);
} else {
console.warn("[SpacedriveProvider] No libraries available to auto-select");
}
} catch (error) {
console.error("[SpacedriveProvider] Failed to auto-select library:", error);
}
}
// Also save to AsyncStorage for next time
await AsyncStorage.setItem(
"spacedrive-sidebar",
JSON.stringify({
state: {
currentLibraryId: firstLibrary.id,
collapsedGroups: [],
},
}),
);
} else {
console.warn(
"[SpacedriveProvider] No libraries available to auto-select",
);
}
} catch (error) {
console.error(
"[SpacedriveProvider] Failed to auto-select library:",
error,
);
}
}
if (mounted) {
setInitialized(true);
}
} catch (e) {
console.error("[SpacedriveProvider] Failed to initialize:", e);
if (mounted) {
setError(
e instanceof Error ? e.message : "Failed to initialize",
);
}
}
}
if (mounted) {
setInitialized(true);
}
} catch (e) {
console.error("[SpacedriveProvider] Failed to initialize:", e);
if (mounted) {
setError(e instanceof Error ? e.message : "Failed to initialize");
}
}
}
init();
init();
return () => {
mounted = false;
if (unsubscribeLogs) unsubscribeLogs();
client.destroy();
};
}, [client, deviceName]);
return () => {
mounted = false;
if (unsubscribeLogs) unsubscribeLogs();
client.destroy();
};
}, [client, deviceName]);
if (error) {
return (
<View style={styles.container}>
<Text style={styles.errorTitle}>Initialization Error</Text>
<Text style={styles.errorText}>{error}</Text>
</View>
);
}
if (error) {
return (
<View style={styles.container}>
<Text style={styles.errorTitle}>Initialization Error</Text>
<Text style={styles.errorText}>{error}</Text>
</View>
);
}
if (!initialized) {
return (
<View style={styles.container}>
<ActivityIndicator size="large" color="#2599FF" />
<Text style={styles.loadingText}>
Initializing Spacedrive...
</Text>
</View>
);
}
if (!initialized) {
return (
<View style={styles.container}>
<ActivityIndicator size="large" color="#2599FF" />
<Text style={styles.loadingText}>Initializing Spacedrive...</Text>
</View>
);
}
return (
<QueryClientProvider client={queryClient}>
<SpacedriveClientContext.Provider value={client}>
{children}
</SpacedriveClientContext.Provider>
</QueryClientProvider>
);
return (
<QueryClientProvider client={queryClient}>
<SpacedriveClientContext.Provider value={client}>
{children}
</SpacedriveClientContext.Provider>
</QueryClientProvider>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "hsl(235, 15%, 13%)",
alignItems: "center",
justifyContent: "center",
padding: 20,
},
loadingText: {
color: "hsl(235, 10%, 70%)",
marginTop: 16,
fontSize: 16,
},
errorTitle: {
color: "#ff5555",
fontSize: 20,
fontWeight: "bold",
marginBottom: 8,
},
errorText: {
color: "hsl(235, 10%, 70%)",
fontSize: 14,
textAlign: "center",
},
container: {
flex: 1,
backgroundColor: "hsl(235, 15%, 13%)",
alignItems: "center",
justifyContent: "center",
padding: 20,
},
loadingText: {
color: "hsl(235, 10%, 70%)",
marginTop: 16,
fontSize: 16,
},
errorTitle: {
color: "#ff5555",
fontSize: 20,
fontWeight: "bold",
marginBottom: 8,
},
errorText: {
color: "hsl(235, 10%, 70%)",
fontSize: 14,
textAlign: "center",
},
});