You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
HIGH: [API Reliability] Android: GetMissingOnyxMessages is not called in the background #39544
Version Number: N/A Reproducible in staging?: Y Reproducible in production?: Y If this was caught during regression testing, add the test name, ID and link from TestRail: N/A Email or phone of affected tester (no customers): N/A Logs: N/A Expensify/Expensify Issue URL: Issue reported by:@arosiclair Slack conversation: N/A
Action Performed:
Add yourself as a workspace member
Kill the app
Remove yourself from the workspace (this creates some missed onyx updates)
Send yourself a DM
Push notification received
The app wakes up in the background
A gap is detected and ONYX_UPDATES_FROM_SERVER gets set in Onyx to fill the gap
changed the title [-]Android: `GetMissingOnyxMessages` is not called in the background[/-][+]HIGH: [Reliability] Android: `GetMissingOnyxMessages` is not called in the background[/+]on Apr 3, 2024
As mentioned, the root problem is that Onyx.connect callbacks do not seem to run in our background process for Android (via headless js). Instead they run once the app is re-opened. That is blocking these two critical callbacks for filling update gaps in the background:
One workaround is to optionally run the ONYX_UPDATES_FROM_SERVER code synchronously. However, that still leaves ONYX_UPDATES_LAST_UPDATE_ID_APPLIED_TO_CLIENT as an empty value. I'm not sure if there is a way to synchronously retrieve that value from Onyx atm.
changed the title [-]HIGH: [Reliability] Android: `GetMissingOnyxMessages` is not called in the background[/-][+]HIGH: [API Reliability] Android: `GetMissingOnyxMessages` is not called in the background[/+]on Apr 27, 2024
Activity
melvin-bot commentedon Apr 3, 2024
Triggered auto assignment to @laurenreidexpensify (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.melvin-bot commentedon Apr 3, 2024
Job added to Upwork: https://www.upwork.com/jobs/~011415a3700cdef632
melvin-bot commentedon Apr 3, 2024
Triggered auto assignment to Contributor Plus for review of internal employee PR - @getusha (
Internal)[-]Android: `GetMissingOnyxMessages` is not called in the background[/-][+]HIGH: [Reliability] Android: `GetMissingOnyxMessages` is not called in the background[/+]arosiclair commentedon Apr 8, 2024
As mentioned, the root problem is that
Onyx.connectcallbacks do not seem to run in our background process for Android (via headless js). Instead they run once the app is re-opened. That is blocking these two critical callbacks for filling update gaps in the background:I started discussing this here.
One workaround is to optionally run the
ONYX_UPDATES_FROM_SERVERcode synchronously. However, that still leavesONYX_UPDATES_LAST_UPDATE_ID_APPLIED_TO_CLIENTas an empty value. I'm not sure if there is a way to synchronously retrieve that value from Onyx atm.8 remaining items
arosiclair commentedon Apr 15, 2024
Out for review!
quinthar commentedon Apr 16, 2024
Woohoo!
quinthar commentedon Apr 27, 2024
Can we close this?
[-]HIGH: [Reliability] Android: `GetMissingOnyxMessages` is not called in the background[/-][+]HIGH: [API Reliability] Android: `GetMissingOnyxMessages` is not called in the background[/+]quinthar commentedon Apr 27, 2024
Closing, reopen if you disagree.
rushatgabhane commentedon Apr 28, 2024
@laurenreidexpensify could you please attach payment summary for C+ review - #40022 (comment)
rushatgabhane commentedon Apr 28, 2024
created a manual request here - https://staging.new.expensify.com/r/6707043287393435
JmillsExpensify commentedon Apr 30, 2024
Re-opening for payment summary so I can pay this one out.
laurenreidexpensify commentedon May 1, 2024
Payment Summary:
C+ review @rushatgabhane $500 requested in newdot
JmillsExpensify commentedon May 1, 2024
$500 approved for @rushatgabhane