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-04] [$1000] Not allowed sign does not show when an attachment is drag and dropped #22218

Closed
1 of 6 tasks
kavimuru opened this issue Jul 4, 2023 · 81 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Engineering Internal Requires API changes or must be handled by Expensify staff Weekly KSv2

Comments

@kavimuru
Copy link

kavimuru commented Jul 4, 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 any chat and upload a picture
  2. Open the picture uploaded
  3. Open a file > drag and drop any picture without closing the picture shown.
  4. Notice that not allowed sign is not shown

Expected Result:

Not allowed to drag and drop when an attachment is open.

Actual Result:

allowed to drag and drop when an attachment is open.

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?

  • Android / native
  • Android / Chrome
  • iOS / native
  • iOS / Safari
  • MacOS / Chrome / Safari
  • MacOS / Desktop

Version Number: 1.3.36-3
Reproducible in staging?: y
Reproducible in production?: n
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

Test56_Dragdrop-1.mp4
Recording.1162.mp4

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

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~010870acccad3ed186
  • Upwork Job ID: 1676676820896407552
  • 2023-07-26
  • Automatic offers:
    • daveSeife | Reporter | 25785739
@kavimuru kavimuru added DeployBlockerCash This issue or pull request should block deployment Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Jul 4, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jul 4, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Jul 4, 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

@OSBotify
Copy link
Contributor

OSBotify commented Jul 4, 2023

👋 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.

@melvin-bot
Copy link

melvin-bot bot commented Jul 4, 2023

Triggered auto assignment to @deetergp (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@deetergp deetergp changed the title Not allowed sign is shown when drag and drop the attachment Not allowed sign does not show when an attachment is drag and dropped Jul 4, 2023
@flaviadefaria
Copy link
Contributor

Just coming online, but @deetergp seems to be on it!

@Julesssss
Copy link
Contributor

Julesssss commented Jul 5, 2023

This one is problematic. It looks like @deetergp located the original PR, but as we've already followed up with additional changes for other blockers I don't think we can simply revert it...

Best course of action might be to unblock the release and resolve this without classing it as a blocker. I think this is fine as it's not blocking the user.

We're already one day behind the release schedule and the alternative of reverting multiple PRs in a certain order is too time-consuming/complex and will prevent me from releasing.

@Julesssss Julesssss added Daily KSv2 and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 labels Jul 5, 2023
@Julesssss
Copy link
Contributor

@kidroca it would be great if you could confirm/deny our suspicion about this. We'll need to fix but I'm moving forward with the app release.

@deetergp
Copy link
Contributor

deetergp commented Jul 5, 2023

I'd love @kidroca's thoughts on it, but I'm going to go ahead and apply the External label and open it up to proposals.

@deetergp deetergp added the External Added to denote the issue can be worked on by a contributor label Jul 5, 2023
@melvin-bot melvin-bot bot changed the title Not allowed sign does not show when an attachment is drag and dropped [$1000] Not allowed sign does not show when an attachment is drag and dropped Jul 5, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jul 5, 2023

Job added to Upwork: https://www.upwork.com/jobs/~010870acccad3ed186

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

melvin-bot bot commented Jul 5, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Jul 5, 2023

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

@rain2o
Copy link
Contributor

rain2o commented Jul 6, 2023

Proposal

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

Drag and drop is not prevented in the attachment preview modal.

What is the root cause of that problem?

As suspected in previous comments, this is a result of the restructuring in #20167. Previously, AttachmentModal was a child of ReportScreen, and it benefited from the logic in DragAndDrop, which prevents drag & drop outside of the specified area. Now that AttachmentModal is in its own RootStack.Screen, it no longer benefits from that logic.

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

We need to add these event handlers to ReportAttachments, as this is the top-level component for the new stack dedicated to showing attachment modals.

We can use the same logic as is in DragAndDrop, but much more simplified.

const preventDropEvent = useCallback((event) => {
    event.preventDefault();
    // eslint-disable-next-line no-param-reassign
    event.dataTransfer.dropEffect = 'none';
}, []);

useEffect(() => {
    document.addEventListener('dragenter', preventDropEvent);
    document.addEventListener('drop', preventDropEvent);

    return () => {
        document.removeEventListener('dragenter', preventDropEvent);
        document.removeEventListener('drop', preventDropEvent);
    }
}, [preventDropEvent])

What alternative solutions did you explore? (Optional)

We could wrap ReportAttachments in the DragAndDrop component and set shouldAcceptDrop to always return false. But I think this would add unnecessary bloat to this stack, as there's a bit going on under the hood in that component.

@melvin-bot
Copy link

melvin-bot bot commented Aug 28, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Aug 28, 2023

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

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 Aug 28, 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:

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

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

Payment summary:

For reference, here are some details about the assignees on this issue:
@ginsuma requires payment
@allroundexperts does not require payment (Eligible for Manual Requests)
@daveSeife requires payment offer (Reporter)

@ginsuma = $1000 (no bonus)
@allroundexperts = $1000 (no bonus)
@daveSeife = $250

@melvin-bot
Copy link

melvin-bot bot commented Sep 11, 2023

@deetergp, @ginsuma, @allroundexperts, @flaviadefaria Eep! 4 days overdue now. Issues have feelings too...

@melvin-bot melvin-bot bot added the Overdue label Sep 11, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 11, 2023

@deetergp, @ginsuma, @allroundexperts, @flaviadefaria Huh... This is 4 days overdue. Who can take care of this?

@flaviadefaria
Copy link
Contributor

@ginsuma can you please share your UW profile here, I'm not sure that I have found the right person- thanks!
@daveSeife - Contract sent.

@melvin-bot melvin-bot bot removed the Overdue label Sep 11, 2023
@flaviadefaria
Copy link
Contributor

Thanks, @ginsuma - contract sent.

@ginsuma
Copy link
Contributor

ginsuma commented Sep 11, 2023

@flaviadefaria I'm the contributor who fixed the issue. Your offer is $250.

@flaviadefaria
Copy link
Contributor

Oops, sorry about that, sent a new offer with the correct amount.

@flaviadefaria
Copy link
Contributor

@ginsuma - paid
@daveSeife - waiting to accept offer

@daveSeife
Copy link

@flaviadefaria accepted offer, thank you!

@flaviadefaria
Copy link
Contributor

flaviadefaria commented Sep 11, 2023

@daveSeife you have been paid.

@allroundexperts does not require payment (Eligible for Manual Requests)

@allroundexperts please request payment I'll switch this to weekly for now.

@melvin-bot melvin-bot bot added the Overdue label Sep 13, 2023
@deetergp
Copy link
Contributor

Still holding for payment?

@melvin-bot melvin-bot bot removed the Overdue label Sep 14, 2023
@allroundexperts
Copy link
Contributor

Requested payment.

@flaviadefaria flaviadefaria added Weekly KSv2 and removed Daily KSv2 labels Sep 14, 2023
@melvin-bot melvin-bot bot added the Overdue label Sep 25, 2023
@flaviadefaria
Copy link
Contributor

Cool seems like all payments have been requested or made so closing this for now.

@JmillsExpensify
Copy link

$1,000 payment approved for @allroundexperts based on BZ summary.

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 Internal Requires API changes or must be handled by Expensify staff Weekly KSv2
Projects
None yet
Development

No branches or pull requests