-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Closed
Labels
Awaiting PaymentAuto-added when associated PR is deployed to productionAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.Something is broken. Auto assigns a BugZero manager.DailyKSv2KSv2EngineeringInternalRequires API changes or must be handled by Expensify staffRequires API changes or must be handled by Expensify staff
Description
Note: Waiting for #34082 to build the troubleshooting tools
- Coming from this slack convo cc @iwiznia
Problem
When a user receives a report comment, we send them a push notification for it. The notification payload contains Onyx updates for the report and the new report action. We apply those onyx updates here and call ReconnectApp in the background using backgroundRefresh.
There is a chance this update gets applied out of order eg:
- User A sends a message and edits it quickly
- User B applies updates for the new message and edit from Pusher
- User B receives a delayed push notification for the message and applies the update for the original un-edited message
Why is this important?
If this happens, the report and report action data will stay out of date until the next updates are received
Solution
Start including lastUpdateID and previousUpdateID in the notification payload and use those to apply the update like we do for reliable updates here so those updates always get applied in order.
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~018a77e81664929acf
- Upwork Job ID: 1735753015692898304
- Last Price Increase: 2023-12-15
Issue Owner
Current Issue Owner: @JmillsExpensifyReactions are currently unavailable
Metadata
Metadata
Labels
Awaiting PaymentAuto-added when associated PR is deployed to productionAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.Something is broken. Auto assigns a BugZero manager.DailyKSv2KSv2EngineeringInternalRequires API changes or must be handled by Expensify staffRequires API changes or must be handled by Expensify staff