Commit Graph

582 Commits

Author SHA1 Message Date
Andrea Maria Piana edf810444d
Fix concurrent retry-request
Sometimes it happens that the expired signal is received while the
there's a new request in flight.
This happens in cases such as:

1) We send a request (A)
2) We get disconnected from the mailserver
3) We connect to a new mailserver
4) We send a request (B)
5) We receive an expired signal for A

In such cases the request should not be retried or counted as a failure.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-28 15:28:59 +01:00
Serhy 8aaafa3102
Add tests create acc with special chars pass
Signed-off-by: Serhy <sergii@status.im>
2019-02-28 11:07:05 +02: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 6a42580fc2
Remove separate topic from group chats
Currently the separate topic was not used, as it's a bit tricky to
coordinate when multiple devices from different versions are present,
with the partitioned topic, probably this optimisation is not necessary
anymore, so removing this for now.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-26 17:18:26 +01:00
Andrea Maria Piana 71654a6829
Confirm pairing messages
Partially addresses https://github.com/status-im/status-react/issues/7513
This commit adds confirmation to pairing messages, which previously were
not confirmed.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-26 17:12:05 +01:00
Andrea Maria Piana 229f5ae108
Dont change mailserver if no network
When we are offline, we don't try to change mailserver, and we don't
show a pop up to the user, as it is not that the mailserver is not
working, we are just offline.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-26 15:32:54 +01:00
Serhy e55f8c95e2
Not expect messages after join gh
Signed-off-by: Serhy <sergii@status.im>
2019-02-22 12:33:49 +02:00
Andrea Maria Piana c9994b5d0f
Dont override last-clock-value on messages
The denormalized-clock-value was erroneously set to the one of the last
message received. This meant that on chats were the clock-value raced
ahead of the timestamp (#status), a message from the mailserver or a
message from someone with an old clock-value would basically make those
messages be sorted in the past.

The correct behavior is that last-clock-value for a given chat should be
the maximum last clock value ever seen for that chat.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-21 13:41:06 +01:00
Roman Volosovskyi b8d4f2911b
new bottom tab (react-navigation) 2019-02-20 19:14:17 +02:00
Serhy 8def565664
Add tests for send tx in Dapp
Signed-off-by: Serhy <sergii@status.im>
2019-02-18 16:23:42 +02:00
Serhy 9a5707583e
Custom network and seen status autotests fix
Signed-off-by: Serhy <sergii@status.im>
2019-02-18 16:21:53 +02:00
Andrea Maria Piana 9c6cce7d4d
Allow to send transactions to non-contacts
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-18 11:33:39 +01:00
Serhy 8812c0f8bc
Selecting users when creating group chat
Signed-off-by: Serhy <sergii@status.im>
2019-02-15 15:21:12 +02:00
Andrea Maria Piana bddae03ab2
Allow multiple push notifications
We keep tokens synchronized across devices, so that the user can notify
us on any paired device.
Currently we record the installation id associated to the fcm-token even
though is not necessary, but it will be once we send device-to-device
messages, in which case we want to notify only those devices.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-14 16:33:50 +01:00
Anton Danchenko fd46113ab3
run all tests on android 8
Signed-off-by: Anton Danchenko <ant.danchenko@gmail.com>
2019-02-13 23:30:14 +02:00
yenda 1002051074
[fix] ios checkbox
- remove usage of native checkboxes on android and desktop to ensure proper
design
- rename plain-checkbox to radio button and make sure it is only used where
radio button should be used (one possible choice beyond many)
- update autotest

Signed-off-by: yenda <eric@status.im>
2019-02-13 16:31:52 +01:00
yenda 77b792a37a
[#6850] related refactoring
- remove unecessary subscriptions related to add-contact-bar

Signed-off-by: yenda <eric@status.im>
2019-02-13 12:38:31 +01:00
Andrea Maria Piana 7960fdef85
Publish contact updates periodically
Currently it's very easy for contact details to get out of sync, the
simplest example is:
A & B are contacts.
A changes name.
B receives the updated name.
B re-install the app.
Until A changes name again, B will not see their name, picture and won't
be able to send push notifications.

This PR changes the behavior to publish account informations to contacts
every 24 hrs, to add some redundancy in this cases.

It also publishes a contact code every 12hrs.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-12 14:20:45 +01:00
Serhy 48affbc918
Fix autotest
Signed-off-by: Serhy <sergii@status.im>
2019-02-11 19:10:36 +02: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
kn 6988950ea8
[#6973] Replace react-native-i18n with react-native-languages 2019-02-09 23:27:46 -08:00
Andrea Maria Piana 14e887160a
Dont setup topic as it resets the discovery filter
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-08 10:57:21 +01: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
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
yenda 444c6af319
[refactor] contact model: remove unused fields and add `blocked?`
- dapp related fields are removed since it is not used anymore
- blocked? field is added for futur block user feature
2019-02-05 16:28:50 +01:00
Igor Mandrigin e2f53418f3
Revert "don't auto-generate contact address from whisper pub key"
This reverts commit b3416f5ad5.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-04 16:08:49 +01:00
Andrea Franz b3416f5ad5
don't auto-generate contact address from whisper pub key
Signed-off-by: Andrea Franz <andrea@gravityblast.com>
2019-02-04 13:58:21 +01:00
Roman Volosovskyi fe7c7088db
Use partitioned topic for discovery
Currently we use a single topic for discovery.
This provides the best obscurity at the cost of bandwidth, as a message
sent on the discovery topic will be received by any peer.
This PR changes this behavior and start listening on a partitioned
topic.
Each pk will be hashed to a limited number of topics.

Everytime someone is in a conversation with someone from another topic
they will have to listen as well to avoid loosing obscurity, because we
only forward messages that we also advertise in the bloom filter.

The choice for the number of partitions depends on 2 factors:

1) The expected number of users using the network
2) The average number of contacts each user

Any change to the discovery topic will need to be split across 3
releases, to avoid breaking compatibility:

1) Listen to the new and old topic, publish to the old topic
2) Listen to the new and old topic, publish to the new topic
3) Listen to the new topic, publish to the new topic

This is step 1.
2019-02-01 14:40:54 +02:00
Serhy 305bc8e1cf
Add accessibility-id for create group chat button
Signed-off-by: Serhy <sergii@status.im>
2019-01-31 20:38:15 +02: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
Anton Danchenko d093b5f6be
fix for 502 response from sauce
Signed-off-by: Anton Danchenko <ant.danchenko@gmail.com>
2019-01-30 15:27:37 +02: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
Roman Volosovskyi 9daef17f11
Stop sending seen messages
Currently, these messages are not used and should be properly revisited
later. It only generates extra traffic on discovery topic.
2019-01-25 09:23:00 +02:00
Pedro Pombeiro d3f1b37c12
Use new status-go and rename NotifyUsers
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-01-24 15:41:32 +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
Julien Eluard a825175aea
Fixed incorrect parameters provided to Command#yield-control
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-23 19:35:50 +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
Igor Mandrigin 94022523a1
Use new Infura API.
As per announcement, we need to switch our Infura project IDs.

> As previously announced, accessing Infura will begin requiring a Project ID generated from the new Infura Dashboard. If you are using Infura and have not yet migrated your project, please take the time to do so now. The first milestone in this transition will be activated next week on January 23, 2019 at 20:00 UTC.

https://blog.infura.io/infura-dashboard-transition-update-c670945a922a

The new project is created with ID `f315575765b14720b32382a61a89341a`
and the API keys are updated.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-22 12:34:16 +01:00
Anton Danchenko 69209107ca
added upgrade test, changed apk name on sauce
Signed-off-by: Anton Danchenko <ant.danchenko@gmail.com>
2019-01-21 12:52:12 +02:00
Pedro Pombeiro 5a69b4198e
Update PNs to use data-only messaging, and only encode/decode data values. Fixes #6772
Fix navigation to chat when PN is tapped while signed off. Fixes #3488

Anonymize PN pubkeys. Part of #6772
2019-01-17 19:23:55 +02:00
Igor Mandrigin 4af2073388
Revert "Fixed incorrect parameters provided to Command#yield-control"
This reverts commit ac1de8c690.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-17 15:15:43 +01:00
Julien Eluard ac1de8c690
Fixed incorrect parameters provided to Command#yield-control
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-01-17 12:46:27 +01:00
Roman Volosovskyi 664cbf6bbe
Sign-in flow docs and tests 2019-01-15 17:00:58 +02:00
Anton Danchenko 471d26c6d1
fix group chat tests
Signed-off-by: Serhy <sergii@status.im>
2019-01-15 16:01:46 +02:00
Igor Mandrigin e8de37f5ef
Report messages as "processed" to status-go only after they were successfully stored in the DB.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-14 19:12:26 +01:00
Anton Danchenko df7590f48b
fix group and browser tests
Signed-off-by: Anton Danchenko <ant.danchenko@gmail.com>
2019-01-09 17:15:28 +02: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
Igor Mandrigin 744abb3984
Merge pull request #7206 from status-im/pyyaml-vuln-update
upgrade pyyaml to 4.1 for vuln mitigation
2019-01-08 16:38:37 +01:00