Conversation
|
|
|
@dominictb 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] |
|
Whoops this is a tough one 😰. I'll need some more testing & research and will provide update in 2-3 days. |
|
@dominictb, how's it going? Feel free to ask questions about these changes if something isn't clear 😄 Figuring it out wasn't obvious for me |
|
@dominictb bump once again |
|
I'll come back to this today. Been busy with some urgent project tickets. |
| panX.setValue(offset); | ||
| - }, [layout.width, panX]); | ||
| + | ||
| + // If the layout.width is 0 it means we still waiting for calculating it. |
There was a problem hiding this comment.
| + // If the layout.width is 0 it means we still waiting for calculating it. | |
| + // layout.width is 0 means we still waiting to calculate it |
| + | ||
| + // If the layout.width is 0 it means we still waiting for calculating it. | ||
| + if (!layout.width) { | ||
| + // Non null values of these states indicates that we have a proper layout.width |
There was a problem hiding this comment.
| + // Non null values of these states indicates that we have a proper layout.width | |
| + // Non-null values of these states indicate that we have a proper layout.width |
|
@dominictb fixed 🫡 |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2025-06-19.at.01.44.40.movAndroid: mWeb ChromeScreen.Recording.2025-06-19.at.01.40.21.moviOS: HybridAppScreen.Recording.2025-06-19.at.01.32.54.moviOS: mWeb SafariScreen.Recording.2025-06-19.at.01.34.16-compressed.movMacOS: Chrome / SafariScreen.Recording.2025-06-19.at.01.25.17.movScreen.Recording.2025-06-19.at.01.23.24.movMacOS: DesktopScreen.Recording.2025-06-19.at.01.29.04-compressed.mov |
|
@adamgrzybowski Can you update the "go back" test in PR description to include this? |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
Note Note for QA: #63570 (comment) |
|
🚀 Deployed to staging by https://github.com/grgia in version: 9.1.70-0 🚀
|
|
🚀 Deployed to production by https://github.com/chiragsalian in version: 9.1.70-7 🚀
|
3 similar comments
|
🚀 Deployed to production by https://github.com/chiragsalian in version: 9.1.70-7 🚀
|
|
🚀 Deployed to production by https://github.com/chiragsalian in version: 9.1.70-7 🚀
|
|
🚀 Deployed to production by https://github.com/chiragsalian in version: 9.1.70-7 🚀
|
|
🚀 Deployed to production by https://github.com/chiragsalian in version: 9.1.70-7 🚀
|
| style: layout.width ? { | ||
| width: layout.width | ||
| } : focused ? StyleSheet.absoluteFill : null, | ||
| - children: focused || layout.width ? child : null | ||
| + children: focused || translateX ? child : null |
There was a problem hiding this comment.
Using layout.width here led to this issue:
and was addressed with translateX instead, running this PRs tests to confirm both fixes are working.
Explanation of Change
It turned out that the react-native-tab-view causes the bug
It happens on refresh or initial load of the page, when any tab except the first one is selected.
The root cause is:
layout.widthdetermines if we should use a layout that uses thepositionandtranslateXanimated values.positionandtranslateXare derived frompanXlayout.widthis known, so we usepositionandtranslateX, but thepanXisn't set yet and is still 0.I changed the code to make sure that switching to the layout that uses
positionandtranslateXis after thepanXvalue is updatedThe upstream fix is here: react-navigation/react-navigation#12627
Warning
There is a patch. Make sure to reinstal the node_modules
Fixed Issues
$ #62346
PROPOSAL:
Tests
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Precondition: User has no workspace
refresh
go back
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.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
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
fix.glitch.mov
MacOS: Desktop