Soft-log missing ViewState in addViewAt to fix Fabric mount crash#94095
Conversation
|
|
|
I implemented alternative solution for soft-logging the issue instead of crashing for safer way (I have tested the main solution and it works but since the issue happens quite rare so can't guarantee it fixes the issue 100%). Besides, soft-logging consists with how we handled on the rest of the App |
|
@eVoloshchak Please 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] |
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
@lorretheboy Can you please take a look a the feedback from Marcin? thanks! |
|
@war-in I dropped the removeClippedSubviews prop while still keeping the soft log logic. Could you please check again? |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@lorretheboy great! Have you been able to reproduce the crash locally? I wonder if we could get rid of the patch and just remove the prop 🤔 That would be the best fix because we have almost 40 RN patches already |
|
Please merge main, fresh npm install and try to reproduce #94402. Crash log:
|
|
Thanks for your review. I am checking it now |
|
@aimane-chnaif @war-in I think Before changes: before.movAfter changes: after.mov |
war-in
left a comment
There was a problem hiding this comment.
LGTM. If removeClippedSubviews doesn't solve the issue, let's proceed with the patch 👍
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppscreen-20260625-154505-1782395075104.mp4Android: mWeb ChromeScreen.Recording.2026-06-25.at.16.27.58.moviOS: HybridAppScreen.Recording.2026-06-25.at.15.54.04.moviOS: mWeb SafariScreen.Recording.2026-06-25.at.15.20.04.movMacOS: Chrome / SafariScreen.Recording.2026-06-25.at.16.21.04.mov |
|
🚧 mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.4.20-0 🚀
|
|
🚀 Deployed to production by https://github.com/blimpich in version: 9.4.20-1 🚀
Bundle Size Analysis (Sentry): |

Explanation of Change
Fixed Issues
$ #93833
PROPOSAL: #93833 (comment)
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
5.mov
Android: mWeb Chrome
4.mov
iOS: Native
3.mov
iOS: mWeb Safari
2.mov
MacOS: Chrome / Safari
1.mov