79 Commits

Author SHA1 Message Date
Andrea Maria Piana
21ef5a68b8
Add mark all read
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-02-26 13:35:31 +01:00
Andrey Shovkoplyas
6e3784d671
[#9886] App shows 'buy' for stickerpack user owns when pressing on sticker in chat
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-02-26 09:51:33 +01:00
Roman Volosovskyi
807c8377d4
Clean up after recent tx history changes:
- unused code is removed
- "load more" button is hidden for a new account
- each next page of tx history contains 20 transfers
  unless thare is no enough transfers in history
2020-02-25 09:27:18 +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
Dean Eigenmann
7c5decbbfc
uses new ENS registry. see: GHSA-8f9f-pc5v-9r5h 2020-02-06 17:02:14 +01:00
yenda
cc3ae6c693
fix #9903 hide buttons of actions that are not yet implemented
fix ens release button which showed a hardcoded date
link to release instructions on hackmd

Signed-off-by: yenda <eric@status.im>
2020-01-30 18:49:47 +01:00
Roman Volosovskyi
b41df2f2fc
[#9927] Fast blocks sync after being offline
Front end changes:
 As there is no guarantee that `newblock` event will be dispatched
consequently (e.g. if there was a delay after block#1 the next event
might be dispatched for a block#2000, no guarantee that block#2 will be
the next one), `newTransactions` field was added with a map of accounts
to the number of new transactions received to this block. In result if
there are new transactions we request them all of db instead of fetching
them on for the block specified in `newblock` event, as it was done
previously.

Back end changes:
- In order to avoid handling of the reorganized blocks we use an offset
from the latest known block when start listening to new blocks. Before
this commit the offset was 15 blocks for all networks. This offset is
too big for mainnet and causes noticeable delay of marking a transfer as
confirmed in Status (comparing to etherscan). So it was changed to be 5
blocks on mainnet and is still 15 blocks on other networks.
- Also before this commit all new blocks were handled one by one with
network specific interval (10s for mainnet), which means that in case of
lost internet connection or application suspension (happens on iOS)
receiving of new blocks would be paused and then resumed with the same
"speed" - 1 blocks per 10s. In case if that pause is big enough the
application would never catch up with the latest block in the network,
and this also causes the state of transfers to be delayed in the
application. In this commit in case if there was more than 40s delay
after receiving of the previous block the whole history in range between
the previous received block and ("latest"-reorgeSafetyDepth) block is
checked at once and app catches up with a recent state of the chain.
2020-01-30 19:40:19 +02:00
Andrea Maria Piana
6ff878c836
Explicitly start messenger
We should only start receiving messages/processing topics once all the
initializiation is completed, so an endpoint that start the messenger
has been added.
Before we would initialize the topics/receiving messages at the same time,
which resulted in a race condition where a topic was signaled from
status-go and was considered new just because was not loaded yet.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-01-29 21:17:32 +01:00
Roman Volosovskyi
161042066d
[#9203] Transfers fetching with less requests
- all messages are not shown right away, in order to paginate history
  a user has to press "load more" button
- added link to etherscan before transfers list
- there is a new "fetch more" button at the end of the list
- rest of changes can be found here status-im/status-go#1775
2020-01-23 14:41:16 +02:00
Andrea Maria Piana
b2fd81fc76
Contact updates & pairing in status-go
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-01-15 09:46:17 +01:00
yenda
84828891a0
Add chat commands
Signed-off-by: yenda <eric@status.im>
2020-01-10 20:13:19 +01:00
yenda
bdcb34ffab
normalize token addresses
Signed-off-by: yenda <eric@status.im>
2020-01-10 16:40:23 +01:00
yenda
1cac8f1161
fix pending transactions
Signed-off-by: yenda <eric@status.im>
2020-01-10 16:39:49 +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
2c3e831a03
use accounts rpc endpoints
Accounts were previously stored within the multiaccount `setting`
serialized in transit

This moves [:multiaccount :accounts] to `:multiaccount/accounts` and uses
the `getAccounts`, `saveAccounts` and `deleteAccounts` endpoints.

Signed-off-by: yenda <eric@status.im>
2019-12-17 10:33:46 +01:00
yenda
6a800b211d
move custom tokens to a separate table
Signed-off-by: yenda <eric@status.im>
2019-12-12 14:00:01 +01:00
Andrea Maria Piana
54cf783d5b
Move group chats to status-go
This commit completely remove transit for group chats. All the
processing is now done in status-go.
Also introuduces parsing and handling of mentions, needed so that system
messages can be easily built in status-go.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-12-10 16:18:26 +01: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
acolytec3
2fda266f07
Add ENS name resolution to EIP681 support
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-12-05 10:48:05 +01:00
Andrey Shovkoplyas
831f7f05f3
[#9213] ENS addr is checked instead of owner 2019-12-02 13:01:24 +01:00
yenda
572e028f32
fix 9394 select mailserver based on ping
- if not mailserver was actively selected by user,
use rpc call to get latency for known mailservers
and use the best one
- this happens when `set-current-mailserver` is called which happens
in `change-mailserver` when user unpins his preferred mailserver and when
there's been too many failed attemps to fetch messages or to connect to
then current mailserverm as well as when user logs in.

Signed-off-by: yenda <eric@status.im>
2019-11-28 23:31:39 +01:00
Roman Volosovskyi
67e6ab6055
[#9435] Prevent multiaccount duplication
Currently we have two ways to restore a multiaccount:
- by entering a mnemonic phrase
- by pairing a keycard with an existing multiaccount

In both cases, when we detect that a user tries to recover an existing
multiaccount we interrupt recovering and propose them to unlock that
multiaccount instead.
2019-11-27 17:10:55 +02:00
Andrey Shovkoplyas
507cc5cf39
send transaction GUI
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-11-27 14:32:04 +01:00
acolytec3
8bd2326369
Update SAI/DAI PNGs
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-11-21 15:21:30 +01:00
Andrea Maria Piana
9a9c0ce526
Render markdown
Fixes: https://github.com/status-im/trailofbits-audit/issues/47
Fixes: https://github.com/status-im/trailofbits-audit/issues/46
Fixes: https://github.com/status-im/trailofbits-audit/issues/44
Fixes: https://github.com/status-im/security-reports/issues/13
Fixes: https://github.com/status-im/security-reports/issues/5
Fixes: https://github.com/status-im/status-react/issues/8995

This commits re-introduce rendering of markdown text and implent a few
changes:

1) Parsing of the message content is now in status-go, this includes
markdown, line-count, and rtl. Parsing is not nested, as there's some
rendering degradation involved as we nest components, unclear exactly if
it's react-native or clojure, haven't looked too deeply into it.
2) Emojii type messages are not parsed on the sending side, not the
receiving one, using the appropriate content-type
3) Fixes a few issues with chat input rendering, currrently we use
`chats/current-chat` subscription which is very heavy and should not be
used unless necessary, and means that
any change to chat will trigger a re-render, which caused re-rendering
of input container on each received message. Also to note that
input-container is fairly heavy to render, and it's rendered twice at
each keypress on input.

The inline markdow supported is:

*italic* or _italic_
**bold** or __bold__
`inline code`
http://test.com links
\#status-tag

The block markdown supported is:

\# Headers
```
code blocks
```
> Quotereply

The styling is very basic at the moment, but can be improved.
Adding other markdown (photo,mentions) is straightforward and should
come at little performance cost (unless the component to render is
heavy, i.e a photo for example).

There are some behavioral changes with this commit:

1) Links are only parsed if starting with http:// or https://, meaning that
blah.com won't be parsed, nor www.test.com. This behavior is consistent
with discord for example and allows faster parsing at little expense to
ser experience imo. Fixes a few security issues as well.

2) Content is not anymore capped (regression), that's due to the fact that
before we only rendered text and react-native allowed us easily to limit
the number of lines, but adding markdown support means that this
strategy is not viable anymore. Performance of rendering don't see to be
very much impacted by this, I would re-introduce it if necessary, but
I'd rather do that in a separate PR.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-11-15 10:23:25 +01:00
Andrea Maria Piana
57b1722863
Verify ens names on messages and contact requests
This commits verifies ens names when new messages or contact requests
come through.
A batch of ens names is sent to status-go which will then verifying them
and the result will be passed back in a callback to status-react.

