Commit Graph

35 Commits

Author SHA1 Message Date
Andrea Maria Piana de0d98da20
Use a signal for messages
This commits changes the behavior to read from a signal instead of
polling each filter.

We receive a signal from status-go every 0.3 seconds, only if new
messages are received. We receive a single signal for all the chats, and
we don't dispatch anymore on every message.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-07-04 15:07:59 +02:00
Andrea Maria Piana 138ade3b8d
Move installations to status-go
This commit moves the management of installations to status-go, and
migrates the data from realm.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-07-03 12:50:23 +02:00
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
yenda f5c18ae7a9
[feature] use subscriptions for tokens
- removes fetching of last 100000 blocks of token transfers from
the wallet pull loop
- fetches the last 100000 blocks of token transfers at startup
- replaces pulling by subscriptions to ethlogs for token transfers
2019-05-23 10:30:32 +02:00
yenda 65f05933bc
[feature] use status-go signal subscriptions for current block
- use signal subscriptions to get latest block signals
- compute confirmations in transaction details from current block
dynamically

Signed-off-by: yenda <eric@status.im>
2019-05-13 15:36:58 +02:00
Dmitry d1325fa4e5
Update status-go to v0.24.0-beta.1
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-05-06 10:42:45 +02:00
Pedro Pombeiro f329ca9bdf
Add comments to STATUS_GO_VERSION to avoid manual editing
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-02 21:44:15 +02:00
Pedro Pombeiro 65e6e80349
Create Nix package for building status-go 2019-04-09 12:44:39 +02:00
Andrea Maria Piana f8674c0ee1
Add reading nodes from contract
This PR is part of network incentivisation. It adds a way for a client
to pull nodes from a contract.

This is done by selecting the `eth.contract` fleet. If that is selected
on login it will fetch nodes from a contract and pass them to status-go.
If these can't be fetched, it will default to `eth.beta`.

Currently contract information are hard-coded, but eventually the user
will be able to add their own (probably).

Toggled off in release.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-04-05 14:32:15 +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
Andrea Maria Piana 29c168dfa1
Upgrade status-go and turn chaos mode on
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-26 10:59:21 +01:00
Andrey Shovkoplyas ba37f7b8d0
[#5461] Implement EIP-712
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-03-07 15:39:17 +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
Igor Mandrigin 1c972a4ad5
fix empty geth.log on iOS and Android
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-26 12:35:25 +01:00
Igor Mandrigin e588de35aa
Show status-go version again.
Also, don't hide errors when it is impossible to parse versions string that
comes from status-go.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-26 09:48:32 +01:00
Igor Mandrigin 6e7cd3794e
Enable mailserver confirmations on all builds (except release).
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-22 16:59:24 +01:00
Igor Mandrigin 9ba0bda8f7
Use gomobile binaries (again)
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-14 10:19:24 +01:00
Igor Mandrigin 3617fefbe9
Revert "Use gomobile binaries for iOS and Android."
This reverts commit c47fc34127.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-12 12:34:27 +01:00
Adam Babik c47fc34127
Use gomobile binaries for iOS and Android.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-12 10:21:31 +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
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
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
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 dd2ff11216
[#7139] Fix crash on logout
The crash was caused by RPC calls which happened after `StopNode` call.

Implementation:
- The first suggestion was to `StopNode` only after all `.stopWatching`
  calls are done, but this only lowered probability of the crash,
  but did not fix the issue.
- Another suggestion was to prevent RPC calls after `StopNode` call,
  but it also only lowered probability of the crash.
- So the last resort was a fix on `status-go` side
  https://github.com/status-im/status-go/pull/1329,
  and it actually worked.
- Advanced settings are hidden until `Statusgo.Login` is finished
2018-12-20 21:35:09 +02:00
Andrea Maria Piana 05b70b0974
Use cursor and update status-go
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-14 13:11:31 +01:00
Andrea Maria Piana 4d5742f666
Fix bug with characters in password
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-11 17:56:12 +01:00
Igor Mandrigin afc368b1b0
Upgrade status-go to 0.17.6-beta (Constantinople).
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-10 12:59:44 +01:00
Andrea Maria Piana 693eae9cf9
Send your own messages
Adds a `chat-id` field in `content` map.

The reason it has been added to the map instead of augmenting transit is
that it would simplify the calculation of `message-id`, which in this
case is consistent for both old & new clients.

`chat-id` also represents the `chat-id` with respect of the sender, as
in 1-to-1 chats that is asymmetric.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-06 21:19:50 +01:00
Andrea Maria Piana 272da01051
Update status-go
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-10-29 09:59:57 +01:00
Andrea Maria Piana edaf70ca5d
Fix status-go version
Signed-off-by: Eric Dvorsak <eric@status.im>
2018-10-28 17:55:15 +01:00
Andrea Maria Piana 073dddcee0
Add pairing
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-10-27 20:43:53 +02:00
yenda 69fe9dc582
[fix 6334] request multiple topics at once
- group requests by last-request to request multiple topic at once
- fix bug where fetching popup was shown when the app was actually in error
state

Signed-off-by: yenda <eric@status.im>
2018-10-16 17:13:47 +02:00
Andrea Maria Piana 78b6d67d79
Allow to edit group membership
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-10-09 10:40:13 +02:00
Jakub Sokołowski 75f23a19ad
drop use of artifactory maven repo
Signed-off-by: Jakub Sokołowski <jakub@status.im>

- rename jar file to match flatDir search method
- try using ivy repo to pull status-go from github
- drop use of artifactory in pom.xml
- move status-go version to a STATUS_GO_VERSION file
- upgrade status-go to 0.16.0
- unzip with overwriting
- prepare-ios: doewnload archive only if it doesn't exist
- fix prepare-android and prepare-ios
- use Makefile targets to make sure status-go archives exist
- remove unnecessary call to make prepare-android

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-10-05 18:18:58 -04:00