From 4d8adf6065e00a682e1c48d7cbe4ecd34ba94fde Mon Sep 17 00:00:00 2001 From: Scott Kyle Date: Wed, 23 Sep 2020 09:13:09 -0700 Subject: [PATCH 1/2] Fix RedBoxes from accessing devSettings on invalid bridge (#614) This fixes an issue where starting an app already in Chrome debug mode would result in a massive number of RedBoxes being queued up because `devSettings` was being accessed on an invalidated bridge. --- React/CxxBridge/RCTCxxBridge.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/React/CxxBridge/RCTCxxBridge.mm b/React/CxxBridge/RCTCxxBridge.mm index d3f9d3035d..d69086371b 100644 --- a/React/CxxBridge/RCTCxxBridge.mm +++ b/React/CxxBridge/RCTCxxBridge.mm @@ -400,7 +400,7 @@ struct RCTInstanceCallback : public InstanceCallback { dispatch_group_leave(prepareBridge); } onProgress:^(RCTLoadingProgress *progressData) { #if (RCT_DEV | RCT_ENABLE_LOADING_VIEW) && __has_include() - if ([[self devSettings] isDevModeEnabled]) { // TODO(OSS Candidate ISS#2710739) + if ([weakSelf isValid] && [[weakSelf devSettings] isDevModeEnabled]) { // TODO(OSS Candidate ISS#2710739) // Note: RCTDevLoadingView should have been loaded at this point, so no need to allow lazy loading. RCTDevLoadingView *loadingView = [weakSelf moduleForName:RCTBridgeModuleNameForClass([RCTDevLoadingView class]) lazilyLoadIfNecessary:NO]; From c5fa3de32488791e90670131c3047915951956c4 Mon Sep 17 00:00:00 2001 From: Anandraj Date: Wed, 23 Sep 2020 13:22:55 -0700 Subject: [PATCH 2/2] Adding the JS side config for the onFocusChange event on Android (#610) * Adding the JS side config for the onFocusChange event on Android * Adding "captured" event in the config * Fixing the lint errors by adding trailing commas --- .../View/ReactNativeViewViewConfigAndroid.js | 15 +++++++++++++++ .../views/view/ReactClippingViewManager.java | 4 ++-- .../react/views/view/ReactViewFocusEvent.java | 4 ++-- .../react/views/view/ReactViewManager.java | 6 +++--- 4 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 android-patches/patches/Focus/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js diff --git a/android-patches/patches/Focus/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js b/android-patches/patches/Focus/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js new file mode 100644 index 0000000000..1761d2ddbe --- /dev/null +++ b/android-patches/patches/Focus/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js @@ -0,0 +1,15 @@ +--- /home/hermes/code/react-native-macos-fresh/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js 2020-09-21 21:41:24.322788533 -0700 ++++ /home/hermes/code/react-native-macos/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js 2020-09-23 12:20:05.571823280 -0700 +@@ -19,6 +19,12 @@ + captured: 'onSelectCapture', + }, + }, ++ topOnFocusChange: { ++ phasedRegistrationNames: { ++ bubbled: 'onFocusChange', ++ captured: 'onFocusChangeCapture', ++ }, ++ }, + }, + directEventTypes: { + topClick: { diff --git a/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java b/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java index b812586684..c6c1ffc163 100644 --- a/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +++ b/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java @@ -1,5 +1,5 @@ ---- /home/mganandraj/code/rn-macos-fb62merge-fresh/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java 2020-08-17 18:05:31.682674956 -0700 -+++ /home/mganandraj/code/rn-macos-fb62merge/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java 2020-08-17 16:33:22.167577505 -0700 +--- /home/hermes/code/react-native-macos-fresh/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java 2020-09-21 21:41:24.450784558 -0700 ++++ /home/hermes/code/react-native-macos/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java 2020-09-19 11:06:41.574441701 -0700 @@ -7,7 +7,10 @@ package com.facebook.react.views.view; diff --git a/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewFocusEvent.java b/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewFocusEvent.java index 529f28436f..783105ec21 100644 --- a/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewFocusEvent.java +++ b/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewFocusEvent.java @@ -1,5 +1,5 @@ ---- /home/mganandraj/code/rn-macos-fb62merge-fresh/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewFocusEvent.java 1969-12-31 16:00:00.000000000 -0800 -+++ /home/mganandraj/code/rn-macos-fb62merge/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewFocusEvent.java 2020-08-17 16:32:31.491113001 -0700 +--- /home/hermes/code/react-native-macos-fresh/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewFocusEvent.java 1969-12-31 16:00:00.000000000 -0800 ++++ /home/hermes/code/react-native-macos/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewFocusEvent.java 2020-09-19 11:06:41.574441701 -0700 @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. diff --git a/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java b/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java index acedae7998..7eb26ba2c2 100644 --- a/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +++ b/android-patches/patches/Focus/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java @@ -1,5 +1,5 @@ ---- /home/mganandraj/code/rn-macos-fb62merge-fresh/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java 2020-08-17 18:05:31.686674971 -0700 -+++ /home/mganandraj/code/rn-macos-fb62merge/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java 2020-08-17 16:24:38.654706790 -0700 +--- /home/hermes/code/react-native-macos-fresh/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java 2020-09-21 21:41:24.454784434 -0700 ++++ /home/hermes/code/react-native-macos/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java 2020-09-22 12:07:14.797980137 -0700 @@ -48,8 +48,13 @@ Spacing.START, Spacing.END, @@ -28,7 +28,7 @@ + "topOnFocusChange", + MapBuilder.of( + "phasedRegistrationNames", -+ MapBuilder.of("bubbled", "onFocusChange"))) ++ MapBuilder.of("bubbled", "onFocusChange","captured", "onFocusChangeCapture"))) + .build(); + } +