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-11-07] [$500] Android - Chat - Spacing below emoji picker when opening emoji picker while keyboard is up #48100

Closed
1 of 6 tasks
IuliiaHerets opened this issue Aug 27, 2024 · 69 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

@IuliiaHerets
Copy link

IuliiaHerets commented Aug 27, 2024

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


Version Number: 9.0.25-3
Reproducible in staging?: Y
Reproducible in production?: N
Email or phone of affected tester (no customers): applausetester+kh05081@applause.expensifail.com
Issue reported by: Applause Internal Team

Action Performed:

  1. Launch New Expensify app.
  2. Go to DM.
  3. Dismiss the keyboard if keyboard is up.
  4. Tap emoji picker.
  5. Note that emoji picker is at the bottom of the screen (no spacing below the emoji picker).
  6. Focus on the composer to bring up the keyboard.
  7. Tap emoji picker while keyboard is up.

Expected Result:

There will be no spacing below the emoji picker.

Actual Result:

There is spacing below the emoji picker when opening emoji picker while keyboard is up.

Workaround:

Unknown

Platforms:

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

Screenshots/Videos

Bug6584231_1724771172692.1000031620-2024-08-27_15_03_10.713.mp4

Bug6584231_1724771172689!1000031622-2024-08-27_15_02_23 561 (1)

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01f2e4be2af4f4a7d5
  • Upwork Job ID: 1828513910835097845
  • Last Price Increase: 2024-10-16
  • Automatic offers:
    • situchan | Reviewer | 104482969
    • QichenZhu | Contributor | 104482971
Issue OwnerCurrent Issue Owner: @johncschuster
@IuliiaHerets IuliiaHerets added DeployBlockerCash This issue or pull request should block deployment Bug Something is broken. Auto assigns a BugZero manager. labels Aug 27, 2024
Copy link

melvin-bot bot commented Aug 27, 2024

Triggered auto assignment to @johncschuster (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

Copy link

melvin-bot bot commented Aug 27, 2024

Triggered auto assignment to @stitesExpensify (DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

@melvin-bot melvin-bot bot added the Daily KSv2 label Aug 27, 2024
@github-actions github-actions bot added Engineering Hourly KSv2 and removed Daily KSv2 labels Aug 27, 2024
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.

Copy link

melvin-bot bot commented Aug 27, 2024

📣 @c0ffincolors! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

  1. Make sure you've read and understood the contributing guidelines.
  2. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
  3. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
  4. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
    Screen Shot 2022-11-16 at 4 42 54 PM
    Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@caineblood
Copy link

The above comment asking you to download a file is malware to steal your account; do not under any circumstances download or run it. The post needs to be removed. If you have attempted to run it please have your system cleaned and your account secured immediately.

Copy link

melvin-bot bot commented Aug 27, 2024

📣 @caineblood! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

  1. Make sure you've read and understood the contributing guidelines.
  2. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
  3. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
  4. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
    Screen Shot 2022-11-16 at 4 42 54 PM
    Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@Expensify Expensify deleted a comment Aug 27, 2024
@stitesExpensify stitesExpensify added External Added to denote the issue can be worked on by a contributor and removed DeployBlockerCash This issue or pull request should block deployment labels Aug 27, 2024
Copy link

melvin-bot bot commented Aug 27, 2024

Job added to Upwork: https://www.upwork.com/jobs/~01f2e4be2af4f4a7d5

@melvin-bot melvin-bot bot changed the title Android - Chat - Spacing below emoji picker when opening emoji picker while keyboard is up [$250] Android - Chat - Spacing below emoji picker when opening emoji picker while keyboard is up Aug 27, 2024
@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Aug 27, 2024
@stitesExpensify stitesExpensify added Daily KSv2 and removed Help Wanted Apply this label when an issue is open to proposals by contributors labels Aug 27, 2024
Copy link

melvin-bot bot commented Aug 27, 2024

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

@stitesExpensify stitesExpensify added Help Wanted Apply this label when an issue is open to proposals by contributors and removed Hourly KSv2 labels Aug 27, 2024
@jp928
Copy link
Contributor

jp928 commented Sep 2, 2024

Edited by proposal-police: This proposal was edited at 2024-09-03 10:12:54 UTC.

Proposal

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

Spacing below emoji picker when opening emoji picker while keyboard is up

What is the root cause of that problem?

In the code

statusBarTranslucent = true,

the props statusBarTranslucent is default to true. However, react native modal is buggy to calculate the height of modal with statusBarTranslucent=true see the GH issue here: facebook/react-native#35804

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

In the EmojiPicker.tsx just add statusBarTranslucent=false

restoreFocusType={CONST.MODAL.RESTORE_FOCUS_TYPE.DELETE}

Just attached the screen record after this change:

untitled.webm

What alternative solutions did you explore? (Optional)

NA

@melvin-bot melvin-bot bot added the Overdue label Sep 2, 2024
Copy link

melvin-bot bot commented Sep 2, 2024

@johncschuster, @stitesExpensify, @situchan Eep! 4 days overdue now. Issues have feelings too...

Copy link

melvin-bot bot commented Oct 18, 2024

📣 @QichenZhu 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app!

Offer link
Upwork job
Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑‍💻
Keep in mind: Code of Conduct | Contributing 📖

@melvin-bot melvin-bot bot added the Overdue label Oct 21, 2024
@QichenZhu
Copy link
Contributor

Aiming to raise an upstream issue today.

@melvin-bot melvin-bot bot removed the Overdue label Oct 21, 2024
@QichenZhu
Copy link
Contributor

QichenZhu commented Oct 22, 2024

I raised an upstream issue facebook/react-native#47140.

The solution I suggested there is different from my proposed one here because it needs to work in Bridgeless mode as well , but since we've disabled that mode in our repo, we don't need to consider it.

@QichenZhu
Copy link
Contributor

@situchan I expect the fix will take a while since it needs to cover many scenarios, but in our repo it’s easier because we don’t use those configurations. I suggest we go with a simple patch in our repo, and I'll keep an eye on the upstream issue in parallel. What do you think?

@situchan
Copy link
Contributor

@QichenZhu sure. Feel free to raise patch PR

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 labels Oct 23, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels Oct 31, 2024
@melvin-bot melvin-bot bot changed the title [$500] Android - Chat - Spacing below emoji picker when opening emoji picker while keyboard is up [HOLD for payment 2024-11-07] [$500] Android - Chat - Spacing below emoji picker when opening emoji picker while keyboard is up Oct 31, 2024
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Oct 31, 2024
Copy link

melvin-bot bot commented Oct 31, 2024

Reviewing label has been removed, please complete the "BugZero Checklist".

Copy link

melvin-bot bot commented Oct 31, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.55-10 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2024-11-07. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented Oct 31, 2024

@situchan @johncschuster The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]

@QichenZhu
Copy link
Contributor

Update: The upstream issue is still open and awaiting triage.

@johncschuster
Copy link
Contributor

Thanks for the update!

@johncschuster
Copy link
Contributor

I will issue payment tomorrow. @QichenZhu / @situchan I note the BZ Checklist was not automatically generated. Can you please complete BZ Checklist before I issue payment?

@johncschuster
Copy link
Contributor

BugZero Checklist:

Bug classification

Source of bug:

  • 1a. Result of the original design (eg. a case wasn't considered)
  • 1b. Mistake during implementation
  • 1c. Backend bug
  • 1z. Other:

Where bug was reported:

  • 2a. Reported on production
  • 2b. Reported on staging (deploy blocker)
  • 2c. Reported on a PR
  • 2z. Other:

Who reported the bug:

  • 3a. Expensify user
  • 3b. Expensify employee
  • 3c. Contributor
  • 3d. QA
  • 3z. Other:
  • @situchan The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.

    Link to comment:

  • @situchan If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.

    Link to discussion:

  • @situchan If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

Regression Test Proposal Template
  • [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.

    Link to issue:

Regression Test Proposal

Precondition:

Test:

Do we agree 👍 or 👎

@johncschuster
Copy link
Contributor

I've issued payment to @QichenZhu.

@situchan, can you please complete the BZ Checklist above? Once complete, I'll issue payment 👍

@johncschuster
Copy link
Contributor

johncschuster commented Nov 12, 2024

Hey folks! It looks like @situchan is on parental leave for 3 months starting Nov 4 (congratulations, @situchan! 🎉 ). Can anyone else step in and provide the BZ Checklist in his absence?

@johncschuster
Copy link
Contributor

Given the duration of @situchan's leave, I've gone ahead and paid them out since I don't want to BZ Checklist to block us from paying this and closing it. @QichenZhu can you provide the BZ Checklist for this one?

@QichenZhu
Copy link
Contributor

QichenZhu commented Nov 13, 2024

BugZero Checklist:

Bug classification

Source of bug:

  • 1a. Result of the original design (eg. a case wasn't considered)
  • 1b. Mistake during implementation
  • 1c. Backend bug
  • 1z. Other: React Native introduced a change in version 0.75.2: facebook/react-native@1cea8e8

Where bug was reported:

  • 2a. Reported on production
  • 2b. Reported on staging (deploy blocker)
  • 2c. Reported on both staging and production
  • 2d. Reported on a PR
  • 2z. Other:

Who reported the bug:

  • 3a. Expensify user
  • 3b. Expensify employee
  • 3c. Contributor
  • 3d. QA
  • 3z. Other:

Regression Test Proposal

Test:

  1. Launch the mobile web or native app. These steps don’t apply to non-mobile platforms.
  2. Go to DM.
  3. If the soft keyboard is open, dismiss it.
  4. Tap the emoji button.
  5. Note the emoji picker position (it should fully cover the composer), then dismiss it.
  6. If the soft keyboard is closed, tap the composer to bring it up.
  7. Tap the emoji button again.
  8. Verify that the emoji picker is in the same position as in step 5. The test fails if it moves up and exposes part of the composer.

Do we agree 👍 or 👎

@johncschuster
Copy link
Contributor

Thank you!

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
None yet
Development

No branches or pull requests

7 participants