Commit Graph

170 Commits

Author SHA1 Message Date
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 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
Roman Volosovskyi ce28f6df66
fix Filter is nil error after re-login 2019-02-05 09:37:11 +02: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
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
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 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
Andrey Shovkoplyas 2430992fb4
Implement stickers market
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-01-28 17:18:44 +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
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
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 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
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
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
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
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
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
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 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
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
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
Andrea Maria Piana 1104becfba
Enable syncing of contacts & style pairing section
Everytime a contact request is sent/confirmed a sync message is also
sent to other devices so the contact is kept in sync.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-14 13:21:14 +01:00
Eric Dvorsak 548162f733
[refactor] remove current-public-key 2018-11-09 11:16:27 +01:00
Eric Dvorsak f8f499d9b0
[refactor] rename whisper-id and whisper-identity to public-key 2018-11-09 11:16:27 +01:00
yenda a3b2bc1b87
[fix #3913] do not logout when changing mailserver
- do not logout and remove previous mailserver
from peers when changing mailserver
- rename wnode mailserver
- move transport.inbox to mailserver.core
- fix all subs and db keys

Signed-off-by: yenda <eric@status.im>
2018-11-07 17:10:18 +01:00
Andrea Maria Piana 693eae9cf9
Send your own messages
Adds a `chat-id` field in `content` map.

The reason it has been added to the map instead of augmenting transit is
that it would simplify the calculation of `message-id`, which in this
case is consistent for both old & new clients.

`chat-id` also represents the `chat-id` with respect of the sender, as
in 1-to-1 chats that is asymmetric.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-06 21:19:50 +01:00
Andrea Maria Piana 7aa597517e
Add system messages to group chats
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-05 14:54:43 +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
janherich 76165cc7cb
[#6460] [#6438] Deduplication-ids 2018-10-24 09:43:52 +02:00
yenda 6b1c6c7d0a
[fix 6410] error when fetching history on certain accounts
- 1-1 chats don't have a topic anymore because they only use the
discovery topic so topic is nil for these chat
- this was causing an error when initializing whisper because the app
was trying to start a filter for each of the chat including the 1-1 with
no topic
- we now filter the transport/chats to only recover sym-key and start filter
for those with a topic
2018-10-22 19:10:34 +02:00
Andrea Maria Piana 22c8999eca
Send seen with pubkey
Signed-off-by: yenda <eric@status.im>
2018-10-17 15:25:47 +02:00
Roman Volosovskyi 99162fa971
[#6307] fix each message sent before upgrade is shown twice after upgrade from 0.9.29 2018-10-17 15:00:14 +03:00
yenda 69fe9dc582
[fix 6334] request multiple topics at once
- group requests by last-request to request multiple topic at once
- fix bug where fetching popup was shown when the app was actually in error
state

Signed-off-by: yenda <eric@status.im>
2018-10-16 17:13:47 +02:00
Roman Volosovskyi 7bab525202
request only one day history from mailserver 2018-10-16 14:33:51 +03:00
yenda d09a2956c3
increase request timeout
- give more time for requests to complete
- change mailserver everytime a request time out

Signed-off-by: yenda <eric@status.im>
2018-10-16 01:16:48 +02:00
yenda 660bd2d1bd
request 7 days of history
- fetch 7 days of history when joining a chat
- make 7 24h requests to request 7 days because mailservers
ignores requests for a timespan > 24h
- make requests sequentially to avoid timeouts
- change mailserver after 3 timeouts on a request

Signed-off-by: yenda <eric@status.im>
2018-10-15 17:18:59 +02:00
yenda 1a2fcdfe3a
refactor contact models
- move models.contact and models.contacts to contact.core
- add tags field to contact and chat

Signed-off-by: yenda <eric@status.im>
2018-10-15 11:57:48 +02:00
yenda efdd76b364
refactor inbox
Signed-off-by: yenda <eric@status.im>
2018-10-11 14:47:04 +02:00
Andrea Maria Piana 84151ea996
Ignore messages with too high clock-value and prevent stored messages to pollute the database
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-10-09 14:34:29 +02:00
Andrea Maria Piana 78b6d67d79
Allow to edit group membership
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-10-09 10:40:13 +02:00
janherich 66ef32d3b9
Move all the legacy handling into transit 2018-10-08 21:00:59 +02:00
yenda 0caab1f7ce
Fixup command validation
Signed-off-by: yenda <eric@status.im>
2018-10-03 00:05:19 +02:00
yenda 81b2afebc1
validate incoming message
- add validate method to StatusMessage protocol
- spec all message types for use in validate method
- use valid method after transit/decode step to reject
invalid messages

Signed-off-by: yenda <eric@status.im>
2018-10-02 20:52:04 +02:00
janherich 12021554f3
Ensure version compatibility 2018-10-02 16:04:05 +02:00
yenda f6a50b2799
[fix 6051] log error during connexion and pass cofx
Signed-off-by: yenda <eric@status.im>
2018-10-02 14:11:05 +02: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
yenda c9e4a11487
[fix 6052] check empty filters
Signed-off-by: yenda <eric@status.im>
2018-10-01 13:12:34 +02:00
janherich 44fbe62773
Chat replies + refactoring 2018-09-28 16:15:47 +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
yenda e9149786c5
remove usage of merge-effects macro and handlers-macro ns
Signed-off-by: yenda <eric@status.im>
2018-09-25 20:05:52 +02:00
yenda 4bd5d986b0
remove merge-fx macro
Signed-off-by: yenda <eric@status.im>
2018-09-25 15:18:44 +02:00
yenda d422a40fc6
fix event vector
Signed-off-by: yenda <eric@status.im>
2018-09-20 17:07:57 +02:00
yenda b71005d2fa
replace all register-event-db by fx and remove trim-v interceptor
Signed-off-by: yenda <eric@status.im>
2018-09-20 13:37:31 +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 02191f0380
[fix 5715] make generate-sym-key-from-password mergeable
Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-09-03 19:05:53 +02:00
Eric Dvorsak 728831c9c2
remove unused flags
reorganize config flags
remove offline-inbox-enabled? flag
remove universal-links-enabled flag
remove add-custom-mailservers-enabled? flag
remove spam-button-detection-enabled? flag
remove flags from config files

Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-08-29 16:30:05 +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
Eric Dvorsak dacfe97a58
refactor events and fns to dedicated namespaces
- move init events and fns to dedicated namespace
- move web3 events and fns to dedicated namespaces
- move signal events and fns to dedicated namespace
- move notifications events and fns to dedicated namespace
- cosmetic fixes
- remove print statements
- fix formating
- remove unused imports
2018-08-28 14:44:55 +02:00
Eric Dvorsak 002f3e73d1
refactor :initialize-account into single event
fix tests for :initialize-account refactoring
fix destructuring typo
2018-08-28 14:44:55 +02:00
Andrea Maria Piana 3754e1dbae
[Fixes #5130] Select mailserver round-robin on connection failure
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-07-17 08:49:24 +02:00
Andrea Maria Piana b34744133b
[fixes #4745] Don't query mailserver on restored account
When creating a new account / recovery we don't poll the mailserver anymore for historic messages, which solves the immediate issue of fetching only received messages

Handle messages sent from a different device in public chat / restore history. The message will be added, shown correctly as sent by the user, and the status will be set as sent ( need to check for seen race condition, as messages will now be added twice). This means that multidevice should now work for public chats.

Move contact updates to discovery topic. This is necessary as there is a pre-existing bug whereby contact updates would not work anymore after wallet recovery, as the code relies on the initial contact request being stored on the mailserver, which we cannot guarantee (we only pull 7 days of data). Not pulling history anymore exacerbate the problems but does not introduce it.
To make sure that contact updates will work after wallet recovery, we also need to consider a ContactUpdate in the same way we consider a ContactRequest (the other peer has no idea that the user has recovered the wallet). This does not change any behaviour in terms of obscurity/security as ContactRequest are automatically processed (in both case the contact will be set as pending?, not as accepted)
At this stage ContactRequest, ContactRequestConfirmed, ContactUpdate have all the same logic, i.e. update the contact information, leave the pending flag alone.

Only 1 day of history is fetched for newly joined chats, if catching up 7 days is the cap as before.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-07-03 17:21:59 +02:00
Andrea Maria Piana 42509e8fb6
Dont query mailserver when from is greater than to
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-07-02 12:21:43 +02:00
Andrea Maria Piana a313557694
Cap maximum number of days requested to mailserver
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-06-19 20:13:19 +02:00
Eric Dvorsak b40b042b67
[fix 4212] update profiles with concurrent contact-requests 2018-06-15 20:14:52 +03:00
Andrea Maria Piana 2d54c3e2cc
Select random ms until users explicitictly choose one
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-06-14 15:02:15 +02:00
Andrea Maria Piana c66c457bbb
Default to value if key is nil
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-06-13 13:39:04 +02:00
janherich 4ba78de407
Faster seen marking
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-06-11 12:16:42 +02:00
Andrea Maria Piana 608c64e88d
Dont run receive-whisper-messages if the user is logged out
This handles a bug whereby we'd run receive-whisper-messages
when the user is logged out.

I could not replicate locally, but a few issues are apparent from
just inspecting the code:

1) there are some race-conditions on logout as we don't wait for all
the filters to be removed. Changing this behaviour is non trivial and
not sure if we can actually handle this completely
(status-go-has-a-message->remove-filter->logout->status-go-deliver-message).
2) no error handling is made in receive-whisper-messages.

This PR defensively handles both cases.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-06-07 14:16:35 +02:00
Pedro Pombeiro d3202dffa7
Disable group chats even in dev mode. Closes #4506 2018-06-06 08:59:41 +03:00
Andrea Maria Piana 75d1c04412
Allow for different password on different mailservers
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-06-04 14:28:43 +02:00
Eric Dvorsak 8782ecc06d
[fix 4574] do not send updates to pending contacts
fixes #4574

updates were sent to all pending contacts
fixes that by filtering on the pending? key
2018-06-02 08:31:24 +03:00
Roman Volosovskyi 5d41cdda0c
[#4551] fix error on fetching history for removed chat 2018-06-01 16:25:50 +03:00
Eric Dvorsak 68eb36f7b1
[fix] support offline contact request, confirmation and update
- fix a bug in profile where app would was returning directly to profile
screen after photo capture, showing updating to user but not actually saving
and broadcasting it
- adds support for offline contact request, confirmation and updates by
leveraging the :sent and :not-sent signal from status-go. Each chat
in the protocol layer uses a `resend?` field to keep track of the current
state of the contact, between `nil`, `contact-request`,
`contact-request-confirmation` and `contact-update`. There is no case
were it can be more than one case because if `contact-request` or
`contact-request-confirmation` was not sent yet `contact-update` is not
necessary as the latest contact infos will be sent with the request/confirmation

Signed-off-by: Eric Dvorsak <eric@status.im>
2018-05-31 17:43:37 +02:00
Eric Dvorsak ee7895fe43
[fix 4387] query mailserver in batches of 24 hours 2018-05-31 16:58:53 +03:00
janherich 874e88fc38
Fix seen statuses
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-05-29 14:48:27 +02:00
Eric Dvorsak 203f399aca
use from parameter for mailserver requests
Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-05-29 10:19:08 +02:00
Eric Dvorsak 3430bfe61e
Update last-received everytime a message is received from inbox 2018-05-29 09:58:32 +02:00
Andrea Maria Piana 9cfb591068
Remove chat / clear history
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-05-28 16:28:16 +02:00
Eric Dvorsak 21f9aa1b10
[fix 4466] improve peer-summary-change-fx
do not request messages from inbox everytime a peer is added or removed

Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-05-28 15:31:16 +02:00
janherich e1da12d8a2
Fast message grouping/sorting
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-05-24 13:38:40 +02:00
janherich 84208aeb85
Correct :shh/post accumulation
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-05-23 19:55:27 +02:00
Eric Dvorsak 50072ffe3f
[fix 4177] handle discovery signals
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-05-23 17:01:57 +02:00
Andrea Maria Piana 735a5b403d
Add custom mailservers feature-toggled
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-05-23 15:35:25 +02:00
Roman Volosovskyi dcefb0795d
Activate whisper envelope deduplication (performance).
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-05-22 16:55:20 +02:00
Eric Dvorsak 1d94a4d1cb
[fix] mailbox get-current-wnode-address
wrong symbol was introduced in recent PR

Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-05-18 16:37:40 +02:00
Roman Volosovskyi 9b5058d632
handle multiple incoming messages at once 2018-05-18 14:12:46 +03:00
Connor Christie 24d5fabe2e
Add support for custom network upstreams
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-05-18 11:25:21 +03:00
Eric Dvorsak 225d2e2ec0
[fix] request the right topic from inbox when adding new key
Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-05-15 10:24:25 +02:00
Eric Dvorsak baa471a929
remove message cache
message cache was initialized when logging-in so it was basically useless
it was causing a bug when switching account and getting a contact request
from the same user in 2 accounts without killing the app because the cache
was not reset and the subsequent contact requests were ignored

Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-05-14 14:45:49 +02:00
Dmitry Novotochinov cd41cefa96
Handle mailserver connection error
* Do not try to reconnect when offline
* If online, but mailserver is disconnected, show notification
* Tap on notification starts reconnecting process

Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-05-14 11:25:45 +02:00
Eric Dvorsak a0a79595ce
Rename multi-send-with-pubkey into multi-send-by-pub-key
previous naming was confusing because it actually sends using
the symkey of each chat whose simkey is passed as an argument

Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-05-12 11:52:47 +02:00
Andrey Shovkoplyas 94becb5094
updated status-go to latest
Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-05-11 15:42:16 +02:00