expo-modules-core 56.0.7 → 56.0.8

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/CHANGELOG.md CHANGED
@@ -10,6 +10,13 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 56.0.8 — 2026-05-13
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - [Android] Avoid remounting Jetpack Compose views during same-frame React Native reparenting. ([#45711](https://github.com/expo/expo/pull/45711) by [@mvincentong](https://github.com/mvincentong))
18
+ - [Android] Fixed `associatedCookies` in `Network.requestWillBeSentExtraInfo` CDP events serializing as a JSON object instead of an array. ([#45720](https://github.com/expo/expo/pull/45720) by [@huntie](https://github.com/huntie))
19
+
13
20
  ## 56.0.7 — 2026-05-13
14
21
 
15
22
  ### 🐛 Bug fixes
@@ -27,7 +27,7 @@ if (shouldIncludeCompose) {
27
27
  }
28
28
 
29
29
  group = 'host.exp.exponent'
30
- version = '56.0.7'
30
+ version = '56.0.8'
31
31
 
32
32
  def isExpoModulesCoreTests = {
33
33
  Gradle gradle = getGradle()
@@ -94,7 +94,7 @@ android {
94
94
  defaultConfig {
95
95
  consumerProguardFiles 'proguard-rules.pro'
96
96
  versionCode 1
97
- versionName "56.0.7"
97
+ versionName "56.0.8"
98
98
  buildConfigField "String", "EXPO_MODULES_CORE_VERSION", "\"${versionName}\""
99
99
  buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", "true"
100
100
 
@@ -193,13 +193,11 @@ abstract class ExpoComposeView<T : ComposeProps>(
193
193
  Content()
194
194
  }
195
195
  }
196
- it.addOnAttachStateChangeListener(object : OnAttachStateChangeListener {
197
- override fun onViewAttachedToWindow(v: View) {
196
+ it.addOnAttachStateChangeListener(
197
+ OnAttachAfterDetachmentListener(onAttachAfterDetachment = {
198
198
  it.disposeComposition()
199
- }
200
-
201
- override fun onViewDetachedFromWindow(v: View) = Unit
202
- })
199
+ })
200
+ )
203
201
  }
204
202
  addView(composeView)
205
203
  }
@@ -7,22 +7,13 @@
7
7
  #include "JavaScriptModuleObject.h"
8
8
  #include "JavaScriptValue.h"
9
9
  #include "JavaScriptObject.h"
10
- #include "JavaReferencesCache.h"
11
10
  #include "JSReferencesCache.h"
12
11
  #include "JNIDeallocator.h"
13
12
  #include "ThreadSafeJNIGlobalRef.h"
14
13
  #include "javaclasses/JSRunnable.h"
15
14
 
16
- #include <ReactCommon/CallInvokerHolder.h>
17
15
  #include <ReactCommon/CallInvoker.h>
18
16
 
19
- #if IS_NEW_ARCHITECTURE_ENABLED
20
-
21
- #include <ReactCommon/RuntimeExecutor.h>
22
- #include <react/jni/JRuntimeExecutor.h>
23
-
24
- #endif
25
-
26
17
  namespace jni = facebook::jni;
27
18
  namespace jsi = facebook::jsi;
28
19
  namespace react = facebook::react;
@@ -60,10 +60,8 @@ jni::local_ref<JavaCallback::javaobject> JavaCallback::newInstance(
60
60
  return object;
61
61
  }
62
62
 
63
- template<typename T>
64
- void JavaCallback::invokeJSFunction(
65
- ArgsConverter<typename std::remove_const<T>::type> argsConverter,
66
- T arg
63
+ void JavaCallback::invokeWithResolver(
64
+ std::function<void(jsi::Runtime &rt, jsi::Function &jsFunction)> resolver
67
65
  ) {
68
66
  const auto strongCallbackContext = this->callbackContext.lock();
69
67
  // The context were deallocated before the callback was invoked.
@@ -80,8 +78,7 @@ void JavaCallback::invokeJSFunction(
80
78
  jsInvoker->invokeAsync(
81
79
  [
82
80
  context = callbackContext,
83
- argsConverter = std::move(argsConverter),
84
- arg = std::move(arg)
81
+ resolver = std::move(resolver)
85
82
  ]() -> void {
86
83
  auto strongContext = context.lock();
87
84
  // The context were deallocated before the callback was invoked.
@@ -98,25 +95,11 @@ void JavaCallback::invokeJSFunction(
98
95
  jsi::Function &jsFunction = strongContext->resolveHolder.value();
99
96
  jsi::Runtime &rt = strongContext->rt;
100
97
 
101
- argsConverter(rt, jsFunction, std::move(arg));
98
+ resolver(rt, jsFunction);
102
99
  strongContext->invalidate();
103
100
  });
104
101
  }
105
102
 
106
- template<class T>
107
- void JavaCallback::invokeJSFunction(T arg) {
108
- invokeJSFunction<T>(
109
- [](
110
- jsi::Runtime &rt,
111
- jsi::Function &jsFunction,
112
- T arg
113
- ) {
114
- jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, std::forward<T>(arg)));
115
- },
116
- arg
117
- );
118
- }
119
-
120
103
  template<class T>
121
104
  void JavaCallback::invokeJSFunctionForArray(T &arg) {
122
105
  size_t size = arg->size();
@@ -125,38 +108,51 @@ void JavaCallback::invokeJSFunctionForArray(T &arg) {
125
108
  rawArray.size = size;
126
109
  rawArray.data = std::move(region);
127
110
 
128
- invokeJSFunction<decltype(rawArray)>(
129
- std::move(rawArray)
111
+ invokeWithResolver(
112
+ [rawArray = std::move(rawArray)](jsi::Runtime &rt, jsi::Function &jsFunction) mutable {
113
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, std::move(rawArray)));
114
+ }
130
115
  );
131
116
  }
132
117
 
133
118
  void JavaCallback::invoke() {
134
- invokeJSFunction<nullptr_t>(
135
- [](
136
- jsi::Runtime &rt,
137
- jsi::Function &jsFunction,
138
- nullptr_t arg
139
- ) {
119
+ invokeWithResolver(
120
+ [](jsi::Runtime &rt, jsi::Function &jsFunction) {
140
121
  jsFunction.call(rt, {jsi::Value::null()});
141
- },
142
- nullptr
122
+ }
143
123
  );
144
124
  }
145
125
 
146
126
  void JavaCallback::invokeBool(bool result) {
147
- invokeJSFunction(result);
127
+ invokeWithResolver(
128
+ [result](jsi::Runtime &rt, jsi::Function &jsFunction) {
129
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, result));
130
+ }
131
+ );
148
132
  }
149
133
 
150
134
  void JavaCallback::invokeInt(int result) {
151
- invokeJSFunction(result);
135
+ invokeWithResolver(
136
+ [result](jsi::Runtime &rt, jsi::Function &jsFunction) {
137
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, result));
138
+ }
139
+ );
152
140
  }
153
141
 
154
142
  void JavaCallback::invokeDouble(double result) {
155
- invokeJSFunction(result);
143
+ invokeWithResolver(
144
+ [result](jsi::Runtime &rt, jsi::Function &jsFunction) {
145
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, result));
146
+ }
147
+ );
156
148
  }
157
149
 
158
150
  void JavaCallback::invokeFloat(float result) {
159
- invokeJSFunction(result);
151
+ invokeWithResolver(
152
+ [result](jsi::Runtime &rt, jsi::Function &jsFunction) {
153
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, result));
154
+ }
155
+ );
160
156
  }
161
157
 
162
158
  void JavaCallback::invokeString(jni::alias_ref<jstring> result) {
@@ -164,41 +160,76 @@ void JavaCallback::invokeString(jni::alias_ref<jstring> result) {
164
160
  const char *rawValue = env->GetStringUTFChars(result.get(), nullptr);
165
161
  std::string parsedResult = rawValue;
166
162
  env->ReleaseStringUTFChars(result.get(), rawValue);
167
- invokeJSFunction(parsedResult);
163
+ invokeWithResolver(
164
+ [parsedResult = std::move(parsedResult)](jsi::Runtime &rt, jsi::Function &jsFunction) {
165
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, parsedResult));
166
+ }
167
+ );
168
168
  }
169
169
 
170
170
  void JavaCallback::invokeCollection(jni::alias_ref<jni::JCollection<jobject>> result) {
171
- invokeJSFunction<
172
- jni::global_ref<jni::JCollection<jobject>>
173
- >(jni::make_global(result));
171
+ jni::global_ref<jni::JCollection<jobject>> globalResult = jni::make_global(result);
172
+ invokeWithResolver(
173
+ [globalResult = std::move(globalResult)](jsi::Runtime &rt, jsi::Function &jsFunction) mutable {
174
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, std::move(globalResult)));
175
+ }
176
+ );
174
177
  }
175
178
 
176
179
  void JavaCallback::invokeMap(jni::alias_ref<jni::JMap<jstring, jobject>> result) {
177
- invokeJSFunction<
178
- jni::global_ref<jni::JMap<jstring, jobject>>
179
- >(jni::make_global(result));
180
+ jni::global_ref<jni::JMap<jstring, jobject>> globalResult = jni::make_global(result);
181
+ invokeWithResolver(
182
+ [globalResult = std::move(globalResult)](jsi::Runtime &rt, jsi::Function &jsFunction) mutable {
183
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, std::move(globalResult)));
184
+ }
185
+ );
180
186
  }
181
187
 
182
188
  void
183
189
  JavaCallback::invokeWritableArray(jni::alias_ref<react::WritableNativeArray::javaobject> result) {
184
- invokeJSFunction(result->cthis()->consume());
190
+ auto consumed = result->cthis()->consume();
191
+ invokeWithResolver(
192
+ [consumed = std::move(consumed)](jsi::Runtime &rt, jsi::Function &jsFunction) mutable {
193
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, std::move(consumed)));
194
+ }
195
+ );
185
196
  }
186
197
 
187
198
  void JavaCallback::invokeWritableMap(jni::alias_ref<react::WritableNativeMap::javaobject> result) {
188
- invokeJSFunction(result->cthis()->consume());
199
+ auto consumed = result->cthis()->consume();
200
+ invokeWithResolver(
201
+ [consumed = std::move(consumed)](jsi::Runtime &rt, jsi::Function &jsFunction) mutable {
202
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, std::move(consumed)));
203
+ }
204
+ );
189
205
  }
190
206
 
191
207
  void JavaCallback::invokeSharedObject(jni::alias_ref<JSharedObject::javaobject> result) {
192
- invokeJSFunction(jni::make_global(result));
208
+ auto globalResult = jni::make_global(result);
209
+ invokeWithResolver(
210
+ [globalResult = std::move(globalResult)](jsi::Runtime &rt, jsi::Function &jsFunction) mutable {
211
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, std::move(globalResult)));
212
+ }
213
+ );
193
214
  }
194
215
 
195
216
  void JavaCallback::invokeJavaScriptArrayBuffer(
196
217
  jni::alias_ref<JavaScriptArrayBuffer::javaobject> result) {
197
- invokeJSFunction(jni::make_global(result));
218
+ auto globalResult = jni::make_global(result);
219
+ invokeWithResolver(
220
+ [globalResult = std::move(globalResult)](jsi::Runtime &rt, jsi::Function &jsFunction) mutable {
221
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, std::move(globalResult)));
222
+ }
223
+ );
198
224
  }
199
225
 
200
226
  void JavaCallback::invokeNativeArrayBuffer(jni::alias_ref<NativeArrayBuffer::javaobject> result) {
201
- invokeJSFunction(jni::make_global(result));
227
+ auto globalResult = jni::make_global(result);
228
+ invokeWithResolver(
229
+ [globalResult = std::move(globalResult)](jsi::Runtime &rt, jsi::Function &jsFunction) mutable {
230
+ jsFunction.call(rt, convertToJS(jni::Environment::current(), rt, std::move(globalResult)));
231
+ }
232
+ );
202
233
  }
203
234
 
204
235
  void JavaCallback::invokeIntArray(jni::alias_ref<jni::JArrayInt> result) {
@@ -90,19 +90,9 @@ private:
90
90
  void invokeDoubleArray(jni::alias_ref<jni::JArrayDouble> result);
91
91
  void invokeFloatArray(jni::alias_ref<jni::JArrayFloat> result);
92
92
 
93
- template<class T>
94
- using ArgsConverter = std::function<void(jsi::Runtime &rt, jsi::Function &jsFunction, T arg)>;
95
-
96
- template<class T>
97
- inline void invokeJSFunction(
98
- ArgsConverter<typename std::remove_const<T>::type> argsConverter,
99
- T arg
100
- );
93
+ void invokeWithResolver(std::function<void(jsi::Runtime &rt, jsi::Function &jsFunction)> resolver);
101
94
 
102
95
  template<class T>
103
96
  void invokeJSFunctionForArray(T &arg);
104
-
105
- template<class T>
106
- inline void invokeJSFunction(T arg);
107
97
  };
