-
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
Invert list manually on android #12820
Invert list manually on android #12820
Conversation
@Beamanator @sobitneupane 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] |
81c3b37
to
54a8a29
Compare
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.
This looks good to me, I need to test tho, had some issues with the Android emulator before.
Making sure this is on hold Expensify/react-native#33 |
Reviewer Checklist
Screenshots/VideosWebMobile Web - ChromeMobile Web - SafariDesktopiOSAndroid |
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.
Tested great on Android!! Going to test on iOS & all other platforms to make sure I don't see any weird bugs 👍
Also requesting a few tiny comment changes since we like to start comments with capitals :D
Co-authored-by: Alex Beaman <dabeamanator@gmail.com>
Co-authored-by: Alex Beaman <dabeamanator@gmail.com>
Co-authored-by: Alex Beaman <dabeamanator@gmail.com>
We dont like workarounds, lets not call this a workaround in the title :D |
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.
Looking great, still on hold for the react-native
fork deploy
I published the fork, please let me know if you have any issues with this version:
|
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.
@AndrewGable Thank you so much for doing this!
Taking this off hold, @hannojg can you please remove the patch and update the RN version? and retest.
Alright, updated @mountiny! There was one change applied to the |
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.
thank you @hannojg for the urgency, the code looks good to me!
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.
I have a struggle bus with my Android emulator it is showing as offline, then it is not responsive at all and already spent couple of hours on this 💩
@Beamanator Would you be able to give this a little retest?
@vitHoracek sorry for the trouble, ya I'll test now! |
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.
AppPull12820.mov
Ok, managed to get this stuff running, had to set DNS servers locally so the emulator has access to internet 🤦
All works great for me, great job @hannojg 🎉
Teste iOS too and works fine too!
Reviewer Checklist
Screenshots/VideosWebMobile Web - ChromeMobile Web - SafariDesktopiOSScreen.Recording.2022-11-22.at.13.40.42.movAndroidAppPull12820.mov |
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.
Testing super well! Excited to get this merged!
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
@mountiny @Beamanator |
@mvtglobally Thanks for the bump havent noticed. I have updated the QA steps |
🚀 Deployed to production by @luacmartins in version: 1.2.30-0 🚀
|
* fix: apply workaround for android anr ref: Expensify/App#12820 * chore: simplify the cell renderer component * fix: update snapshots
On hold for Expensify/react-native#33
Details
This is a workaround for the issue:
There is a react-native issue that we are about to solve upstream:
However, it can take some more time until we find a fix for the issue upstream. Until then we settled to do the workaround:
Important: For this PR to work correctly this change in the react-native code base is needed:
verticalScrollbarPosition
prop toScrollView
react-native#33Details for the workaround can be found in this comment: #11321 (comment)
Fixed Issues
$ #11321
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests
adb
:main
the app gets frozen. On this PR the app stays aliveOffline tests
QA Steps
Confirm the above steps with high traffic account.
On other platforms, confirms that scrolling in the chat report work fine, sending messages too, loading old messages when scrolling back in history.
PR Author Checklist
I linked the correct issue in the
### Fixed Issues
section aboveI wrote clear testing steps that cover the changes made in this PR
Tests
sectionOffline steps
sectionQA steps
sectionI included screenshots or videos for tests on all platforms
I ran the tests on all platforms & verified they passed on:
I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
I followed proper code patterns (see Reviewing the code)
toggleReport
and notonIconClick
)src/languages/*
filesWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedIf a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
I followed the guidelines as stated in the Review Guidelines
I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like
Avatar
, I verified the components usingAvatar
are working as expected)I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
If a new component is created I verified that:
/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)If a new CSS style is added I verified that:
StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like
Avatar
is modified, I verified thatAvatar
is working as expected in all cases)If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.
PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
).src/languages/*
filesWaiting 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
have been tested & I retested again)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Screenshots
Web
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android
I posted a video here from a Pixel 4 running android 13. On the main branch this testing case does crash:
main
(broken)this branch
main_branch.mov
android.mov