expo-modules-core 1.0.2 → 1.0.4

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,19 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 1.0.4 — 2022-12-21
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - Fixed views are not correctly initialized after reloading on Android. ([#20063](https://github.com/expo/expo/pull/20063) by [@lukmccall](https://github.com/lukmccall))
18
+ - Fixed threading crash issue when running with Hermes on iOS. ([#20506](https://github.com/expo/expo/pull/20506) by [@kudo](https://github.com/kudo))
19
+
20
+ ## 1.0.3 — 2022-11-14
21
+
22
+ ### 🐛 Bug fixes
23
+
24
+ - Fixed failed resolution of 'java.nio.file.Path' on Android.
25
+
13
26
  ## 1.0.2 — 2022-11-08
14
27
 
15
28
  ### 💡 Others
@@ -6,7 +6,7 @@ apply plugin: 'maven-publish'
6
6
  apply plugin: "de.undercouch.download"
7
7
 
8
8
  group = 'host.exp.exponent'
9
- version = '1.0.2'
9
+ version = '1.0.4'
10
10
 
11
11
  buildscript {
12
12
  def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
@@ -191,7 +191,7 @@ android {
191
191
  targetSdkVersion safeExtGet("targetSdkVersion", 31)
192
192
  consumerProguardFiles 'proguard-rules.pro'
193
193
  versionCode 1
194
- versionName "1.0.2"
194
+ versionName "1.0.4"
195
195
  buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled.toString()
196
196
 
197
197
  testInstrumentationRunner "expo.modules.TestRunner"
@@ -118,7 +118,6 @@ public class ModuleRegistryAdapter implements ReactPackage {
118
118
  ) {
119
119
  if (mModulesProxy != null && mModulesProxy.getReactContext() != reactContext) {
120
120
  mModulesProxy = null;
121
- mWrapperDelegateHolders = null;
122
121
  }
123
122
  if (mModulesProxy == null) {
124
123
  ModuleRegistry registry = moduleRegistry != null ? moduleRegistry : mModuleRegistryProvider.get(reactContext);
@@ -145,7 +145,7 @@ object TypeConverterProviderImpl : TypeConverterProvider {
145
145
  isOptional, ExpectedType(CppType.BOOLEAN)
146
146
  ) { it.asBoolean() }
147
147
 
148
- return mapOf(
148
+ val converters = mapOf(
149
149
  Int::class.createType(nullable = isOptional) to intTypeConverter,
150
150
  java.lang.Integer::class.createType(nullable = isOptional) to intTypeConverter,
151
151
 
@@ -229,9 +229,16 @@ object TypeConverterProviderImpl : TypeConverterProvider {
229
229
  URI::class.createType(nullable = isOptional) to JavaURITypeConverter(isOptional),
230
230
 
231
231
  File::class.createType(nullable = isOptional) to FileTypeConverter(isOptional),
232
- Path::class.createType(nullable = isOptional) to PathTypeConverter(isOptional),
233
232
 
234
233
  Any::class.createType(nullable = isOptional) to AnyTypeConverter(isOptional),
235
234
  )
235
+
236
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
237
+ return converters + mapOf(
238
+ Path::class.createType(nullable = isOptional) to PathTypeConverter(isOptional),
239
+ )
240
+ }
241
+
242
+ return converters
236
243
  }
237
244
  }
@@ -22,12 +22,6 @@ public final class ExpoBridgeModule: NSObject, RCTBridgeModule {
22
22
  override init() {
23
23
  appContext = AppContext()
24
24
  super.init()
25
-
26
- // Listen to React Native notifications posted just before the JS is executed.
27
- NotificationCenter.default.addObserver(self,
28
- selector: #selector(javaScriptWillStartExecutingNotification(_:)),
29
- name: NSNotification.Name.RCTJavaScriptWillStartExecuting,
30
- object: nil)
31
25
  }
32
26
 
33
27
  deinit {
@@ -47,6 +41,12 @@ public final class ExpoBridgeModule: NSObject, RCTBridgeModule {
47
41
  public var bridge: RCTBridge! {
48
42
  didSet {
49
43
  appContext.reactBridge = bridge
44
+ bridge.dispatchBlock({ [weak self] in
45
+ guard let self = self, let bridge = self.appContext.reactBridge else {
46
+ return
47
+ }
48
+ self.appContext.runtime = EXJavaScriptRuntimeManager.runtime(fromBridge: bridge)
49
+ }, queue: RCTJSThread)
50
50
  }
51
51
  }
52
52
 
@@ -64,16 +64,4 @@ public final class ExpoBridgeModule: NSObject, RCTBridgeModule {
64
64
  appContext.useModulesProvider("ExpoModulesProvider")
65
65
  appContext.moduleRegistry.register(moduleType: NativeModulesProxyModule.self)
66
66
  }
67
-
68
- // MARK: - Notifications
69
-
70
- @objc
71
- public func javaScriptWillStartExecutingNotification(_ notification: Notification) {
72
- if (notification.object as? RCTBridge)?.batched == bridge {
73
- // The JavaScript bundle will start executing in a moment,
74
- // so the runtime is already initialized and we can get it from the bridge.
75
- // This should automatically install the ExpoModules host object.
76
- appContext.runtime = EXJavaScriptRuntimeManager.runtime(fromBridge: bridge)
77
- }
78
- }
79
67
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-modules-core",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "The core of Expo Modules architecture",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -42,5 +42,5 @@
42
42
  "@testing-library/react-hooks": "^7.0.1",
43
43
  "expo-module-scripts": "^3.0.0"
44
44
  },
45
- "gitHead": "4cfefb886fd394c376290f24dabf987cdd6e6ca0"
45
+ "gitHead": "a4a37bbc631362ec2a6d83eb6361d5059bbc67da"
46
46
  }