Skip to content

[Due for payment 2026-08-20] Ecard transactions showing as duplicates in NewDot (pending + posted both visible) #94877

Description

@melvin-bot

Problem

Ecard transactions are intermittently appearing as duplicates in NewDot — users see both the pending transaction and the posted transaction at the same time, even though the pending one should have been cleared.

This has been observed at least twice in a 2–3 week window with the same user.

Suspected Root Cause

The root cause is likely a race condition / failure in applying a reconnectApp Onyx update:

  • lastOnyxUpdateID may be updated before the corresponding Onyx updates are fully applied.
  • If the apply step fails for any reason, the update is silently lost and the client ends up in a stale state (pending transaction not cleared).
  • The OpenReport flow does not appear to self-recover from this missed update.

Logs confirm that the server is sending the Onyx updates correctly, so the issue is client-side.

Planned Work

  1. Add Sentry logs to surface cases where lastOnyxUpdateID is advanced but the update application fails — so we can confirm the hypothesis before changing behaviour.
  2. Fix the root cause — ensure lastOnyxUpdateID is only advanced after updates are successfully applied (or implement a recovery path).

Step 1 (logging) should land first so we can validate before making the behavioural fix.

Issue OwnerCurrent Issue Owner: @mallenexpensify

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2ECardWave5-free-submittersInternalRequires API changes or must be handled by Expensify staff

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions