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-09-20] [$1000] iOS - Chat - After going back from the sub-thread and editing the message, the Chat Composer is hidden behind the keyboard #24555

Closed
1 of 6 tasks
izarutskaya opened this issue Aug 14, 2023 · 42 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 External Added to denote the issue can be worked on by a contributor

Comments

@izarutskaya
Copy link

izarutskaya commented Aug 14, 2023

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


Action Performed:

  1. Login to Account A >> Open any chat report.
  2. Send a message to the chat (if A hasn't sent any message before)
  3. Long press on the message created at step 3 and select the "Reply in thread" option (KEY step).
  4. Go back to the main chat.
  5. Long press on the message again and select the "Edit comment" option.
  6. Chat composer is hidden behind the keyboard.
    (Note: The only way to make it work again is to leave the chat and reopen it)

Expected Result:

The chat composer shouldn't be hidden behind the keyboard, so the user can see what they are typing.

Actual Result:

The chat composer is hidden behind the keyboard, making it impossible for the user to see what they typed.

Workaround:

unknown

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: v1.3.53-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:

Email or phone of affected tester (no customers):

Logs: https://stackoverflow.com/c/expensify/questions/4856

Notes/Photos/Videos: Any additional supporting documentation

-5396640507154347086hidden-composer.1.MP4
2023.08.14.23.33.Img.0413.mp4

Expensify/Expensify Issue URL:

Issue reported by: @tranvantoan-qn

Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1691173341567539

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01c49f282cc4a51c0a
  • Upwork Job ID: 1696693806832926720
  • Last Price Increase: 2023-08-30
  • Automatic offers:
    • cubuspl42 | Reviewer | 26408299
    • ShogunFire | Contributor | 26408300
    • Tranvantoan-qn | Reporter | 26408301
@izarutskaya izarutskaya added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Aug 14, 2023
@melvin-bot
Copy link

melvin-bot bot commented Aug 14, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Aug 14, 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

@ShogunFire
Copy link
Contributor

ShogunFire commented Aug 15, 2023

Proposal

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

The composer is hidden behind the keyboard when we go to a child report

What is the root cause of that problem?

In ReportScreen we set if the KeyboardAvoidingView should be enable here:
https://github.com/adamgrzybowski/App/blob/ff423aa61fde128e981ee071b01011238927516c/src/pages/home/ReportScreen.js#L294

The keyboard avoiding view is enabled only if we are in the top most report.

When we go to a child report the parent is not the top most report anymore so the keyboard avoidingview is disabled. When we go back the parent should be notified that he is the top most report but this is not the case, he doesn't rerender.

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

In order for the parent report to rerender and update the behaviour of keyboard avoiding view, ReportScreen should subscribe to the onyx event withCurrentReportID that is firing when the top most report changes

Result:

2023-08-14.21-12-37.mp4

What alternative solutions did you explore? (Optional)

@dummy-1111
Copy link
Contributor

dummy-1111 commented Aug 15, 2023

This is a dupe of #23423
I reported several times but @isabelastisser didn't reply

@ShogunFire
Copy link
Contributor

Maybe we can handle it here then ?

@tranvantoan-qn
Copy link

tranvantoan-qn commented Aug 15, 2023

I don't know what the best option is, as the previous issue is CLOSED; therefore, I couldn't determine if it had been reported earlier. And since it is CLOSED without a fix, I don't think it will ever get another chance to be checked/fixed unless someone got the same issue and reports it again.

So let @mallenexpensify check it first, and he will provide the option that best suits us.

@melvin-bot
Copy link

melvin-bot bot commented Aug 22, 2023

@mallenexpensify 6 days overdue. This is scarier than being forced to listen to Vogon poetry!

@mallenexpensify
Copy link
Contributor

@tranvantoan-qn and @s-alves10 are there more instances of the keyboard being hidden? If so, I'd like to work on them all in one issue.

I was able to reproduce this
IMG_10EB871B9703-1

@melvin-bot melvin-bot bot removed the Overdue label Aug 23, 2023
@situchan
Copy link
Contributor

@mallenexpensify this is always reproducible on iOS after navigating back from thread

I found this while reviewing another PR

#23994 (comment)

@dummy-1111
Copy link
Contributor

We have shouldEnableKeyboardAvoidingView as props in ScreenWrapper
We can find all cases based on the fact navigating back(stack pop) doesn't remount the page.

@ShogunFire
Copy link
Contributor

Sorry I misunderstood

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

melvin-bot bot commented Aug 28, 2023

@mallenexpensify this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@melvin-bot
Copy link

melvin-bot bot commented Aug 29, 2023

@mallenexpensify Eep! 4 days overdue now. Issues have feelings too...

@mallenexpensify mallenexpensify added the External Added to denote the issue can be worked on by a contributor label Aug 30, 2023
@melvin-bot melvin-bot bot changed the title iOS - Chat - After going back from the sub-thread and editing the message, the Chat Composer is hidden behind the keyboard [$1000] iOS - Chat - After going back from the sub-thread and editing the message, the Chat Composer is hidden behind the keyboard Aug 30, 2023
@melvin-bot
Copy link

melvin-bot bot commented Aug 30, 2023

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

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

melvin-bot bot commented Aug 30, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Aug 30, 2023

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

@mallenexpensify
Copy link
Contributor

Making External. If anyone finds other instances we can fix at the same time, that'd be great! If not... we can focus on fixing just this bug.

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Sep 5, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 5, 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

@mallenexpensify
Copy link
Contributor

@greg-schroeder I'm off this week, can you please keep 👀 on this then I'll snag it back on Monday? Thx

@melvin-bot
Copy link

melvin-bot bot commented Sep 11, 2023

Based on my calculations, the pull request did not get merged within 3 working days of assignment. Please, check out my computations here:

  • when @ShogunFire got assigned: 2023-08-30 08:39:02 Z
  • when the PR got merged: 2023-09-11 05:51:09 UTC
  • days elapsed: 7

On to the next one 🚀

@mallenexpensify
Copy link
Contributor

PR is being worked on

@cubuspl42
Copy link
Contributor

PR is merged

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Daily KSv2 labels Sep 13, 2023
@melvin-bot melvin-bot bot changed the title [$1000] iOS - Chat - After going back from the sub-thread and editing the message, the Chat Composer is hidden behind the keyboard [HOLD for payment 2023-09-20] [$1000] iOS - Chat - After going back from the sub-thread and editing the message, the Chat Composer is hidden behind the keyboard Sep 13, 2023
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Sep 13, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 13, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Sep 13, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.68-17 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 2023-09-20. 🎊

After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

  • External issue reporter
  • Contributor that fixed the issue
  • Contributor+ that helped on the issue and/or PR

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

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

  • Merged PR within 3 business days of assignment - 50% bonus
  • Merged PR more than 9 business days after assignment - 50% penalty

@melvin-bot
Copy link

melvin-bot bot commented Sep 13, 2023

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:

  • [@cubuspl42] The PR that introduced the bug has been identified. Link to the PR:
  • [@cubuspl42] 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:
  • [@cubuspl42] 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:
  • [@cubuspl42] Determine if we should create a regression test for this bug.
  • [@cubuspl42] 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.
  • [@mallenexpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@cubuspl42
Copy link
Contributor

  • The PR that introduced the bug has been identified. Link to the PR:
  • 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:
  • 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:
    • No need for additional discussion
  • Determine if we should create a regression test for this bug.
    • No need for a new regression test
  • 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.
    • N/A

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Sep 19, 2023
@mallenexpensify
Copy link
Contributor

Issue reporter: @tranvantoan-qn paid $250 via Upwork
Contributor: @ShogunFire paid $1000 via Upwork
Contributor+: @cubuspl42 paid $1000 via Upwork

@cubuspl42 is the reasoning you have N/A for creating a regression test step because the bug was design related?

@cubuspl42
Copy link
Contributor

@mallenexpensify To be completely honest, I don't feel confident about filling out the regression test-related part of this checklist... Unless the bug is very serious, I just suggest not creating a regression test, because otherwise, the regression test list would grow infinitely? But I'm very open to suggestions here. Do you think we should create a regression test for this one?

@melvin-bot melvin-bot bot added the Overdue label Sep 25, 2023
@flodnv
Copy link
Contributor

flodnv commented Sep 25, 2023

Agreed

@flodnv flodnv closed this as completed Sep 25, 2023
@melvin-bot melvin-bot bot removed the Overdue label Sep 25, 2023
@mallenexpensify
Copy link
Contributor

In general it's best practice to create the regression test steps GH because Applause/QA reviews them and either

  • Adds to TestRail
  • If it's an edge case, like this, they add it to a 'check every month' type list
  • add to other lists like design related.
  • Close it/do nothing cuz it's so rare.

I created one based on the PR steps
https://github.com/Expensify/Expensify/issues/320498

@cubuspl42
Copy link
Contributor

@mallenexpensify Thank you for this explanation. Would these steps differ from the "QA steps" from the PR template?

@mallenexpensify
Copy link
Contributor

@cubuspl42 , I think they're most-often the exact same. I can't think of instances where they're not. So, starting with copy/pasting the QA steps is def the best start (then, do a quick double check to make sure they're still accurate).

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 External Added to denote the issue can be worked on by a contributor
Projects
None yet
Development

No branches or pull requests