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-04-12] [$4000] [Feature Request] Compose box should be accessible when opening a old chat #14223

Closed
6 tasks
kavimuru opened this issue Jan 11, 2023 · 78 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Daily KSv2 External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item.

Comments

@kavimuru
Copy link

kavimuru commented Jan 11, 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 NewDot
  2. Open any report that you have previously chatted with, but haven’t for quite some time

Expected Result:

The compose box is accessible and a message can be typed even while the skeleton UI loads

Actual Result:

The compose box is blocked until the skeleton UI loads. Clicking it does nothing, even though you can see it.

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: 1.2.52-4
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:
Screenshot 2023-01-09 at 07 52 34

Recording.1261.mp4

Expensify/Expensify Issue URL:
Issue reported by: @JmillsExpensify
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1673289703690979

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~014ee521941ee126ec
  • Upwork Job ID: 1617901674597654528
  • Last Price Increase: 2023-03-28
@kavimuru kavimuru added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Jan 11, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jan 11, 2023

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

@melvin-bot melvin-bot bot locked and limited conversation to collaborators Jan 11, 2023
@kavimuru kavimuru added NewFeature Something to build that is a new item. and removed Bug Something is broken. Auto assigns a BugZero manager. labels Jan 11, 2023
@kavimuru kavimuru changed the title Compose box should be accessible when opening a old chat [Feature Request] Compose box should be accessible when opening a old chat Jan 11, 2023
@techievivek
Copy link
Contributor

We are already discussing this here. And will get fixed in this PR.

@mallenexpensify mallenexpensify changed the title [Feature Request] Compose box should be accessible when opening a old chat [HOLD #13088][Feature Request] Compose box should be accessible when opening a old chat Jan 12, 2023
@mallenexpensify mallenexpensify added Weekly KSv2 and removed Daily KSv2 labels Jan 12, 2023
@mallenexpensify
Copy link
Contributor

Thanks @techievivek !! Put on hold pending #13088

@yuwenmemon
Copy link
Contributor

@techievivek I think we're dealing with a bit of a separate issue than you dealt with in the PR you've linked. This behavior is actually happening while online as well, and the chats are still loading.

@yuwenmemon yuwenmemon changed the title [HOLD #13088][Feature Request] Compose box should be accessible when opening a old chat [Feature Request] Compose box should be accessible when opening a old chat Jan 17, 2023
@techievivek techievivek self-assigned this Jan 18, 2023
@techievivek
Copy link
Contributor

@yuwenmemon Agree, it seems to be happening in both offline and online cases.

@JmillsExpensify JmillsExpensify self-assigned this Jan 19, 2023
@JmillsExpensify
Copy link

Ok yeah, that's right. This issue is about making sure that we don't block the user in an online case, though interesting that we also seem to be doing the same in the offline case. From the thread, it sounds like on offline we already had a non-blocking framework in place.

@techievivek
Copy link
Contributor

it sounds like on offline we already had a non-blocking framework in place.

We have things already in place; it's just that the compose box is disabled, so users can't take optimistic actions in both online and offline cases.

@techievivek
Copy link
Contributor

Passing it to contributors to work on it.

@techievivek techievivek added the External Added to denote the issue can be worked on by a contributor label Jan 24, 2023
@melvin-bot melvin-bot bot unlocked this conversation Jan 24, 2023
@melvin-bot melvin-bot bot changed the title [Feature Request] Compose box should be accessible when opening a old chat [$1000] [Feature Request] Compose box should be accessible when opening a old chat Jan 24, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jan 24, 2023

Job added to Upwork: https://www.upwork.com/jobs/~014ee521941ee126ec

@melvin-bot
Copy link

melvin-bot bot commented Jan 24, 2023

Current assignees @JmillsExpensify and @mallenexpensify are eligible for the External assigner, not assigning anyone new.

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Jan 24, 2023
@melvin-bot melvin-bot bot changed the title [$4000] [Feature Request] Compose box should be accessible when opening a old chat [HOLD for payment 2023-04-12] [$4000] [Feature Request] Compose box should be accessible when opening a old chat Apr 5, 2023
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Apr 5, 2023
@MelvinBot
Copy link

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

@MelvinBot
Copy link

MelvinBot commented Apr 5, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.2.94-3 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-04-12. 🎊

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

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 melvin-bot bot added Daily KSv2 Overdue and removed Weekly KSv2 labels Apr 11, 2023
@techievivek
Copy link
Contributor

Hey, @mallenexpensify, it there anything else that needs to be done here, or are we good to close this one?

@melvin-bot melvin-bot bot removed the Overdue label Apr 13, 2023
@mallenexpensify
Copy link
Contributor

@techievivek @johnmlee101 , I see the below here

Possible Regression: #16908

Do either of you have any further insight or details before I pay?

Also.. for payment, below is the bonus timeline.

Hired - March 29
image

Merged March 31
image

@techievivek
Copy link
Contributor

techievivek commented Apr 14, 2023

@mallenexpensify Yes, there was a regression from the original PR here #16908, which was also fixed by @getusha. The original PR was merged on April 1 and the regression was reported on April 4.

@getusha
Copy link
Contributor

getusha commented Apr 14, 2023

The regression was reported and fixed April 4 before hitting production.

@mallenexpensify
Copy link
Contributor

Thanks @techievivek and @getusha. Per CONTRIBUTING.md.

If the PR causes a regression within 7 days of being deployed to production, contributors are not eligible for the 50% bonus.

So... if the regression was before production, that shouldn't affect the bonus for @getusha .

@sobitneupane , this is from the C+ process doc

If regressions are found that “should have”* been caught after the PR has been approved, the C+’s payment gets cut in half for each regression found (½ the first time, ½ the second, etc (ie. $1000 > $500 > $250)). This includes regressions on staging and production. Idea discussion slack here. Any bonus increases that might have been added for timeliness are rescinded for regressions.
*“Should have” = C+ should have caught the bug by fully following the checklist. If C+ skips a step or completed the checklist incompletely, payment will be cut in half.

If you don't think you "should have" caught the regression, can you provide reasoning?

@aimane-chnaif
Copy link
Contributor

So... if the regression was before production, that shouldn't affect the bonus for @getusha .

Does that mean that if regression found on main or staging, bonus still applies to contributor?

@sobitneupane
Copy link
Contributor

sobitneupane commented Apr 14, 2023

If you don't think you "should have" caught the regression, can you provide reasoning?

I think I should have caught it earlier though it is an edge case.

@melvin-bot melvin-bot bot added the Overdue label Apr 17, 2023
@techievivek
Copy link
Contributor

Not overdue, we are just finalizing the payment here.

@melvin-bot melvin-bot bot removed the Overdue label Apr 17, 2023
@mallenexpensify
Copy link
Contributor

@aimane-chnaif , checking on here https://expensify.slack.com/archives/C02NK2DQWUX/p1681749639671849

So... if the regression was before production, that shouldn't affect the bonus for @getusha .

Does that mean that if regression found on main or staging, bonus still applies to contributor?

@melvin-bot melvin-bot bot added the Overdue label Apr 20, 2023
@getusha
Copy link
Contributor

getusha commented Apr 20, 2023

@mallenexpensify any updates?

@melvin-bot melvin-bot bot removed the Overdue label Apr 20, 2023
@mallenexpensify
Copy link
Contributor

Thanks for the ping @getusha , we're in the process of updating the language for CONTRIBUTING.md to denote that any regression cancels the bonus because there's no benefit for timeliness if there are regressions that require additional resources to address.

If the PR causes a regression within 7 days of being deployed to production, contributors are not eligible for the 50% bonus.

within 7 days of being deployed to production is the part we still need to honor here and the regression was not within that time period, it was before, so the bonus stands for now.

@sobitneupane paid $2000 and @getusha paid $6000. Anticipate CONTRIBUTING.md being updated very soon with the new language stating that timeliness bonuses won't be eligible if there are regressions.

@mallenexpensify
Copy link
Contributor

mallenexpensify commented Apr 20, 2023

For some reason this didn't get posted, @sobitneupane , can you complete the below then I'll create a GH to update TestRail?

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:

  • [@sobitneupane] The PR that introduced the bug has been identified. Link to the PR:
  • [@sobitneupane] 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:
  • [@sobitneupane] 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:
  • [@mallenexpensify] Determine if we should create a regression test for this bug.
  • [@sobitneupane] 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:

@sobitneupane
Copy link
Contributor

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:

  • [@sobitneupane] The PR that introduced the bug has been identified. Link to the PR:

#12505

  • [@sobitneupane] 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:

https://github.com/Expensify/App/pull/12505/files#r1088840195

  • [@sobitneupane] 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:

It is an improvement in the app rather than bug fix as discussed earlier in https://github.com/Expensify/App/pull/12505/files#r1088840195

@sobitneupane
Copy link
Contributor

Regression Test Proposal

  1. Open Expensify app
  2. Disconnect the device from the internet
  3. Open any old chat or a chat that is still loading
  4. Type a message in the compose box.
  5. Open EmojiPicker and insert an emoji
  6. Send the message by clicking the send icon
  7. Add any attachment and send the attachment
  8. Confirm Sending, splitting, requesting money works as expected
  9. Verify that the compose box is accessible and functioning properly(i.e, you are able to perform step 3, step 4, step 5, step 6, and step 7) as it would when the device is connected to the internet

Do we agree 👍 or 👎

@JmillsExpensify
Copy link

Thank you so much for getting this one out and in production! It's really great. ❤️

@mallenexpensify
Copy link
Contributor

Thanks @sobitneupane (and @getusha for the 👍)
GH created to update TestRail with regression test steps
https://github.com/Expensify/Expensify/issues/277753

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 Daily KSv2 External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item.
Projects
None yet
Development

No branches or pull requests

10 participants