Update react-native to Expensify fork#9841
Conversation
|
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
|
I have read the CLA Document and I hereby sign the CLA |
|
CLA link is broken btw :) |
5980274 to
7a88062
Compare
7a88062 to
f7d762a
Compare
f7d762a to
acbb8d9
Compare
acbb8d9 to
2d9fe0f
Compare
|
That happens when running pod install? |
Yes. Also cleaned everything and tried again w/o success. |
|
Ok I get the error too if I delete my ios/Pods folder |
|
Running |
|
Ok podfile should be good now |
roryabraham
left a comment
There was a problem hiding this comment.
Overall code changes look good. Still needs more thorough testing
|
|
||
| @Override | ||
| public ReactNativeHost getReactNativeHost() { | ||
| // if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { |
There was a problem hiding this comment.
Should uncomment this because it will end up being the same with the current BuildConfig anyways
There was a problem hiding this comment.
I wanted to avoid creating 2 ReactNativeHost instances by removing this https://github.com/Expensify/App/pull/9841/files#diff-bc1549da6355f7f82f324af9c667b78ff60672b6b80219062629fe4184e8fa93R60, then it won't compile if that doesn't exist.
There was a problem hiding this comment.
I could also just remove that code completely, but wanted to stay close to template
There was a problem hiding this comment.
Other option could be to do private final ReactNativeHost mNewArchitectureNativeHost = null
This comment was marked as outdated.
This comment was marked as outdated.
|
Yea I saw, I was able to fix a couple ones, but Network tests are still failing. I actually tried updating jest thinking it might be the cause of failures, so might not be related. |
Justicea83
left a comment
There was a problem hiding this comment.
Can we add these changes to the build.gradle file
configurations.all {
resolutionStrategy {
force 'org.xerial:sqlite-jdbc:3.34.0'
}
}
Coming from this slack thead
|
@kidroca if you have any spare cycles could you help us investigate why the network tests are failing on this PR? I know you helped write a lot of them so might have some more ideas? |
|
@janicduplessis This PR fixes the tests 🎉 https://github.com/janicduplessis/Expensify-App/pull/1/files |
335ad27 to
ed4628a
Compare
|
@Justicea83 I don't have access to this slack convo, but will add. This is in root build.gradle right? I know using allprojects make sure it will apply to everything. |
Yes! Looks like it should go in |
|
iOS app seems to be working perfectly as far as I can tell (including push notification tests) 🎉 Android up next... |
|
Okay, Android seems to be working as expected as well (though it's very, very slow, I don't think that's related to this PR) |
Dismissing because he said "Looks great!" above and his change request was met
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
I was also testing on web + desktop all the way through by sending messages back and forth between the mobile and web/desktop apps |
Seems you figured it out already 👍 |
|
Yep, thanks! Why the changes were necessary on this PR, I have no idea 🙃 |
| "react": "18.0.0", | ||
| "react-collapse": "^5.1.0", | ||
| "react-content-loader": "^6.1.0", | ||
| "react-dom": "^17.0.2", |
There was a problem hiding this comment.
@janicduplessis @roryabraham
Any reason for react-dom to stay on 17 while React is updated to 18?
Usually they have to be the same (major) version
There was a problem hiding this comment.
I wanted to avoid updating it as I'm not sure react-native-web is compatible yet. From our testing it works just fine. The react package doesn't really include much code, it is basically just a facade for react-dom / react-native renderers.
There was a problem hiding this comment.
Updating to react-dom 18 would be really nice to do in a follow up tho :)
There was a problem hiding this comment.
I'm going to continue working on updating our react-native-web fork, and we can update react-dom when we update NewDot to point at the updated react-native-web fork?


Details
This updates the RN files to 0.69 and to our fork. Some changes:
Other libraries updated:
react-native-pdfrequires installingreact-native-blob-utilnow, which is actually a fork ofrn-fetch-blobso it is impossible to use both at the same time.react-native-blob-utilis supposed to have the same api asrn-fetch-blob, but might want to double check features that use this. This also avoids having to patchrn-fetch-blob.Note that this also fixes M1 mac compatibility issues I've had.
Fixed Issues
$ GH_LINK
Tests
Tested that the app builds and open a few screens on iOS and Android
TODO: Test something that uses
react-native-blob-utilPR Review Checklist
Contributor (PR Author) Checklist
### Fixed Issuessection aboveTestssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*filesSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */displayNamepropertythisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)Avataris modified, I verified thatAvataris working as expected in all cases)PR Reviewer Checklist
The Contributor+ will copy/paste it into a new comment and complete it after the author checklist is completed
### Fixed Issuessection aboveTestssectionQA stepssectiontoggleReportand notonIconClick).src/languages/*filesSTYLE.md) were followedAvatar, I verified the components usingAvatarhave been tested & I retested again)/** comment above it */displayNamepropertythisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)Avataris modified, I verified thatAvataris working as expected in all cases)QA Steps
This is a significant PR that affects the whole app, but it does not really have specific QA steps.
That said, this PR coincidentally includes the remaining changes that were needed to complete #7962, so please retest that issue and post the results in the issue. Thank you.
Screenshots
Web
Mobile Web
Desktop
iOS
Android