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
mountiny
left a comment
There was a problem hiding this comment.
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 |
Beamanator
left a comment
There was a problem hiding this comment.
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 |
Beamanator
left a comment
There was a problem hiding this comment.
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: |
mountiny
left a comment
There was a problem hiding this comment.
@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 |
mountiny
left a comment
There was a problem hiding this comment.
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! |
Reviewer Checklist
Screenshots/VideosWebMobile Web - ChromeMobile Web - SafariDesktopiOSScreen.Recording.2022-11-22.at.13.40.42.movAndroidAppPull12820.mov |
Beamanator
left a comment
There was a problem hiding this comment.
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:
verticalScrollbarPositionprop toScrollViewreact-native#33Details for the workaround can be found in this comment: #11321 (comment)
Fixed Issues
$ #11321
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests
adb:mainthe 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 Issuessection aboveI wrote clear testing steps that cover the changes made in this PR
TestssectionOffline stepssectionQA stepssectionI 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)
toggleReportand notonIconClick)src/languages/*filesWaiting for Copylabel 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 usingAvatarare 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 */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis 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
Avataris modified, I verified thatAvataris 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 Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick).src/languages/*filesWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarhave been tested & I retested again)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)Avataris modified, I verified thatAvataris 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 branchmain_branch.mov
android.mov