108
98
  } // namespace expo
@@ -5,7 +5,6 @@
5
5
  #include "ExpoHeader.pch"
6
6
  #include "JSIObjectWrapper.h"
7
7
  #include "JavaScriptTypedArray.h"
8
- #include "JavaScriptArrayBuffer.h"
9
8
  #include "JNIDeallocator.h"
10
9
 
11
10
  namespace jni = facebook::jni;
@@ -2,11 +2,21 @@
2
2
 
3
3
  #include "JSDecoratorsBridgingObject.h"
4
4
 
5
+ #include "JSFunctionsDecorator.h"
6
+ #include "JSPropertiesDecorator.h"
7
+ #include "JSConstantsDecorator.h"
8
+ #include "JSObjectDecorator.h"
5
9
  #include "JSClassesDecorator.h"
6
10
  #include "../types/ReturnType.h"
7
11
 
8
12
  namespace expo {
9
13
 
14
+ JSDecoratorsBridgingObject::~JSDecoratorsBridgingObject() = default;
15
+
16
+ JSClassesDecorator* JSDecoratorsBridgingObject::getClassDecorator() const {
17
+ return classDecorator.get();
18
+ }
19
+
10
20
  jni::local_ref<jni::HybridClass<JSDecoratorsBridgingObject>::jhybriddata>
11
21
  JSDecoratorsBridgingObject::initHybrid(jni::alias_ref<jhybridobject> jThis) {
12
22
  return makeCxxInstance();
@@ -8,18 +8,20 @@
8
8
  #include "../JNIFunctionBody.h"
9
9
  #include "../types/ExpectedType.h"
10
10
 
11
- #include "JSFunctionsDecorator.h"
12
- #include "JSPropertiesDecorator.h"
13
- #include "JSConstantsDecorator.h"
14
- #include "JSObjectDecorator.h"
15
- #include "JSClassesDecorator.h"
16
-
17
11
  namespace jni = facebook::jni;
18
12
 
19
13
  namespace expo {
20
14
 
15
+ class JSFunctionsDecorator;
16
+ class JSPropertiesDecorator;
17
+ class JSConstantsDecorator;
18
+ class JSObjectDecorator;
19
+ class JSClassesDecorator;
20
+
21
21
  class JSDecoratorsBridgingObject : public jni::HybridClass<JSDecoratorsBridgingObject> {
22
22
  public:
23
+ ~JSDecoratorsBridgingObject();
24
+
23
25
  static auto constexpr
24
26
  kJavaDescriptor = "Lexpo/modules/kotlin/jni/decorators/JSDecoratorsBridgingObject;";
25
27
  static auto constexpr TAG = "JSDecoratorsBridgingObject";
@@ -87,9 +89,7 @@ public:
87
89
  /**
88
90
  * Returns the class decorator, or nullptr if none was registered.
89
91
  */
90
- JSClassesDecorator* getClassDecorator() const {
91
- return classDecorator.get();
92
- }
92
+ JSClassesDecorator* getClassDecorator() const;
93
93
 
94
94
  private:
95
95
  friend HybridBase;
@@ -1,5 +1,6 @@
1
1
  #include "NativeStatePropsGetter.h"
2
2
  #include "AndroidExpoViewState.h"
3
+ #include <react/fabric/StateWrapperImpl.h>
3
4
 
4
5
  #include <react/renderer/core/ConcreteState.h>
5
6
 
@@ -1,7 +1,6 @@
1
1
  #pragma once
2
2
 
3
3
  #include "../ExpoHeader.pch"
4
- #include <react/fabric/StateWrapperImpl.h>
5
4
 
6
5
  namespace jni = facebook::jni;
7
6
  namespace react = facebook::react;
@@ -5,6 +5,7 @@ package expo.modules.kotlin.devtools.cdp
5
5
  import expo.modules.kotlin.devtools.ExpoNetworkInspectOkHttpNetworkInterceptor
6
6
  import expo.modules.kotlin.devtools.toSingleMap
7
7
  import okio.Buffer
8
+ import org.json.JSONArray
8
9
  import org.json.JSONObject
9
10
  import java.math.BigDecimal
10
11
 
@@ -155,7 +156,7 @@ data class RequestWillBeSentParams(
155
156
 
156
157
  data class RequestWillBeSentExtraInfoParams(
157
158
  val requestId: RequestId,
158
- val associatedCookies: Map<String, String> = emptyMap(),
159
+ val associatedCookies: List<Any> = emptyList(),
159
160
  val headers: Headers,
160
161
  val connectTiming: ConnectTiming
161
162
  ) : JsonSerializable {
@@ -168,7 +169,7 @@ data class RequestWillBeSentExtraInfoParams(
168
169
  override fun toJSONObject(): JSONObject {
169
170
  return JSONObject().apply {
170
171
  put("requestId", requestId)
171
- put("associatedCookies", JSONObject(associatedCookies))
172
+ put("associatedCookies", JSONArray(associatedCookies))
172
173
  put("headers", JSONObject(headers))
173
174
  put("connectTiming", connectTiming.toJSONObject())
174
175
  }
@@ -0,0 +1,41 @@
1
+ package expo.modules.kotlin.views
2
+
3
+ import android.os.Handler
4
+ import android.os.Looper
5
+ import android.view.View
6
+
7
+ /**
8
+ * Runs a callback only when a view is attached after staying detached through one main-loop turn.
9
+ * React Native can synchronously detach and reattach native children during view reparenting, and
10
+ * those moves should not be treated like a full detach.
11
+ */
12
+ internal class OnAttachAfterDetachmentListener(
13
+ private val onAttachAfterDetachment: () -> Unit,
14
+ private val post: (Runnable) -> Unit = { runnable ->
15
+ Handler(Looper.getMainLooper()).post(runnable)
16
+ }
17
+ ) : View.OnAttachStateChangeListener {
18
+ private var shouldRunOnAttach = false
19
+ private var detachGeneration = 0
20
+
21
+ override fun onViewAttachedToWindow(v: View) {
22
+ detachGeneration += 1
23
+
24
+ if (shouldRunOnAttach) {
25
+ shouldRunOnAttach = false
26
+ onAttachAfterDetachment()
27
+ }
28
+ }
29
+
30
+ override fun onViewDetachedFromWindow(v: View) {
31
+ val generation = ++detachGeneration
32
+
33
+ post(
34
+ Runnable {
35
+ if (detachGeneration == generation && !v.isAttachedToWindow) {
36
+ shouldRunOnAttach = true
37
+ }
38
+ }
39
+ )
40
+ }
41
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"CoreModule.d.ts","sourceRoot":"","sources":["../../src/polyfill/CoreModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,IAAI,gBAAgB,EAChC,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE/E,qBAAa,YAAY,CAAC,UAAU,SAAS,SAAS,CAAE,YAAW,gBAAgB;IACjF,OAAO,CAAC,SAAS,CAAC,CAAuC;IAEzD,WAAW,CAAC,SAAS,SAAS,MAAM,UAAU,EAC5C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,GAC9B,iBAAiB;IAuBpB,cAAc,CAAC,SAAS,SAAS,MAAM,UAAU,EAC/C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,GAC9B,IAAI;IAOP,kBAAkB,CAAC,SAAS,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAQlF,IAAI,CAAC,SAAS,SAAS,MAAM,UAAU,EACrC,SAAS,EAAE,SAAS,EACpB,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GACzC,IAAI;IAeP,aAAa,CAAC,SAAS,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAI/E,cAAc,CAAC,SAAS,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAE9E,aAAa,CAAC,SAAS,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;CAC9E;AAED,qBAAa,YAAY,CAAC,UAAU,SAAS,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAC/D,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,gBAAgB;IAE3B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,cAAc,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAChD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,YAAY,CAAC,UAAU,SAAS,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAC/D,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,gBAAgB;IAE3B,OAAO,IAAI,IAAI;CAGhB;AAED,qBAAa,SAAS,CAClB,cAAc,SAAS,MAAM,GAAG,SAAS,EACzC,UAAU,SAAS,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAErD,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,aAAa,CAAC,cAAc,CAAC;IAExC,aAAa,EAAE,MAAM,CAAa;CACnC"}
1
+ {"version":3,"file":"CoreModule.d.ts","sourceRoot":"","sources":["../../src/polyfill/CoreModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,IAAI,gBAAgB,EAChC,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE/E,qBAAa,YAAY,CAAC,UAAU,SAAS,SAAS,CAAE,YAAW,gBAAgB;IACjF,OAAO,CAAC,SAAS,CAAC,CAAuC;IAEzD,WAAW,CAAC,SAAS,SAAS,MAAM,UAAU,EAC5C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,GAC9B,iBAAiB;IAuBpB,cAAc,CAAC,SAAS,SAAS,MAAM,UAAU,EAC/C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,GAC9B,IAAI;IAOP,kBAAkB,CAAC,SAAS,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAQlF,IAAI,CAAC,SAAS,SAAS,MAAM,UAAU,EACrC,SAAS,EAAE,SAAS,EACpB,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GACzC,IAAI;IAeP,aAAa,CAAC,SAAS,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAI/E,cAAc,CAAC,SAAS,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAE9E,aAAa,CAAC,SAAS,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;CAC9E;AAED,qBAAa,YAAY,CAAC,UAAU,SAAS,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAC/D,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,gBAAgB;IAE3B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,cAAc,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAChD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,YAAY,CAAC,UAAU,SAAS,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAC/D,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,gBAAgB;IAE3B,OAAO,IAAI,IAAI;CAGhB;AAED,qBAAa,SAAS,CACpB,cAAc,SAAS,MAAM,GAAG,SAAS,EACzC,UAAU,SAAS,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAEnD,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,aAAa,CAAC,cAAc,CAAC;IAExC,aAAa,EAAE,MAAM,CAAa;CACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SharedRef.d.ts","sourceRoot":"","sources":["../../src/ts-declarations/SharedRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS,CAC1B,cAAc,SAAS,MAAM,GAAG,SAAS,EACzC,UAAU,SAAS,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAErD,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,YAAY,CAAC,UAAU,CAAC;IAEnC;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,cAAc,CAAC;IAE7C;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"SharedRef.d.ts","sourceRoot":"","sources":["../../src/ts-declarations/SharedRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS,CAC5B,cAAc,SAAS,MAAM,GAAG,SAAS,EACzC,UAAU,SAAS,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAEnD,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,YAAY,CAAC,UAAU,CAAC;IAEnC;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,cAAc,CAAC;IAE7C;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -110,7 +110,7 @@ struct CdpNetwork {
110
110
 
111
111
  struct RequestWillBeSentExtraInfoParams: EventParams {
112
112
  let requestId: RequestId
113
- var associatedCookies = [String: String]()
113
+ var associatedCookies = [String]()
114
114
  let headers: Headers
115
115
  let connectTiming: ConnectTiming
116
116
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-modules-core",
3
- "version": "56.0.7",
3
+ "version": "56.0.8",
4
4
  "description": "The core of Expo Modules architecture",
5
5
  "main": "src/index.ts",
6
6
  "types": "build/index.d.ts",
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "@expo/expo-modules-macros-plugin": "~0.0.8",
50
- "expo-modules-jsi": "~56.0.3",
50
+ "expo-modules-jsi": "~56.0.4",
51
51
  "invariant": "^2.2.4"
52
52
  },
53
53
  "peerDependencies": {
@@ -66,7 +66,7 @@
66
66
  "@types/invariant": "^2.2.33",
67
67
  "expo-module-scripts": "56.0.2"
68
68
  },
69
- "gitHead": "40f0a6f6711d93762e0506b37e6e077e4bd9a541",
69
+ "gitHead": "51c27fce31a5b3a877a4b05d832dabf4a99db5e1",
70
70
  "scripts": {
71
71
  "build": "expo-module build",
72
72
  "clean": "expo-module clean",
@@ -100,9 +100,9 @@ export class SharedObject<TEventsMap extends Record<never, never>>
100
100
  }
101
101
 
102
102
  export class SharedRef<
103
- TNativeRefType extends string = 'unknown',
104
- TEventsMap extends EventsMap = Record<never, never>,
105
- >
103
+ TNativeRefType extends string = 'unknown',
104
+ TEventsMap extends EventsMap = Record<never, never>,
105
+ >
106
106
  extends SharedObject<TEventsMap>
107
107
  implements SharedRefType<TNativeRefType>
108
108
  {
@@ -11,9 +11,9 @@ import type { SharedObject } from './SharedObject';
11
11
  * directly to the image view from `expo-image` without any additional writes and reads from the file system.
12
12
  */
13
13
  export declare class SharedRef<
14
- TNativeRefType extends string = 'unknown',
15
- TEventsMap extends EventsMap = Record<never, never>,
16
- >
14
+ TNativeRefType extends string = 'unknown',
15
+ TEventsMap extends EventsMap = Record<never, never>,
16
+ >
17
17
  extends SharedObject<TEventsMap>
18
18
  implements SharedObject<TEventsMap>
19
19
  {