Skip to content

Scan - Try again is missing from error row of a failed scan #104239

Open

Description

@applause-bot

If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.


Version Number: v9.5.13-0
Reproducible in staging?: Yes
Reproducible in production?: N/A - new feature, doesn't exist in prod
If this was caught during regression testing, add the test name, ID and link from BrowserStack: #103487
Email or phone of affected tester (no customers): N/A
Issue reported by: Applause Internal Team
Bug source: Pull Request QA execution
Device used: Windows 11/ Chrome
App Component: User Settings

Action Performed:

  1. Sign in to staging.new.expensify.com
  2. Navigate to Settings > Troubleshoot and turn on Simulate failing network requests.
  3. Go to your self-DM, press + > Create expense > Scan, and choose a receipt from the gallery.
  4. Open the expense.

Expected Result:

The receipt error row shows Try again and Save.

Actual Result:

The receipt error row only shows Save

Workaround:

Unknown

Platforms:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome Safari

Screenshots/Videos

To be added by Applause Leads

Bug7288117_1792155160228.bandicam_2026-10-16_15-40-47-711.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Chandana Kiran
Bug ID: 7288117

Issue OwnerCurrent Issue Owner: @rinej

Activity

  1. applause-bot commented on Oct 16, 2026

    @applause-bot
    Author

    While Applause doesn't embed attachments for this bug, here are the links for quick view:
    https://platform.applause.com/services/links/v1/external/43ccc122d47c266675ce95083ceb6c0d05c0d400d99419719eb3eace8e9b2024

  2. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 16, 2026
  3. melvin-bot commented on Oct 16, 2026

    @melvin-bot

    @mountiny recently merged #103487, but they are OOO right now, so I'll auto-assign someone else.

  4. melvin-bot commented on Oct 16, 2026

    @melvin-bot

    Triggered auto assignment to @rlinoz (DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

  5. github-actions commented on Oct 16, 2026

    @github-actions
    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.
  6. melvin-bot commented on Oct 16, 2026

    @melvin-bot

    @mountiny @brunovjk you have been assigned to this deploy blocker because you reviewed the offending PR: #103487

  7. melvin-bot commented on Oct 16, 2026

    @melvin-bot

    @rinej you have been assigned to this deploy blocker because you authored the offending PR: #103487

  8. melvin-bot commented on Oct 16, 2026

    @melvin-bot

    💬 A slack conversation has been started in #expensify-open-source

  9. MelvinBot commented on Oct 16, 2026

    @MelvinBot
    Contributor

    🔍 Deploy Blocker Investigation

    Recommendation: Demote. This is expected behavior, not a regression. No revert is needed.

    "Try again" works only on native iOS and Android, by design. On web it never appears for any receipt-retry flow. This bug was reported on Windows Chrome, where the row correctly shows only "Save."

    Next step: Re-run the #103487 QA steps on iOS or Android native. If "Try again" shows there, close this issue and remove DeployBlockerCash.

    Investigation details

    Why web shows only "Save"

    Native path (code trace only, not run on a device)

    • The track-expense failure data writes the receipt error with TRACK_EXPENSE params (TrackExpense.ts:579-631).
    • The self-DM resolves to one participant, so the retry payload can be built and "Try again" should show.

    Why QA flagged it
    The QA steps in #103487 say "Same as Tests" and don't mention that the feature is native only. Testers ran them on Windows Chrome. Adding "Native (iOS/Android) only" to the QA steps of future retry PRs would prevent this.

    No code defect was found, so no code review rule is suggested.


    view run

  10. brunovjk commented on Oct 16, 2026

    @brunovjk
    Contributor

    Correct me if I’m wrong, but shouldn’t the try again button appear in the web view? Only on native. Thanks.

    cc: @rinej @mountiny

  11. rinej commented on Oct 18, 2026

    @rinej
    Contributor

    Try again is native only by design. On web the receipt only exists as a blob URL, so there's nothing to resend (isRetrySupported is false there). Showing only Save on web is expected and this isn't a bug.

    The confusion came from my PR description, the QA steps didn't say they're for iOS and Android only

  12. grgia commented on Oct 19, 2026

    @grgia
    Contributor

    @rinej @brunovjk @mountiny can this be demoted?

  13. rinej commented on Oct 19, 2026

    @rinej
    Contributor

    On my end we can demote it. @brunovjk, could you please confirm?

  14. added and removed
    DeployBlockerCashThis issue or pull request should block deployment
    on Oct 19, 2026
  15. brunovjk commented on Oct 19, 2026

    @brunovjk
    Contributor

    On my end we can demote it. @brunovjk, could you please confirm?

    Sure. Thanks.

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

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions