App: [HOLD for payment 2024-05-08] CRITICAL: [Track expense] [$250] Make SmartScanning expense-level thread less confusing

Problem:

When you scan a receipt, it shows this in the selfDM:

image

When you click into it (sorry, different receipt) it looks like:

image

This is pretty confusing as:

  • The title is Tracking $0.00
  • It shows Amount * Cash and Merchant fields, even though they are blank

Solution:

Please:

  1. Make the header show Scan in progress... as the title while scanning, to match the scan preview in the parent chat
  2. Show Scanning... inside Amount * Cash and Merchant fields while scanning
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~0145ed848b68697b8d
  • Upwork Job ID: 1782614171256602624
  • Last Price Increase: 2024-04-23
  • Automatic offers:
    • fedirjh | Reviewer | 0
    • Nodebrute | Contributor | 0

About this issue

  • Original URL
  • State: open
  • Created 2 months ago
  • Comments: 18 (9 by maintainers)

Most upvoted comments

@Nodebrute Thanks for the feedback. Yep, I was aware of that and planned to request the change in the PR review. We probably still need isTrackExpenseAction in this line :

return Localize.translateLocal(
    ReportActionsUtils.isSentMoneyReportAction(reportAction) && !isTrackExpenseAction ? 
        'iou.threadPaySomeoneReportName' : 'iou.threadExpenseReportName', {

Thanks for the review @fedirjh, assigning @Nodebrute ๐Ÿš€

Hey, @fedirjh thank you. Just a suggestion, If weโ€™re moving the hasMissingSmartscanFields and hasReceipts checks above, then weโ€™ll need to move this isEmptyObject check as well. This will make the isEmptyObject check within the isTrackExpenseAction code redundant. To address this, letโ€™s make the following changes: update the isEmptyObject check, and remove the one from isTrackExpenseAction

  if (isEmptyObject(transaction)) {
        // Transaction data might be empty on app's first load, if so we fallback to Expense
        return ReportActionsUtils.isTrackExpenseAction(reportAction) ? Localize.translateLocal('iou.trackExpense') : Localize.translateLocal('iou.expense');
    }

@Nodebrute Proposal main solution looks good to me. @abzokhattab Your proposal is just a dupe.

๐ŸŽ€ ๐Ÿ‘€ ๐ŸŽ€ C+ reviewed