Commit Graph

10 Commits

Author SHA1 Message Date
Andrea Maria Piana f51fd2e639
Remove deprecated bundle field 2019-09-10 13:33:37 +02:00
Andrea Maria Piana 1646cd6771
Add persistent datasync 2019-08-28 09:47:58 +02:00
Adam Babik f102941b62
Unify logging in tests (#38) 2019-07-30 20:36:42 +02:00
Adam Babik 0a8bf4c10e
Consolidate databases and migrations (#36) 2019-07-27 14:27:31 +02:00
Adam Babik 6a11d08b05
Prepare for status-go integration (#27)
status-go requires some special methods to be exposed in order to support the current integration.

Introduced families of methods marked as `DEPRECATED`:
* `SendRaw` to send transit-encoded messages, both public and private. It supports only private PFS-enabled messages. To send private non-PFS messages, we can add this functionality or it needs to happen through `shh_post` directly from status-react.
* `RetrieveRawAll` and `RetrieveRawWithFilter` to get retrieve decrypted but transit-encoded messages.
* `LoadFilters` and `RemoveFilters` to manage Whisper filters directly.
* By default, persistence of messages is disabled. It can be enabled with an option passed to `Messenger`.
* File paths to the databases are configurable in `Messenger`.
2019-07-23 10:33:57 +02:00
Andrea Maria Piana eb918ec8af
Fix lint & tests 2019-07-21 07:57:27 +02:00
Pedro Pombeiro c1f623388d
Move to zap structured logging library (#25) 2019-07-18 15:41:48 +02:00
Andrea Maria Piana 7623131be4
[Fixes #9] Increase multidevice response (#16)
We only generate the bundle once every 6 hours (or if pairing
information changes).
This means that in some cases where many devices appear/disappear,
new devices are not picked up until the bundle is refreshed.

For example:

Alice creates a device with timestamp t1 A1
Alice creates a device with timestamp t2 A2
Alice creates a device with timestamp t3 A3
Alice creates a device with timestamp t4 A4

Alice propagates this to bob, bob's list of active devices for alice is now: t2 A2,
t3 A3, t4 A4 as we only keep maximum 3.

If Alice sends a message to Bob from A1, previously it would be still
using t1 (as long as less than 6 hours have passed).

Now instead the new bundle will have t5 instead, so upon receiving the
message bob will have: t3 A3, t4 A4, t5 A1.

This commit changes the behavior to always update the timestamp before
publishing the bundle, so that as soon as a message is received from a
new device, it will increase the timestamp for that device.
2019-07-17 08:42:27 +02:00
Adam Babik 5c6039f77f
Refactor the library (#20) 2019-07-16 12:43:07 +02:00
Adam Babik e941e80f5c
move code from status-go and status-console-client 2019-07-08 11:21:21 +02:00