-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[$2000] iOS mWeb - Scroll behavior on some pages is inconsistent and broken #13599
Comments
I was able to reproduce, sending out to external |
Job added to Upwork: https://www.upwork.com/jobs/~012729407713b5d561 |
Current assignee @davidcardoza is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @Santhosh-Sellavel ( |
Triggered auto assignment to @pecanoro ( |
Proposal Cause: IOS has feature of bounce on scroll whenever we reach extreme ends while scrolling. Whenever we scroll to bottom or top and content tries to bounce, on some occasion, due to the user trying to scroll beyond the content, it locks the parent View with it which changes touch focus to parent view and thus stopping the scroll. Solution: add attribute bounces={false} in FlatList and ScrollView for that page which will stop the bounce on scroll feature and thus solve the issue. I will mention the code to change below for 'About' and 'Reports' page which are currently facing the issue. In future, if such issue occurs again on any other page, only thing we will need to add is the bounces attritube to the component
|
I'm not able to reproduce this issue @kavimuru please check on the latest staging again! RPReplay_Final1671815826.MP4And personally, I think the issue might be caused to the banner as part of the view is not presented at the bottom. |
Thanks for the proposal, but we need the bounce effect! cc: @pecanoro |
@pecanoro, @davidcardoza, @Santhosh-Sellavel Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Waiting for proposals! |
I can't reproduce anymore, but also I am using an emulator so I am not sure if it's different with a real device. @davidcardoza can you try again and see if you can reproduce it? |
I'm still able to reproduce on latest version |
📣 @shonsirsha You have been assigned to this job by @pecanoro! |
Totally agree! Will keep testing stuff! 😄 Applied on Upwork, will create a PR today or latest tomorrow. Thanks! |
PR ready for review 🙂 |
@pecanoro, @davidcardoza, @shonsirsha, @Santhosh-Sellavel Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@pecanoro, @davidcardoza, @shonsirsha, @Santhosh-Sellavel Still overdue 6 days?! Let's take care of this! |
@pecanoro What is the next step on this one? |
@davidcardoza Oh dammit, I think the issue wasn't linked properly on the PR and it didn't update the issue with the payment date. You can follow the steps here from step 6. You will need to pay the people involved since it's been more than a week since we deployed the changes. If you have any doubts about how to proceed, I recommend asking on the #bug-zero channel. |
PR which fixes this issue causes serious regression in android chrome. |
EDIT: It seems like the pull-to-refresh mentioned by @0xmiroslav also exists in newer iOS Safari as well as Chrome (iOS). Thus, my answer below to fix it won't actually fix anything. At this point, I don't think I could give a fix for this if we wanna keep the pull-to-refresh behaviour on mWeb, as p-t-r requires We could simply revert the change as it's just a one-liner to get the pull-to-refresh functionality back, but the current issue with the iOS broken scrolling (this exact issue) will also appear back. TLDR: if we want to have pull-to-refresh back on mWeb then we have to revert this, but iOS mWeb scrolling will be back to be a bit incosistent and broken (this issue #13599). Just a note, pull-to-refresh doesn't actually exist in the app, so if we wanna match how the app works we could leave it here. OUTDATED ANSWER: @0xmiroslav thanks for reporting. Although I did quite a thorough testing for this one, I missed it as I am unaware that the regression you mentioned is even a functionality in Android web. Sorry about this. Anyhow, I don't find another way to solve this other than disabling the scrolling of the document's body. I'm now thinking of somehthing like this which is still the same but only does it in iOS Safari. This should fix the regression & still fixes the issue: File: <script>
function disableBodyScrollIOS(){
if (isMobileSafari()){
document.body.style.overflow = 'hidden';
}
}
</script>
<body onload="disableBodyScrollIOS();">
etc...
Open for suggestions. Also would anyone lmk how to proceed if a PR causes regression? Thx. |
Good catch @0xmiroslav. But I think it is not a serious regression as it does not affect anything within our app. I will wait for @pecanoro to decide on this one. Whether we fix it or not I think this is something that is a bit out of scope to find out in the PR review testing, thanks! |
If pull to refresh does not seem to be a thing either on native apps, I would say this is not a bug and we can keep it like this on the mobile browsers to actually keep it consistent. |
Thanks, everyone, @davidcardoza this is due for payment! |
Confirming payments with @pecanoro before sending out. |
|
@davidcardoza Applied! |
@davidcardoza bump! |
Hired @Santhosh-Sellavel can you please accept the job and reply here once you have? |
Thanks, @mallenexpensify done! |
Paid @Santhosh-Sellavel @davidcardoza and @Santhosh-Sellavel , can you fill out the below? The checklist didn't auto-populate BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
@pecanoro I believe this is not a regression, it existed right from the start! |
Thanks for taking over while i was away @mallenexpensify I filled out the two first bullet points. |
@davidcardoza The bug-zero assignee usually takes care of the last bullet point, it would be great if you can take care of that last item, thank you! |
@pecanoro, @davidcardoza, @shonsirsha, @Santhosh-Sellavel Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
This doesn't require a regression test it doesn’t make sense to add a step to TestRail test case. |
I added it to the testing guidelines sheet https://docs.google.com/document/d/1UaWlcieiwLnsKfeKw7iwLF7vgYRmdw_-K8OcY5aPBRU/edit#heading=h.zm638pdvzx2 |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Scenarios:
1.Login with any account that has many reports.
2.From LHN, try to scroll to bottom with the first touch at the fab button, after that try to scroll normally at other position.
3.Notice you can't scroll right after that, you need to scroll 2,3 times to make it scroll as normal.
1.Select any workspace, choose Connect Bank Account => Connect Manually, press back button to Connect Bank Account, continue to press back.
2.Notice you can't scroll right after that, you need to scroll 2,3 times to make it scroll as normal.
1.Go to Settings => About page => Scroll to bottom, change the tab then go back.
2.Notice that you can’t scroll to bottom after that
Expected:
Can scroll to the bottom as normal
Actual:
Can not scroll to the bottom as normal
Workaround:
unknown
Platform:
Where is this issue occurring?
Version Number: 1.2.39-0
Reproducible in staging?: y
Reproducible in production?: y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
RPReplay_Final1671032127.MP4
PBCQ6485.MP4
RPReplay_Final1671033212.MP4
RPReplay_Final1671120567.MP4
Expensify/Expensify Issue URL:
Issue reported by: @hungvu193
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1671032426349589
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: