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

[$500] Android-IOU-Tapping IOU created and quickly tapping plus icon, its options displayed in IOU page #30139

Closed
1 of 6 tasks
lanitochka17 opened this issue Oct 21, 2023 · 17 comments
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor Help Wanted Apply this label when an issue is open to proposals by contributors

Comments

@lanitochka17
Copy link

lanitochka17 commented Oct 21, 2023

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.3.88-3
Reproducible in staging?: Yes
Reproducible in production?: Yes
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
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:

Action Performed:

  1. Launch app
  2. Tap plus icon near compose
  3. Tap request money---manual
  4. Enter an amount
  5. Tap next
  6. Tap request amount
  7. Tap on IOU and quickly tap on plus icon near compose

Expected Result:

The plus options of 1:1 page like request money, send money, assign task and add attachments must not be displayed in IOU page when user taps IOU created and quickly taps on plus icon near compose

Actual Result:

The plus options of 1:1 page like request money, send money, assign task and add attachments are displayed in IOU page when user taps IOU created and quickly taps on plus icon near compose

Workaround:

Unknown

Platforms:

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

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Android: Native
Bug6245870_1697922152761.io.mp4
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~016e2e379d759da321
  • Upwork Job ID: 1715851865875951616
  • Last Price Increase: 2023-10-28
@lanitochka17 lanitochka17 added External Added to denote the issue can be worked on by a contributor Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Oct 21, 2023
@melvin-bot melvin-bot bot changed the title Android-IOU-Tapping IOU created and quickly tapping plus icon, its options displayed in IOU page [$500] Android-IOU-Tapping IOU created and quickly tapping plus icon, its options displayed in IOU page Oct 21, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 21, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Oct 21, 2023

Job added to Upwork: https://www.upwork.com/jobs/~016e2e379d759da321

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

melvin-bot bot commented Oct 21, 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

@melvin-bot
Copy link

melvin-bot bot commented Oct 21, 2023

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

@ishpaul777
Copy link
Contributor

ishpaul777 commented Oct 22, 2023

adding my proposal from #29379 same root cause,

Proposal

Problem

When IOU preview is clicked and quickly the plus is clicked the plus option open in report details page

Root Cause

When we click the IOU preview there is a naviagtion delay in that moment if user clicks the plus button the popover will open and then navigation happens, there is no code specific root cause just a case not handled, the same can be reproduced when we quickly click the emjoi button when navigation is in progress.

Changes

We can avoid opening of Plus button options when navigation is in progress. We can use withNavigationFocus HOC to get isFocused prop which tells if screen is not focused(navigating in progress)

https://github.com/Expensify/App/blob/5d9ac2ceda20f487c5b0772d976217525a95d547/src/pages/home/report/ReportActionCompose/AttachmentPickerWithMenuItems.js

ans onPress of plus button we can early return if isFocused is false, the same ^ needs to be implemented for Emojipicker Popover.

Code changes:

// src/pages/home/report/ReportActionCompose/AttachmentPickerWithMenuItems.js
useEffect(() => {
        onPopoverMenuClose();
    }, [isFocused]);
    
 // rest of code between
 
 
  <PressableWithFeedback
       onPress={(e) => {
       e.preventDefault();
       if (!isFocused && isSmallScreenWidth){
           return;
       }
       // rest of props
  />
  // rest code between
  <PopoverMenu
       animationInTiming={CONST.ANIMATION_IN_TIMING}
       isVisible={isMenuVisible && isFocused}
       // rest of props
  />

// rest of code

We are following a similar approach in FloatingActionButtonAndPopover

if (!props.isFocused && props.isSmallScreenWidth) {
return;
}

useEffect(() => {
if (!didScreenBecomeInactive()) {
return;
}
// Hide menu manually when other pages are opened using shortcut key
hideCreateMenu();
}, [didScreenBecomeInactive, hideCreateMenu]);

@zanyrenney
Copy link
Contributor

Where is the screen recording or link to slack @lanitochka17 ?

@lanitochka17
Copy link
Author

@zanyrenney Hello

The screen recording is located in the Screenshots/Videos tab

image

@melvin-bot melvin-bot bot added the Overdue label Oct 26, 2023
@zanyrenney
Copy link
Contributor

oh eek, thanks!

@melvin-bot melvin-bot bot removed the Overdue label Oct 26, 2023
@zanyrenney
Copy link
Contributor

@lanitochka17 I feel like I can't see any bug, how fast is "fast" here?

@lanitochka17
Copy link
Author

@zanyrenney Hello
Issue reproducible in latest build

0-02-01-1be829df512952002368cabb7f2aca31ab98a920239bb56c5038d0c13060d813_fd1025a609a333bb.mp4

Compared to IOS, there is no way to open menu and IOU pages at the same time:

0-02-01-bb6838b56dd6ecf8d8f0227098b6ee1218102937a3c498d2bae5a3876bc2a544_6de0ac336beb5b90.mp4

@melvin-bot
Copy link

melvin-bot bot commented Oct 28, 2023

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

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

melvin-bot bot commented Oct 30, 2023

@mananjadhav, @zanyrenney Whoops! This issue is 2 days overdue. Let's get this updated quick!

@melvin-bot melvin-bot bot removed the Overdue label Oct 30, 2023
@zanyrenney
Copy link
Contributor

@mananjadhav what do you think of @ishpaul777 proposal above?

@ishpaul777
Copy link
Contributor

Proposal Updated to add more details on approach and reference to where we are following same approach.

@mananjadhav
Copy link
Collaborator

I have a question on whether we should be fixing this one. I've raised it here internally. Will update once I get a response.

@zanyrenney
Copy link
Contributor

bumped it in the channel.

@zanyrenney
Copy link
Contributor

Vit reviewed, said to close!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor Help Wanted Apply this label when an issue is open to proposals by contributors
Projects
None yet
Development

No branches or pull requests

4 participants