App icon indicating copy to clipboard operation
App copied to clipboard

[HOLD for payment 2024-04-25] Chat - Previous messages jump continuously when opening the native emoji keyboard

Open izarutskaya opened this issue 10 months ago β€’ 24 comments

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.62-0 Reproducible in staging?: Y Reproducible in production?: N If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4490682 Email or phone of affected tester (no customers): [email protected] Logs: https://stackoverflow.com/c/expensify/questions/4856 Issue reported by: Applause-Internal team

Action Performed:

  1. Open any chat
  2. Tap on the composer to open the keyboard
  3. Tap on the emoji keyboard on the native iOS keyboard (If issue is not reproducible change the iOS settings > Screen > Text Size to another value and repeat. Seems to affect different text sizes on different screen sizes)

Expected Result:

The native emoji keyboard appears without issues for the chat screen

Actual Result:

The native emoji keyboard appears and the previous messages jump up and down until the keyboard is dismissed

Workaround:

Unknown

Platforms:

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

  • [ ] Android: Native
  • [ ] Android: mWeb Chrome
  • [ ] iOS: Native
  • [x] iOS: mWeb Safari
  • [ ] MacOS: Chrome / Safari
  • [ ] MacOS: Desktop

Screenshots/Videos

https://github.com/Expensify/App/assets/115492554/7b88e078-a861-4699-99d6-616d090f1278

View all open jobs on GitHub

izarutskaya avatar Apr 11 '24 05:04 izarutskaya

Triggered auto assignment to @slafortune (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.

melvin-bot[bot] avatar Apr 11 '24 05:04 melvin-bot[bot]

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

melvin-bot[bot] avatar Apr 11 '24 05:04 melvin-bot[bot]

:wave: 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.

github-actions[bot] avatar Apr 11 '24 05:04 github-actions[bot]

@slafortune I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

izarutskaya avatar Apr 11 '24 05:04 izarutskaya

We think this issue might be related to the #vip-vsb.

izarutskaya avatar Apr 11 '24 05:04 izarutskaya

Production

https://github.com/Expensify/App/assets/115492554/5ea7e6b9-f49e-40c5-b193-6579c4c018f9

izarutskaya avatar Apr 11 '24 05:04 izarutskaya

I can't reproduce on Android mWeb on native, but if reproducible on typical iPhones we should keep the blocker label.

Julesssss avatar Apr 11 '24 10:04 Julesssss

This issue only happens on real iOS device with the largest font size, the smart banner app has the height value is a decimal number but at this line we make round adjust scroll based on window.visualViewport.height and the visualViewport still emit event resize so we can change adjustScrollY to

    const adjustScrollY = clientHeight - window.visualViewport.height;

Before fix

https://github.com/Expensify/App/assets/11959869/e655b285-f444-4a32-8075-f3f290fd2693

After fix

https://github.com/Expensify/App/assets/11959869/ca4d3ea6-6ea8-42f7-943b-d309f85fc043

suneox avatar Apr 13 '24 04:04 suneox

I have created the draft PR ready to change the status, and update result for this comment

suneox avatar Apr 13 '24 07:04 suneox

@suneox were you able to find an offending PR?

madmax330 avatar Apr 15 '24 13:04 madmax330

@suneox were you able to find an offending PR?

This issue is an edge case from this PR based on the language and font size the smart banner app has a decimal number so the virtual viewport will resize incorrectly

suneox avatar Apr 15 '24 17:04 suneox

Ah ok perfect, thanks. Ok you can make the fix, I assigned you the issue

madmax330 avatar Apr 15 '24 18:04 madmax330

Ah ok perfect, thanks. Ok you can make the fix, I assigned you the issue

I have updated PR status to ready for review

suneox avatar Apr 15 '24 20:04 suneox

@madmax330 @suneox I will be out until 4/22, not assigning another BZ since this is in a good place for you all to keep it moving forward πŸ‘

slafortune avatar Apr 16 '24 11:04 slafortune

CPed this PR, waiting for it to deploy

thienlnam avatar Apr 16 '24 19:04 thienlnam

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

melvin-bot[bot] avatar Apr 18 '24 04:04 melvin-bot[bot]

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

  • https://github.com/Expensify/App/pull/40201

If no regressions arise, payment will be issued on 2024-04-25. :confetti_ball:

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

  • @suneox requires payment (Needs manual offer from BZ)

melvin-bot[bot] avatar Apr 18 '24 04:04 melvin-bot[bot]

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [ ] [@madmax330] The PR that introduced the bug has been identified. Link to the PR:
  • [ ] [@madmax330] 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:
  • [ ] [@madmax330] A discussion in #expensify-bugs 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:
  • [ ] [@suneox] Determine if we should create a regression test for this bug.
  • [ ] [@suneox] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
  • [ ] [@slafortune] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

melvin-bot[bot] avatar Apr 18 '24 04:04 melvin-bot[bot]

Payment Summary

Upwork Job

  • ROLE: @suneox paid $(AMOUNT) via Upwork (LINK)

BugZero Checklist (@slafortune)

  • [ ] I have verified the correct assignees and roles are listed above and updated the neccesary manual offers
  • [ ] I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants//hired)
  • [ ] I have paid out the Upwork contracts or cancelled the ones that are incorrect
  • [ ] I have verified the payment summary above is correct

melvin-bot[bot] avatar Apr 25 '24 18:04 melvin-bot[bot]

@slafortune I also require payment here as C+ for reviewing PR https://github.com/Expensify/App/pull/40201, see https://github.com/Expensify/App/pull/40201#pullrequestreview-2002181808.

ikevin127 avatar Apr 25 '24 22:04 ikevin127

@ikevin127 please accept the offer sent here - https://www.upwork.com/nx/wm/offer/102036690

@suneox Can you please complete the checklist as well as share your Upworks profile here?

slafortune avatar Apr 26 '24 01:04 slafortune

@suneox Can you please complete the checklist as well as share your Upworks profile here?

@slafortune here is my profile

suneox avatar Apr 26 '24 01:04 suneox

Regression Test Proposal

  • Change device font size
  • Login to mWeb/Safari
  • Open any chat
  • Tap on the composer to open the keyboard
  • Tap on the emoji keyboard on the native iOS keyboard
  • Verify page not jump infinity

Do we agree πŸ‘ or πŸ‘Ž

suneox avatar Apr 26 '24 01:04 suneox

@ikevin127 please accept the offer sent here - https://www.upwork.com/nx/wm/offer/102036690

@slafortune Offer accepted, thank you!

ikevin127 avatar Apr 26 '24 01:04 ikevin127

Not overdue

madmax330 avatar Apr 29 '24 13:04 madmax330

@slafortune Offer accepted, thank you!

Bump on this, when you get the chance. Thanks again!

ikevin127 avatar Apr 29 '24 16:04 ikevin127

Thanks @suneox - offer sent

slafortune avatar Apr 29 '24 20:04 slafortune

@ikevin127 Paid

slafortune avatar Apr 29 '24 20:04 slafortune

Thanks @suneox - offer sent

@slafortune Thank you, I have accepted an offer

suneox avatar Apr 30 '24 01:04 suneox

@suneox - Paid βœ…

slafortune avatar Apr 30 '24 18:04 slafortune