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 for payment 2024-01-18] [$500] Group - Closed keyboard opens again after adding a user to a group #29003
Please re-state the problem that we are trying to solve in this issue.
On mobile devices native app, whenever user click on "Add to group" button in Send Message page, the search input is refocused, and opens up the keyboard.
If user click on the screen to dismiss the keyboard and click on "Add to group", again the keyboard pops up.
That causes unpleasant UX for user who would like to add several people to a group, but the recipient list is partially blocked by the keyboard.
This issue does not happen in mobile browsers.
What is the root cause of that problem?
Currently in BaseOptionsSelector.js we have props.shouldPreventDefaultFocusOnSelectRow which should be:
set to true if we want to prevent focus on the row, and apply refocus on the search text input upon row click.
set to false if we want to allow focus on the row, and do not focus on search text input.
This works well to prevent input refocusing on mobile device browser, but not native platforms i.e IOS / Android, because Browser.isMobile() would returns false for native platform, applying ! on it means we have shouldPreventDefaultFocusOnSelectRow={true}.
Hance whenever the "Add to group" button is pressed, the search input is refocussed, and keyboard pops out.
What changes do you think we should make in order to solve the problem?
🚨 Heads up! I'll be offline until Wednesday, March 12, 2025, and won’t be actively monitoring this GitHub during that time.
If this GitHub requires an urgent update, please reapply the bug label or reach out in the #expensify-open-source Slack room for help. Otherwise, I'll pick things up when I'm back online. Thanks!
Activity
melvin-bot commentedon Oct 6, 2023
Triggered auto assignment to @alexpensify (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.melvin-bot commentedon Oct 6, 2023
Bug0 Triage Checklist (Main S/O)
Platformsin OP are ✅)alexpensify commentedon Oct 9, 2023
I'm OOO today but will test soon
alexpensify commentedon Oct 11, 2023
Still on my testing list, other GHs have taken priority.
alexpensify commentedon Oct 13, 2023
I've run out of time and will have to test over the weekend.
hnkuanx commentedon Oct 14, 2023
Proposal
Please re-state the problem that we are trying to solve in this issue.
On mobile devices native app, whenever user click on "Add to group" button in Send Message page, the search input is refocused, and opens up the keyboard.
If user click on the screen to dismiss the keyboard and click on "Add to group", again the keyboard pops up.
That causes unpleasant UX for user who would like to add several people to a group, but the recipient list is partially blocked by the keyboard.
This issue does not happen in mobile browsers.
What is the root cause of that problem?
Currently in
BaseOptionsSelector.jswe haveprops.shouldPreventDefaultFocusOnSelectRowwhich should be:trueif we want to prevent focus on the row, and apply refocus on the search text input upon row click.falseif we want to allow focus on the row, and do not focus on search text input.App/src/components/OptionsSelector/BaseOptionsSelector.js
Lines 357 to 358 in fe282b4
In
NewChatPage.js, it is now passed in asshouldPreventDefaultFocusOnSelectRow={!Browser.isMobile()}App/src/pages/NewChatPage.js
Line 214 in fe282b4
This works well to prevent input refocusing on mobile device browser, but not native platforms i.e IOS / Android, because Browser.isMobile() would returns false for native platform, applying ! on it means we have
shouldPreventDefaultFocusOnSelectRow={true}.Hance whenever the "Add to group" button is pressed, the search input is refocussed, and keyboard pops out.
What changes do you think we should make in order to solve the problem?
We need to change
App/src/pages/NewChatPage.js
Line 214 in fe282b4
From
shouldPreventDefaultFocusOnSelectRow={!Browser.isMobile()}toshouldPreventDefaultFocusOnSelectRow={!DeviceCapabilities.canUseTouchScreen()}That will allow search input refocusing for Desktop/Web, but disable it for Mobile Web / IOS / Android.
Identifical changes should be applied to other pages which is currently using
shouldPreventDefaultFocusOnSelectRow={!Browser.isMobile()}What alternative solutions did you explore? (Optional)
I have considered using other option like
isSmallScreenWidth,getPlatformas well. But I think it is cleaner to usecanUseTouchScreenalexpensify commentedon Oct 16, 2023
Closing - I tested this experience on my Android device and was unable to replicate it.
hnkuanx commentedon Oct 16, 2023
@alexpensify I am still able to reproduce the issue on latest main using Android and IOS.
Android recording for reference:
Screen.Recording.2023-10-16.at.5.21.37.PM.mov
For ease of comparison, here is how it is for mobile Chrome which is not affected by the reported bug.
Screen.Recording.2023-10-16.at.5.32.46.PM.mov
hnkuanx commentedon Oct 23, 2023
@alexpensify just wondering if you manage to have a look at my comment above?
Issue can still be still replicated.
74 remaining items
bernhardoj commentedon Feb 14, 2025
That issue was completed weeks ago, I think it's better to create a fresh new issue and I can post my proposal there.
melvin-bot commentedon Feb 17, 2025
@honnamkuan, @madmax330, @alexpensify, @situchan 10 days overdue. I'm getting more depressed than Marvin.
alexpensify commentedon Feb 19, 2025
@kavimuru - can you please create a new GH for this one? Thanks!
melvin-bot commentedon Feb 19, 2025
@honnamkuan, @madmax330, @alexpensify, @situchan 12 days overdue now... This issue's end is nigh!
alexpensify commentedon Feb 19, 2025
This one is not overdue, we need a new issue created.
alexpensify commentedon Mar 4, 2025
Closing - I started a discussion here and requested a new GH be created for the remaining issue.
https://expensify.slack.com/archives/C049HHMV9SM/p1741048476350409
alexpensify commentedon Mar 5, 2025
@bernhardoj the new GH is here:
#57758 (comment)
alexpensify commentedon Mar 5, 2025
🚨 Heads up! I'll be offline until Wednesday, March 12, 2025, and won’t be actively monitoring this GitHub during that time.
If this GitHub requires an urgent update, please reapply the
buglabel or reach out in the#expensify-open-sourceSlack room for help. Otherwise, I'll pick things up when I'm back online. Thanks!