Closed echo-branch closed 8 months ago
Attention: 36 lines
in your changes are missing coverage. Please review.
Comparison is base (
c7f50be
) 51.02% compared to head (e561653
) 51.27%. Report is 1 commits behind head on master.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Reference
INTENG-19264 and INTENG-19577 Although the two issues are not the same, they are in related area of code and therefore handled in a single fix PR.
Summary
Motivation
INTENG-19264 On cold link open, there are two iOS lifecycle events in a very small window of time. Our existing code improperly attempts to reconcile the two events, with a potential loss of link data. The frequency of failure depends on how much time is elapsed between the first and second lifecycle calls, a ~0.15s delay repros about 1/10 on our test app. Shorter and longer delays did not repro the issue.
Initial fix is to no longer attempt to reconcile the two close lifecycle events. This means all clients will see two callbacks on cold link open. The first is for the app initialization which will contain no link data, the second is for link data arrival.
INTENG-19577 Disable tracking resets SDK state and erases data. Our existing code did not queue the reset requests, so repeated rapid calls to this API could cause a hang. SDK reset and erase data requests are now queued.
Type Of Change
Testing Instructions
Scheduled testing session
cc @BranchMetrics/saas-sdk-devs for visibility.