Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.43k stars 2.8k forks source link

[HOLD for payment 2023-09-21] [$1000] App allows task title update for completed task using deep link and throws error on update #22451

Closed kavimuru closed 1 year ago

kavimuru commented 1 year ago

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. Open the app
  2. Click on plus and click on 'Assign a task'
  3. Write any title and assign task to anyone
  4. In task report, click on task to open task title edit
  5. Copy the URL and send it to any other report
  6. Mark the task as done
  7. Click on link sent in step 5, edit the title and click on save
  8. Observe that task report in LHN now has red dot for error

    Expected Result:

    Once task is completed, app should not allow to edit task title by deep link

    Actual Result:

    App allows to edit task title using deep link even after task is marked as completed and if edited using the link, app displays red dot in LHN on task report

    Workaround:

    Can the user still use Expensify without this being fixed? Have you informed them of the workaround?

Platforms:

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

Version Number: 1.3.38-3 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

https://github.com/Expensify/App/assets/43996225/54d911ae-54de-4062-8083-3be2cb7aa2b2

https://github.com/Expensify/App/assets/43996225/e299c4b5-9b41-4c50-bffa-47e19f426929

Expensify/Expensify Issue URL: Issue reported by: @dhanashree-sawant Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688742180722969

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01df4c0b6543fe49a8
  • Upwork Job ID: 1678539598526873600
  • Last Price Increase: 2023-08-28
  • Automatic offers:
    • BhuvaneshPatil | Contributor | 26456675
    • dhanashree-sawant | Reporter | 26456679
dukenv0307 commented 1 year ago

@eVoloshchak Can you check again

  1. This proposal doesn't have any update after the permissiom changed.
  2. We should use withReportOrNotFound HOC to control the loading when we access by deeplink before logging.
melvin-bot[bot] commented 1 year ago

πŸ“£ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? πŸ’Έ

eVoloshchak commented 1 year ago

This proposal doesn't have any update after the permissiom changed.

@dukenv0307, that is true, but I consider that a minor technical detail, the main idea of the proposal is the same

We should use withReportOrNotFound HOC to control the loading when we access by deeplink before logging.

Same as above, we can achieve the same result using shouldShow prop for FullPageNotFoundView. Additionally, as @BhuvaneshPatil pointed out, that will allow us to show a custom message (i.e. "Can't edit a task that is completed/You don't have access to this task", etc)

dukenv0307 commented 1 year ago

We should use withReportOrNotFound HOC to control the loading when we access by deeplink before logging.

Same as above, we can achieve the same result using shouldShow prop for FullPageNotFoundView. Additionally, as @BhuvaneshPatil pointed out, that will allow us to show a custom message (i.e. "Can't edit a task that is completed/You don't have access to this task", etc)

@eVoloshchak If we don't use loading page, when we access a vaild task edit page, the FullPageNotFoundView will display briefly before the page display.

BhuvaneshPatil commented 1 year ago

@eVoloshchak @joelbettner ^^ for futher process

thienlnam commented 1 year ago

@joelbettner I'll take this over since I'm already familiar

melvin-bot[bot] commented 1 year ago

πŸ“£ @eVoloshchak Please request via NewDot manual requests for the Reviewer role ($1000)

melvin-bot[bot] commented 1 year ago

πŸ“£ @BhuvaneshPatil πŸŽ‰ 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[bot] commented 1 year ago

πŸ“£ @dhanashree-sawant πŸŽ‰ An offer has been automatically sent to your Upwork account for the Reporter role πŸŽ‰ Thanks for contributing to the Expensify app!

Offer link Upwork job

BhuvaneshPatil commented 1 year ago

Thank you @thienlnam . Scope of this issue will be -

Please confirm.

thienlnam commented 1 year ago

Yup sounds good, thanks for sticking with these issues

dukenv0307 commented 1 year ago

@thienlnam I think we are missing some case here.

  1. With a valid reportID but it isn't the task report
  2. Invalid reportID or cannot access report
  3. Not found page should come with loading page.

Solution: use withReportOrNotFound HOC that can verify the report is vaild and control the loading as well. And add the check in task page to check the report is task report or not.

Can you check my comment https://github.com/Expensify/App/issues/22451#issuecomment-1694637765 and https://github.com/Expensify/App/issues/22451#issuecomment-1694637765

And my proposal

dhanashree-sawant commented 1 year ago

Hi @thienlnam, melvin bot has provided me with 50$ offer even though it is raised in july πŸ˜…. Can you check once you are available?

sophiepintoraetz commented 1 year ago

@dhanashree-sawant - I've paid you for $250.

melvin-bot[bot] commented 1 year ago

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

On to the next one πŸš€

melvin-bot[bot] commented 1 year ago

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

melvin-bot[bot] commented 1 year ago

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

If no regressions arise, payment will be issued on 2023-09-21. :confetti_ball:

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.

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:

melvin-bot[bot] commented 1 year ago

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:

BhuvaneshPatil commented 1 year ago

^^ @sophiepintoraetz @eVoloshchak @thienlnam

Can we proceed further on this. Also the PR was approved before 3 day time period, but was put on freeze.

sophiepintoraetz commented 1 year ago

Cool so:

Payouts due:

Issue Reporter: $250 done Contributor: $1500 @BhuvaneshPatil Contributor+: $1500 @eVoloshchak (request a newdot payment once the BZ regression test checklist is done)

Eligible for 50% #urgency bonus? Y

sophiepintoraetz commented 1 year ago

@BhuvaneshPatil - for future reference, please wait until 7 days has passed before bumping - this has a weekly priority so while we endeavour to pay out on time, it's not always the case.

BhuvaneshPatil commented 1 year ago

thanks @sophiepintoraetz for mentioning. I will keep that in mind from now.

eVoloshchak commented 1 year ago
eVoloshchak commented 1 year ago

Regression Test Proposal

  1. Create a task
  2. copy URL of task for description https://staging.new.expensify.com/r//description
  3. Complete that task(mark as done)
  4. Paste the URL into the browser
  5. Verify that the user is presented with full-page not found view
  6. Do the same steps (4-5) for title page - https://staging.new.expensify.com/r//title
  7. Do the same steps (4-5) for assignee page - https://staging.new.expensify.com/r//assignee

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

eVoloshchak commented 1 year ago

@sophiepintoraetz, please don't close an issue if the BZ checklist hasn't been completed yet If the issue is closed, it isn't displayed in Assigned Issues section for C+, so there is no way to access it unless you specifically remember it exists (I stumbled upon this one randomlyπŸ˜…) Thank you😊

eVoloshchak commented 1 year ago

Requested the payment via NewDot

JmillsExpensify commented 1 year ago

$1,500 payment approved for @eVoloshchak based on BZ summary.

melvin-bot[bot] commented 7 months ago

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.