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
[$500] Request - Participant deep link opens Participant page briefly and keyboard opens in Scan #30127
Version Number: 1.3.88-3 Reproducible in staging?: Yes Reproducible in production?: Yes 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 [-]Request - Participant deep link opens Participant page briefly and keyboard opens in Scan[/-][+][$500] Request - Participant deep link opens Participant page briefly and keyboard opens in Scan[/+]on Oct 21, 2023
can you check if the refactoring issue is really removing the deep link? If I remember correctly, I think @tgolen is making change in a way that still supports deep linking to money-request related pages
Please re-state the problem that we are trying to solve in this issue.
If Scan option is originally selected (where the keyboard is not normally needed), coming there using a Participant deep link opens the keyboard briefly.
What is the root cause of that problem?
With the introduction of the autoFocus prop in BaseOptionsSelector.js, which appears to have originally aimed to fix a focus issue in web and desktop (relevant commits: 4c478d3, 90b96de, f45b2ca, 7ff6e00, 0d2d560, 70beac8, 5d28fdb, 5788291), the relevant platform specific constraint ([CONST.PLATFORM.DESKTOP, CONST.PLATFORM.WEB].includes(getPlatform())) to allow this.textInput.focus() to execute inside setTimeout was only introduced in componentDidUpdate and is missing from componentDidMount.
What changes do you think we should make in order to solve the problem?
The same platform specific constraint ([CONST.PLATFORM.DESKTOP, CONST.PLATFORM.WEB].includes(getPlatform())) should be introduced in componentDidMount to this.textInput.focus() inside setTimeout.
What alternative solutions did you explore? (Optional)
NA
Additional note
Note that shouldDelayFocus in src/components/OptionsSelector/index.android.js could be removed as part of this change as it appears to be unnecessary, it's not being used in BaseOptionsSelector.js at all.
Also note that I could not reproduce the part where the participant list appeared briefly first, but I do believe this solution should resolve the issue of the keyboard unnecessarily opening in that case as well, otherwise it should probably be investigated as a separate issue.
@anmurali@abdulrahuman5196 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!
Hi! I was looking at this, and I think the problem is solved in my PR that refactors these components. This can probably be closed as won't fix for now.
Activity
[-]Request - Participant deep link opens Participant page briefly and keyboard opens in Scan[/-][+][$500] Request - Participant deep link opens Participant page briefly and keyboard opens in Scan[/+]melvin-bot commentedon Oct 21, 2023
Triggered auto assignment to @anmurali (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.melvin-bot commentedon Oct 21, 2023
Job added to Upwork: https://www.upwork.com/jobs/~014061867ab191f52d
melvin-bot commentedon Oct 21, 2023
Bug0 Triage Checklist (Main S/O)
Platformsin OP are ✅)melvin-bot commentedon Oct 21, 2023
Triggered auto assignment to Contributor-plus team member for initial proposal review - @abdulrahuman5196 (
External)hayata-suenaga commentedon Oct 23, 2023
can you check if the refactoring issue is really removing the deep link? If I remember correctly, I think @tgolen is making change in a way that still supports deep linking to money-request related pages
benomatis commentedon Oct 23, 2023
Proposal
Please re-state the problem that we are trying to solve in this issue.
If Scan option is originally selected (where the keyboard is not normally needed), coming there using a Participant deep link opens the keyboard briefly.
What is the root cause of that problem?
With the introduction of the
autoFocusprop inBaseOptionsSelector.js, which appears to have originally aimed to fix a focus issue in web and desktop (relevant commits: 4c478d3, 90b96de, f45b2ca, 7ff6e00, 0d2d560, 70beac8, 5d28fdb, 5788291), the relevant platform specific constraint ([CONST.PLATFORM.DESKTOP, CONST.PLATFORM.WEB].includes(getPlatform())) to allowthis.textInput.focus()to execute insidesetTimeoutwas only introduced incomponentDidUpdateand is missing fromcomponentDidMount.What changes do you think we should make in order to solve the problem?
The same platform specific constraint (
[CONST.PLATFORM.DESKTOP, CONST.PLATFORM.WEB].includes(getPlatform())) should be introduced incomponentDidMounttothis.textInput.focus()insidesetTimeout.What alternative solutions did you explore? (Optional)
NA
Additional note
Note that
shouldDelayFocusinsrc/components/OptionsSelector/index.android.jscould be removed as part of this change as it appears to be unnecessary, it's not being used inBaseOptionsSelector.jsat all.Also note that I could not reproduce the part where the participant list appeared briefly first, but I do believe this solution should resolve the issue of the keyboard unnecessarily opening in that case as well, otherwise it should probably be investigated as a separate issue.
31 remaining items
melvin-bot commentedon Nov 10, 2023
@anmurali, @abdulrahuman5196 Whoops! This issue is 2 days overdue. Let's get this updated quick!
melvin-bot commentedon Nov 10, 2023
@anmurali, @abdulrahuman5196 Whoops! This issue is 2 days overdue. Let's get this updated quick!
melvin-bot commentedon Nov 11, 2023
@anmurali @abdulrahuman5196 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!
melvin-bot commentedon Nov 11, 2023
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
abdulrahuman5196 commentedon Nov 13, 2023
Gentle Ping @anmurali
melvin-bot commentedon Nov 18, 2023
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
melvin-bot commentedon Nov 20, 2023
@anmurali, @abdulrahuman5196 Still overdue 6 days?! Let's take care of this!
anmurali commentedon Nov 21, 2023
Closing per #30127 (comment)