History log of /expo/ios/Exponent/Versioned/Core/Internal/DevSupport/EXDisabledRedBox.h (Results 1 – 6 of 6)
Revision Date Author Comments
# c65a9e6c 05-May-2022 Tomasz Sapeta <[email protected]>

[ios] Fix compilation issues in iOS shell apps (#17357) [skip ci]


# fb3e0f7c 25-Aug-2020 Tomasz Sapeta <[email protected]>

[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.

show more ...


# c2f6f870 18-Aug-2020 Stanisław Chmiela <[email protected]>

[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.

show more ...


# 82072d56 17-Jun-2020 Łukasz Kosmaty <[email protected]>

[expo] Add missing methods to `EXDisableRedBox` (#8850)


# b333b418 08-Nov-2019 Brent Vatne <[email protected]>

[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

show more ...


# cde16245 29-Dec-2017 Ben Roth <[email protected]>

Split Core and Optional ExpoKit sources

fbshipit-source-id: 65abb7c