Skip to content
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

[HOLD for payment 2024-03-07] [$500] mWeb - Chat - A keyboard briefly appears when navigating to Concierge chat via direct link #35239

Closed
6 tasks
kbecciv opened this issue Jan 26, 2024 · 53 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Engineering External Added to denote the issue can be worked on by a contributor Weekly KSv2

Comments

@kbecciv
Copy link

kbecciv commented Jan 26, 2024

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: 1.4.32-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: https://expensify.testrail.io/index.php?/cases/view/1971198
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:

Action Performed:

Precondition: User is logged in https://staging.new.expensify.com/
on mWeb.

  1. Open https://staging.new.expensify.com/
  2. Send a message in that chat including the url https://staging.new.expensify.com/concierge
  3. Click on the link

Expected Result:

Concierge chat opens. No keyboard appears until user set focus in compose box.

Actual Result:

Concierge chat opens. A keyboard briefly appears and closes automatically.
NOTE: when user navigates to Concierge chat via conversation link (e.g. https://staging.new.expensify.com/r/5636303947728298
) no keyboard appears.

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

Bug6355692_1706268688382.20240126_123623.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01388f2992fda42f8a
  • Upwork Job ID: 1750854287615062016
  • Last Price Increase: 2024-02-16
  • Automatic offers:
    • shubham1206agra | Reviewer | 0
    • bernhardoj | Contributor | 0
@kbecciv kbecciv added External Added to denote the issue can be worked on by a contributor Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Jan 26, 2024
Copy link

melvin-bot bot commented Jan 26, 2024

Job added to Upwork: https://www.upwork.com/jobs/~01388f2992fda42f8a

@melvin-bot melvin-bot bot changed the title mWeb - Chat - A keyboard briefly appears when navigating to Concierge chat via direct link [$500] mWeb - Chat - A keyboard briefly appears when navigating to Concierge chat via direct link Jan 26, 2024
Copy link

melvin-bot bot commented Jan 26, 2024

Triggered auto assignment to @dylanexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Jan 26, 2024
Copy link

melvin-bot bot commented Jan 26, 2024

Triggered auto assignment to Contributor-plus team member for initial proposal review - @shubham1206agra (External)

@kbecciv
Copy link
Author

kbecciv commented Jan 26, 2024

We think that this bug might be related to #vip-vsb
CC @quinthar

@bernhardoj
Copy link
Contributor

Proposal

Please re-state the problem that we are trying to solve in this issue.

Keyboard opens briefly if we navigate to /concierge from chat.

What is the root cause of that problem?

We have a logic to refocus the keyboard every time the report screen gets focused.

useEffect(() => {
if (modal.isVisible && !prevIsModalVisible) {
// eslint-disable-next-line no-param-reassign
isNextModalWillOpenRef.current = false;
}
// We want to focus or refocus the input when a modal has been closed or the underlying screen is refocused.
// We avoid doing this on native platforms since the software keyboard popping
// open creates a jarring and broken UX.
if (!((willBlurTextInputOnTapOutside || shouldAutoFocus) && !isNextModalWillOpenRef.current && !modal.isVisible && isFocused && (prevIsModalVisible || !prevIsFocused))) {
return;
}
if (editFocused) {
InputFocus.inputFocusChange(false);
return;
}
focus(true);
}, [focus, prevIsFocused, editFocused, prevIsModalVisible, isFocused, modal.isVisible, isNextModalWillOpenRef, shouldAutoFocus]);

When we go to /concierge, it will open ConciergePage, a utility page to go to the concierge chat, and then simply pops out itself.

Navigation.isNavigationReady().then(() => {
Navigation.goBack(ROUTES.HOME);
Report.navigateToConciergeChat();
});

When the ConciergePage is popped out from the stack, the current report screen gets refocused, thus the keyboard shows.

What changes do you think we should make in order to solve the problem?

When we navigate to the concierge page, we can replace the ConciergePage screen with the Concierge report screen instead of popping out itself. This way, we can prevent the previous report screen gets refocused.

Navigation.isNavigationReady().then(() => {
    Report.navigateToConciergeChat(false, true);
});

function navigateToConciergeChat(ignoreConciergeReportID = false, shouldReplace = false) {
    navigateToAndOpenReport([CONST.EMAIL.CONCIERGE], false, shouldReplace)
    ...
    Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(conciergeChatReportID), shouldReplace ? 'FORCED_UP' : '');

