Commit Graph

2640 Commits

Author SHA1 Message Date
Pedro Pombeiro 40b3100cfc
Fetch messages from mailserver upon PN if db is unlocked. Part of #3451
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-02-13 23:28:44 +01:00
Roman Volosovskyi 48291247b2
Loading history on mobile network 2019-02-13 18:59:21 +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
Roman Volosovskyi 0cdc56401a
[#6850] fix Add to contacts appears in public chat 2019-02-13 11:36:52 +01:00
shamardy 9198b15380
Exposed whisper (shh) events
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-02-13 10:10:37 +01:00
Julien Eluard 3770243546
Added contacts/all event and wallet.settings lifecycle hooks
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-02-13 10:01:55 +01:00
yenda 0563abff54
[fix] icon and text alignment for group and public chat on home
Signed-off-by: yenda <eric@status.im>
2019-02-12 19:11:02 +01:00
Pedro Pombeiro 7366f8973b
Add sender name in PNs (if db is unlocked)
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-02-12 17:47:22 +01:00
Andrey Shovkoplyas fca51beaaa
[#7445] Sticker detail view in chat
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-02-12 16:31:22 +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
Andrey Shovkoplyas 852afa23cb
fixed browser loader
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-02-12 09:10:22 +01:00
Andrea Maria Piana 80eeb8765a
Relax constraint on filters
Before we checked filters are exactly the same as the chats.
If there's any state mismatch, this will result in not fetching messages
from the mailserver.
This might not be necessarily what we want, we probably want to be
resilient to this case.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-12 08:43:22 +01:00
yenda 6f865bf337
[fix] restore large bubble width
Signed-off-by: yenda <eric@status.im>
2019-02-11 19:42:57 +01:00
yenda aeb29e38b0
[fix] crash with creation and invitation to 1 letter group chat
Signed-off-by: yenda <eric@status.im>
2019-02-11 19:41:53 +01:00
Vitaliy Vlasov 7d4dcb327d
Fix chat colors and username display; adjust icons
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2019-02-11 13:54:38 +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
tbenr 51f6a173df
fixes #6596
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-02-11 11:05:23 +01:00
Andrey Shovkoplyas 6ab6e3f041
stickers polishing 2
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-02-11 08:44:21 +01:00
kn 6988950ea8
[#6973] Replace react-native-i18n with react-native-languages 2019-02-09 23:27:46 -08:00
yenda 2c74dc93cc
[fix] show first letter of public chat name in icon instead of #
Signed-off-by: yenda <eric@status.im>
2019-02-08 19:18:21 +01:00
yenda f64111ceba
[fix] public chat icon when following link from private chat
- when following a link from a private chat, the public chat icons
was staying the same

Signed-off-by: yenda <eric@status.im>
2019-02-08 13:22:51 +01: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
Roman Volosovskyi 2ab1dcb54a
fix :request/attempts typo 2019-02-08 10:06:51 +02:00
Asad Dhamani c2409ad664
Fix null is not an object error for invalid URLs
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-02-07 16:52:21 +01:00
Roman Volosovskyi 7b0f68fcdb
[ui only] Mobile network bottom sheet 2019-02-07 12:21:03 +02:00
Andrey Shovkoplyas cf8527d147
[#7374] stickers polishing
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-02-07 09:27:49 +01:00
Andrea Maria Piana 20550d022f
Adjuct mailserver limit when expired/complete events
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-07 08:30:44 +01:00
yenda e739b4a359
[fix] use icons from design components
Signed-off-by: yenda <eric@status.im>
2019-02-06 14:48:58 +01:00
Andrea Maria Piana fd3152eeff
Retry mailserver request with cursor
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-06 11:46:20 +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
Roman Volosovskyi b96063ce56
[#7422] Show feedback on mailserver error 2019-02-05 20:51:09 +02:00
Andrey Shovkoplyas 5fe9e3d156
[#6587] IPFS hosted apps should not share cookies/etc
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-02-05 18:49:25 +01: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 9cb890a32f
Increase mailserver page size 10 times to make initial sync faster.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-05 14:51:08 +01:00
Igor Mandrigin 27d6816cca
Update and migrate POA network URLs.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-05 13:47:09 +01:00
Roman Volosovskyi ce28f6df66
fix Filter is nil error after re-login 2019-02-05 09:37:11 +02:00
Goran Jovic 256401c417
feature #7266 - added buff token on xdai sidechain
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-04 21:10:19 +01:00
Andrea Maria Piana 3469a3d899
Dont set a chat-id on discovery-filters
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-04 17:24:21 +01:00
Andrea Maria Piana 49035af201
Dont count 1-to-1 topics if not enabled 2019-02-04 17:23:22 +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
yenda c11b99c0d4
[fix] loading indicator shouldn't nudge content downward
Signed-off-by: yenda <eric@status.im>
2019-02-04 15:41:46 +01:00
yenda c58342d397
[fix 7380] bubble width on small devices 2019-02-04 15:41:18 +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
Roman Volosovskyi 10739cd2e4
Bottom sheet component 2019-01-31 10:32:45 +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
yenda 7985ee838e
[fix 7332] error pop-up when sending tx from wallet
when the last used chat was a public chat, the public-key of
the recipient to populate the `:to` key in the notification data
was taken from `:current-chat-id`in app-db.

this fix ensures that the right chat-id (the actual public-key of
the contact) is used instead of current-chat-id by changing the arity
of `send-push-notification`

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-30 16:58:36 +01:00
Andrea Maria Piana 093f7de1aa
Disable pairing pop-up in e2e
Signed-off-by: Anton Danchenko <ant.danchenko@gmail.com>
2019-01-30 16:46:57 +02:00
Speedy Fixer c3ee8ff759
[FIX #7344] Update args of eth_getLogs
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-29 20:01:20 +01:00
Andrea Maria Piana e07433fdff
Disable creating a chat until login complete
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-29 19:47:56 +01:00
Andrey Shovkoplyas 7d22f61e20
[#7369] Can send tokens in Aragon Dapp in Finance section
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-29 19:37:23 +01: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
Julien Eluard ac758f5348
Updated support for EIP1577
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-01-29 15:48:36 +01:00
Igor Mandrigin fafecfe95a
Get rid of StatusService.
StatusService was only used to handle `signalEvent:` from status-go.
This commit simplifies this interaction and getting rid of the service
and all the problems that come with it.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-29 12:01:05 +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
Andrey Shovkoplyas 2430992fb4
Implement stickers market
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-01-28 17:18:44 +01:00
Roman Volosovskyi b0c1a3244d
[#7346] Add Aragon dapp
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-28 14:25:41 +01:00
Andrey Shovkoplyas c7b532e1c5
[#7274] Address and web3 authorising permission window disappears right away ENS/Voting dapp home view loads
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-01-28 09:12:33 +01:00
Julien Eluard 16b657d6ee
Added kyber extension
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-01-25 16:26:03 +01:00
yenda 8ef905edfb
[fix 5371] status bar covers touchable UI
- fix #5371
- fix #4345
- introduce "Connected..." status bar
- introduce fetching animation
- removes overlap of status bar with views
- add animations for status bar

Signed-off-by: yenda <eric@status.im>
2019-01-25 15:01:37 +01:00
yenda 760956dfe1
fix #6440 increase width of mobile message bubbles on mobile 2019-01-25 15:01:14 +01:00
yenda f17229c4e2
[fix] remove mnemonic from current-account map
current-account is duplicated in `:qr-modal` key when tapping on `share my
profile` button in the Profile screen
this removes the mnemonic from the duplicated data so that it does persist
there after user backed up his mnemonic
this was only happening until logging out/restarting the app

Signed-off-by: yenda <eric@status.im>
2019-01-25 15:00:09 +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 7322626464
Migrate old Infura RPC URLs to the new ones for existing accounts.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-23 17:58:01 +01: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
Roman Volosovskyi c4c27a48c2
fix `:contact.ui/close-contact-pressed` event
Most likely a typo was introduced during refactoring.
2019-01-22 08:29:52 +02:00
Andrea Maria Piana 66c2d0d9cb
Disable sending message
Seems like the current version of status-go does not contain some of the
code that was in the previous, so disabling this for now until we verify
it works.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-01-21 16:25:11 +01:00
Roman Volosovskyi a129c92706
Comment out outdated dispatching of :send-seen! event 2019-01-18 18:17:23 +02:00
Roman Volosovskyi 8754f72eba
Fix merging of :message/message-persisted event
Previously `:message/message-persisted` was dispatched for each incoming
message because its argument was not a vector. The event was renamed to
`:message/messages-persisted`.
2019-01-18 18:14:40 +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
Zach Zundel 4dca2e9caa
Create event
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-01-15 08:41:37 +01: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
Julien Eluard 13b6295469
[Fixes #7213] Properly handle universal links in status
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-01-14 10:37:32 +01:00
Andrey Shovkoplyas 40aff1da8d
[#7158] EIP1193 (new ethereum provider)
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-01-11 19:59:20 +01:00
Andrey Shovkoplyas d38fa87818
fixed kyber extension UI
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-01-11 19:58:18 +01:00
Roman Volosovskyi f18886cf52
Remove misleading comment related to login flow 2019-01-11 19:15:25 +02:00
Andrey Shovkoplyas c9c778c063
fixed wallet settings hook screen on iphone x
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-01-11 12:54:52 +01:00
Julien Eluard a4efc661e1
Use better label for system browser
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-01-11 09:01:15 +01:00
Igor Mandrigin f5bfd63f0e
[Mobile] Show status-go version on separate line in About.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-10 13:41:04 +01:00
Roman Volosovskyi aceea457ce
[slow sign in] Chats preloading
10 last chats are loaded to `app-db` before showing `:home` screen, in
result a user will not see two consequent activity indicators. In this
case opening of `:home` screen is a bit slower but looks better from
UI/UX pov. As it is limited to 10 chats on initialization, the time
necessary for opening `:home` screen will not depend on a total number
of chats in `app-db` if an account contains 10+ chats.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-09 16:03:21 +01: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
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 2777809db9
enable saving password on android
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-08 17:40:00 +01:00
Andrea Maria Piana 3e761c3b85
Extend message hash confirmation for group chats
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-01-08 13:59:30 +01:00
Andrea Maria Piana e8069f523d
Move group chats to their own topic
This commit moves group chats to their own topic, based on the randomly
generated chat-id. It falls back on the discovery topic for those peers
who we can't fingerprint the version, for backward compatibility.
2019-01-08 13:58:41 +01:00
Andrea Maria Piana 881691fbc3
Add joining of group chats
Members will now have to explicitly join a group chat to start receiving
messages from it.

Messages are still sent to users who have not joined for backward
compatibility.
Group updates are unaffected.
2019-01-08 13:58:40 +01:00
Andrea Maria Piana a52f3d4d08
Limit number of participants in group chat to 10 2019-01-08 13:58:38 +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 cdf8dc043a
[#7192] fix autologin switch behaviour on wrong password
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-07 17:35:18 +01:00
tbenr 469556a04b
Fixes #6594
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-01-07 14:33:38 +01:00
Vitaliy Vlasov c8e5fd6a9c
Add desktop keyboard shortcuts
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2019-01-04 00:30:19 +02:00
Andrey Shovkoplyas fc94abbef0
[#7113] Enable EIP1102 by default 2019-01-03 11:20:33 +01:00
Roman Volosovskyi de5463532b
[#7189] Proper handle of restoring existing account with wrong password
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-28 14:23:02 +01:00
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 6a8c9bf14f.

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
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
Roman Volosovskyi 83a8d9db27
Show schema version details on migrations failure
Simplifies debugging of migration failures, specifically in cases when
more than one migration is applied.
2018-12-10 10:12:27 +02:00
Roman Volosovskyi e20af4d206
Do not update :mailserver/connection-checks` if the user is logged out.
Connection check should be skipped if the user has logged out, otherwise
`app-db` may end up in an invalid state which causes an error and red screen
in dev mode.
2018-12-08 20:56:41 +02:00
Tom Nash c810e0f2c3
Fix arithmetic function in extensions
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-08 18:04:16 +01:00
tbenr 5ffeacadbf
fixes #6866
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-08 18:02:46 +01:00
Andrey Shovkoplyas d6d852a9be
[#7002] Add a JS API allowing to install an extension
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-07 13:24:45 +01:00
Andrey Shovkoplyas fb6d632780
kyber ui (image source support and placeholder color)
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-07 12:42:05 +01:00
Andrey Shovkoplyas f8978ca0aa
[#6851] Fix loading indicator in browser
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-06 11:32:19 +01:00
Roman Volosovskyi 4aaaf58e99
[#6956] delete duplicates after iteration over messages/statuses 2018-12-06 11:22:00 +02:00
Roman Volosovskyi c15a57571d
[#6956] fix possible `message` and `user-status` duplicates
There is a tiny chance that without this fix some users which had message
duplicates because of issues with `message-id` calculation **BEFORE** `0.9.31`
still have duplicates in their DB and migrations will not pass without
this change. It only checks if the message with a new `message-id` has been
added and removes duplicate. The same way it removes duplicates from
`user-status` entity.
2018-12-06 10:25:36 +02:00
Roman Volosovskyi 50a70f6e57
[#6956] store :raw-payload-hash in message (upgradable message-ids)
Currently, we calculate `message-id` as `sha3(from + raw_payload)`,
but we do not store `raw_payload` and it might be problematic
to restore it from DB because:
1) `content` field might be changed and so `Message` record
   will differ from the original one
2) it is even more problematic for `GroupMembershipUpdate`
   message because we don't save it in DB

In order to handle this, we can store `sha3(raw_payload)` as `raw-payload-hash`
prop of `message` entity and use it in case of emergency :)

`message-id` will be calculated as `sha3(from + sha3(raw_payload))`
2018-12-05 13:29:01 +02:00
Roman Volosovskyi b6e515618b
[#6956] upgradable `message-id`
Implementation:
1. `transport.utils/message-id` function is called only in three places now
   and accepts `from` and  `raw_payload` as parameters.
   ID is calculated as `sha3(from + raw_payload)`.
2. This means that for wrapped private group chat message
   the raw payload of `GroupMembershipUpdate` is used.
2018-12-05 11:22:43 +02:00
Roman Volosovskyi e7d0312d25
[#6903] fix replies compatibility
Issue was caused by https://github.com/status-im/status-react/pull/6722

Implementation:
1. `old-message-id` field (indexed) was introduced in `message` entity
   and is calculated as `message-id` was calculated in `0.9.31`
```clojure
(defn old-message-id
  [message]
  (sha3 (pr-str message)))
```
2. When a reply message is sent from the PR version of app both `response-to`
   and `response-to-v2` fields are sent as a part of `message`'s `content`
   field, so that it can be recognized by `0.9.31`.
3. When PR version of app receives reply from `0.9.31` we check whether
   message's `content` contains `response-to` but doesn't contain
   `response-to-v2`, and if so we check whether DB contains message with
   `old-message-id=response-to`. If such message has been found we assoc
   `response-to-v2` to content.
4. If message from DB contains only `response-to` but not `response-to-v2`
   attempt to fetch the message by `old-message-id` is done.
2018-12-05 07:22:40 +02:00
Dmitry 17c6b28486
Envelope is marked sent even when it is expired
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-04 17:05:11 +01:00
Vitaliy Vlasov e4ec6a6d19
Message context menu for Copy and Reply functionality
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-04 17:23:49 +02:00
Andrey Shovkoplyas 92e31be50d
[#6931] Introduce selection list component for extensions
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-04 16:08:26 +01:00
Maxim Tolochko ba8a620cd7
Add Dragonereum to Status
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-04 13:15:04 +01:00
jeluard c072a65e11
Added Decentraland DApp
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-04 12:04:17 +01:00
Andrea Maria Piana dfbc27c5d7
Allow admin to leave chat
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-04 10:17:50 +01:00
Andrey Shovkoplyas 2a828007fb
[#6957] Wallet shouldn't allows redirect to Home after a transaction completion
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-04 10:10:29 +01:00
Andrea Maria Piana 9adffeb55f
Dont try to show current chat if nil
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-12-04 08:50:57 +01:00
Andrey Shovkoplyas 22167db7a2
desktop popup
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-03 14:54:42 +01:00
Andrey Shovkoplyas 0ead731239
[#6958] Only render command message when relevant
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-03 09:55:35 +01:00
Andrey Shovkoplyas fcd5a16409
fixed styles for generated names on desktop
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-12-01 11:44:09 +01:00
Vitaliy Vlasov dc4841f041
Add react-native-desktop-menu native module
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-01 02:03:06 +02:00
tbenr 1152ad4afd
fixes #6856
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-11-30 11:38:04 +01: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
Andrea Maria Piana 9c67aab2c9
Use whole message to calculate message-id
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-30 10:12:25 +01:00
Julien Eluard e3e75e0498
[Fixes #6874] Added transaction-receipt, schedule and balance events
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-29 23:09:45 +01:00
Andrey Shovkoplyas 582c2960ec
[#6644] Chat command recipients should be able to install an extension
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-29 16:43:15 +01:00
Rob Culliton 91e5ac3ccd
Connection status info (#6865)
* display mailserver state and peers count under advanced settings on
the desktop profile tab
2018-11-29 10:16:41 -05:00
tbenr 3070e1f8a6
fixes #6789
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-29 15:01:38 +01:00
Andrea Maria Piana 08291a8396
Keep username/photo-path synced across devices
We add syncing of account fields in pairing messages (only photo-path &
name for now). Also a sync message is sent each time we send a
contact-update, to keep other devices in sync. The change is compatible
with previous clients as it's just an accretion of transit.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-29 11:37:14 +01:00
Andrey Shovkoplyas 89f66eab0e
fixed Download latest button for Mac
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-11-29 10:25:42 +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
Roman Volosovskyi c506521778
[slow sign in] Better handling of migration failures and db encryption problems.
Migration failures are handled separately from other errors which might appear
during opening account's realm DB. In case if user chooses to erase
the account's database, only this database will be removed and other accounts
will not be touched.
2018-11-28 14:13:30 +02:00
Andrey Shovkoplyas 028ab522b9
[#6867] Add on-send-sync to chat.command extension
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-11-27 21:23:20 +01:00
Igor Mandrigin 0547bfec0c
Don't show the LES debug label if the network wasn't initialized just yet.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-11-27 17:32:51 +01:00
Andrea Maria Piana 1e5b686027
Disable send button when no peers are connected.
Previously we were only checking whether `network-status` is equal to
`:offline`, therefore allowing the user to send messages even when no
peers are connected (i.e. the app is displaying Connecting to peers..).

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-27 13:15:57 +01:00
Julien Eluard a20f3ec546
[Fixes #6800] Introduce picker componenet (and expose activity-loading,
list)

Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-26 15:04:07 +01:00
Andrey Shovkoplyas ac7c20ac45
[#6802] Expose a query allowing to access supported ERC20 tokens
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-26 12:42:59 +01:00
Frederik Bolding 3c04982616
Fixed an issue with uninstalling non-active extensions
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-26 10:51:30 +01:00
tbenr 2d5c4e3892
fixes #6601
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-25 21:02:58 +01:00
yenda 60d85b4a2e
[fix 6841] wrongs subscription in group chat 2018-11-23 18:12:23 +01:00
Roman Volosovskyi 5d5847e4b9
[slow sign in] Add unviewed messages counter to chat entity.
Before we fetched ALL user-statuses with `status=received` (which means that
a message hasn't been seen), iterated them, grouped by chat and then stored
`message-ids` of these `user-statuses` in chat's `:unviewed-messages` key.

This commit introduces :unviewed-messages-count field in chat entity.
That means that there is no need to iterate `user-statuses` in order to count
a total number of unviewed messages, it is always stored along with chat.
In the rest of it, the difference is only that chat's db record should be
updated each time when unviewed messages are seen.
2018-11-23 17:08:48 +02:00
Julien Eluard 6f08a9fe7f
Fixed broken extensions HTTP events
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-23 14:00:25 +01:00