status-mobile/modules/react-native-status
Andrea Maria Piana 116b4d8812
Add community notifications on android & IOS
[Fixes: #11806]
[Fixes: #11877]

Features added

An admin should receive a notification on android if a community request is made
Clicking on the push notification will take you to the list of requests
Changes to push notifications
Push notification for messages are grouped by chat, similarly to discord. Only the first notification in a chat will alert, the next will be "silent" notification. Meaning you will see the message but it will not alert. This is consistent with discord/whatsapp.
Clicking on a transaction notification will take you to wallet (not sure it was doing that before, but it might have)
Changed the behavior of the notification toggle, before Notifications and wallet transactions were separate, meaning you could have wallet transaction and Notifications disabled and you'd still receive transactions notifications. Now you need to have Notifications enabled to receive wallet transactions. Eventually we will have an option to toggle message notifications.

Technical details

Removes headless tasks, they were not used
Message notifications are passed unchanged to java, we still check if the chat is in the foreground, but no modifications are made to the notification object. This should get us closer to avoid clojure completely.
Merged the two notifications implementation (NewMessageSignalHandler and PushNotificationHelper). We should split maybe off in more meaningful classes, but there's less code duplication now, and it can be re-used for non-chat (communities) notifications.
Parsing of text for message notifications is done in status-go
Signal is not passed to status-react if notifications are not enabled

Next step

To completely remove notification code from status-react the following are required:

Java needs to be alerted of which chat is in the foreground and whether the app is in the foreground
Transaction notification body message need to be created in status-go
Notification signal needs to be stopped in Java

Limitations

If the name of a contact changes, the notification will not change, once is displayed, it won't be modified
2021-03-31 21:45:08 +02:00
..
android Add community notifications on android & IOS 2021-03-31 21:45:08 +02:00
ios/RCTStatus Move react-native-status to a pod dependency 2021-03-30 10:54:00 +02:00
index.js update react-native and project dependencies 2017-12-15 16:06:13 +01:00
package.json merged and refactored react-native-status 2016-09-07 20:35:04 +03:00
react-native-status.podspec Move react-native-status to a pod dependency 2021-03-30 10:54:00 +02:00