You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[HOLD #41128] [$500] mWeb - Chat - The keyboard appears for a moment when leaving the thread #35494
Version Number: v1.4.34-0 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 Expensify/Expensify Issue URL: Issue reported by: Applause - Internal Team Slack conversation:
changed the title [-]mWeb - Chat - The keyboard appears for a moment when leaving the thread[/-][+][$500] mWeb - Chat - The keyboard appears for a moment when leaving the thread[/+]on Jan 31, 2024
Please re-state the problem that we are trying to solve in this issue.
The keyboard appears for a moment when leaving the thread
What is the root cause of that problem?
When we are in a thread and the composer is focused the keyboard going to be displayed, but when we click on the three dots the keyboard get hide (as part of the behavior of this component), here no matter what option we select the keyboard going to be displayed again after three dots menu get hide, because of this when we leave the thread the keyboard seems to appear (expected behavior) and then disappears when the leave action makes we navigates back to main thread because the composer loose the focus.
What changes do you think we should make in order to solve the problem?
We can keep the focus on the composer when navigating backwards and the keyboard is displayed.
To do this we should modify the ReportScreen Component to add a variable that determine if the user got to the screen using the navigation component with path (this let us know if the user is not getting to the Report from LHN), like:
With the prop isReportOpenedFromNavigationPath we can now determinate when to force the input focus, to do this we can pass as a prop the result of this variable on ReportActionCompose, like:
Activity
[-]mWeb - Chat - The keyboard appears for a moment when leaving the thread[/-][+][$500] mWeb - Chat - The keyboard appears for a moment when leaving the thread[/+]melvin-bot commentedon Jan 31, 2024
Job added to Upwork: https://www.upwork.com/jobs/~01278478c2e7ed2136
melvin-bot commentedon Jan 31, 2024
Triggered auto assignment to @Christinadobrzyn (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.melvin-bot commentedon Jan 31, 2024
Triggered auto assignment to Contributor-plus team member for initial proposal review - @sobitneupane (
External)kbecciv commentedon Jan 31, 2024
We think that this bug might be related to #vip-vsb
CC @quinthar
Christinadobrzyn commentedon Jan 31, 2024
I can reproduce this based on the steps in the OP. I think this can be External so waiting for proposals.
samilabud commentedon Jan 31, 2024
Proposal
Please re-state the problem that we are trying to solve in this issue.
The keyboard appears for a moment when leaving the thread
What is the root cause of that problem?
When we are in a thread and the composer is focused the keyboard going to be displayed, but when we click on the three dots the keyboard get hide (as part of the behavior of this component), here no matter what option we select the keyboard going to be displayed again after three dots menu get hide, because of this when we leave the thread the keyboard seems to appear (expected behavior) and then disappears when the leave action makes we navigates back to main thread because the composer loose the focus.
What changes do you think we should make in order to solve the problem?
We can keep the focus on the composer when navigating backwards and the keyboard is displayed.
To do this we should modify the ReportScreen Component to add a variable that determine if the user got to the screen using the navigation component with path (this let us know if the user is not getting to the Report from LHN), like:
const isReportOpenedFromNavigationPath = Boolean(lodashGet(route, 'path') || false);And pass this to ReportFooter as a prop:
With the prop isReportOpenedFromNavigationPath we can now determinate when to force the input focus, to do this we can pass as a prop the result of this variable on ReportActionCompose, like:
Finally we should receive the new prop and use it to focus the composer when is true inside of ReportActionCompose component, like:
Result:
Leaving.thread.keyboard.issue.mp4
Christinadobrzyn commentedon Feb 1, 2024
collecting proposals!
108 remaining items
Christinadobrzyn commentedon May 3, 2024
watching - #41128
Julesssss commentedon May 3, 2024
Hey @Christinadobrzyn, I'm going to try and move that linked issue forward.
Christinadobrzyn commentedon May 8, 2024
thanks @Julesssss! I'll keep an eye on #41128
Christinadobrzyn commentedon May 14, 2024
monitoring - #41128
Christinadobrzyn commentedon May 21, 2024
monitoring - #41128
Christinadobrzyn commentedon May 28, 2024
PR - #41128 is done and I think this is resolved.
Testing again and the keyboard shows after leaving a thread.
screenRecording-28-5-2024-16-8.mp4
Gonna ask QA to test again. https://expensify.slack.com/archives/C9YU7BX5M/p1716883797729199
isagoico commentedon May 28, 2024
Issue is still reproducible on Android mWeb
1953885561340247456az_recorder_20240528_103525.mp4
Christinadobrzyn commentedon Jun 5, 2024
hum @sobitneupane can you restest? I'm not able to reproduce as is above #35494 (comment)
sobitneupane commentedon Jun 6, 2024
@Christinadobrzyn I could not reproduce the issue in Android/Chrome.
Christinadobrzyn commentedon Jun 7, 2024
Awesome - let's close! thanks for checking @sobitneupane!