[go] disable remote debugging when running on hermes (#21269)# Why close ENG-7610 # How the implementation is slightly different between android and ios. on ios, we could just disable rem
[go] disable remote debugging when running on hermes (#21269)# Why close ENG-7610 # How the implementation is slightly different between android and ios. on ios, we could just disable remote debugging when changing to hermes and enable it when changing back to jsc. however, on android we just disable remote debugging when running on hermes. this is because the fact of we have override `EXDevSettings` on ios but no similar stuff on android. # Test Plan follow steps on ENG-7610
show more ...
[ios] Fix compilation issues in iOS shell apps (#17357) [skip ci]
[android][ios] Upgrade react-native to 0.67.2 in Expo Go (#16400)# Why upgrade for sdk 45 # How ## upgrade react native fork code in https://github.com/expo/react-native/tree/sdk-45 ba
[android][ios] Upgrade react-native to 0.67.2 in Expo Go (#16400)# Why upgrade for sdk 45 # How ## upgrade react native fork code in https://github.com/expo/react-native/tree/sdk-45 basically cherry pick most necessary commits from sdk-44 branch but not these two: 1. https://github.com/expo/react-native/commit/125b36ac6d76e702bea4d7c41a8a402d68cdb1f1: because ExpoKit is already deprecated. 2. https://github.com/expo/react-native/commit/82d3ff5218cc576b5c7ea44c7adbf8b5aa5d985c: [use the official way to set metro server address](https://github.com/facebook/react-native/commit/e2b5b6504cb4dee8f2ec67f1d3a410801e1ca09a) ## migrate project setup basically reference from: https://react-native-community.github.io/upgrade-helper/?from=0.64.2&to=0.67.2 ## other build errors or launch errors just to deal with these mess one by one. # Test Plan - [android] unversioned expo-go build + launch + load unversioned NCL - [ios] unversioned expo-go build + launch + load unversioned NCL
[ios] Use stable manifest ID where applicable (#13280)
[ios] Fix EXDisabledRedBox not overriding RCTRedBox (#10498)* [ios] Fix EXDisabledRedBox registering as EXDisabledRedBox by providing moduleName * [ios] Backport fix to SDK39
[ios] Add RCTBridgeModule conformance o EXDisabledDevMenu (#9932)
[ios] Fix DevMenu and RedBox behavior when TurboModules are enabled (#9906)# Why With TurboModules enabled, the dev menu had all RN's-specific options unavailable — it's been caused by the fact
[ios] Fix DevMenu and RedBox behavior when TurboModules are enabled (#9906)# Why With TurboModules enabled, the dev menu had all RN's-specific options unavailable — it's been caused by the fact we used module names to pick instances of some needed modules, whereas with TurboModules we should use `moduleForClass:` method instead. After fixing this I noticed that toggling some tools sometimes doesn't close the dev menu as it was before — this is probably related with React Native upgrade to 0.63 which might fix an issue that `componentWillUnmount` was not being called after closing the bottom sheet, but `componentDidMount` was called every time when opening it. Previously we fixed this by unsubscribing the listener immediately once the request has come, but looks like we no longer need it. We also found out some glitches while opening the dev menu for the first time — looks like there is a bug in the new version of reanimated that causes the bottom sheet to call `onCloseEnd` event when it starts opening and where we collapse and close it. I added additional check that prevents collapsing on `onCloseEnd` event when bottom sheet hasn't been expanded yet. Linking with #9850 to track SDK39 QA issues. # How - Replaced `[self _moduleInstanceForBridge:bridge named:moduleName]` calls with `[bridge moduleForClass:ModuleClass.class]`. - Made `EXDisabledDevMenu` and `EXDisabledRedBox` TurboModules. - Moved overriding RedBox reload action from `bridgeWillStartLoading` to `bridgeFinishedLoading` to get rid of race conditions where the module is not available yet. - Removed hacky fix that was unsubscribing close requests immediately. - Added another hacky fix to prevent collapsing on unnecessary `onCloseEnd` calls. # Test Plan Run `home` locally and tested all dev menu's options in various cases. Unfortunately, remote debugger is still unavailable (but it should work once we turn off TurboModules by default). # To do - Publish dev home - Remote debugger is still unavailable because it's explicitly disabled when TurboModules are enabled. We will fix it by making the use of TurboModules optional.
[ios] Enable TurboModules (#9687)# Why We need to enable TurboModules to be able to include Reanimated v2. > A known issue with this PR is that the community AsyncStorage seizes to work — it
[ios] Enable TurboModules (#9687)# Why We need to enable TurboModules to be able to include Reanimated v2. > A known issue with this PR is that the community AsyncStorage seizes to work — it expects only native module, isn't compatible with TurboModule AsyncStorage and we do not import the AsyncStorage community module properly. > > **Actually**, https://github.com/react-native-community/async-storage/pull/418 should be enough. # How Apart from the more or less usual TurboModules setup (imports, headers, flags, C++ dialect) I had to move native modules that we override in Expo from `extraModulesForBridge:` to `getModuleInstanceFromClass:`. I don't like that we have to use `RCTLogFunction` in `EXVersionManager` now (otherwise the code wouldn't compile), but I guess that if the type ever changes somebody will notice and backport the change to versioned SDKs. # Test Plan Expo Client compiled, home ran.
[expo] Add missing methods to `EXDisableRedBox` (#8850)
[react-native] Upgrade to 0.62.2 (#8310)# Why Let's have latest React Native in the upcoming SDK! # How See the story at https://www.notion.so/expo/React-Native-Upgrade-Diary-947bc0b506a94
[react-native] Upgrade to 0.62.2 (#8310)# Why Let's have latest React Native in the upcoming SDK! # How See the story at https://www.notion.so/expo/React-Native-Upgrade-Diary-947bc0b506a942189fd47ff6e53bf95b. # Test Plan Expo Client runs, versioned SDK38 also runs (after a couple of post-version fixes outlined in the aforementioned doc). `expo-cli` can't handle `client_log` events, but that's something we may want to figure out after merging this PR, I guess.
[ios] Do not show the loading view when fast refresh is disabled (#7414)
[ios] Only send dev menu notifications when they are being observed
[ios] Add fast refresh "refreshing" UI (#6209)
[ios][android] Make redbox and rr (android) and cmd+r (ios) reload manifest and JS rather than just JS (#6134)* [ios] Make cmd+r reload manifest and JS rather than just JS * [ios] Reload from de
[ios][android] Make redbox and rr (android) and cmd+r (ios) reload manifest and JS rather than just JS (#6134)* [ios] Make cmd+r reload manifest and JS rather than just JS * [ios] Reload from dev menu grabs manifest too * [ios] Clean up reload code and ensure redbox injection code works outside of developer mode * [android] Reload on dev menu also reloads from manifest * [ios] Fix typo * [android] Reload from manifest from redbox and with rr shortcut * [android] Address feedback * [react-native-lab] Copy changes to ReactAndroid over * [android] Clean up extra newlines * [react-native-lab] Update on sdk-36 branch
[home][ios] Update dev menu for sdk 36 to include fast refresh (#6110)* [home][ios] Update dev menu for sdk 36 to include fast refresh * [ios][home] Ensure that live reload is always set to disa
[home][ios] Update dev menu for sdk 36 to include fast refresh (#6110)* [home][ios] Update dev menu for sdk 36 to include fast refresh * [ios][home] Ensure that live reload is always set to disabled on sdk36+. Also add perf monitor key to dev settings data source * [ncl] Fix title of action sheet screen * [home] Clean up menu buttons and stop using alert for additional info * [home] Tweaks to menu view to look better in < sdk 35 * [home] Fix styles for constants in the bottom of projects screen * [ios] Improve messaging when hot refresh is not available and do not show element inspector in prod mode * [home] Make the reason why an option is not available very obvious * [ios] Remove perf monitor from dev settings data source again, minimize touch in this pr
Clean up home diagnostics vcfbshipit-source-id: 5549cdb
Split Core and Optional ExpoKit sourcesfbshipit-source-id: 65abb7c