* Don't retry nor use response message on 401
* Explicitly call contentHandler on retry exhaustion
* Handle all non 200 responses for id_loaded notifications
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Bug found in #4302 that delayed delivery/receipt of normal (non id-loaded) iOS push notifications. Response handling was happening within the guard block for id-loaded messages.
* MM-22181 Backoff retries for ID-loaded push notification messages
Fibonacci backoffs. 6 attempts in ~20 seconds, not including response latency for each failure.
0 seconds to attempt 1 (original try)
1 seconds to attempt 2
2 seconds to attempt 3
3 seconds to attempt 4
5 seconds to attempt 5
8 seconds to attempt 6
* PR review: Reset re-request counter when server call succeeds
* PR Review: Localize scope of recursion counter
This handles scenario where multiple notification requests are being made at the same time for multiple messages. Counter will be isolated for each fetch request.
* PR Review: Remove unnecessary class variable
* Trigger Build
Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
* [MM-16232] Android: Fetch notification in notificationReceiptDelivery (#3552)
* Fetch notification in notificationReceiptDelivery
* Fix patch
* Fix patch take 2
* No need to send user_id to ack endpoint
* Just putString in mNotificationProps
* Fix patch take 3
* Revert react-native-notifications patch
* Update patch and fix rejections
* Remove trailing newline in patch
* Move PushNotification changes to end of patch
* npm cache test
* Revert "npm cache test"
This reverts commit d31030aaeeb010c1c3d22a5f6196191eeb849add.
* Created patch after upgrading node
* Created patch after upgrading node take 2
* Remove androidx changes from patch
* Patch packages then jetify
* Cache node_modules without patches
* Remove adding of default message (#3557)
* [MM-16232] iOS: Fetch id-loaded push notification from server (#3556)
* Fetch notification from server
* Parse fetched notification response
* Fix id-loaded notifications for DM/GM's
* audit fix
* Only add keys if they exist
* Throw exception if response code is not 200