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

CRITICAL: [Actionable Whispers] [$1250] Launch basic actionable whisper foundation #38533

Closed
thienlnam opened this issue Mar 18, 2024 · 30 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. Reviewing Has a PR in review

Comments

@thienlnam
Copy link
Contributor

thienlnam commented Mar 18, 2024

We're adding the 'Track Expense' action in this PR. After tracking an expense to your selfDM, there will be a whisper action that provides different options you can take

image

Currently after each tracked transaction, there is another reportAction added which is called ACTIONABLETRACKEXPENSEWHISPER. This will be the actionable whisper.

We already have a similar actionable whisper for inviting people here
Screenshot 2024-03-18 at 3 05 11 PM

There are 4 actions that can be taken

Request someone to pay it (Doc)

This will open up straight to the participant selector for the existing transaction. However, in this case it will move the transaction once the request is created as opposed to creating a new one.

image

API command: 'ConvertTrackedExpenseToRequest'
Parameters:

  • authToken
  • payerAccountID
  • iouReportID
  • chatReportID
  • transactionID
  • reportActionID
  • createdChatReportActionID
  • createdIOUReportActionID
  • reportPreviewReportActionID

Categorize it (Doc)
This creates a workspace (if necessary), then moves it to the open expense report on the workspace chat, and opens the category editor.

image

API command: CategorizeTrackedExpense

  • authToken
  • policyID
  • transactionID
  • reportID
  • reportActionID
  • modifiedExpenseReportActionID
  • announceChatReportID
  • announceCreatedReportActionID
  • adminsChatReportID
  • adminsCreatedReportActionID
  • expenseChatReportID
  • expenseCreatedReportActionID

Share it with my accountant (Doc)
This creates a workspace (if necessary), moves it to a report on the workspace chat, and opens the invite flow.

image

API command: ShareTrackedExpense

  • authToken
  • policyID
  • transactionID
  • reportID
  • reportActionID
  • modifiedExpenseReportActionID
  • announceChatReportID
  • announceCreatedReportActionID
  • adminsChatReportID
  • adminsCreatedReportActionID
  • expenseChatReportID
  • expenseCreatedReportActionID

Nothing for now

Hides the actionable whisper

API command: DismissActionableWhisper

  • authToken
  • reportActionID

Note: To get started, you will need to branch off this existing PR. We haven't done full flow testing of the API commands, so there may be some additional BE changes that are required that you might find through working on this PR that we can work on in parallel.

We're also trying to launch this ASAP. Please do NOT pick this up unless you can spend your full attention on this

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~015906865d86966bf9
  • Upwork Job ID: 1770146045833195520
  • Last Price Increase: 2024-05-07
