-
Notifications
You must be signed in to change notification settings - Fork 375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Wallet] Enable Flipper on iOS along with Redux Debugger and Reactotron #6488
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, thanks for tackling this!
Would you (or someone else who's familiar with Flipper) consider doing a short demo for the team sometime soon? Setting up and getting the most out of a new tool often takes a bit of time so it would be great to jump start us on this process :)
Yes definitely! I'll schedule this soon! |
Hi @jeanregisser Could you please let us know what need to test us here from front end side? Also please let us know if anything which we would test from backend side. |
Description
This PR enables Flipper on iOS along with
Redux Debugger
andReactotron
plugins.This allows viewing / debugging the following:
It also opens the door for creating/adding our own Flipper plugins (for instance for viewing transactions 😉).
Setup instructions were added to the mobile README.
Details
When we upgraded to React Native 0.63.x and Reanimated 2, the introduction of TurboModules broke the ability to use remote debugging with the Chrome DevTools, see this discussion with more details.
As an alternative we can use Flipper to provide similar debugging functionalities.
Flipper was already working on Android, but on iOS there was a conflict between the OpenSSL lib shipped as part of
react-native-fast-crypto
and the one included byFlipper
. To workaround this problem, we now use a "headers" only version ofOpenSSL
that makesFlipper
happy while building.The 2nd issue was that Flipper in React Native doesn't work with
use_frameworks!
enabled in thePodfile
, which we need because we have Swift dependencies, which don't work without it.I bent CocoaPods a little more so that everything Flipper related is built as static frameworks.
I've integrated both
Redux Debugger
andReactotron
as they provide different lenses to debug the app.There's also a
redux-saga
plugin forReactotron
but it triggered some odd unhandled promise rejections, so I didn't include it.While working on this I noticed the state in the
exchange
reducer is very big and made theRedux Debugger
plugin quite unusable within Flipper. There's an issue open which should address this (#6284). In the meantime I've filtered out that part of the state inRedux Debugger
.Reactotron
can still be used to see it and is not affected.Overall this gives us more tools to see what is happening within the app.
Tested
Redux Debugger
andReactotron
plugins.Podfile.lock
files, see Flipper should not get built on iOS release builds facebook/flipper#1275).Related issues
Backwards compatibility
Yes