Commit Graph

2327 Commits

Author SHA1 Message Date
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
Roman Volosovskyi 6ca3933b71
fix user-statuses after migration from #6722 2018-11-23 13:50:52 +02:00
Andrey Shovkoplyas 719b9f199c
[#6642] Allow adding extra key/value pair to chat command
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-23 09:34:05 +01: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
Bruce Hauman 880d1da3d1
[#6815] restyle sent-transaction screen
Signed-off-by: Goran Jovic <goranjovic@gmail.com>
2018-11-23 08:33:54 +01:00
Bruce Hauman f7c9f8631d
[#6786] restyle main wallet screen
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-22 18:26:46 +01:00
Andrey Shovkoplyas 5dd345fe49
[#6643] Allow chat command suggestions to select parameter
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-22 15:57:39 +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
Bruce Hauman a5c5e1831f
better protect transaction history polling from errors
Go blocks parse try catch blocks and turn them into event
dispatches. This captures the original intent of the code to catch
errors and terminate the current async worker execution.

Signed-off-by: yenda <eric@status.im>
2018-11-21 17:25:36 +01:00
Roman Volosovskyi d66198a420
[slow sign in]
fix iterating over all messages from realm db (was done for deduplication)
async loading of chats (:init-chats event)
2018-11-21 18:21:52 +02:00
Julien Eluard 205c9aaecc
[Fixes #6825] Do not open settings as a modal
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-21 16:36:06 +01:00
Jakub Sokołowski 01c8d9b25b
stop using build-* git tags for counting build numbers
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-21 13:43:12 +01:00
yenda 20bd65c0c0
[refactor] differentiate private and public chat and contact subs
- aliased namespace keywords are used for local subs used for caching
- synthetic :chat namespace is used for subs used elsewhere

Signed-off-by: yenda <eric@status.im>
2018-11-21 12:08:51 +01:00
Julien Eluard ee4cafbbe3
[Fixes #6784] Fixed some ABI codec issues
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-11-21 11:12:19 +01:00