2686 Commits

Author SHA1 Message Date
Roman Volosovskyi
15747558fa
[#7179] Fix command message preview in the list of chats
The bug was introduced in #7055.

`message-type` was stored and used instead of `content-type` which
caused incorrect displaying of the last message preview if the one was a
command.
2018-12-27 16:35:45 +02:00
Roman Volosovskyi
768da1a5f0
[slow sign in] Fetch generic password only once
Previously it was fetched each time when any realm db was opened,
but it should happen only once. Saves up to 300ms on sign in.
2018-12-27 12:37:29 +02:00
Roman Volosovskyi
e3cc50c7d7
[slow sign in] Adding symkeys and filters in batch
This commit changes the way how keys are restored:
1. batch of `ssh.addSymKey` requests for all sym keys is sent at once
2. `:status-im.transport.core/sym-keys-added` event is dispatched with
   results of all successful `ssh.addSymKey` calls
3. filter is created via `ssh.newMessageFilter`
4. `:shh.callback/filters-added` event is dispatched with all added
   filters as a parameter
5. profit

In ideal case only 2 `re-frame` events are dispatched.
2018-12-27 11:49:50 +02:00
Vitaliy Vlasov
8f7159aff9
Fix connection stats display
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-26 13:37:03 +02:00
Roman Volosovskyi
8e7526e68d
[#7155] Clear last message preview on deleting chat history 2018-12-25 11:07:46 +02:00
Andrea Maria Piana
dfdbe1ccbc
Paginate using clock-value & message-id instead of skip/limit
Paginating using the count of loaded messages might result in some
messages being skipped and not being loaded in the database, in case of
out-of-order messages received.

This commit changes the behavior to sort by `clock-value` and
`message-id`, which gives a consistent sorting.

The initial idea was to use a cursor `clock-value-message-id` and
iterate on that, but realm does not support filtering on string (</>),
so instead we keep track of messages with identical clock-value and
exclude those in the next page query.

The change might result in pages that have duplicates (so messages needs
to be deduped), but won't result in skipped messages.
2018-12-24 18:12:50 +01:00
Vitaliy Vlasov
fb9c278bd0
Fix logging_enabled param initial loading on Linux
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-24 18:54:11 +02:00
Roman Volosovskyi
8f48dc8df6
Safe deserialization of the last message's content
The issue was fixed in #7085 but reintroduced in #7055.
2018-12-24 18:09:59 +02:00
Dmitry Novotochinov
7fa46065a7
[#7005] add installation progress bar
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2018-12-24 18:02:38 +03: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
Roman Volosovskyi
9a9cd0d8d0
[slow sign in] Denormalize last-clock-value
In order to get `:last-clock-value` one extra query was executed for
each chat during initialization.

Implementation:
- `:last-clock-value` field was added to `chat` entity
- this field is updated when the message is sent/received
- extra query was removed
2018-12-24 14:18:42 +02:00
Andrey Shovkoplyas
902dc3806c
[#7131] Add titles + favicons in browser
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-24 12:50:07 +01:00
Julien Eluard
5db9aa9ac7
Reintroduced broken PR #7092 with fix
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-12-21 14:55:32 +01:00
Vitaliy Vlasov
dfbc0eb435
Add desktop msg limit
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-21 15:28:38 +02:00
Igor Mandrigin
794313dbee
Revert "[Fixes #7052 and #7037] Improved extensions ethereum support"
This reverts commit 6a8c9bf14f0f7bfcacdea45b1bad83a0da6a6550.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-12-21 13:50:42 +01:00
Julien Eluard
6a8c9bf14f
[Fixes #7052 and #7037] Improved extensions ethereum support
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-12-21 13:11:00 +01:00
Vitaliy Vlasov
4b74344f4b
Add desktop chunks hack
R

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-20 21:38:26 +02: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
Vitaliy Vlasov
b81cb82fc6
Truncate long chat messages
Fix render-recipes and replies rendering

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-20 18:12:01 +02: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
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
Andrey Shovkoplyas
b4e2654b74
[#5650] Blank page when accessing .pdf files from Android app browser
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-19 13:05:12 +01:00
Andrey Shovkoplyas
3098ff024f
updated airswap dapp url
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-19 10:06:00 +01:00
yenda
7934bfb2d7
[#5452][desktop] Add help center in profile menu
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-18 20:09:58 +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
Andrea Maria Piana
8be8f0b5c8
Adjust from value to accomodate for late-comers
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-12-17 14:57:49 +01:00
Roman Volosovskyi
c440b7a3a7
[slow sign in] Denorlmalize last message
The last messages of the chats are necessary to properly show the chat
list, which is shown right after signing in. Before this commit, the
last message was retrieved as one of 20 last messages fetched for each
chat.

Implementation:
- `:last-message-content` and `:last-message-type` fields were added to
  `chat` entity
- both fields are updated when messages are received/sent
- loading of the last 20 messages for each chat was removed as
  initialization step
2018-12-17 13:29:10 +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
tbenr
52b7bcd291
fixes #6788
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-12-17 09:29:28 +01:00
Andrea Maria Piana
54b9ba5a2e
Dont choke on wrongly serialized messages
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-14 16:59:34 +01: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
6e5d54b5aa
Fetch history action 2018-12-14 13:10:37 +01:00
Andrey Shovkoplyas
50e0f26864
[#6760] Add DApps for 0.9.33
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-14 10:58:37 +01:00
Andrey Shovkoplyas
b80230a95f
[#6688] Update ENS resolving implementation to match what is defined in EIP-1577
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-12-13 16:21:11 +01:00
Rob Culliton
a04952b60c
new json-rpc call for debug_metrics on advanced settings desktop tab;
include verify() bridge for desktop

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-13 16:27:26 +02:00
Andrey Shovkoplyas
f56a500f64
[#6997] Remove desktop download nightly release feature
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-13 11:33:11 +01:00
Andrea Maria Piana
13b5c14b78
Remove println statement
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-13 10:16:35 +01:00
Andrea Maria Piana
090b4a1282
Add re-send popup to desktop 2018-12-12 19:56:50 +01:00
Andrea Maria Piana
7921729910
Dont show wallet offline on desktop 2018-12-12 19:56:48 +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
Rob Culliton
88d3e78454
change 9+ to actual count of unread messages
unread-messages-count fn, based off Maciej's comment on #6749

adding test, some difficulty running the test suite locally via clj

actually use the new functionality for displaying on desktop

first pass at updated styling for unread count chat icons

styling pass 2: finer attention to detail for the purple/blue icons

a bit more padding bloat to accomodate for the number 1, which occurs
frequently :)

remove counter from "home" icon on desktop

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-12 15:55:13 +02:00
Andrey Shovkoplyas
8374a7d532
fixed extensions installation issues
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-12 13:21:01 +01:00
Zach Zundel
1a46355c61
Add ethereum/poll-logs event, fixes #6855
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-12-12 12:36:03 +01:00
Julien Eluard
6c3f44438c
Allow input to trigger event after a delay
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-12-11 16:32:30 +01:00