-
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
[$1000] Keyboard closes while selecting members on invite page on mWeb vs keyboard stays open on android #22510
Comments
Triggered auto assignment to @puneetlath ( |
Bug0 Triage Checklist (Main S/O)
|
Hmm, interesting. I agree this is inconsistent. I wonder if it's because of our own implementation or just the default behavior on native vs browser. In any case I'll mark as external for now for thoughts. @Nathan-Mulugeta what happens on iOS? |
Job added to Upwork: https://www.upwork.com/jobs/~0112a3b6c2cacb43a8 |
Current assignee @puneetlath is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @mollfpr ( |
I can't test on ios @puneetlath |
ProposalPlease re-state the problem that we are trying to solve in this issue.Keyboard stays open on native but closes on mWeb What is the root cause of that problem?We currently do not support persisting the keyboard when clicking on options in mWeb. The What changes do you think we should make in order to solve the problem?Listen to Unfortunately, on android we can press arrow down button in your Android device to hide the keyboard, but the input is still focused, so when we use We need to:
Here's the reason why we need 100 App/src/components/PDFView/index.js Lines 38 to 44 in cd851d0
What alternative solutions did you explore? (Optional)NA Resultmweb/chromeScreenrecorder-2023-07-21-15-03-23-121.mp4androidScreen.Recording.2023-07-21.at.15.21.41.mov |
Sorry I got a problem with updating the NPM, I'll be posting an update in the morning. |
original-69D40746-4FA4-4AFA-BDD1-0BDA2A620CFE.mp4Here's my evidence, It works well by my side, can you please share your video? Thanks |
@tienifr Could you try it on Android Chrome? It is working fine on iOS Safari. |
Screen_Recording_20230714_165425_Chrome.mp4@mollfpr Here you are |
@tienifr Could you attach the diff you use? |
@mollfpr Here you are In OptionRow.js line 191 hoverStyle={this.props.hoverStyle}
+ onMouseDown={this.props.onMouseDown} In BaseOptionsList.js line 180 shouldDisableRowInnerPadding={this.props.shouldDisableRowInnerPadding}
+ onMouseDown={this.props.onRowMouseDown}
In BaseOptionsSelector.js line 341 listContainerStyles={this.props.listContainerStyles}
isLoading={!this.props.shouldShowOptions}
+ onRowMouseDown={(e) => {
+ if (!e || !this.textInput.isFocused()) {
+ return;
+ }
+ e.preventDefault();
+ }}
/>
);
I also pushed these changes in this branch |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@mollfpr I tried some different Android devices and I did not see your problem. Can you help pull the latest main or try one more other device. Thanks. |
@tienifr Here is the latest main The step:
mWeb/Chromemwebchrome.webmAndroidandroid.webm |
@mollfpr Thanks for pointing that out. The key problem here is Press the arrow down button in your Android device to hide the keyboard. When we do that, the input is still focused but the keyboard is hidden. I want to add the new logic to detect the keyboard is open or not on BaseOptionsSelector like what we did in PDFView
Resultmweb/chromeScreenrecorder-2023-07-21-15-03-23-121.mp4androidScreen.Recording.2023-07-21.at.15.21.41.mov |
@tienifr Thanks for the update. Several questions.
|
@mollfpr I just updated my proposal #22510 (comment) Can you help verify it. Thanks |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@tienifr Is there any other way to detect the keyboard open in Chrome? I feel watching the window height is a workaround. |
I did think about this before, but I can't find other better way. In PDFView we're using windowHeight to detect the keyboard is open so I think it's fine @mollfpr |
@mollfpr Does it fit for you? Or do you have any suggestions? |
@tienifr I couldn't find any other solution too, I guess we can do the same as we already implemented that and it's also not a common issue. I just tested your code again, on mWeb the focus is not persisted after pressing the row. Is this because of this line?
Even though I enabled the error.webm |
@mollfpr If we're focus on the input but the keyboard is not open (by pressing the down button), we have to blur the input to prevent the keyboard open again as your report if we enable shouldFocusOnSelectRow, we'll open the keyboard if we're still focus on this input no matter the keyboard is open or not.
I can't reproduce your issue if I enable shouldFocusOnSelectRow. Are you checking on the latest main? You can use my branch here https://github.com/tienifr/App/tree/fix/22510 |
@puneetlath @mollfpr this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ and will need to go internal. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks! |
Sorry for the delay, doesn't have much time left but I'll give an update in the morning. In summary, I think we can ignore the case where the keyboard is close, and the input still focuses on mWeb Chrome. After all, this issue is regarding the keyboard being close upon selecting the option row. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Current assignee @puneetlath is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new. |
@puneetlath, @mollfpr Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@puneetlath @mollfpr this issue is now 4 weeks old and preventing us from maintaining WAQ, can you:
Thanks! |
Current assignee @mollfpr is eligible for the Internal assigner, not assigning anyone new. |
Friendly bump @puneetlath on this #22510 (comment) |
@puneetlath, @mollfpr Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@puneetlath Can you please assign me to this GH so I can start to implement the PR?
BTW, I have some confusions about this message ^, it's out of the scope, should we fix this case? @mollfpr |
Hi guys, sorry for the delay here. I've had second thoughts and I don't feel like this is something we should fix. It feels like we're hacking around how that native platforms themselves work and making our code more complex/brittle to do it. My thinking is that we should actually just close this issue and leave this behavior as-is. Sorry for the time that was spent getting to this point so far. Please feel free to continue the conversation if you disagree. |
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:
Expected Result:
keyboard behavior should be consistent between android and mWeb
Actual Result:
keyboard stays open on native but closes on mWeb
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.38-2
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Screen_Recording_20230708_193224_Chrome.mp4
az_recorder_20230708_232030.1.mp4
Expensify/Expensify Issue URL:
Issue reported by: @Nathan-Mulugeta
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688834077644289
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: