-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[$250] mWeb - Search - In search, scrolling the page doesn't close the keypad. #61521
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
Comments
Triggered auto assignment to @muttmuure ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.mWeb - Search - In search, scrolling the page doesn't close the keypad. What is the root cause of that problem?We already have logic to dismiss the keyboard on scroll, which works as expected in other parts of the app. App/src/components/SelectionList/index.tsx Lines 60 to 66 in 9586baf
However, it doesn’t work in the search screen because the search input is rendered via the SearchAutocompleteInput component.
Looking deeper, this component uses a TextInput with the type markdown , which on the web renders as a div with contentEditable . As a result, calling Keyboard.dismiss() has no effect in this OPhttps://github.com/Expensify/react-native-live-markdown/blob/main/src/MarkdownTextInput.web.tsx#L772-L775 What changes do you think we should make in order to solve the problem?I think we can fix this by manually
const defaultOnScroll = () => {
// Only dismiss the keyboard whenever the user scrolls the screen
if (!isScreenTouched) {
return;
}
if(dismissExternalKeyboard){
dismissExternalKeyboard();
return
}
Keyboard.dismiss();
};
const dismissExternalKeyboard = () => {
textInputRef?.current?.blur();
};
...
<SelectionList<OptionData | SearchQueryItem>
dismissExternalKeyboard={dismissExternalKeyboard}
...
textInputRef={textInputRef} Note: We should also check other components like SearchPageHeaderInput and apply the same solution What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?Since this is a keyboard interaction issue specific to web behavior, automated testing isn't necessary in this case. What alternative solutions did you explore? (Optional) |
ProposalPlease re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?To resolve this, we need to ensure that Step 1: Export Update this logic: From:
To:
Step 2: Update the Modify the logic here: From:
To:
What alternative solutions did you explore? (Optional)
To:
|
@muttmuure Eep! 4 days overdue now. Issues have feelings too... |
Job added to Upwork: https://www.upwork.com/jobs/~021922351372001950494 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat ( |
Interesting issue. I see that solving this issue on the lib level is not that complex so I think we can solve it at Instead of exposing the @truph01's proposal aligns more with this approach thus I prefer their solution. 🎀 👀 🎀 C+ reviewed |
Triggered auto assignment to @Beamanator, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
Feedback:
@linhvovan29546 I see that you were on the point in your root cause but you didn't explain why calling Keyboard.dismiss() has no effect. Let's try to add those details to add more value to your proposals. |
So @parasharrajat do you think we should hold on hiring for now? |
@Beamanator Here is my main decision #61521 (comment). We can proceed with implementation. |
@Beamanator Bump. |
📣 @truph01 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
@parasharrajat PR is ready |
Let's wait for maintainer review. |
Upstream lib PR is in progress. Close to merge. |
@Beamanator Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@truph01 First PR is done. Waiting for next one... |
@parasharrajat PR is ready |
The version in app is updated in #62788 so we don't need #62811 now. Let's track #62788 timeline for payment of this issue. Thanks. cc: @muttmuure |
Uh oh!
There was an error while loading. Please reload this page.
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: V9.1.40-1
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail: N/a
Email or phone of affected tester (no customers): Slottwo1 sivappa2@gmail.com
Issue reported by: Applause Internal Team
Device used: Redminote note 10s android 13 phone
App Component: Chat Report View
Action Performed:
Expected Result:
In search, scrolling the page must close the keypad.
Actual Result:
In search, scrolling the page doesn't close the keypad.
Workaround:
Unknown
Platforms:
Screenshots/Videos
1.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @BeamanatorThe text was updated successfully, but these errors were encountered: