-
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
[HOLD for payment 21 June] iOS - Attachment picker flickers and unable to select for choose document #3543
Comments
Triggered auto assignment to @cead22 ( |
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open
|
The |
@Julesssss React-native-web does not affect IOS. It's only active on the web. |
I agree and that makes sense, but perhaps one of the other code changes in that PR introduced the issue? I can't think of any other explanation for why the issue is not reproducible on RPReplay_Final1623424408.MP4 |
I mostly believe it's due to react version upgrade. |
@Julesssss did you happen to test changing the react version to see if it fixed it? |
Nope, but I think that is a likely fix. Perhaps it would be better to remove just that library, but honestly, I think that will take longer as I would need to work out which changes are relevant. Realistically we'll need to revert the full PR. Also I wasn't clear, but by 'The react-native-web update' I meant the PR, not that specific library. |
Which library? |
I actually think that #3446 is more likely responsible for this issue. Looks like others have had issues with react-native-document picker after upgrading to RN 64.1: react-native-documents/document-picker#405 |
@isagoico do you know what iOS version was used by the tester here? |
@roryabraham I reproduced on a physical device running iOS 11
|
Ah no, we can't remove |
I just confirmed that the document picker works on |
FWIW, it also works fine for me with |
I was able to reproduce w/ iOS 14, |
testing on iOS 14.5 |
Is anyone able to test a physical device? I have a horrible and hopefully incorrect feeling that a previous attachment bug only affected physical devices. If not I'll do this first thing Monday. |
Yep, I can reproduce still on iOS 11, a physical device. I should have clarified on Friday that this was only reproducible on iOS (and possibly only on physical devices). |
Okay, this is only sometimes occurring, but it's a nightmare to verify 😭. In some circumstances it will work the first time you attempt to add an attachment, but then almost all later attempts fail. The only hint is that if you enter a new chat after it fails to display, the Attachment picker will then display -- it's appearing at completely the wrong time, but it remains on screen 😖 Works first time ios-attachment-main.mp4Appearing when opening a new chat ios-attachment-newchat.mp4
|
@Julesssss it looks like you're on this so I'm gonna unassign myself. If you decide to unassign, please let me know and I'll find someone to work on this (which is pretty much all I did Friday) |
I tested builds to locate the introducing commit:
There's a high likelihood that one of the following library changes introduced the issue, so next step will be to review them 1 by 1:
My main takeaway is that it is frustratingly time-consuming working out which commit/PR introduced a regression. Ideally we would detect more of these regressions at the PR review stage. |
OKAY. Here's the PR which introduced the issue: Upgrade react-navigation to 6.x
Specifically, it turns out that bumping |
The above comment is not quite accurate, this PR introduced the It gets worse. I can confirm that simply downgrading the 'react-native' library to The issue is only fixed when I downgrade both 'react-native' and 'Onyx'! Reverting Onyx is out of the question as we've already merged a bunch of fixes and would add a lot of extra work, so I think we should revisit the decision to launch with this issue and remove the deployBlocker label. Please let me know if you agree/disagree. Thanks. |
@Julesssss I think I found the root cause here. just want you to confirm. Again, it seems to be the RN bug where two models can't exist simultaneously. I know we are waiting here for the modal transition to end but still, this timeout's existence says that there was an issue here but now it needs more delay. If we increase the Delay here - for eg I set 1 sec, It works fine. Please check? |
Well done @parasharrajat. Can confirm. Maybe that's why it sometimes worked correctly the first time? I guess that also explains why two different changes introduced the same bug 🤯 We had better open up another UpWork contract for you 😅 |
I'm assuming you want to take the job? but it would be great if you could raise a PR for this. If so we'll get an UpWork task created immediately. Please tag me on the PR so I can review first thing tomorrow 👍 |
Yeah. PR will be up in no time. Upwork can wait. |
Triggered auto assignment to @stephanieelliott ( |
Hey @stephanieelliott. This one is slightly different as we already have the solution and we just need an UpWork issue created to track payment. |
Cool, that's easy! Posted to Upwork, please apply for this one @parasharrajat: https://www.upwork.com/jobs/~01cb0fd992029800cc |
@Julesssss PR is up. This deployblocker is done. 🧀 |
@Julesssss so it seems like this isn't related to dependencies at all? Or possibly could be, but not in any obvious way? |
We've seen this issue before when trying to open a second Modal from another Modal. I believe both dependencies somehow sped up the displaying of the second Modal, which meant that 10ms was no longer long enough of an artificial delay to wait before showing the second Modal. So yeah, I think both dependencies introduced the problem as a side effect of speeding up the app (or something similar). |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Expected Result:
Attachment picker displayed and user able to select attachment
Actual Result:
Attachment picker flickers and unable to choose any document
Action Performed:
Workaround:
Unknown
Platform:
Where is this issue occurring?
Web
iOS ✔️
Android
Desktop App
Mobile Web
Version Number: 1.0.67-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Bug5107955_Aiiachment_picker.mp4
Expensify/Expensify Issue URL:
View all open jobs on Upwork
The text was updated successfully, but these errors were encountered: