Commit Graph

186 Commits

Author SHA1 Message Date
Andrea Maria Piana 532664ab84
Adds topic negotiation and partitioned topic
All the code has been implemented in statusgo: status-im/status-go#1466

Basically all the whisper filter management is done at that level.

Technical description
On startup we load all chats and send a list of them to status go:
For a public chat: {:chatId "status"}, we create a single filter, based on the name of the chat.

For each contact added by us, each user in a group chat and each one to one chat open, we send:
{:chatId "0x", :oneToOne true}. This will create a chats, to listen to their contact code.

Any previously negotiated topic is also returned.

Once loaded, we create our filters, and upsert the mailserver topics, both of which are solely based on the filters loaded.
In order to remove a chat, we delete/stopwatching first the the filter in status-react and then ask status-go to remove the filter. For a public chat we always remove, for a one-to-one we remove only if the user is not in our contacts, or in a group chat or we have a chat open. Negotiated topics are never removed, as otherwise the other user won't be able to contact us anymore.

On stopping whisper we don't have to ask status-go to remove filters as they are removed automatically.

Some more logic can be pushed in status-go, but that will be in subsequent PRs.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-06-24 13:54:43 +02:00
Andrey Shovkoplyas 26bbac83bc
[#8348] [Multi-Account] Account overview + individual wallet UI
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-06-18 17:44:56 +02:00
Julien Eluard 8aa16520c6
[Fixes #8066] Added native ENS registration
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-06-18 13:25:56 +02:00
Alexandre Magno 287e097471
adding error for a field defined with range that is out of range on extensions
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-06-12 17:02:23 +02:00
Andrey Shovkoplyas 7de2941f26
[#8026] [Wallet] Sign transaction module 2019-06-12 13:20:01 +02:00
Vitaliy Vlasov 04ccd0e7d8
Add TtT chat flow
Signed-off-by: yenda <eric@status.im>
2019-06-03 15:31:30 +02:00
tbenr 090a4e7c76
fixes #6573
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-31 10:25:24 +02:00
Roman Volosovskyi 64afaf5eb3
[#8277] Report a bug template
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-05-24 12:14:11 -04:00
Roman Volosovskyi b0be9ee976
Send logs on shaking device 2019-05-24 13:35:04 +03:00
Andrey Shovkoplyas 7a1cb54b2a
[#8236] [Wallet] Custom token details and remove
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-22 16:50:05 +02:00
bitsikka d640b4c87c
[7947] Feature: Blank out app preview screen when switching apps on mobile
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-22 15:31:50 +02:00
bitsikka 4f8399a8fd
[7715] Feature: Contextual bottom sheet on long press
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-20 17:04:21 +02:00
Andrey Shovkoplyas 23b04288f1
[#7983] Basic user added ERC-20 support
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-20 14:29:38 +02:00
tbenr 50f9354581
remove duplicate entries in en.json
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-20 09:20:29 +02:00
tbenr 1ff0a937ac
fixes #7371
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-14 13:42:28 +02:00
Dmitry Novotochinov 5d6d549511
[#7927] import keycard account to new device
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-05-11 23:10:02 +03:00
Dmitry Novotochinov 5762967a44
[#7887] handle tag lost errors
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-05-11 23:05:33 +03:00
Andrey Shovkoplyas eaf3e8d7bd
[#8082] Some dapps don't work in status when privacy mode is enabled
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-09 10:55:30 +02:00
Dmitry Novotochinov 32620e7f5b
[#7898] remove pin from alert message
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-05-06 11:28:32 +03:00
Vitaliy Vlasov 1ca9294af7
[MVP TTT] Contract support for settings
- settings are stored in a manifest that is pointed at by the contract
- during login the contract is checked to fetch the settings

Signed-off-by: yenda <eric@status.im>
2019-04-30 14:52:33 +02:00
Dmitry Novotochinov ebccb8e020
[#7908] [#7909] handle wrong pairing password
* show 'invalid pairing password' on failed pairing
* wrap view into scroll view

Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-04-26 15:57:06 +03:00
Roman Volosovskyi 9b9eefbf0e
Allow to fetch more history in public chats (up to 30 days) 2019-04-26 15:53:26 +03:00
Andrea Maria Piana 494772a35d
Fix broken contact syncing
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-04-25 12:45:20 +02:00
Dmitry Novotochinov 072ab5c487
ensure card has applet installed before starting setup
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-04-24 16:37:40 +03:00
Andrey Shovkoplyas 159199a1b3
removed dapps list and introduced simple Dapp store dapp
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-04-18 15:49:06 +02:00
Roman Volosovskyi a4d8f57b09
Fetch missed range of messages 2019-04-12 16:22:44 +03:00
Dmitry Novotochinov 4decedf5f6
Revert "Revert "[#7133] sign tx with keycard""
This reverts commit 4ccb1ea52d.

Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-04-05 15:49:47 +03:00
bitsikka 6aae0b76b9
[#7454] fix add basic copy to public chat empty screen state + related issues/feature regarding chat message-views intro screens for all chats types
[#7454] fix add basic copy to public chat empty screen state + chat messages-views intro screens for all chats

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-04-04 12:34:37 +02:00
tbenr 38fc712f07
fixes #7667
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-04-03 11:50:56 +02:00
Dmitry Novotochinov 4ccb1ea52d
Revert "[#7133] sign tx with keycard"
This reverts commit feffcaf33d.

Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-04-02 20:12:40 +03:00
Dmitry Novotochinov feffcaf33d
[#7133] sign tx with keycard
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-04-02 18:07:41 +03:00
Roman Volosovskyi d4d6757c69
[#4935] Prevent connecting to the network with wrong id 2019-03-25 09:45:52 +02:00
Roman Volosovskyi 65e7e06b27
[#7681] Show confirmation dialog on switching to network with upstream RPC 2019-03-22 13:23:10 +02:00
Roman Volosovskyi 8f40f796f5
Add validation tooltip to mailserver/bootnode address input 2019-03-21 16:41:18 +02:00
Roman Volosovskyi 6a3468c800
Request if chaos mode was enabled 2019-03-21 13:22:21 +02:00
Roman Volosovskyi 298f000fcb
Disable Etherscan and Cryptocompare requests in chaos mode 2019-03-19 19:35:24 +02:00
Andrey Shovkoplyas ad4c6ce94f
[#7684] Relocate and change menu for "+" icon on home/chat screen 2019-03-19 13:11:20 +01:00
decanus 8d9664581f
changed translations
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-03-19 12:57:42 +01:00
Andrey Shovkoplyas 30ab6c159a
[#7534] Separate DApp & chat tabs in mobile navigation 2019-03-14 09:45:53 +01:00
Andrey Shovkoplyas 38aca129cd
[#7527] Extension is not shown in chat if Development mode is switched off
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-03-07 20:33:19 +01:00
Andrea Maria Piana 422ed6a227
Update translations
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-04 17:29:06 +01:00
Andrea Maria Piana b26b6ee5e0
Add unpinning of mailservers
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-03-04 14:06:09 +01:00
lokalise-bot 6fe3f0500a
Lokalise: update of translations/en.json
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-03-04 11:22:38 +01:00
Dmitry Novotochinov 908e80eb0b
[#7216] import account to keycard
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-03-01 14:38:00 +03:00
Vitaliy Vlasov c23d26e273
TtT Profile screen
Edit screen

Edit screen updates

Learn more screen

Add SNT asset value

Formatting

Add TtT note to QR code viewer

Fixes

UI fixes

Intro screen

Fix learn more

Add learn more subtext

Remove unneeded logs

Screen fixes 2

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2019-02-27 20:08:39 +02:00
Igor Mandrigin b6a326ffc2
settings: fix a typo in dapp permissions label
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-27 16:33:35 +01:00
Zed Tan fa78c5f8bb
[#7400] implement updated copy for beta alert and disclaimer
Signed-off-by: Zed Tan <zed@shootbird.work>
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-27 13:36:10 +01:00
yenda 6b6847a1ba
[feature] search chats
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-26 18:01:25 +01:00
Andrea Maria Piana 4f89073ae8
Add network info in about, with copy to clipboard
In network we show peer infos about you and the connect peers.
Any entry is about is clickable and will copy the value to the
clipboard. Copy info will copy all the info in a JSON string.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-26 17:31:55 +01:00
Dmitry Novotochinov bae935d3e4
[#7217] check card state before installation
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-02-25 22:57:56 +03:00
Roman Volosovskyi 60fd80f353
fix mobile-network-stop-syncing-details label 2019-02-14 22:33:37 +02:00
Roman Volosovskyi 48291247b2
Loading history on mobile network 2019-02-13 18:59:21 +02:00
Pedro Pombeiro 7366f8973b
Add sender name in PNs (if db is unlocked)
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-02-12 17:47:22 +01:00
mestorlx 0471d5fd72
Added utility function to test addresses according to EIP55.
Added pop-up message when addres checksum fails in wallet/send/enter recipient address.

Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-02-11 11:06:24 +01:00
tbenr 51f6a173df
fixes #6596
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-02-11 11:05:23 +01:00
Roman Volosovskyi 7b0f68fcdb
[ui only] Mobile network bottom sheet 2019-02-07 12:21:03 +02:00
Andrey Shovkoplyas 4c4fb6bbe9
[#5584] Implement Manage permissions screen and option for web3 provider Opt-in access
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-02-06 10:38:20 +01:00
Dmitry Novotochinov 1b836bf7ec
[#7006] login with keycard
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-02-06 00:20:07 +03:00
Roman Volosovskyi b96063ce56
[#7422] Show feedback on mailserver error 2019-02-05 20:51:09 +02:00
yenda b80e02d8cf
[feature] add block user feature in user profile
- add block/unblock action to user profile
- blocking deletes all messages from user and ignores future messages
- unblocking stops ignoring new messages from user but doesn't recover past ones

[feature] add contact list

[tests] added scroll to BackupRecoveryPhraseButton

[tests] added scroll to public key

Signed-off-by: yenda <eric@status.im>
2019-02-05 16:29:56 +01:00
Andrea Maria Piana 89725d693a
Add pairing docs link, disable pfs toggle in release
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-01-31 07:49:37 +01:00
Andrea Maria Piana 13b04f17eb
Enable pairing & contact recovery
This PR enables pairing outside of dev-mode and contact-recovery, which
is useful in the case a new device is added or re-installed.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-01-29 18:25:25 +01:00
Andrea Maria Piana 52ae2c2bfe
Style header group-chats
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-01-29 10:31:59 +01:00
Andrey Shovkoplyas 2430992fb4
Implement stickers market
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-01-28 17:18:44 +01:00
yenda 8ef905edfb
[fix 5371] status bar covers touchable UI
- fix #5371
- fix #4345
- introduce "Connected..." status bar
- introduce fetching animation
- removes overlap of status bar with views
- add animations for status bar

Signed-off-by: yenda <eric@status.im>
2019-01-25 15:01:37 +01:00
Andrea Maria Piana 2b2c44c9a5
Add device name to pairing
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-01-24 11:29:24 +01:00
Dmitry Novotochinov cee18d23b8
[#7132] add keycard settings
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-01-23 20:11:23 +03:00
Julien Eluard a4efc661e1
Use better label for system browser
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-01-11 09:01:15 +01:00
Andrea Maria Piana b56fd2e29f
Show popup when device is not targeted.
When someone is sending a pfs message to us but did not include our own
device, a pop up is shown propmting the user to connect with the user.

The reason for receiving messages that are not targeting our devices are
various:

1) The account was just recovered (which means it is a new installation
id)
2) More than 3 devices are in use (we only keep max 3 devices in sync)
3) The sender has used an old bundle which does not include the current
device

Eventually we will reduce the likelihood of this scenario happening, but
we can't dismiss it completely.

It's only enabled when PFS is enabled.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-01-09 09:36:36 +01:00
Andrea Maria Piana ad99ed2a28
Allow toggling pfs in dev-mode
This commits allow users to toggle pfs in dev-mode (it is already used
for pairing and group chats).

Once enabled direct and public messages sent will only be received by
users running >= 0.9.32.

Also this does not guarantee PFS (both devices need to have it enabled
it), and there still some UX work to do to ensure that, but it is useful
for testing.

A warning is displayed explaining the limitations when enabling.
2019-01-09 09:34:51 +01:00
Roman Volosovskyi 2777809db9
enable saving password on android
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-08 17:40:00 +01:00
Andrea Maria Piana 881691fbc3
Add joining of group chats
Members will now have to explicitly join a group chat to start receiving
messages from it.

Messages are still sent to users who have not joined for backward
compatibility.
Group updates are unaffected.
2019-01-08 13:58:40 +01:00
Andrea Maria Piana a52f3d4d08
Limit number of participants in group chat to 10 2019-01-08 13:58:38 +01:00
Pedro Pombeiro 9d21cf143e
Add Send Logs command. Closes #6710
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-08 09:48:56 +01:00
Andrea Maria Piana 5f910a0bec
Sync public chats
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-24 14:35:17 +01:00
Andrea Maria Piana 87e6c6cdee
Show popup on new device detected 2018-12-24 14:34:00 +01:00
Volodymyr Kozieiev 112fe367cc
Fixed desktop release warning messagebox
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-20 15:51:54 +02:00
Dmitry Novotochinov 962c49e345
add keycard installation
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2018-12-20 15:43:37 +03:00
Vitaliy Vlasov e40e495e11
Use QSettings in AppConfig
Some more changes

Changes

Fix review items

Rename init-settings to restore-native-settings

Restore application name (thanks @churik !)

Remove org name/domain setting for desktop

Change organization name to include domain

Re-use default values in :desktop/desktop

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-19 19:53:54 +02:00
Vitaliy Vlasov 9bc98405a0
Add react-native-desktop-config
Add section separator for logging-display

Refactor user-login-callback

Add comment to AppConfig class definition

Fix mobile compilation error

Use reference in AppConfig singleton; remove obsolete CMake directives

Styling changes

Disable status-go logs by default on desktop

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-18 14:31:40 +02:00
Andrea Maria Piana 6e5d54b5aa
Fetch history action 2018-12-14 13:10:37 +01:00
Andrea Maria Piana 090b4a1282
Add re-send popup to desktop 2018-12-12 19:56:50 +01:00
Andrea Maria Piana 82f9b58b97
Use not confirmed 2018-12-12 19:56:49 +01:00
Andrea Maria Piana d760f1696c
Add mailservers confirmations & use peer count for online status
We now check that we are only connected to some `peers` instead of using `NetInfo` from `react-native`.

This is because it has been reported to be quite flaky at times, not reporting online status after sleeping, and for privacy concerns (on ios it pings `apple.com`, on desktop `google.com`).

Adds a new banner `Wallet Offline` and change `Connecting to peers` to  `Chat offline`.

A message will be marked as `Sent` only if it made it to the mailserver you are connected to, which will increase the guarantees that we can make about a message (if you see it as sent, it has reached at least a mailserver), this has the consequence that:

- If you are not connected to any mailserver or the mailserver is non responsive/down, and you send a message, it will be marked as `Not sent`, although it might have been actually made it in the network.

Probably this is something that we would like to communicate to the user through UX (i.e. tick if made it to at least a peer, double tick if it made to a mailserver )

Currently I have only enabled this feature in nightlies & devs, I would give it a run and see how we feel about it.
2018-12-12 19:53:01 +01:00
yenda 9110a64dcc
[fix] handle errorMessage in mailserver.request.completed signal
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-12-12 18:24:55 +01:00
Roman Volosovskyi 4aa562f6a8
[slow sign in] Unlock account's DB before starting node
There is no need to wait for `Statusgo.Login` callback in order to start
unlocking realm db: currently it is encrypted via a key which is derived
from user’s password, so we can try to unlock that DB before starting
node. That’s how password will be checked. Right after that `:home`
screen is shown, the node is started, then `Statusgo.Login` executed.

The difference in sign in duration is more noticeable on Android
devices, where `Statusgo.Login` is much slower because of PFS database
encryption.
2018-12-12 17:46:52 +02:00
Roman Volosovskyi 83a8d9db27
Show schema version details on migrations failure
Simplifies debugging of migration failures, specifically in cases when
more than one migration is applied.
2018-12-10 10:12:27 +02:00
Andrea Maria Piana dfbc27c5d7
Allow admin to leave chat
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-04 10:17:50 +01:00
Andrey Shovkoplyas 22167db7a2
desktop popup
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-03 14:54:42 +01:00
Andrey Shovkoplyas 582c2960ec
[#6644] Chat command recipients should be able to install an extension
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-29 16:43:15 +01:00
Roman Volosovskyi c506521778
[slow sign in] Better handling of migration failures and db encryption problems.
Migration failures are handled separately from other errors which might appear
during opening account's realm DB. In case if user chooses to erase
the account's database, only this database will be removed and other accounts
will not be touched.
2018-11-28 14:13:30 +02:00
Bruce Hauman 880d1da3d1
[#6815] restyle sent-transaction screen
Signed-off-by: Goran Jovic <goranjovic@gmail.com>
2018-11-23 08:33:54 +01:00
Bruce Hauman f7c9f8631d
[#6786] restyle main wallet screen
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-22 18:26:46 +01:00
Bruce Hauman d5dde69af9
[#6718] restyle wallet onboarding flow
Signed-off-by: Goran Jovic <goranjovic@gmail.com>
2018-11-20 17:21:26 +01:00
Goran Jovic 72e7ae2fff
feature #6509 - validating token config against their contracts; moved token info from compile time list to app-db; fixed any discrepancies in existing info
Signed-off-by: Goran Jovic <goranjovic@gmail.com>
2018-11-20 17:18:08 +01:00
Andrea Maria Piana 1104becfba
Enable syncing of contacts & style pairing section
Everytime a contact request is sent/confirmed a sync message is also
sent to other devices so the contact is kept in sync.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-14 13:21:14 +01:00
Aleksandr Pantiukhov 17f74ff2f6
[#6455]: Updated extension management
Signed-off-by: Aleksandr Pantiukhov <alwxndr@gmail.com>
2018-11-12 10:28:48 +01:00
Andrey Shovkoplyas 88b43e7dc2
introduced browser privacy mode
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-11-09 13:22:42 +01:00
Dmitry Novotochinov ae3029c2d9
[#6294] add desktop alpha release warning
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2018-11-07 22:10:39 +03:00
yenda a3b2bc1b87
[fix #3913] do not logout when changing mailserver
- do not logout and remove previous mailserver
from peers when changing mailserver
- rename wnode mailserver
- move transport.inbox to mailserver.core
- fix all subs and db keys

Signed-off-by: yenda <eric@status.im>
2018-11-07 17:10:18 +01:00