Commit Graph

273 Commits

Author SHA1 Message Date
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
Brian Sztamfater 0c55f1208b
Move react-native-status to a pod dependency
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-30 10:54:00 +02:00
Andrea Franz 505171cf87
enable Keycard on iOS
Signed-off-by: Andrea Franz <andrea@gravityblast.com>
2021-02-19 10:26:16 +01:00
Roman Volosovskyi 3685f6a500
[#11117] Move PNs to status-go 2021-02-05 17:03:34 +02:00
Andrea Maria Piana eba6b63258
Fix topic issue, remove ttt, add db export/import
There were a few issues with topic management:

- Topics/ranges were saved one-by-one, which cause an out of memory
error on some devices
- Topics that were not listened to were saved, and therefore requested
from the mailserver, which caused long syncing time

It also removes tribute to talk and add export/import methods

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-01-26 12:46:21 +01:00
andrey abac5247bf
RN 63 and xcode12
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-14 09:41:38 +01:00
Roman Volosovskyi 7bfaa9255c
[wallet history] Stop watching each new block 2020-11-25 16:44:16 +02:00
Volodymyr Kozieiev f99b2aa401
Link preview generation
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2020-11-02 15:28:31 +02:00
Gheorghe Pinzaru 050f20cfae
Add local notifications for transactions
Pods

Add headless js service

Handle Local Notifications react

CopyPaste driven implementation of java notification

pn demo

Show iOs push in foreground

Show icon in notification

Enable notifications on login

Get chain from status-go

Add UI for switching notifications

go go!

Fixup

Handle notification onPress

Android UI

Handle press iOs

Handle android press and validate

go update

Fix route params in universal link handler

Set show badge explicitly to false

Fix e2e

bump status go

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-29 15:40:58 +03:00
Gheorghe Pinzaru 0368895edf
Allow to enabled debug
Optimistic update

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-08 13:57:37 +03:00
Roman Volosovskyi 22ca98b0f8
[#11216] Fix moving cursor after pressing mention suggestion on samsung device 2020-09-28 17:59:03 +03:00
Gheorghe Pinzaru b737051e3c
Use the new intent link for private chat
Fixes #11080

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-08-18 16:15:32 +03:00
Roman Volosovskyi c2277cbbe5
[#9986] Allow to disable fetching of tx history on mobile network 2020-08-15 21:34:37 +03:00
tbenr 86700f2b5c
audio messages
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-07-29 10:09:31 +02:00
Roman Volosovskyi 10a814764d
[#10195] Delete multiaccount 2020-07-28 15:42:40 +03:00
Roman Volosovskyi 920bc7d93e
[#10195] Separate keystore dir per multiacc
Having all keys related to specific multiacc in a separate dir will
simplify removing of the multiacc. Also it will allow adding of the same
account to different multiaccs.
2020-07-09 13:14:42 +03:00
Jakub Sokołowski 112132aa94
drop all desktop related files and references
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-07-08 10:26:51 +02:00
yenda ddcb1fa54a
use resources for notification text for localization
Signed-off-by: yenda <eric@status.im>
2020-06-24 17:55:29 +02:00
yenda 9abf9d3891
add number of notifications to badge 2020-06-24 17:55:20 +02:00
yenda 51198f5b69
stop app when pressing stop button on notifications 2020-06-24 17:55:20 +02:00
yenda fd874c14df
open app when tapping sticky notification 2020-06-24 17:55:19 +02:00
yenda 754673faba
change notification icons 2020-06-24 17:55:19 +02:00
Roman Volosovskyi ee5d53eba9
[keycard] Account generation & tx signing on simulated card 2020-05-12 11:59:31 +03:00
Gheorghe Pinzaru 2140a9867b
Upgrade react native to 0.62.2
Xcode updates

Localization

Pods upgrade

Update package.json

Upgrade android

Fix gitignore

Add flipper

Do not enable flipper by default on ios

maven update

Remove outdated hermes

idk what it is, but it's outdated

show warning on build

gradle update

rebase

Update deprecated clipboard

nix

align e2e to rn upgrade

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-05-06 17:35:13 +03:00
Jakub Sokołowski 149b37f75b
upgrade Kotlin: 1.3.11 > 1.3.50
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-03 18:44:15 +02:00
yenda 5608d649b0
notifications: enable local notifications
- only show notifications when app is in background
- open the user chat upon tap on notification
- remove chat from notifications on tap or dismiss notification
- keep the service alive on host destroy
- enable local notifications
2020-04-28 22:25:09 +02:00
Andrey Shovkoplyas a79a72fccb
[#9749] Support importing private key and seed 2020-03-03 12:51:28 +01:00
Roman Volosovskyi 89535ea8fc
Fix geth logs on Android 10
From now on geth logs are stored at
`/storage/emulated/0/Android/data/im.status.ethereum.debug/files/Download/geth.log`
because app cant write to `sdcard/Download/geth.log`
2020-02-27 14:10:05 +02:00
Andrea Maria Piana a2af83f034
Add option to enable waku-mode
This commit adds an option to enable waku mode through ENV settings.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-02-17 18:22:50 +01:00
Roman Volosovskyi ef49699222
[#9942] Upgradable paths in configs
Storing absolute path for different configs breaks compatibility on iOS
as app's dir is changed after upgrade. The solution is to store relative
paths and to concatenate it with `backend.rootDataDir`. The only
exception is `LogFile` as it is stored outside `backend.rootDataDir` on
Android. `LogDir` config was added to allow adding of custom dir for log
file.
Configs concerned:
`DataDir`
`LogDir`
`LogFile`
`KeystoreDir`
`BackupDisabledDataDir`
2020-02-03 20:34:40 +02:00
Pedro Pombeiro e220ecbb0a
Cleanup
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2020-01-10 19:59:54 +01:00
acolytec3 3bcf7ecf29
Add BIP39 validation for seed phrase recovery
Signed-off-by: yenda <eric@status.im>
2020-01-06 16:02:14 +01:00
yenda bf16116acd
move multiaccount settings to a table
integrate status-go changes to move multiaccount settings to a table
that can be migrated

Signed-off-by: yenda <eric@status.im>
2020-01-02 18:07:10 +01:00
yenda a72d4c7d85
integrate status-go fix for keycard accounts
Signed-off-by: yenda <eric@status.im>
2019-12-19 21:32:10 +01:00
Volodymyr Kozieiev 7168eada1c
Calls to gfycat and identicon made async in few places
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2019-12-06 17:42:36 +02:00
Andrea Maria Piana 78d694f52f
Move message processing to status-go and introduce protobuf
This commit moves all the processing of messages to status-go.

Messages are going arrive to status-react already saved an processed.

Receiving/sending/retrieving from db is now using the same identical
structure. The only processing left in status-react is to mark the
messages as seen and update the unviewed count locally (only
status-react knows whether the count should be updated).

Partially remove commands as well as won't be used anymore.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-12-05 17:30:30 +01:00
Jakub Sokołowski b32dd113f6
nix: upgrade nixpkgs
Also:
- upgrade Go: 1.12 > 1.13
- upgrade Android SDK: 28.0.3 > 29.0.2
- nix: stop using system Fastlane for iOS builds
- nix: include CocoaPods in shell for iOS
- nix: concatenate shellHooks correctly
- fix gomobile status-go build by setting GO111MODULE=off
- fix gradle accepting empty STATUS_GO_SRC_OVERRIDE value
- don't use a pure shell for uploadToSauceLabs()

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-26 16:30:41 +01:00
Pedro Pombeiro f7384ae338
Add support for `STATUS_GO_SRC_OVERRIDE` env var
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-11-13 16:41:21 +01:00
Pedro Pombeiro a71500b312
nix: fix passing of env vars to release-android expression 2019-11-13 12:01:48 +01:00
yenda 36ad6fb762
support for local notification service on Android
- add option in profile on Android to enable local notifications
- use foreground service to keep the app alive when running in the background
- implement enable and disbable notification function in status module

When enabling notifications, a foreground service is started that displays
a sticky notification to make the user aware that the app is running in the
background.
Notifications are updated whenever a new.message signal is handled on java side.
Currently only one to one chats are generating notifications but that can be
easily extended to other types of messages, including mentions and keywords.
The ens name of the user as well as keywords to follow should then be passed
to the native side when calling the enable function.

Signed-off-by: yenda <eric@status.im>
2019-11-07 09:59:12 +01:00
yenda 7bb45fdd8f
remove firebase
Signed-off-by: yenda <eric@status.im>
2019-10-29 15:03:58 +01:00
Volodymyr Kozieiev ace4b5a161
Desktop works with react-navigation v3
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2019-10-02 10:19:37 +03:00
Andrey Shovkoplyas 371c66aad1
Remove UUID related code #9048
Signed-off-by: yenda <eric@status.im>
2019-09-30 15:55:55 +02:00
Andrea Maria Piana acd7e56d1d
Add gfycat/identicon from status-go
Signed-off-by: yenda <eric@status.im>
2019-09-26 14:12:43 +02:00
yenda 0796f597f0
add missing loginWithKeycard iOS implementation
Signed-off-by: yenda <eric@status.im>
2019-09-18 14:51:46 +02:00
Dmitry Novotochinov 1df30f7447
handle initialized cards
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-09-16 11:14:35 +03:00
Pedro Pombeiro e4eabd2810
Migrate to use AndroidX 2019-09-12 16:13:43 +02:00
Pedro Pombeiro 9feb31bd3b
Upgrade react-native to 0.60.5
- Use community net-info, react-native-webview instead of deprecated react-native classes
- Remove react-native-tcp
- Upgrade react-native libs (react-native-camera, react-native-firebase, react-native-mail, react-native-udp, react-native-webview-bridge)
- Do not include `:react-native-android` module explicitly
- Take advantage of RN AutoLinking
- nix: Update Gradle dependencies
2019-09-12 16:13:42 +02:00
yenda d312192209
clean up native-module
- remove impl/modules.cljs namespace because it was needlessly redundant
- remove `create-account` unused call
- add documentation for some calls
- only keep `(status)` check for relevant calls that are failing tests
because they are evaluated
2019-09-05 18:09:56 +02:00
Andrea Maria Piana e7fa010088
Move gaps to status-go
This commit moves gaps to status-go.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-09-04 15:53:48 +02:00