@thienlnam thienlnam self-assigned this Mar 18, 2024
@thienlnam thienlnam moved this to CRITICAL in [#whatsnext] #vip-vsb Mar 18, 2024
@thienlnam thienlnam added the Daily KSv2 label Mar 18, 2024
@thienlnam thienlnam added NewFeature Something to build that is a new item. External Added to denote the issue can be worked on by a contributor labels Mar 19, 2024
@melvin-bot melvin-bot bot changed the title CRITICAL: [Track Expense] Actionable Whispers [$500] CRITICAL: [Track Expense] Actionable Whispers Mar 19, 2024
Copy link

melvin-bot bot commented Mar 19, 2024

Copy link

melvin-bot bot commented Mar 19, 2024

Job added to Upwork: https://www.upwork.com/jobs/~015906865d86966bf9

@melvin-bot melvin-bot bot added Weekly KSv2 Help Wanted Apply this label when an issue is open to proposals by contributors and removed Daily KSv2 labels Mar 19, 2024
Copy link

melvin-bot bot commented Mar 19, 2024

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

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Mar 19, 2024
@thienlnam thienlnam changed the title [$500] CRITICAL: [Track Expense] Actionable Whispers [$1000] CRITICAL: [Track Expense] Actionable Whispers Mar 19, 2024
Copy link

melvin-bot bot commented Mar 19, 2024

Upwork job price has been updated to $1000

@thienlnam thienlnam removed the External Added to denote the issue can be worked on by a contributor label Mar 19, 2024
@melvin-bot melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Mar 19, 2024
@thienlnam thienlnam added the External Added to denote the issue can be worked on by a contributor label Mar 19, 2024
@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Mar 19, 2024
Copy link

melvin-bot bot commented Mar 19, 2024

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

@quinthar quinthar changed the title [$1000] CRITICAL: [Track Expense] Actionable Whispers CRITICAL: [$1000] [Track Expense] Actionable Whispers Mar 19, 2024
@brandonhenry
Copy link
Contributor

brandonhenry commented Mar 19, 2024

Proposal

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

The problem we are trying to solve is to implement "actionable whispers" for the Track Expense flow in the Expensify chat interface. After a user tracks an expense to their selfDM chat, we want to show a whisper message with actions the user can take on that expense, such as requesting someone else to pay it, categorizing it, or sharing it with their accountant.

What is the root cause of that problem?

Feature request
After expenses are tracked, users need an easy way to take common next steps and actions on those expenses directly from the chat interface. Without this, users have to navigate to other parts of the app to complete actions like assigning the expense to someone else or categorizing it.

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

To solve this, we should branch off #37282 and make the following changes:

  1. After a user completes the Track Expense flow and the expense shows up in their selfDM chat, display an "actionable whisper" message below the expense with buttons for common actions. The actions and API commands are:

    • Request someone to pay it: Opens participant selector to assign expense. Uses 'ConvertTrackedExpenseToRequest' API command.
    • Categorize it: Creates workspace if needed, moves expense to open report, opens category editor. Uses 'CategorizeTrackedExpense' API command.
    • Share it with my accountant: Creates workspace if needed, moves expense to report, opens invite flow. Uses 'ShareTrackedExpense' API command.
    • Dismiss whisper: Hides the actionable whisper. Uses 'DismissActionableWhisper' API command.
  2. Ensure the new actionable whisper component integrates with the existing Track Expense components and data flow. The tracked expense metadata needs to be passed through to populate the whisper actions.

  3. Add new API commands and parameters for the whisper actions to convert, categorize and share tracked expenses. Backend changes may be needed to fully support the new whisper actions.

  4. Update language translations for the new whisper action text.

  5. Thoroughly test the integration of the whisper with the various Track Expense scenarios - manual entry, distance/mileage, receipt scanning, etc. Ensure the correct tracked expense data displays in the whisper.

@thienlnam thienlnam removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Mar 19, 2024
@melvin-bot melvin-bot bot added the Overdue label Mar 30, 2024
@quinthar quinthar changed the title CRITICAL: [$1000] [Actionable whisper] Launch basic actionable whisper foundation CRITICAL: [Actionable whisper] [$1000] Launch basic actionable whisper foundation Mar 30, 2024
@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 Overdue labels Mar 30, 2024
@quinthar quinthar changed the title CRITICAL: [Actionable whisper] [$1000] Launch basic actionable whisper foundation CRITICAL: [Actionable Whispers] [$1000] Launch basic actionable whisper foundation Apr 18, 2024
@quinthar quinthar added the Awaiting Payment Auto-added when associated PR is deployed to production label Apr 18, 2024
@melvin-bot melvin-bot bot added Monthly KSv2 and removed Weekly KSv2 labels Apr 23, 2024
Copy link

melvin-bot bot commented Apr 23, 2024

This issue has not been updated in over 15 days. @JmillsExpensify, @thienlnam, @shubham1206agra, @ishpaul777 eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

@melvin-bot melvin-bot bot added Daily KSv2 and removed Monthly KSv2 labels Apr 25, 2024
@ishpaul777
Copy link
Contributor

Hello @thienlnam, could we please adjust bounty here, it took a bit longer than expected and required more effort than initially expected : )

Copy link

melvin-bot bot commented May 3, 2024

@JmillsExpensify, @thienlnam, @shubham1206agra, @ishpaul777 Whoops! This issue is 2 days overdue. Let's get this updated quick!

@thienlnam
Copy link
Contributor Author

Could you please add what you think is a fair amount and reasoning for it?

@ishpaul777
Copy link
Contributor

i think $1250 should be fair becuase the track distance expense feature was introduced while the PR was almost ready and it took some more refactoring to have that flow covered

@thienlnam
Copy link
Contributor Author

That seems fair to me 👍

@thienlnam thienlnam changed the title CRITICAL: [Actionable Whispers] [$1000] Launch basic actionable whisper foundation CRITICAL: [Actionable Whispers] [$1250] Launch basic actionable whisper foundation May 7, 2024
Copy link

melvin-bot bot commented May 7, 2024

Upwork job price has been updated to $1250

@ishpaul777
Copy link
Contributor

Thank you! @thienlnam : )

@ishpaul777
Copy link
Contributor

@JmillsExpensify gentle bump for payment : )

@JmillsExpensify
Copy link

Payment summary:

@JmillsExpensify
Copy link

Offers sent out via Upwork. @shubham1206agra given that this is a new feature, please suggest a set of regression tests to ensure we keep quality high and are testing this for every QA run.

@shubham1206agra
Copy link
Contributor

Offers sent out via Upwork. @shubham1206agra given that this is a new feature, please suggest a set of regression tests to ensure we keep quality high and are testing this for every QA run.

@JmillsExpensify The steps are already provided in the Track Expense doc, so no need to write it here too.

@JmillsExpensify
Copy link

@thienlnam Have all the regression tests in the Track Expense doc been added to TestRail yet?

@JmillsExpensify
Copy link

All Contributors paid out, just wanted to confirm on regression tests for Track Expense before closing this out.

Copy link

melvin-bot bot commented May 28, 2024

@JmillsExpensify, @thienlnam, @shubham1206agra, @ishpaul777 Whoops! This issue is 2 days overdue. Let's get this updated quick!

@thienlnam
Copy link
Contributor Author

@thienlnam Have all the regression tests in the Track Expense doc been added to TestRail yet?

Yeah, they're being added https://github.com/Expensify/Expensify/issues/399663

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. Reviewing Has a PR in review
Projects
No open projects
Status: CRITICAL
Development

No branches or pull requests

7 participants