-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
What performance issue do we need to solve?
e.g. memory consumption, storage read/write times, React native bridge concerns, inefficient React component rendering, etc.
@gedu has noticed that app calls ReconnectApp a lot, often redundantly
Here: https://github.com/Expensify/App/blob/main/src/libs/PusherUtils.ts
Thread: https://expensify.slack.com/archives/C05LX9D6E07/p1724159545236079?thread_ts=1721152209.600379&cid=C05LX9D6E07
Here: https://github.com/Expensify/App/blob/main/src/libs/Middleware/RecheckConnection.ts
Thread: https://expensify.slack.com/archives/C05LX9D6E07/p1724076205528369?thread_ts=1721152209.600379&cid=C05LX9D6E07
What is the impact of this on end-users?
List specific user experiences that will be improved by solving this problem e.g. app boot time, time to for some interaction to complete, etc.
If a user's request queue gets stuck (like it does here) then ReconnectApp can cause the request queue to climb with unprocessed requests
It has been suggested as the root cause with issues with partially loaded LHNs, but also broken queues of requests
List any benchmarks that show the severity of the issue
Please also provide exact steps taken to collect metrics above if any so we can independently verify the results.
@danielrvidal's queue of requests climbed to 630 here
Proposed solution (if any)
Please list out the steps you think we should take to solve this issue.
Reduce the number of queued ReconnectApp calls or clean up the logic that queues them so they don't climb so high
List any benchmarks after implementing the changes to show impacts of the proposed solution (if any)
Note: These should be the same as the benchmarks collected before any changes.
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
Version Number:
Reproducible in staging?:
Reproducible in production?:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by: @danielrvidal
Slack conversation: https://expensify.slack.com/archives/C05LX9D6E07/p1723566890894989?thread_ts=1721152209.600379&cid=C05LX9D6E07
Metadata
Metadata
Assignees
Labels
Type
Projects
Status