-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[NoQA] feat: enable bridgeless #48160
[NoQA] feat: enable bridgeless #48160
Conversation
This comment has been minimized.
This comment has been minimized.
@fedirjh @roryabraham One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
So let's do this before we merge this PR, rather than creating a patch that has to be cleaned up after |
Created #50253 |
Can you link to an upstream issue plz? 🙇🏼 |
Done. |
@WoLewicki On iOS native, I cannot change the profile avatar or select an attachment in composer CleanShot.2024-10-07.at.15.12.39.mp4CleanShot.2024-10-07.at.14.56.32.mp4When creating a distance request, the composer is shinking : CleanShot.2024-10-07.at.15.09.10.mp4I got the warning several times when I created a new expenses |
@WoLewicki On android, when sending a new message, the app crashes with this error: |
I wouldn't expect enormous gains, but some at least due to Static View Configs. |
I can run it now. Running here https://github.com/Expensify/App/actions/runs/11438433039 |
Idk why but it seems to have failed @mountiny. I just merged the newest main, maybe it will work now? |
Hm seems like the action to run the e2e tests for a PR is broken. We'll take a look! |
I merged newest main, is it ready now? |
@WoLewicki yes, tests should pass now (well, apk-manipulation stages shouldn't fail). However I see that your PR contains "merge" commits. In #48251 I re-worked pipeline, where baseline is taken as last merge commit (and at this point of time I'm not sure which merge commit will be taken in your PR - will it compare with Additionally (just want to warn in advance) I think tests will not pass, because they are currently broken on main as well (unfortunately). I'm currently working on this PR: #51248 If your PR can wait few days, then it would be simply amazing. Alternatively I can run tests locally to check performance benefits (since e2e pipeline is not fully working at the moment). |
I think having any feedback from this PR regarding performance is valuable, so even running it locally could be enough for now.
I'd merge this PR nonetheless since it is the way forward either way and it would help me with pushing RN 0.76 and expo update. But I don't have a strong opinion on that tbh. |
Okay @WoLewicki , give me ~1.5hr and I'll post my results here 😊 |
Okay, I can not run tests locally, because I'm getting: 2024-10-22 17:53:35.734 3133-3375 AndroidRuntime com.expensify.chat.e2edelta E FATAL EXCEPTION: mqt_native_modules (Ask Gemini)
Process: com.expensify.chat.e2edelta, PID: 3133
com.facebook.react.common.JavascriptException: Error: Exception in HostFunction: Could not enqueue microtask because they are disabled in this runtime, js engine: hermes, stack:
setImmediate@1:527723
setDriver@1:1660584
LocalForage@1:1659118
anonymous@1:1640327
s@1:1635136
e@1:1634879
anonymous@1:1634781
anonymous@1:1634629
loadModuleImplementation@1:194267
guardedLoadModule@1:193495
metroRequire@1:192777
anonymous@1:1634119
loadModuleImplementation@1:194267
guardedLoadModule@1:193495
metroRequire@1:192777
anonymous@1:1606115
loadModuleImplementation@1:194267
guardedLoadModule@1:193495
metroRequire@1:192777
anonymous@1:1603178
loadModuleImplementation@1:194267
guardedLoadModule@1:193495
metroRequire@1:192777
anonymous@1:1402528
loadModuleImplementation@1:194267
guardedLoadModule@1:193495
metroRequire@1:192777
anonymous@1:206788
loadModuleImplementation@1:194267
guardedLoadModule@1:193495
metroRequire@1:192777
anonymous@1:206603
loadModuleImplementation@1:194267
guardedLoadModule@1:193495
metroRequire@1:192777
anonymous@1:204066
loadModuleImplementation@1:194267
guardedLoadModule@1:193452
metroRequire@1:192777
global@1:191704
at com.facebook.react.modules.core.ExceptionsManagerModule.reportException(SourceFile:76)
at com.facebook.jni.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(SourceFile:1)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(SourceFile:38)
at java.lang.Thread.run(Thread.java:1012) I don't know why it happens 🤷♂️ I think we can proceed with merging and in a meantime I will try to fix e2e pipeline to make sure we can run tests independently to a local environment 👀 For transparency: builds from |
After merging these 3 PRs we can run test against the PR:
Highly desirable to merge #51182 as well, but it can be optional |
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.
Lets give this one a go
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/mountiny in version: 9.0.54-0 🚀
|
🚀 Deployed to production by https://github.com/Beamanator in version: 9.0.54-11 🚀
|
🚀 Deployed to production by https://github.com/Beamanator in version: 9.0.54-11 🚀
|
Details
PR enabling bridgeless mode in the App. This PR can affects the App as a whole, so should require full regression testing.
PRs for introduced patches:
react-native-modal
is not maintained from what I know and there are plans for providing our own, faster implementation of the library.Fixed Issues
$ #48163
PROPOSAL:
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop