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] Emoji selector hides keyboard hides text input #8379

Closed
kavimuru opened this issue Mar 30, 2022 · 24 comments
Closed

[Hold for Payment] Emoji selector hides keyboard hides text input #8379

kavimuru opened this issue Mar 30, 2022 · 24 comments
Assignees
Labels
Engineering External Added to denote the issue can be worked on by a contributor Help Wanted Apply this label when an issue is open to proposals by contributors Weekly KSv2

Comments

@kavimuru
Copy link

kavimuru commented Mar 30, 2022

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):

  1. Go to any chat
  2. Select any own message
  3. Click on Edit Comment
  4. Click on Emoji icon

Expected Result:

Emojis are displayed below the text input box to edit the comment – the text input should still be visible.

Actual Result:

Emojis are hiding the text input box

Action Performed (2):

  1. Go to any chat
  2. Focus the composer.
  3. Tap the emoji icon to select an emoji

Expected Result:

Emojis are displayed below the composer – the composer should still be visible.

Actual Result:

Emoji selector covers the composer, which is no longer visible.

Workaround:

Unknown

Platform:

Where is this issue occurring?

  • iOS
  • mWeb

Version Number: v1.1.49-0
Reproducible in staging?: Y
Reproducible in production?: No (new feature)
Email or phone of affected tester (no customers): mnata.utest@gmail.com
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

Bug5512973_ISZS6117_1_.mp4

Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:

View all open jobs on GitHub
Issue was found when executing #7580

@kavimuru kavimuru added the DeployBlockerCash This issue or pull request should block deployment label Mar 30, 2022
@OSBotify
Copy link
Contributor

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

@melvin-bot
Copy link

melvin-bot bot commented Mar 30, 2022

Triggered auto assignment to @stitesExpensify (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@stitesExpensify
Copy link
Contributor

Commented on the main emoji picker in edit issue to see if this is a related bug

@mananjadhav
Copy link
Collaborator

While the emoji picker in the edit comment is added with #3245, the behavior is the same as the composer at the moment. When sending a new message too, the input is hidden. IMHO, this should be a feature request.

@parasharrajat
Copy link
Member

I think the issue is a little different. It seems that Editor gets hidden when EmojiPicker is opened not that it is behind the picker. If editor is there but it is behind the picker then I agree it should be Feature Request.

@stitesExpensify
Copy link
Contributor

Okay so how should we proceed here then? Mark as external and get a fix in?

@roryabraham
Copy link
Contributor

My take on this issue is that it's an existing bug, not necessarily directly related to the new feature (emoji in the edit comment input). I don't think it's a new feature though – it's a bug.

I'm going to demote this from DeployBlocker to just a regular bug, make it external, and start the price at $500 because it's pretty severe.

@roryabraham roryabraham added DeployBlockerCash This issue or pull request should block deployment Daily KSv2 Hourly KSv2 External Added to denote the issue can be worked on by a contributor and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 labels Apr 5, 2022
@melvin-bot
Copy link

melvin-bot bot commented Apr 5, 2022

Triggered auto assignment to @NicMendonca (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

@melvin-bot melvin-bot bot removed the Hourly KSv2 label Apr 5, 2022
@github-actions github-actions bot added Hourly KSv2 and removed Daily KSv2 labels Apr 5, 2022
@OSBotify
Copy link
Contributor

OSBotify commented Apr 5, 2022

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

@roryabraham
Copy link
Contributor

GitHub won't let me change the labels 😠

@roryabraham roryabraham added Daily KSv2 and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 labels Apr 5, 2022
@roryabraham roryabraham changed the title Keyboard hides the text edit box when editing a message to add emoji Emoji selector hides keyboard hides text input Apr 5, 2022
@roryabraham
Copy link
Contributor

Updated the OP. @NicMendonca as stated above, please start this issue at $500

@NicMendonca NicMendonca changed the title Emoji selector hides keyboard hides text input [$500] Emoji selector hides keyboard hides text input Apr 5, 2022
@botify botify removed the Daily KSv2 label Apr 5, 2022
@MelvinBot MelvinBot added the Weekly KSv2 label Apr 5, 2022
@melvin-bot
Copy link

melvin-bot bot commented Apr 5, 2022

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

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Apr 5, 2022
@melvin-bot
Copy link

melvin-bot bot commented Apr 5, 2022

Current assignee @stitesExpensify is eligible for the Exported assigner, not assigning anyone new.

@NicMendonca
Copy link
Contributor

Upwork job: https://www.upwork.com/jobs/~0117b13ad85930bd8e

@NicMendonca
Copy link
Contributor

@NicMendonca NicMendonca changed the title [$500] Emoji selector hides keyboard hides text input [$1,00] Emoji selector hides keyboard hides text input Apr 13, 2022
@NicMendonca NicMendonca changed the title [$1,00] Emoji selector hides keyboard hides text input [$1,000] Emoji selector hides keyboard hides text input Apr 13, 2022
@eVoloshchak
Copy link
Contributor

Proposal
When emoji picker is opened, add a marginBottom to ReportActionCompose that is equal to the height of emoji picker. That way, textInput will be visible on top of the picker.

Native:

22-04-13-20-13-52.mp4

mWeb:

cinnamon-20220413-1.1.mp4

Implementation:

  1. Inside EmojiPickerButton, add an onOnen callback on this line
onPress={() => {
    EmojiPickerAction.showEmojiPicker(props.onModalHide, props.onEmojiSelected, emojiPopoverAnchor);
    props.onOpen();
}}
  1. Then in ReportActionCompose we can know whether emoji picker is open, we will track it in pickerIsVisible state variable
  <EmojiPickerButton
      isDisabled={isBlockedFromConcierge}
      onModalHide={() => {
          this.focus(true);
          this.setState({ pickerIsVisible: false })
      }}
      onEmojiSelected={this.addEmojiToTextBox}
      onOpen={() => this.setState({ pickerIsVisible: true })}
  />
  1. After that, we add marginBottom to ReportActionCompose's main container
<View style={[shouldShowReportRecipientLocalTime && styles.chatItemComposeWithFirstRow, { marginBottom: this.getMarginBottom() }]}>
  1. And implement getMarginBottom method
  getMarginBottom() {
      if (!this.state.pickerIsVisible || !this.props.isSmallScreenWidth) {
          return 0;
      }

      return styles.emojiPickerList.height + 30;
  }

I added 30 to add a small gap between picker and text input, but I'm guessing app has some predefined spacing defined in styles.js, which can be used instead

@parasharrajat
Copy link
Member

What is the expected behavior here? input should be shown above the picker menu. ?? cc: @kavimuru @stitesExpensify

@stitesExpensify
Copy link
Contributor

Yes, you should be able to see the input you're putting the emoji into

@parasharrajat
Copy link
Member

Getting design confirmation https://expensify.slack.com/archives/C01GTK53T8Q/p1649875294455519

@parasharrajat
Copy link
Member

@stitesExpensify Slack is concluded with :do_nothing: What should be the next step here?

@stitesExpensify
Copy link
Contributor

@NicMendonca let's pay @parasharrajat for being the contributor manager, and pay our base issue rate to @eVoloshchak for his proposal, then we can close the issue.

Thanks for pushing this forward in slack Rajat, and thank you @eVoloshchak for your proposal even though it wasn't used!

@NicMendonca
Copy link
Contributor

@eVoloshchak @parasharrajat can you both apply to the job please? Thank you! - https://www.upwork.com/jobs/~0117b13ad85930bd8e

@NicMendonca NicMendonca changed the title [$1,000] Emoji selector hides keyboard hides text input [Hold for Payment] Emoji selector hides keyboard hides text input Apr 20, 2022
@NicMendonca
Copy link
Contributor

@eVoloshchak paid!

@parasharrajat can you accept the offer please? Thank you!

@NicMendonca
Copy link
Contributor

paid!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Engineering External Added to denote the issue can be worked on by a contributor Help Wanted Apply this label when an issue is open to proposals by contributors Weekly KSv2
Projects
None yet
Development

No branches or pull requests

10 participants