Also temporary skipped test_ens_in_public_chat until we merge the ENS
code (blocked currently by 1.9 upgrade)

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-10-23 12:32:28 +02:00
yenda
7b6dfad702
[fix 8853] fix change of whisper id in ens registration
A user can type in their existing name in the registration flow. Status can
confirm if they own it. After signing a transaction, the user can update the
Whisper ID to their new one.

Instead of using a hardcoded contract for stateofus, the standard `owner`
method is called to find the resolver contract of a ens name.
This allows users to set the pubkey even for ens names that are not
subdomains of stateofus

Signed-off-by: yenda <eric@status.im>
2019-10-16 17:32:07 +02:00
yenda
e87d75039e
remove unused use-status-go-protocol? flag and code
Signed-off-by: yenda <eric@status.im>
2019-09-17 17:10:13 +02:00
yenda
543d28fbc1
remove unused deleteChat rpc method and effects 2019-09-17 17:09:23 +02:00
yenda
172038b70d
integrate mailserver-ranges api 2019-09-09 18:39:49 +02:00
yenda
dbf8d60f8b
integrate status-go mailserver-topics api
Signed-off-by: yenda <eric@status.im>
2019-09-05 18:08:03 +02:00
yenda
1147466362
integrate status-go mailserver api 2019-09-05 18:07:17 +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
Pedro Pombeiro
58d310ffce
Remove RAM bundle support 2019-08-30 17:13:35 +02:00
Vitaliy Vlasov
dfeec0f39f
Fix empty contact code string errors
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2019-08-30 15:46:11 +03:00
yenda
84c04949aa
save account with accounts_saveAccounts rpc call
so that transaction history starts being fetch without having to relogin
2019-08-28 16:46:52 +02:00
yenda
ddefae11b1
use wallet_getTokensBalances to reduce number of rpc calls 2019-08-28 16:46:52 +02:00
yenda
b45e7ccafb
cleanup fetching transactions 2019-08-28 16:46:52 +02:00
yenda
d4a396bedf
move networks out of multiaccount 2019-08-28 11:11:40 +02:00
yenda
1c475e5b1e
replace last remains of web3.js by json-rpc 2019-08-20 17:42:02 +02:00
yenda
d7cd2b8a74
integrate status-go accounts 2019-08-20 17:42:02 +02:00
Andrea Maria Piana
dcb7415208
Move messages to status-go
This commit does a few things:

1) Move messages to status-go
2) Use message-id computed from status-go
3) Remove old replies

Old message id was used for compatibility of replies with older clients.
Given that v1 is breaking, this is not needed anymore and simplifies
moving messages to status-go. No protocol/data-store change is made, to minimize
changes.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-08-20 13:25:05 +02:00
bitsikka
39e095e1ed
[8069] feature - [Profile] My profile edit and share screens
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-08-19 11:09:38 +03:00
Dmitry Novotochinov
b635691c25
recovery flow v1
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-08-14 19:42:26 +03:00
Andrey Shovkoplyas
ba112a765b
[#8666] Add account via BIP 44
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-08-14 17:58:24 +02:00
Andrea Maria Piana
6fa482a776
Move chats to status-go
This commit moves chats to status-go.

I have changed the logic to load all chats in one go for simplicity and
while that might have a performance impact, I think it's premature to
  optimize this flow as there will be more changes to the login flow.

Also currently this is likely to be slower as we need to wait for the
 status-service to be initialized, as well as realm.

No migration is provided as we are past the point of no return, so by
installing this version you will lose your chats.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-08-05 16:08:24 +02:00
Andrey Shovkoplyas
6d337bc69a
multiaccounts 2019-07-30 20:35:58 +02:00
Andrea Maria Piana
1e655540da
Fix loading of filters
Currently on some devices there are still some legacy chats(?) that are
one-to-one but don't have a public key as an id (transactor,demo-bot).
We were wrongly sending those to status-go to create filters.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-07-30 20:25:59 +02:00
yenda
89abc8ab11
[fix #8638] issues with wallet transaction list
- pending transaction was using hash so mined transaction was using it's id
to have a unique id, the fix adds a rule when the existing transaction by hash
is in :pending state, the mined transaction overwrites it

Signed-off-by: yenda <eric@status.im>
2019-07-26 14:01:56 +02:00