Skip to content

[$250] Send money - User can send money to group by modifying the URL to ../send/new/.. #29367

Closed

Description

@lanitochka17

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: 1.3.81-6

Reproducible in staging?: Yes

Reproducible in production?: No. Send money is not available on prod

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. Go to staging.new.expensify.com
  2. Go to any group chat
  3. Modify the link to staging.new.expensify.com/send/new/<groupchat_ID>
  4. Proceed with sending money process

Expected Result:

When navigating to staging.new.expensify.com/send/new/<groupchat_ID>, error should show up

Actual Result:

When navigating to staging.new.expensify.com/send/new/<groupchat_ID>, user can proceed with sending money to the group

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
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Bug6233318_1697043967927.20231012_003356.mp4
MacOS: Desktop

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~018efda0f6a36aaf1e
  • Upwork Job ID: 1712345985658458112
  • Last Price Increase: 2023-10-12

Activity

  1. added
    DeployBlockerCashThis issue or pull request should block deployment
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 11, 2023
  2. melvin-bot commented on Oct 11, 2023

    @melvin-bot

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

  3. melvin-bot commented on Oct 11, 2023

    @melvin-bot

    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
  4. OSBotify commented on Oct 11, 2023

    @OSBotify
    Contributor

    👋 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.
  5. melvin-bot commented on Oct 11, 2023

    @melvin-bot

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

  6. alitoshmatov commented on Oct 11, 2023

    @alitoshmatov
    Contributor

    Proposal

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

    Send money - User can send money to group by modifying the URL to ../send/new/..

    What is the root cause of that problem?

    This problem exists for all kind of iou requests. We have not implemented any conditions to prevent such cases.
    I found this comment describing a function which is used to show available iou actions in report + button. Based on this comment we can see which combinations are not allowed, like send request in non 1:1 chats, or split in 1:1 chats

    App/src/libs/ReportUtils.js

    Lines 3353 to 3376 in 8c73c2b

    /**
    * Helper method to define what money request options we want to show for particular method.
    * There are 3 money request options: Request, Split and Send:
    * - Request option should show for:
    * - DMs
    * - own policy expense chats
    * - open and processing expense reports tied to own policy expense chat
    * - unsettled IOU reports
    * - Send option should show for:
    * - DMs
    * - Split options should show for:
    * - chat/ policy rooms with more than 1 participants
    * - groups chats with 3 and more participants
    * - corporate workspace chats
    *
    * None of the options should show in chat threads or if there is some special Expensify account
    * as a participant of the report.
    *
    * @param {Object} report
    * @param {Array<Number>} reportParticipants
    * @returns {Array}
    */
    function getMoneyRequestOptions(report, reportParticipants) {
    // In any thread or task report, we do not allow any new money requests yet

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

    We can leverage this getMoneyRequestOptions function to check if iou request is valid or not and show NotFoundPage in corresponding places
    https://github.com/Expensify/App/blob/main/src/pages/iou/MoneyRequestSelectorPage.js#L92
    like this:

    <FullPageNotFoundView shouldShow={!IOUUtils.isValidMoneyRequestType(iouType) || (!isFromGlobalCreate && !ReportUtils.getMoneyRequestOptions(props.report,props. report.participantAccountIDs).includes(iouType))}>

    This will ensure that combination of current report and iou type is allowed one, and prevent from unwanted cases.
    Note that, we only apply this check if route has report params, not creating new without selecting report yet.

    What alternative solutions did you explore? (Optional)

    If this usage is confusing or overloads a function usage, we can create similar function which will check for above cases based on conditions similar to getMoneyRequestOptions conditions

  7. alitoshmatov commented on Oct 11, 2023

    @alitoshmatov
    Contributor

    I don't think this is Deploy blocker since we can reproduce similar issue using .../split/new/... in 1:1 chats.

  8. jasperhuangg commented on Oct 11, 2023

    @jasperhuangg
    Contributor

    cc @techievivek since this seems related to your recent Send Money PR

  9. 19 remaining items

  10. changed the title [-][$100] Send money - User can send money to group by modifying the URL to ../send/new/..[/-] [+][$250] Send money - User can send money to group by modifying the URL to ../send/new/..[/+] on Oct 12, 2023
  11. melvin-bot commented on Oct 12, 2023

    @melvin-bot

    Upwork job price has been updated to $250

  12. techievivek commented on Oct 12, 2023

    @techievivek
    Contributor

    @hannojg Updated it to 250, but I think these are minor fixes with no edge case(hopefully) and shouldn't take long other than just verifying it across platforms.

    can you please review the proposal posted by Ali, thanks.

  13. esh-g commented on Oct 12, 2023

    @esh-g
    Contributor

    @techievivek @muttmuure This issue is a dupe and will get fixed here: #26523

  14. hannojg commented on Oct 12, 2023

    @hannojg
    Contributor

    @techievivek did you tag me by accident? I don't see why I was tagged

  15. hoangzinh commented on Oct 12, 2023

    @hoangzinh
    Contributor

    same thought as @esh-g. The issue #26523 is requesting money, this issue is sending money. But because they share the same component. So looks like we can fix them together. cc @techievivek

  16. techievivek commented on Oct 13, 2023

    @techievivek
    Contributor

    @hannojg

    did you tag me by accident? I don't see why I was tagged

    Sorry, I tagged you by accident 😄

  17. techievivek commented on Oct 13, 2023

    @techievivek
    Contributor

    The issue #26523 is requesting money, this issue is sending money. But because they share the same component. So looks like we can fix them together.

    Yes, that will be great.

  18. techievivek commented on Oct 13, 2023

    @techievivek
    Contributor

    @alitoshmatov Do you mind posting your proposal to the other issue so we can tackle them all together.

  19. alitoshmatov commented on Oct 13, 2023

    @alitoshmatov
    Contributor

    @techievivek Looks like proposal(#26523 (comment)) provided in that issue is very similar to mine and solve the issue. So I think there is no need for my proposal

  20. techievivek commented on Oct 16, 2023

    @techievivek
    Contributor

    This is a duplicate of #26523 so I will close this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.DailyKSv2EngineeringExternalAdded to denote the issue can be worked on by a contributorHelp WantedApply this label when an issue is open to proposals by contributors

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions