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 2023-07-24] [$1000] The new emoji search field focus inconsistent between mweb chrome and web chrome #20979

Closed
1 of 6 tasks
kavimuru opened this issue Jun 18, 2023 · 44 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor

Comments

@kavimuru
Copy link

kavimuru commented Jun 18, 2023

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Action Performed:

  1. Go to staging dot on web chrome and go to any chat. Select emoji picker and notice that the search field is focused by default
  2. Follow the same process on mweb chrome and notice that the search field doesn't have focus while opening the emoji picker

Expected Result:

The new emoji search field focus should be consistent between mweb chrome and web chrome

Actual Result:

The new emoji search field focus is inconsistent between mweb chrome and web chrome

Workaround:

Can the user still use Expensify without this being fixed? Have you informed them of the workaround?

Platforms:

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

  • Android / native
  • Android / Chrome
  • iOS / native
  • iOS / Safari
  • MacOS / Chrome / Safari
  • MacOS / Desktop

Version Number: 1.3.29-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
Notes/Photos/Videos: Any additional supporting documentation

Record_2023-06-17-00-55-30.mp4
error-2023-06-09_15.38.29.1.mp4
emoji.1.mp4

Expensify/Expensify Issue URL:
Issue reported by: @priya-zha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686304700678499

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~011663a64195fe4bdf
  • Upwork Job ID: 1671324047938600960
  • Last Price Increase: 2023-06-28
@kavimuru kavimuru added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Jun 18, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 18, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Jun 18, 2023

