App: [HOLD for payment 2024-05-08] HIGH: [API Reliability] [$500] Multiple calls to `GetNewerActions` on report open

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: 1.4.60-7 Reproducible in staging?: y Reproducible in production?: y If this was caught during regression testing, add the test name, ID and link from TestRail: Email or phone of affected tester (no customers): Logs: https://stackoverflow.com/c/expensify/questions/4856 Expensify/Expensify Issue URL: Issue reported by: @quinthar Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1712180926567259

Action Performed:

  1. Sign in to NewDot
  2. Open any report and don’t scroll anywhere

Expected Result:

Shouldn’t call GetNewerActions multiple times

Actual Result:

GetNewerActions called 5times, despite not scrolling anywhere. Also, all 5 calls seem identical

Workaround:

unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

image (10)

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01d7ea3b088204e3df
  • Upwork Job ID: 1778413819479543808
  • Last Price Increase: 2024-04-26
Issue OwnerCurrent Issue Owner: @twisterdotcom

About this issue

  • Original URL
  • State: open
  • Created 3 months ago
  • Comments: 88 (73 by maintainers)

Most upvoted comments

@janicduplessis @janicduplessis Thank you for appreciating my work

@s77rt @janicduplessis - are we getting @shahinyan11 to do anything here? If not, I’m kind of willing to pay out $250 regardless for their help here.

Yes, planning to do that today!

First PR is up, will do the patch one later today or tomorrow!

I think there are a few things we can do to improve this. This issue has 2 main causes:

  1. onStartReached is called more than it should. Ideally this would be fixed in react-native upstream.
  2. We do not have a good way to know if calling GetNewerActions is needed. Ideally this would be returned by the API when opening the report so even if `onStartReached is called we don’t fetch new reports.

For 1. I have a PR ready, need to be reviewed by meta engineers. We could make a patch for it to use it now.

For 2. I discussed this with @roryabraham and he will tackle this task when he can, I created this issue to track this.

In the meantime I suggest merging some of the workarounds proposed here. I think the simplest and safest option would be to just never call GetNewerActions when we are not in a comment linking report as implemented here.