expo 55.0.0-canary-20251008-6acbc1c → 55.0.0-canary-20251009-9919e08

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Expo.podspec CHANGED
@@ -87,7 +87,6 @@ Pod::Spec.new do |s|
87
87
  # [end] transitive dependencies of React-RCTAppDelegate that are not defined modules
88
88
  ])
89
89
  end
90
-
91
90
  s.pod_target_xcconfig = {
92
91
  'HEADER_SEARCH_PATHS' => header_search_paths.join(' '),
93
92
  }
@@ -32,7 +32,7 @@ buildscript {
32
32
  def reactNativeVersion = project.extensions.getByType(ExpoModuleExtension).reactNativeVersion
33
33
 
34
34
  group = 'host.exp.exponent'
35
- version = '55.0.0-canary-20251008-6acbc1c'
35
+ version = '55.0.0-canary-20251009-9919e08'
36
36
 
37
37
  expoModule {
38
38
  // We can't prebuild the module because it depends on the generated files.
@@ -43,7 +43,7 @@ android {
43
43
  namespace "expo.core"
44
44
  defaultConfig {
45
45
  versionCode 1
46
- versionName "55.0.0-canary-20251008-6acbc1c"
46
+ versionName "55.0.0-canary-20251009-9919e08"
47
47
  consumerProguardFiles("proguard-rules.pro")
48
48
  }
49
49
  testOptions {
@@ -5,7 +5,6 @@ package expo.modules
5
5
  import android.content.Context
6
6
  import com.facebook.react.ReactHost
7
7
  import com.facebook.react.ReactInstanceEventListener
8
- import com.facebook.react.ReactNativeHost
9
8
  import com.facebook.react.ReactPackage
10
9
  import com.facebook.react.ReactPackageTurboModuleManagerDelegate
11
10
  import com.facebook.react.bridge.JSBundleLoader
@@ -21,10 +20,7 @@ import com.facebook.react.runtime.ReactHostDelegate
21
20
  import com.facebook.react.runtime.ReactHostImpl
22
21
  import com.facebook.react.runtime.hermes.HermesInstance
23
22
  import expo.modules.core.interfaces.ReactNativeHostHandler
24
- import com.facebook.react.runtime.internal.bolts.Task
25
23
  import java.lang.ref.WeakReference
26
- import java.util.concurrent.Executors
27
- import expo.modules.logbox.ExpoLogBoxBuildConfig
28
24
 
29
25
  object ExpoReactHostFactory {
30
26
  private var reactHost: ReactHost? = null
@@ -43,6 +39,24 @@ object ExpoReactHostFactory {
43
39
  private val hostHandlers: List<ReactNativeHostHandler>
44
40
  ) : ReactHostDelegate {
45
41
 
42
+ val hostDelegateJsBundleFilePath: String? by lazy {
43
+ hostHandlers.asSequence()
44
+ .mapNotNull { it.getJSBundleFile(useDevSupport) }
45
+ .firstOrNull() ?: jsBundleFilePath
46
+ }
47
+
48
+ val hostDelegateJSBundleAssetPath: String? by lazy {
49
+ hostHandlers.asSequence()
50
+ .mapNotNull { it.getBundleAssetName(useDevSupport) }
51
+ .firstOrNull() ?: jsBundleAssetPath
52
+ }
53
+
54
+ val hostDelegateUseDeveloperSupport: Boolean by lazy {
55
+ hostHandlers.asSequence()
56
+ .mapNotNull { it.useDeveloperSupport }
57
+ .firstOrNull() ?: useDevSupport
58
+ }
59
+
46
60
  // Keeps this `_jsBundleLoader` backing property for DevLauncher to replace its internal value
47
61
  private var _jsBundleLoader: JSBundleLoader? = null
48
62
  override val jsBundleLoader: JSBundleLoader
@@ -52,14 +66,14 @@ object ExpoReactHostFactory {
52
66
  return backingJSBundleLoader
53
67
  }
54
68
  val context = weakContext.get() ?: throw IllegalStateException("Unable to get concrete Context")
55
- jsBundleFilePath?.let { jsBundleFile ->
69
+ hostDelegateJsBundleFilePath?.let { jsBundleFile ->
56
70
  if (jsBundleFile.startsWith("assets://")) {
57
71
  return JSBundleLoader.createAssetLoader(context, jsBundleFile, true)
58
72
  }
59
73
  return JSBundleLoader.createFileLoader(jsBundleFile)
60
74
  }
61
75
 
62
- return JSBundleLoader.createAssetLoader(context, "assets://$jsBundleAssetPath", true)
76
+ return JSBundleLoader.createAssetLoader(context, "assets://$hostDelegateJSBundleAssetPath", true)
63
77
  }
64
78
 
65
79
  override val jsRuntimeFactory: JSRuntimeFactory
@@ -73,78 +87,11 @@ object ExpoReactHostFactory {
73
87
  throw error
74
88
  }
75
89
  hostHandlers.forEach { handler ->
76
- handler.onReactInstanceException(useDevSupport, error)
90
+ handler.onReactInstanceException(hostDelegateUseDeveloperSupport, error)
77
91
  }
78
92
  }
79
93
  }
80
94
 
81
- @OptIn(UnstableReactNativeAPI::class)
82
- @JvmStatic
83
- fun createFromReactNativeHost(
84
- context: Context,
85
- reactNativeHost: ReactNativeHost
86
- ): ReactHost {
87
- require(reactNativeHost is ReactNativeHostWrapper) {
88
- "You can call createFromReactNativeHost only with instances of ReactNativeHostWrapper"
89
- }
90
- if (reactHost == null) {
91
- val useDeveloperSupport = reactNativeHost.useDeveloperSupport
92
- val componentFactory = ComponentFactory()
93
- DefaultComponentsRegistry.register(componentFactory)
94
-
95
- reactNativeHost.reactNativeHostHandlers.forEach { handler ->
96
- handler.onWillCreateReactInstance(useDeveloperSupport)
97
- }
98
-
99
- val reactHostDelegate = ExpoReactHostDelegate(
100
- WeakReference(context),
101
- reactNativeHost.packages,
102
- reactNativeHost.jsMainModuleName,
103
- reactNativeHost.bundleAssetName,
104
- reactNativeHost.jsBundleFile,
105
- reactNativeHost.useDeveloperSupport,
106
- hostHandlers = reactNativeHost.reactNativeHostHandlers
107
- )
108
-
109
- val reactHostImpl = when {
110
- ExpoLogBoxBuildConfig.UNSTABLE_IS_ENABLED && useDeveloperSupport -> ReactHostImpl(
111
- context,
112
- reactHostDelegate,
113
- componentFactory,
114
- Executors.newSingleThreadExecutor(),
115
- Task.UI_THREAD_EXECUTOR,
116
- allowPackagerServerAccess = true,
117
- useDevSupport = true,
118
- devSupportManagerFactory = ExpoDefaultDevSupportManagerFactory(),
119
- )
120
- else -> ReactHostImpl(
121
- context,
122
- reactHostDelegate,
123
- componentFactory,
124
- true,
125
- useDeveloperSupport
126
- )
127
- }
128
-
129
- reactNativeHost.reactNativeHostHandlers.forEach { handler ->
130
- handler.onDidCreateDevSupportManager(reactHostImpl.devSupportManager)
131
- }
132
-
133
-
134
-
135
- reactHostImpl.addReactInstanceEventListener(object : ReactInstanceEventListener {
136
- override fun onReactContextInitialized(context: ReactContext) {
137
- reactNativeHost.reactNativeHostHandlers.forEach { handler ->
138
- handler.onDidCreateReactInstance(useDeveloperSupport, context)
139
- }
140
- }
141
- })
142
-
143
- reactHost = reactHostImpl
144
- }
145
- return reactHost as ReactHost
146
- }
147
-
148
95
  @OptIn(UnstableReactNativeAPI::class)
149
96
  @JvmStatic
150
97
  fun getDefaultReactHost(
@@ -12,7 +12,6 @@ import android.os.Bundle
12
12
  import android.util.Log
13
13
  import android.view.KeyEvent
14
14
  import android.view.ViewGroup
15
- import android.view.Window
16
15
  import androidx.annotation.VisibleForTesting
17
16
  import androidx.collection.ArrayMap
18
17
  import androidx.lifecycle.lifecycleScope
@@ -22,7 +21,6 @@ import com.facebook.react.ReactDelegate
22
21
  import com.facebook.react.ReactHost
23
22
  import com.facebook.react.ReactInstanceEventListener
24
23
  import com.facebook.react.ReactInstanceManager
25
- import com.facebook.react.ReactNativeHost
26
24
  import com.facebook.react.ReactRootView
27
25
  import com.facebook.react.bridge.ReactContext
28
26
  import com.facebook.react.modules.core.PermissionListener
@@ -56,9 +54,6 @@ class ReactActivityDelegateWrapper(
56
54
  private val reactActivityHandlers = ExpoModulesPackage.packageList
57
55
  .flatMap { it.createReactActivityHandlers(activity) }
58
56
  private val methodMap: ArrayMap<String, Method> = ArrayMap()
59
- private val _reactNativeHost: ReactNativeHost by lazy {
60
- invokeDelegateMethod("getReactNativeHost")
61
- }
62
57
  private val _reactHost: ReactHost? by lazy {
63
58
  delegate.reactHost
64
59
  }
@@ -103,10 +98,6 @@ class ReactActivityDelegateWrapper(
103
98
  return invokeDelegateMethod("getReactDelegate")
104
99
  }
105
100
 
106
- override fun getReactNativeHost(): ReactNativeHost {
107
- return _reactNativeHost
108
- }
109
-
110
101
  override fun getReactHost(): ReactHost? {
111
102
  return _reactHost
112
103
  }
@@ -156,11 +147,6 @@ class ReactActivityDelegateWrapper(
156
147
  activity.window.colorMode = ActivityInfo.COLOR_MODE_WIDE_COLOR_GAMUT
157
148
  }
158
149
 
159
- val edgeToEdgeEnabled = invokeWindowUtilKtMethod<Boolean>("isEdgeToEdgeFeatureFlagOn") ?: true
160
- if (edgeToEdgeEnabled) {
161
- invokeWindowUtilKtMethod<Unit>("enableEdgeToEdge", Pair(Window::class.java, plainActivity.window))
162
- }
163
-
164
150
  val launchOptions = composeLaunchOptions()
165
151
  val reactDelegate: ReactDelegate
166
152
  if (ReactNativeFeatureFlags.enableBridgelessArchitecture) {
@@ -432,25 +418,6 @@ class ReactActivityDelegateWrapper(
432
418
  return method!!.invoke(delegate, *args) as T
433
419
  }
434
420
 
435
- private inline fun <reified T> invokeWindowUtilKtMethod(
436
- methodName: String,
437
- vararg args: Pair<Class<*>, Any?>
438
- ): T? {
439
- val windowUtilClassName = "com.facebook.react.views.view.WindowUtilKt"
440
-
441
- return runCatching {
442
- val windowUtilKtClass = Class.forName(windowUtilClassName)
443
- val parameterTypes = args.map { it.first }.toTypedArray()
444
- val parameterValues = args.map { it.second }.toTypedArray()
445
- val method = windowUtilKtClass.getDeclaredMethod(methodName, *parameterTypes)
446
-
447
- method.isAccessible = true
448
- method.invoke(null, *parameterValues) as? T
449
- }.onFailure {
450
- Log.e(TAG, "Failed to invoke '$methodName' on $windowUtilClassName", it)
451
- }.getOrNull()
452
- }
453
-
454
421
  private suspend fun loadAppImpl(appKey: String?, supportsDelayLoad: Boolean) {
455
422
  // Give modules a chance to wrap the ReactRootView in a container ViewGroup. If some module
456
423
  // wants to do this, we override the functionality of `loadApp` and call `setContentView` with
@@ -1,17 +1,17 @@
1
1
  type LogLevel = 'trace' | 'info' | 'warn' | 'error' | 'log' | 'group' | 'groupCollapsed' | 'groupEnd' | 'debug';
2
- /**
3
- * HMR Client that receives from the server HMR updates and propagates them
4
- * runtime to reflects those changes.
5
- */
6
- declare const HMRClient: {
2
+ export type HMRClientNativeInterface = {
7
3
  enable(): void;
8
4
  disable(): void;
9
5
  registerBundle(requestUrl: string): void;
10
6
  log(level: LogLevel, data: any[]): void;
11
- setup({ isEnabled }: {
7
+ setup(props: {
12
8
  isEnabled: boolean;
13
9
  }): void;
14
- _onMetroError(data: unknown): void;
15
10
  };
11
+ /**
12
+ * HMR Client that receives from the server HMR updates and propagates them
13
+ * runtime to reflects those changes.
14
+ */
15
+ declare const HMRClient: HMRClientNativeInterface;
16
16
  export default HMRClient;
17
17
  //# sourceMappingURL=hmr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../../src/async-require/hmr.ts"],"names":[],"mappings":"AAqCA,KAAK,QAAQ,GACT,OAAO,GACP,MAAM,GACN,MAAM,GACN,OAAO,GACP,KAAK,GACL,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,OAAO,CAAC;AAMZ;;;GAGG;AACH,QAAA,MAAM,SAAS;;;+BAyCc,MAAM;eAMtB,QAAQ,QAAQ,GAAG,EAAE;yBAsCX;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE;wBAoGvB,OAAO;CAkC5B,CAAC;AA6DF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../../src/async-require/hmr.ts"],"names":[],"mappings":"AA4CA,KAAK,QAAQ,GACT,OAAO,GACP,MAAM,GACN,MAAM,GACN,OAAO,GACP,KAAK,GACL,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC5C,CAAC;AAMF;;;GAGG;AACH,QAAA,MAAM,SAAS,EAAE,wBAsMhB,CAAC;AAuEF,eAAe,SAAS,CAAC"}
@@ -1,4 +1,3 @@
1
1
  export { default as WebView } from './webview-wrapper';
2
- export * from './dom-internal.types';
3
2
  export declare const registerDOMComponent: undefined | typeof import('./dom-entry').registerDOMComponent;
4
3
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/dom/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEvD,cAAc,sBAAsB,CAAC;AAGrC,eAAO,MAAM,oBAAoB,EAAE,SAAS,GAAG,cAAc,aAAa,EAAE,oBACjE,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/dom/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,EAAE,SAAS,GAAG,cAAc,aAAa,EAAE,oBACjE,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
+ import type { DOMProps } from './dom.types';
2
3
  import ExpoDomWebView from './webview/ExpoDOMWebView';
3
4
  import RNWebView from './webview/RNWebView';
4
- import { DOMPropsInternal } from './dom-internal.types';
5
5
  type RawWebViewProps = React.ComponentProps<Exclude<typeof ExpoDomWebView, undefined>> & React.ComponentProps<Exclude<typeof RNWebView, undefined>>;
6
6
  interface Props {
7
7
  children?: any;
8
- dom?: DOMPropsInternal;
8
+ dom?: DOMProps;
9
9
  filePath: string;
10
10
  ref: React.Ref<object>;
11
11
  [propName: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"webview-wrapper.d.ts","sourceRoot":"","sources":["../../src/dom/webview-wrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAC,GACpF,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAE7D,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,QAAA,MAAM,UAAU,mFAkMd,CAAC;AAiBH,wBAAgB,cAAc,CAC5B,iBAAiB,EAAE,OAAO,GACzB,KAAK,CAAC,yBAAyB,CAAC,eAAe,CAAC,CASlD;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"webview-wrapper.d.ts","sourceRoot":"","sources":["../../src/dom/webview-wrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAiB,QAAQ,EAA4B,MAAM,aAAa,CAAC;AAUrF,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAG5C,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAC,GACpF,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAE7D,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,QAAA,MAAM,UAAU,mFAgMd,CAAC;AAiBH,wBAAgB,cAAc,CAC5B,iBAAiB,EAAE,OAAO,GACzB,KAAK,CAAC,yBAAyB,CAAC,eAAe,CAAC,CASlD;AAED,eAAe,UAAU,CAAC"}
@@ -1,8 +1,8 @@
1
1
  {
2
- "@expo/fingerprint": "0.15.2-canary-20251008-6acbc1c",
3
- "@expo/metro-runtime": "6.1.3-canary-20251008-6acbc1c",
2
+ "@expo/fingerprint": "0.15.2-canary-20251009-9919e08",
3
+ "@expo/metro-runtime": "6.1.3-canary-20251009-9919e08",
4
4
  "@expo/vector-icons": "^15.0.2",
5
- "@expo/ui": "0.2.0-canary-20251008-6acbc1c",
5
+ "@expo/ui": "0.2.0-canary-20251009-9919e08",
6
6
  "@react-native-async-storage/async-storage": "2.2.0",
7
7
  "@react-native-community/datetimepicker": "8.4.4",
8
8
  "@react-native-masked-view/masked-view": "0.3.2",
@@ -12,88 +12,88 @@
12
12
  "@react-native-picker/picker": "2.11.2",
13
13
  "@react-native-segmented-control/segmented-control": "2.5.7",
14
14
  "@stripe/stripe-react-native": "0.50.3",
15
- "eslint-config-expo": "10.0.1-canary-20251008-6acbc1c",
15
+ "eslint-config-expo": "10.0.1-canary-20251009-9919e08",
16
16
  "expo-analytics-amplitude": "~11.3.0",
17
17
  "expo-app-auth": "~11.1.0",
18
18
  "expo-app-loader-provider": "~8.0.0",
19
- "expo-apple-authentication": "8.0.8-canary-20251008-6acbc1c",
20
- "expo-application": "7.0.8-canary-20251008-6acbc1c",
21
- "expo-asset": "12.0.10-canary-20251008-6acbc1c",
22
- "expo-audio": "1.1.0-canary-20251008-6acbc1c",
23
- "expo-auth-session": "7.0.9-canary-20251008-6acbc1c",
24
- "expo-av": "16.0.8-canary-20251008-6acbc1c",
25
- "expo-background-fetch": "14.0.8-canary-20251008-6acbc1c",
26
- "expo-background-task": "1.0.9-canary-20251008-6acbc1c",
27
- "expo-battery": "10.0.8-canary-20251008-6acbc1c",
28
- "expo-blur": "15.0.8-canary-20251008-6acbc1c",
29
- "expo-brightness": "14.0.8-canary-20251008-6acbc1c",
30
- "expo-build-properties": "1.0.10-canary-20251008-6acbc1c",
31
- "expo-calendar": "15.0.8-canary-20251008-6acbc1c",
32
- "expo-camera": "17.0.9-canary-20251008-6acbc1c",
33
- "expo-cellular": "8.0.8-canary-20251008-6acbc1c",
34
- "expo-checkbox": "5.0.8-canary-20251008-6acbc1c",
35
- "expo-clipboard": "8.0.8-canary-20251008-6acbc1c",
36
- "expo-constants": "18.0.10-canary-20251008-6acbc1c",
37
- "expo-contacts": "15.0.10-canary-20251008-6acbc1c",
38
- "expo-crypto": "15.0.8-canary-20251008-6acbc1c",
39
- "expo-dev-client": "6.0.14-canary-20251008-6acbc1c",
40
- "expo-device": "8.0.10-canary-20251008-6acbc1c",
41
- "expo-document-picker": "14.0.8-canary-20251008-6acbc1c",
42
- "expo-file-system": "19.0.17-canary-20251008-6acbc1c",
43
- "expo-font": "14.0.9-canary-20251008-6acbc1c",
44
- "expo-gl": "16.0.8-canary-20251008-6acbc1c",
45
- "expo-glass-effect": "0.1.5-canary-20251008-6acbc1c",
19
+ "expo-apple-authentication": "8.0.8-canary-20251009-9919e08",
20
+ "expo-application": "7.0.8-canary-20251009-9919e08",
21
+ "expo-asset": "12.0.10-canary-20251009-9919e08",
22
+ "expo-audio": "1.1.0-canary-20251009-9919e08",
23
+ "expo-auth-session": "7.0.9-canary-20251009-9919e08",
24
+ "expo-av": "16.0.8-canary-20251009-9919e08",
25
+ "expo-background-fetch": "14.0.8-canary-20251009-9919e08",
26
+ "expo-background-task": "1.0.9-canary-20251009-9919e08",
27
+ "expo-battery": "10.0.8-canary-20251009-9919e08",
28
+ "expo-blur": "15.0.8-canary-20251009-9919e08",
29
+ "expo-brightness": "15.0.0-canary-20251009-9919e08",
30
+ "expo-build-properties": "1.0.10-canary-20251009-9919e08",
31
+ "expo-calendar": "15.0.8-canary-20251009-9919e08",
32
+ "expo-camera": "17.0.9-canary-20251009-9919e08",
33
+ "expo-cellular": "8.0.8-canary-20251009-9919e08",
34
+ "expo-checkbox": "5.0.8-canary-20251009-9919e08",
35
+ "expo-clipboard": "8.0.8-canary-20251009-9919e08",
36
+ "expo-constants": "18.0.10-canary-20251009-9919e08",
37
+ "expo-contacts": "15.0.10-canary-20251009-9919e08",
38
+ "expo-crypto": "15.0.8-canary-20251009-9919e08",
39
+ "expo-dev-client": "6.0.14-canary-20251009-9919e08",
40
+ "expo-device": "8.0.10-canary-20251009-9919e08",
41
+ "expo-document-picker": "14.0.8-canary-20251009-9919e08",
42
+ "expo-file-system": "19.0.17-canary-20251009-9919e08",
43
+ "expo-font": "14.0.9-canary-20251009-9919e08",
44
+ "expo-gl": "16.0.8-canary-20251009-9919e08",
45
+ "expo-glass-effect": "0.1.5-canary-20251009-9919e08",
46
46
  "expo-google-app-auth": "~8.3.0",
47
- "expo-haptics": "15.0.8-canary-20251008-6acbc1c",
48
- "expo-image": "3.1.0-canary-20251008-6acbc1c",
49
- "expo-image-loader": "6.0.1-canary-20251008-6acbc1c",
50
- "expo-image-manipulator": "14.0.8-canary-20251008-6acbc1c",
51
- "expo-image-picker": "17.0.9-canary-20251008-6acbc1c",
52
- "expo-intent-launcher": "13.0.8-canary-20251008-6acbc1c",
53
- "expo-insights": "0.10.8-canary-20251008-6acbc1c",
54
- "expo-keep-awake": "15.0.8-canary-20251008-6acbc1c",
55
- "expo-linear-gradient": "15.0.8-canary-20251008-6acbc1c",
56
- "expo-linking": "8.0.9-canary-20251008-6acbc1c",
57
- "expo-local-authentication": "17.0.8-canary-20251008-6acbc1c",
58
- "expo-localization": "17.0.8-canary-20251008-6acbc1c",
59
- "expo-location": "19.0.8-canary-20251008-6acbc1c",
60
- "expo-mail-composer": "15.0.8-canary-20251008-6acbc1c",
61
- "expo-manifests": "1.0.9-canary-20251008-6acbc1c",
62
- "expo-maps": "0.12.9-canary-20251008-6acbc1c",
63
- "expo-media-library": "18.3.0-canary-20251008-6acbc1c",
64
- "expo-mesh-gradient": "0.4.8-canary-20251008-6acbc1c",
65
- "expo-module-template": "11.0.16-canary-20251008-6acbc1c",
66
- "expo-modules-core": "3.1.0-canary-20251008-6acbc1c",
67
- "expo-navigation-bar": "5.0.9-canary-20251008-6acbc1c",
68
- "expo-network": "8.0.8-canary-20251008-6acbc1c",
69
- "expo-notifications": "1.0.0-canary-20251008-6acbc1c",
70
- "expo-print": "15.0.8-canary-20251008-6acbc1c",
71
- "expo-live-photo": "1.0.8-canary-20251008-6acbc1c",
72
- "expo-router": "6.1.0-canary-20251008-6acbc1c",
73
- "expo-screen-capture": "8.0.9-canary-20251008-6acbc1c",
74
- "expo-screen-orientation": "9.0.8-canary-20251008-6acbc1c",
75
- "expo-secure-store": "15.0.8-canary-20251008-6acbc1c",
76
- "expo-sensors": "15.0.8-canary-20251008-6acbc1c",
77
- "expo-sharing": "14.0.8-canary-20251008-6acbc1c",
78
- "expo-sms": "14.0.8-canary-20251008-6acbc1c",
79
- "expo-speech": "14.0.8-canary-20251008-6acbc1c",
80
- "expo-splash-screen": "31.0.11-canary-20251008-6acbc1c",
81
- "expo-sqlite": "16.0.9-canary-20251008-6acbc1c",
82
- "expo-status-bar": "3.0.9-canary-20251008-6acbc1c",
83
- "expo-store-review": "9.0.9-canary-20251008-6acbc1c",
84
- "expo-symbols": "1.1.0-canary-20251008-6acbc1c",
85
- "expo-system-ui": "6.0.8-canary-20251008-6acbc1c",
86
- "expo-task-manager": "14.0.8-canary-20251008-6acbc1c",
87
- "expo-tracking-transparency": "6.0.8-canary-20251008-6acbc1c",
88
- "expo-updates": "29.1.0-canary-20251008-6acbc1c",
89
- "expo-video-thumbnails": "10.0.8-canary-20251008-6acbc1c",
90
- "expo-video": "3.0.12-canary-20251008-6acbc1c",
91
- "expo-web-browser": "15.0.9-canary-20251008-6acbc1c",
92
- "jest-expo": "55.0.0-canary-20251008-6acbc1c",
47
+ "expo-haptics": "15.0.8-canary-20251009-9919e08",
48
+ "expo-image": "3.1.0-canary-20251009-9919e08",
49
+ "expo-image-loader": "6.0.1-canary-20251009-9919e08",
50
+ "expo-image-manipulator": "14.0.8-canary-20251009-9919e08",
51
+ "expo-image-picker": "17.0.9-canary-20251009-9919e08",
52
+ "expo-intent-launcher": "13.0.8-canary-20251009-9919e08",
53
+ "expo-insights": "0.10.8-canary-20251009-9919e08",
54
+ "expo-keep-awake": "15.0.8-canary-20251009-9919e08",
55
+ "expo-linear-gradient": "15.0.8-canary-20251009-9919e08",
56
+ "expo-linking": "8.0.9-canary-20251009-9919e08",
57
+ "expo-local-authentication": "17.0.8-canary-20251009-9919e08",
58
+ "expo-localization": "17.0.8-canary-20251009-9919e08",
59
+ "expo-location": "19.0.8-canary-20251009-9919e08",
60
+ "expo-mail-composer": "15.0.8-canary-20251009-9919e08",
61
+ "expo-manifests": "1.0.9-canary-20251009-9919e08",
62
+ "expo-maps": "0.12.9-canary-20251009-9919e08",
63
+ "expo-media-library": "18.3.0-canary-20251009-9919e08",
64
+ "expo-mesh-gradient": "0.4.8-canary-20251009-9919e08",
65
+ "expo-module-template": "11.0.16-canary-20251009-9919e08",
66
+ "expo-modules-core": "3.1.0-canary-20251009-9919e08",
67
+ "expo-navigation-bar": "5.0.9-canary-20251009-9919e08",
68
+ "expo-network": "8.0.8-canary-20251009-9919e08",
69
+ "expo-notifications": "1.0.0-canary-20251009-9919e08",
70
+ "expo-print": "15.0.8-canary-20251009-9919e08",
71
+ "expo-live-photo": "1.0.8-canary-20251009-9919e08",
72
+ "expo-router": "6.1.0-canary-20251009-9919e08",
73
+ "expo-screen-capture": "8.0.9-canary-20251009-9919e08",
74
+ "expo-screen-orientation": "9.0.8-canary-20251009-9919e08",
75
+ "expo-secure-store": "15.0.8-canary-20251009-9919e08",
76
+ "expo-sensors": "15.0.8-canary-20251009-9919e08",
77
+ "expo-sharing": "14.0.8-canary-20251009-9919e08",
78
+ "expo-sms": "14.0.8-canary-20251009-9919e08",
79
+ "expo-speech": "14.0.8-canary-20251009-9919e08",
80
+ "expo-splash-screen": "31.0.11-canary-20251009-9919e08",
81
+ "expo-sqlite": "16.0.9-canary-20251009-9919e08",
82
+ "expo-status-bar": "3.0.9-canary-20251009-9919e08",
83
+ "expo-store-review": "9.0.9-canary-20251009-9919e08",
84
+ "expo-symbols": "1.1.0-canary-20251009-9919e08",
85
+ "expo-system-ui": "6.0.8-canary-20251009-9919e08",
86
+ "expo-task-manager": "14.0.8-canary-20251009-9919e08",
87
+ "expo-tracking-transparency": "6.0.8-canary-20251009-9919e08",
88
+ "expo-updates": "29.1.0-canary-20251009-9919e08",
89
+ "expo-video-thumbnails": "10.0.8-canary-20251009-9919e08",
90
+ "expo-video": "3.0.12-canary-20251009-9919e08",
91
+ "expo-web-browser": "15.0.9-canary-20251009-9919e08",
92
+ "jest-expo": "55.0.0-canary-20251009-9919e08",
93
93
  "lottie-react-native": "~7.3.1",
94
94
  "react": "19.1.1",
95
95
  "react-dom": "19.1.1",
96
- "react-native": "0.82.0-rc.5",
96
+ "react-native": "0.82.0",
97
97
  "react-native-web": "~0.21.0",
98
98
  "react-native-gesture-handler": "~2.28.0",
99
99
  "react-native-get-random-values": "~1.11.0",
@@ -108,10 +108,10 @@
108
108
  "react-native-view-shot": "4.0.3",
109
109
  "react-native-webview": "13.15.0",
110
110
  "sentry-expo": "~7.0.0",
111
- "unimodules-app-loader": "6.0.8-canary-20251008-6acbc1c",
111
+ "unimodules-app-loader": "6.0.8-canary-20251009-9919e08",
112
112
  "unimodules-image-loader-interface": "~6.1.0",
113
113
  "@shopify/react-native-skia": "2.2.12",
114
114
  "@shopify/flash-list": "2.0.2",
115
- "@sentry/react-native": "~7.1.0",
115
+ "@sentry/react-native": "~7.2.0",
116
116
  "react-native-bootsplash": "^6.3.10"
117
117
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo",
3
- "version": "55.0.0-canary-20251008-6acbc1c",
3
+ "version": "55.0.0-canary-20251009-9919e08",
4
4
  "description": "The Expo SDK",
5
5
  "main": "src/Expo.ts",
6
6
  "module": "src/Expo.ts",
@@ -75,24 +75,23 @@
75
75
  "homepage": "https://github.com/expo/expo/tree/main/packages/expo",
76
76
  "dependencies": {
77
77
  "@babel/runtime": "^7.20.0",
78
- "@expo/cli": "54.1.0-canary-20251008-6acbc1c",
79
- "@expo/config": "12.0.11-canary-20251008-6acbc1c",
80
- "@expo/config-plugins": "54.0.3-canary-20251008-6acbc1c",
81
- "@expo/devtools": "0.1.8-canary-20251008-6acbc1c",
82
- "@expo/fingerprint": "0.15.2-canary-20251008-6acbc1c",
78
+ "@expo/cli": "54.1.0-canary-20251009-9919e08",
79
+ "@expo/config": "12.0.11-canary-20251009-9919e08",
80
+ "@expo/config-plugins": "54.0.3-canary-20251009-9919e08",
81
+ "@expo/devtools": "0.1.8-canary-20251009-9919e08",
82
+ "@expo/fingerprint": "0.15.2-canary-20251009-9919e08",
83
83
  "@expo/metro": "~54.0.0",
84
- "@expo/metro-config": "54.0.7-canary-20251008-6acbc1c",
84
+ "@expo/metro-config": "54.0.7-canary-20251009-9919e08",
85
85
  "@expo/vector-icons": "^15.0.2",
86
- "@expo/log-box": "0.0.13-canary-20251008-6acbc1c",
87
86
  "@ungap/structured-clone": "^1.3.0",
88
- "babel-preset-expo": "54.0.4-canary-20251008-6acbc1c",
89
- "expo-asset": "12.0.10-canary-20251008-6acbc1c",
90
- "expo-constants": "18.0.10-canary-20251008-6acbc1c",
91
- "expo-file-system": "19.0.17-canary-20251008-6acbc1c",
92
- "expo-font": "14.0.9-canary-20251008-6acbc1c",
93
- "expo-keep-awake": "15.0.8-canary-20251008-6acbc1c",
94
- "expo-modules-autolinking": "3.1.0-canary-20251008-6acbc1c",
95
- "expo-modules-core": "3.1.0-canary-20251008-6acbc1c",
87
+ "babel-preset-expo": "54.0.4-canary-20251009-9919e08",
88
+ "expo-asset": "12.0.10-canary-20251009-9919e08",
89
+ "expo-constants": "18.0.10-canary-20251009-9919e08",
90
+ "expo-file-system": "19.0.17-canary-20251009-9919e08",
91
+ "expo-font": "14.0.9-canary-20251009-9919e08",
92
+ "expo-keep-awake": "15.0.8-canary-20251009-9919e08",
93
+ "expo-modules-autolinking": "3.1.0-canary-20251009-9919e08",
94
+ "expo-modules-core": "3.1.0-canary-20251009-9919e08",
96
95
  "pretty-format": "^29.7.0",
97
96
  "react-refresh": "^0.14.2",
98
97
  "whatwg-url-without-unicode": "8.0.0-3"
@@ -101,15 +100,15 @@
101
100
  "@types/node": "^22.14.0",
102
101
  "@types/react": "~19.1.10",
103
102
  "@types/react-test-renderer": "~19.1.0",
104
- "expo-module-scripts": "5.0.8-canary-20251008-6acbc1c",
103
+ "expo-module-scripts": "5.0.8-canary-20251009-9919e08",
105
104
  "react": "19.1.1",
106
105
  "react-dom": "19.1.1",
107
- "react-native": "0.82.0-rc.5",
106
+ "react-native": "0.82.0",
108
107
  "web-streams-polyfill": "^3.3.2"
109
108
  },
110
109
  "peerDependencies": {
111
- "@expo/dom-webview": "0.2.8-canary-20251008-6acbc1c",
112
- "@expo/metro-runtime": "6.1.3-canary-20251008-6acbc1c",
110
+ "@expo/dom-webview": "0.2.8-canary-20251009-9919e08",
111
+ "@expo/metro-runtime": "6.1.3-canary-20251009-9919e08",
113
112
  "react": "*",
114
113
  "react-native": "*",
115
114
  "react-native-webview": "*"