Bug0 Triage Checklist (Main S/O)

  • This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
  • This bug is not a duplicate report (check E/App issues and #expensify-bugs)
    • If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead
  • This bug is reproducible using the reproduction steps in the OP. S/O
    • If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
    • If the reproduction steps aren't clear and you determine the correct steps, please update the OP.
  • This issue is filled out as thoroughly and clearly as possible
    • Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.
  • I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@dummy-1111
Copy link
Contributor

dummy-1111 commented Jun 19, 2023

Proposal

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

Emoji search field isn't focused when open emoji picker on mobile web

What is the root cause of that problem?

We prevent focusing on modal show event for mobile devices here

if (!this.emojiSearchInput || this.props.isSmallScreenWidth) {

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

Remove the this.props.isSmallScreenWidth checking

        if (!this.emojiSearchInput || this.props.isSmallScreenWidth) {
            return;
        }
Result
20979_android_chrome.mp4

What alternative solutions did you explore? (Optional)

@melvin-bot melvin-bot bot added the Overdue label Jun 20, 2023
@anmurali
Copy link

Can reproduce. Assigning an external label.

@melvin-bot melvin-bot bot removed the Overdue label Jun 21, 2023
@anmurali anmurali added External Added to denote the issue can be worked on by a contributor Overdue labels Jun 21, 2023
@melvin-bot melvin-bot bot changed the title The new emoji search field focus inconsistent between mweb chrome and web chrome [$1000] The new emoji search field focus inconsistent between mweb chrome and web chrome Jun 21, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 21, 2023

Job added to Upwork: https://www.upwork.com/jobs/~011663a64195fe4bdf

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Jun 21, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 21, 2023

Current assignee @anmurali is eligible for the External assigner, not assigning anyone new.

@melvin-bot
Copy link

melvin-bot bot commented Jun 21, 2023

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

@anmurali anmurali removed the Overdue label Jun 21, 2023
@kamaljitSharma21
Copy link
Contributor

kamaljitSharma21 commented Jun 21, 2023

Proposal

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

The new emoji search field focus inconsistent between mweb chrome and web chrome

What is the root cause of that problem?

We have disabled the autofocus on the search textinput of emojipicker when smallscreen is detected thats why the focus in web chrome and mweb chrome are not the same.

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

Here on this line we need to remove condition of autoFocus from the search textinput.

updated code :

<TextInput
  label={this.props.translate('common.search')}
  onChangeText={this.filterEmojis}
  defaultValue=""
  ref={(el) => (this.searchInput = el)}
  autoFocus
  selectTextOnFocus={this.state.selectTextOnFocus}
  onSelectionChange={this.onSelectionChange}
  onFocus={() => this.setState({isFocused: true, highlightedIndex: -1, isUsingKeyboardMovement: false})}
  onBlur={() => this.setState({isFocused: false})}
  autoCorrect={false}
/>

Sample Video of Result :

Record.mp4

What alternative solutions did you explore? (Optional)

NA

@tienifr
Copy link
Contributor

tienifr commented Jun 21, 2023

Proposal

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

The auto focus behavior of emoji picker's search field is inconsistent between mWeb chrome and Web

What is the root cause of that problem?

I don't think the expected result is correct. Sometimes user only want to select an emoji, they don't want to search for it but the keyboard suddenly popups which is very inconvenient, especially on small screen devices. Thus the check here is on purpose:

autoFocus={!this.props.isSmallScreenWidth}

FIY, before that, we do not show search field on small screen devices since it toggles keyboard and thus may overflow on some short devices.

In this case, the key is we want to resolve the inconsistency, for that we can:

  1. Make search field not auto-focus on both desktop and mobile; OR
  2. Make search field on mobile focus automatically to match with desktop

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

To solve 1, remove this line:

autoFocus={!this.props.isSmallScreenWidth}

What alternative solutions did you explore? (Optional)

To solve 2, remove the condition !this.props.isSmallScreenWidth from the above line

@melvin-bot melvin-bot bot added the Overdue label Jun 23, 2023
@anmurali
Copy link

@aimane-chnaif can you please review the proposal above?

@melvin-bot melvin-bot bot removed the Overdue label Jun 26, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 28, 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 melvin-bot bot added the Overdue label Jun 28, 2023
@kamaljitSharma21
Copy link
Contributor

@aimane-chnaif any updates on the proposal review ?

@melvin-bot
Copy link

melvin-bot bot commented Jun 29, 2023

@anmurali, @aimane-chnaif Whoops! This issue is 2 days overdue. Let's get this updated quick!

@melvin-bot
Copy link

melvin-bot bot commented Jul 2, 2023

@anmurali @aimane-chnaif 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!

@anmurali
Copy link

anmurali commented Jul 3, 2023

Going to bump in the slack thread

@melvin-bot melvin-bot bot removed the Overdue label Jul 3, 2023
@madmax330
Copy link
Contributor

awaiting payment

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Jul 26, 2023
@aimane-chnaif
Copy link
Contributor

No PRs caused regression. This is more like UX improvement than bug on resized web with small width.

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Jul 31, 2023
@madmax330
Copy link
Contributor

Not overdue

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Aug 2, 2023
@madmax330
Copy link
Contributor

Not overdue

@melvin-bot melvin-bot bot removed the Overdue label Aug 7, 2023
@aimane-chnaif
Copy link
Contributor

@anmurali payment is due, 2 weeks already

@melvin-bot melvin-bot bot added the Overdue label Aug 9, 2023
@madmax330
Copy link
Contributor

Bump @anmurali

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Aug 10, 2023
@anmurali
Copy link

anmurali commented Aug 15, 2023

Payments

  • Reporting bonus $250 @priya-zha - Offer here, pending acceptance
  • Contributor and Contributor + payment $1,000 @aimane-chnaif - Paid
  • Contributor and Contributor + payment $1,000 @situchan - Offer here, pending acceptance

@melvin-bot melvin-bot bot removed the Overdue label Aug 15, 2023
@aimane-chnaif
Copy link
Contributor

@anmurali this is eligible for timeline bonus

@anmurali
Copy link

I will add it, but curious if there is a bug #20979 (comment)

@aimane-chnaif
Copy link
Contributor

That's correct in theory. But we agreed that after C+ approval and changes were not requested, still apply bonus even though engineer merging time is delayed

@melvin-bot melvin-bot bot added the Overdue label Aug 21, 2023
@melvin-bot
Copy link

melvin-bot bot commented Aug 21, 2023

@madmax330, @anmurali, @aimane-chnaif, @situchan Huh... This is 4 days overdue. Who can take care of this?

@melvin-bot
Copy link

melvin-bot bot commented Aug 21, 2023

@madmax330, @anmurali, @aimane-chnaif, @situchan Eep! 4 days overdue now. Issues have feelings too...

@madmax330
Copy link
Contributor

@aimane-chnaif so we still need to pay out the bonuses here?

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Aug 21, 2023
@anmurali
Copy link

image No it is done!

@melvin-bot melvin-bot bot removed the Overdue label Aug 24, 2023
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. Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor
Projects
None yet
Development

No branches or pull requests

8 participants