What alternative solutions did you explore? (Optional)

I have a PR here that will add a new param to navigateToConciergeChat to dismiss the modal when navigating to concierge chat. We can make use of the dismiss modal too and update dismissModal modal logic to include concierge chat.

switch (lastRoute?.name) {
case NAVIGATORS.LEFT_MODAL_NAVIGATOR:
case NAVIGATORS.RIGHT_MODAL_NAVIGATOR:
case SCREENS.NOT_FOUND:
case SCREENS.REPORT_ATTACHMENTS:

case SCREENS.CONCIERGE:

or don't refocus on mWeb just like native.

@melvin-bot melvin-bot bot added the Overdue label Jan 29, 2024
@dylanexpensify
Copy link
Contributor

confirming today!

@melvin-bot melvin-bot bot removed the Overdue label Jan 29, 2024
@dylanexpensify
Copy link
Contributor

posted confirmation

Copy link

melvin-bot bot commented Feb 2, 2024

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@melvin-bot melvin-bot bot added the Overdue label Feb 2, 2024
@shubham1206agra
Copy link
Contributor

@bernhardoj Can you confirm the repro on latest main?

@melvin-bot melvin-bot bot removed the Overdue label Feb 2, 2024
@bernhardoj
Copy link
Contributor

Yes, still reproducible.

Screen.Recording.2024-02-03.at.10.45.27.mov

@melvin-bot melvin-bot bot added the Overdue label Feb 5, 2024
@dylanexpensify
Copy link
Contributor

bumped confirmation

@dylanexpensify
Copy link
Contributor

Nice, thanks!

Copy link

melvin-bot bot commented Feb 9, 2024

@shubham1206agra @dylanexpensify this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@melvin-bot melvin-bot bot added the Overdue label Feb 9, 2024
Copy link

melvin-bot bot commented Feb 9, 2024

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@dylanexpensify
Copy link
Contributor

@shubham1206agra looking now!

@melvin-bot melvin-bot bot removed the Overdue label Mar 11, 2024
@dylanexpensify
Copy link
Contributor

I see it pending for you @shubham1206agra here!

@dylanexpensify
Copy link
Contributor

Payment Summary:

Please apply/request!

@shubham1206agra
Copy link
Contributor

@dylanexpensify Can you hold my payment temporarily as per https://expensify.slack.com/archives/C02NK2DQWUX/p1710150138788529?

@bernhardoj
Copy link
Contributor

Applied

@dylanexpensify
Copy link
Contributor

paying out, and will catch up there @shubham1206agra

@melvin-bot melvin-bot bot added the Overdue label Mar 15, 2024
@marcochavezf
Copy link
Contributor

On hold for payment #35239 (comment)

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Mar 15, 2024
@marcochavezf
Copy link
Contributor

Moving it to weekly meanwhile

@melvin-bot melvin-bot bot removed the Overdue label Mar 18, 2024
@marcochavezf marcochavezf added Weekly KSv2 and removed Daily KSv2 labels Mar 18, 2024
@dylanexpensify
Copy link
Contributor

perf, ty!

@dylanexpensify
Copy link
Contributor

@shubham1206agra any updates on when we can pay?

@shubham1206agra
Copy link
Contributor

@dylanexpensify I have discussed this internally. You may close this issue as I am keeping track of payment internally and will ask to pay once the issue is resolved. Just write in the payment summary that I have not been paid yet.

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Apr 5, 2024
@github-project-automation github-project-automation bot moved this from LOW to CRITICAL in [#whatsnext] #vip-vsb Apr 9, 2024
@shubham1206agra
Copy link
Contributor

@dylanexpensify You can process payment here now.

@shubham1206agra
Copy link
Contributor

@dylanexpensify Bump on the above.

@strepanier03 strepanier03 reopened this May 8, 2024
@shubham1206agra
Copy link
Contributor

@dylanexpensify Bump for the payment.

@shubham1206agra
Copy link
Contributor

@dylanexpensify Bump here.

@dylanexpensify
Copy link
Contributor

apply here please: https://www.upwork.com/jobs/~014fe2bcafd0f311d4

@dylanexpensify
Copy link
Contributor

done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Engineering External Added to denote the issue can be worked on by a contributor Weekly KSv2
Projects
No open projects
Status: CRITICAL
Development

No branches or pull requests

6 participants