34 Commits

Author SHA1 Message Date
yenda
fc4c772c0b
[refactoring] remove web3, clean up wallet effects
- introduce json-rpc namespace, which provides `call` and `eth-call`,
a generic way of calling a json-rpc method taking care of conversions
and error handling
- remove web3 usage from wallet
- clean up effects, reducing the amount of computations when login in
2019-05-23 10:44:15 +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
Andrea Maria Piana
d32f81bbff
Set maximum number of attempts in config
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-03-14 16:23:14 +01:00
Igor Mandrigin
c081f7f49c
ULC mode for Ropsten
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-19 17:59:45 +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
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
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
Roman Volosovskyi
e122ebdb84
[#7135] Fix wrong password handling
Leftover after #7032. The node hasn't been started if the user entered a
wrong password, that's why `Statusgo.Verify` call has failed (it works
properly only with running node atm).

Implementation:
- the node is started with "dummy" configs if it's necessary to call
  `Statusgo.Verify` method
- on `Statusgo.Verify` callback node is stopped so that it can be
  started with proper configs on the next sign in attempt.
- signing in is disabled while the node is running

disable sign in while node is running

_

_
2018-12-19 18:17:43 +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
Vitaliy Vlasov
51a7c537f8
Fix desktop msg loading and signin
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-18 03:08:51 +02:00
Roman Volosovskyi
07e8f6908d
[#6952] Fix odd app behavior after quick logout
This commit changes the way how/when the node is started/stopped:
1. `node` is not started on the app startup
2. When the user presses "Sign in" button the node is started
   with user specific configs (`InstallationID`, custom bootnodes, etc),
   and only after that `Login` call is performed.
3. When the user creates a new account, at first the node is started
   with default params (the same as would be used when user signs into
   the app after account creation whithout changing any setting), then
   `CreateAccount` call happens, then `Login`.
4. When the user restores their account, the flow is the same as `3`
   but with `RecoverAccount` instead of `CreateAccount`
5. When the user logs out the node is stopped. That's it.
2018-12-17 13:27:17 +02: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
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
Andrea Maria Piana
5795ca8d1a
Enable group chats
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-30 11:12:34 +01:00
Vitaliy Vlasov
92d00f4250
Use multiple app instances simultaneously
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-11-28 19:10:12 +02:00
Dmitry
43be2d3614
Add LES nodes back into list of static nodes
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-11-23 09:12:18 +01:00
Dmitry
7a0fc763a4
Rendezvous should be false if list of nodes is empty
We can disable this validation in status-go. I am not sure why we have it.
But it will take longer.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-11-22 11:51:20 +01:00
Dmitry
09fba00492
Add rendezvous nodes to configuration
Signed-off-by: Goran Jovic <goranjovic@gmail.com>
2018-11-20 17:25:59 +01:00
Igor Mandrigin
83ef7746d4
Show debug information when LES is selected (in the titlebar).
To simplify testing and debugging, there is a very simple sync indicator
(debug) for LES. This UI is not even close to being production and will
be reworked in the future.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-11-15 10:34:31 +01:00
Vitaliy Vlasov
66e7815bcc
Force node restart during initialization on desktop
Remove log

Signed-off-by: Goran Jovic <goranjovic@gmail.com>
2018-11-01 13:29:27 +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
Igor Mandrigin
1c4cca1004
Don't start a node while the node is already being started.
Restart it instead, so that we are sure which config is there.

Signed-off-by: yenda <eric@status.im>
2018-10-15 16:43:30 +02:00
Vitaliy Vlasov
a0f707fee2
Add port arg to ubuntu-server.js
Use the value of REACT_SERVER_PORT env var if set

Change node port and datadir depending on the value of DEV_BUILD config
variable

Fix missing paren

Bugfix

Remove desktopJSBundlePath

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-10-09 14:30:50 +03:00
Andrea Maria Piana
165f1a46c7
Propagate signed membership information
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-10-02 12:06:28 +02:00
Andrea Maria Piana
0c48d09c71
Add back group chats messages
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-09-26 20:58:03 +02:00
Pedro Pombeiro
17a8d3a9c9
Unify desktop builds. Closes #5406
- Replace Linux and MacOS scripts in `ci/desktop.groovy` with calls to `scripts/create-desktop-package.sh`
- Replace use of `deployment/env` with `.env` to avoid confusion and be coherent with mobile platforms

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-09-26 16:45:48 +02:00
yenda
4bd5d986b0
remove merge-fx macro
Signed-off-by: yenda <eric@status.im>
2018-09-25 15:18:44 +02:00
Andrea Maria Piana
df51731fca
Add pfs flag, installation id and nobackup data directory
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-09-24 17:47:02 +02:00
Igor Mandrigin
e6501af97b
Explicitly disable discovery when signing in to the account.
Signed-off-by: yenda <eric@status.im>
2018-09-20 18:52:46 +02:00
Pedro Pombeiro
4ab5e43616
Replace call to GenerateConfig with local JSON. Closes #5739
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-09-19 17:06:10 +02:00
Eric Dvorsak
8dc9af8917
refactoring of events into status-im.events
Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-09-11 15:09:54 +02:00
Eric Dvorsak
80aa0e9286
[feature #5213] allow user to select fleet in settings
- get wnodes from resources/config/fleets.json which is taken from
fleets.status.im
- store wnodes by fleet and not by network since they are always the same
- reset wnodes settings during migration
- add option in developper menu to select fleet
- mailservers are now presented by their real name

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-09-07 15:33:29 +02:00
Eric Dvorsak
8d053b4389
[feature #5527] allow user to change status-go loglevel in settings 2018-09-07 15:22:32 +02:00
Eric Dvorsak
bb339dc39b
refactor login flow
simplified flow:

- event `:ui/login` is dispatched
- node is initialized with user config or default config
- `node.started` signal is received, applying `:login` fx
- `:callback/login` event is dispatched, account is changed
in datastore, web-data is cleared
- `:init/initialize-account` event is dispatched

replace event dispatches by function composition

fix bug in universal links where url to be processed after login
was never removed

Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-08-28 14:46:33 +02:00