We were handling pending requests but when an app is terminated and launched again from a push notification open it triggers the open event and this open event is added to the pending requests since the SDK is not yet initialized (when the app is relaunched after terminating it's initialized again). However, between the SDK going from initializing to initialized the requests that were added to pending requests were ignored which is what was causing the opened push events from not getting enqueued and eventually sent out.
The fix was to just use the pending requests from state and enqueue each of those instead of using the state that was taken from the disk.
Check List
[ ] Are you changing anything with the public API?
[x] Have you tested this change on real device?
[x] Are your changes backwards compatible with previous SDK Versions?
[x] Have you added unit test coverage for your changes?
[x] Have you verified that your changes are compatible with all the operating system version this SDK currently supports?
Description
We were handling pending requests but when an app is terminated and launched again from a push notification open it triggers the open event and this open event is added to the pending requests since the SDK is not yet initialized (when the app is relaunched after terminating it's initialized again). However, between the SDK going from initializing to initialized the requests that were added to pending requests were ignored which is what was causing the opened push events from not getting enqueued and eventually sent out.
The fix was to just use the pending requests from state and enqueue each of those instead of using the state that was taken from the disk.
Check List
Manual Test Plan
1.
Supporting Materials