Commit graph

10 commits

Author SHA1 Message Date
Miguel Alatzar
4dff2cc80c
[MM-25781] Don't retry nor use response message on 401 (#4433)
* 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>
2020-06-25 12:04:10 -07:00
Amit Uttam
e59a53dde0
MM-25849 Apply backoff & retry logic only for ID-loaded push notifications (#4391)
Changes in #4302 piggy-backed on the existing [exception catching logic](https://github.com/mattermost/mattermost-mobile/pull/4302/files#diff-266cddcf80a6bc300b40cc922e7a659bL101-L102) to retry failed request (status != 200). However, the change applied retries for any type of push notification.
2020-06-08 12:47:09 -03:00
Amit Uttam
ea0f8ab5f0
MM-22181 Backoff retries for ID-loaded push notification messages (#4302)
* 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>
2020-05-19 10:48:55 -07:00
Elias Nahum
a0a0ed7334 MM-20806 Remove extra info from logs (#3644)
* MM-20779 Handle Android notification reply with special characters

* Remove extra info from logs

* Review feedback
2019-12-02 09:27:43 -07:00
Elias Nahum
3ac0db6f61
MM-20347 Handle Flag for ID Loaded Push Notifications (#3586)
* Fix id-loaded on Android

* Fix id-loaded on iOS

* Remove constant for PUSH_TYPE_ID_LOADED
2019-11-21 19:34:10 -03:00
Miguel Alatzar
ba76e5eac7 [MM-16232] ID loaded push notifications (#3562)
* [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
2019-11-18 19:29:49 -03:00
Miguel Alatzar
1efb01deda
[MM-16593] Upgrade to RN 0.61.2 (#3455)
* [MM-16593] [MM-17175] [MM-17164] [MM-17189] [MM-17181] Android - Upgrade to RN 0.60 (#3145)

* Upgrade to react-native 0.60

* Use @sentry/react-native

* Manually link @sentry/react-native

* Address review comments

* Jetify after install

* Call jetify from node_modules

* [MM-17785] iOS - Upgrade to RN 0.60 (#3153)

* Upgrade to react-native 0.60

* Use @sentry/react-native

* Manually link @sentry/react-native

* Address review comments

* Jetify after install

* Call jetify from node_modules

* Get app building for iOS

* Revert react-native-image-picker upgrade

* Minor version upgrade of react-native-image-picker

* [MM-17142] Convert all string refs to callbacks (#3217)

* Replace string refs

* Fix tests

* Don't use inline functions

* Fix mattermost-redux reversion from master merge

* [MM-18336] Upload Sentry debug symbols only when SENTRY_ENABLED is true (#3227)

* Upgrade @sentry/react-native

* Run Sentry gradle tasks only when enabled

* Upgrade @sentry/react-native and remove extra Sentry build phase

* [MM-17144] Use Hermes (#3226)

* Replace string refs

* Fix tests

* Don't use inline functions

* Fix mattermost-redux reversion from master merge

* Use Hermes

* bundleCommand ram-bundle no longer needed

* Require harmony-reflect only for Android

* Fix failing test

* Path react-native's splitLayoutProps (#3337)

* [MM-18867] [MM-17186] [MM-18866] [MM-19447] [MM-18967] Upgrade to RN 0.61.2 (#3423)

* Upgrade to RN 0.61.2

* Update rn-fetch-blob commit hash

* Update react-native-keyboard-tracking-view commit hash

* Use react-native-youtube with AVPlayer fix

* Fix jest mocks

* Use updated document picker API

* Remove unnecessary linking

* Revert "MM-17759 Add code highlighting (#3072)"

This reverts commit 26b999e885.

* Fix share extension

* Revert "Revert "MM-17759 Add code highlighting (#3072)""

This reverts commit 52aca776b12dee3abe8646d0c90480f8528e86c1.

* Address PR reviews

* Rename patch to match version

* Update react-native-youtube patch

* Update dependencies

* Fix RNDocViewer reference

* Update tests and revert to redux-persist 4.10.2

* Revert "Revert "Revert "MM-17759 Add code highlighting (#3072)"""

This reverts commit 5ef383be2619b1be6167c23f128ecb4b4ad25df9.

* Android fixes after dep upgrades

* Use fresco 2.0.0

* Use mattermost forks

* Use React-Core in Mattermost.scheme instead of react

* Remove packager (#3452)

* Remove Pods from source control

* Fix unit tests

* Add new line before entering the keystore in gradle.properties

* set ios as working directory for cocoapods

* Cache cocoapods on circleCI builds

* set ios as working dir

* fix cocoapods cache key

* Unify fastlane and npm dependencies command

* Use package-lock.json checksum for npm cache

* Fix package.json and use the checksum as the cache key

* Fix package.json and use the checksum as the cache key

* changes to circleci.yaml fastlane and removing pods from git

* Fix Mattermost.xcodeproj

* Update coocoapods to 1.7.5 and fix xcode header search paths

* Update package-lock.json

* Remove unused tooltip component

* Fix incorrect ref

* Disable Hermes (#3460)

* Revert "Remove packager (#3452)"

This reverts commit b2a79e184b3242124dfdb91ae095f6ce3f4eb986.

* Disable Hermes :'(

* Update preloaded modules

* Fix packages moduleNames and modulePaths, update snapshots and update mm-redux (ts version)

* remove document picker from modulePaths

* Fix package-lock.json

* Add eslint disable rules
2019-10-28 15:04:24 -07:00
Miguel Alatzar
3eda53d49a [MM-17970] Check for valid server URL (#3152)
* Check for valid server URL

* Fallback to parsing token
2019-08-21 19:02:58 -04:00
Elias Nahum
89b96d51db MM-16430 refactor app entry point (#2924)
* MM-16430 refactor app entry point

* iOS Extensions to use session token from KeyChain

* Remove token from general credentials entity

* Fix mattermost-managed.ios to return the cachedConfig

* Migrate server based keychain for android push notifications

* remove unneeded async

* Remove unneeded android InitializationModule
2019-06-26 15:21:20 -04:00
Elias Nahum
5bf96272ae
Notification receipt delivery for Android and iOS (#2755)
* Notification receipt delivery for Android and iOS

* Update Fastlane with iOS notification service extension

* User JSONObject to build response
2019-05-15 12:45:26 -04:00