-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Fix last spacer #32843
Fix last spacer #32843
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.
Patch looks good to me
@perunt I think you're missing a checkmark in the author checklist |
It should be good now |
@situchan is going to help us out with a C+ review here |
@perunt the author checklist recently changed with a few items added, can you copy the checklist from |
Just to confirm: upstream PR was merged but we're just applying patch here until new RN release given the urgency of comment linking project? |
@situchan Exactly, we also need a separate patch for RN web since the lists components are vendored and do not use the same version as react-native. |
can you provide complete code? i.e. Also, please complete Screenshots/Videos section |
The We haven't implemented this in our app yet. Would you like me to use the snipped above to demonstrate how it works? |
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
I don't see any difference before and after applying patch Screen.Recording.2024-01-05.at.2.53.21.PM.movScreen.Recording.2024-01-05.at.2.54.52.PM.mov |
@perunt any feedback on #32843 (comment)? |
There should be some mistakes. Let's do all steps from the beginning
you should see the following result +720.movafter: 720+.mov |
@situchan, please ping me if it doesn't work for you |
For mobile you should replace
to
as MVCPFlatList is only for web component |
crash happened on web as well |
Let me run it with a 'clean' flag and recheck it. Meantime please double check if your branch is up to date. |
@situchan I cleared my cache, and everything is working for me. Did you check if your local branch is up to date with mine? |
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.
waiting on c+ re-review to merge
@situchan, please can you check it? |
I confirmed working on both web and native. Before this PR, there's bug indeed @grgia let's merge! |
✋ 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/roryabraham in version: 1.4.24-4 🚀
|
@perunt Can you help with the QA steps? What should we be validating after sending the linked code in a chat?
|
This PR fixes a bug where adding over 50 new messages at once causes issues. It's hard to replicate this in the app right now as we don't have such functionality, but PR #30269 makes it possible to test it |
I think for now it's |
🚀 Deployed to production by https://github.com/mountiny in version: 1.4.24-8 🚀
|
Details
The issue lies in incorrectly constraining the size of non-final spacers in lists that have a structure like:
Here, the logic mistakenly applies tail spacer constraints to a middle spacer. This causes problems, especially with maintainVisibleContentPosition, leading to incorrect scrolling and the unintended virtualization of supposed-to-be-visible content. This happens because the logic is designed to prevent rapid scrolling into unmeasured areas, but it fails in lists where spacers aren't at the end.
UPSTREAM: facebook/react-native#41846
Fixed Issues
$ #32634
PROPOSAL:
Tests
Offline tests
QA Steps
For testing purposes, copy this code into your ReportScreen and click the button. You'll see that the screen position remains unchanged, and an item gets added. Note that this behavior is effective for a single push only.
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.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 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