Commit Graph

16 Commits

Author SHA1 Message Date
Adam Babik c2b7b022b7
move status-react compliant messages storage and API 2019-08-12 12:43:46 +02:00
Andrea Maria Piana e1f4f17baf
Add confirmations for datasync messages.
The signature of the `Raw` methods has been changed so that they return
the application messageID.
Clients will keep track of this ID and receive a notification through
the envelopesMonitor of the state of the envelopes (sent/expired).
Envelopes monitor is passed this ID as well.
We use an array of IDs as datasync messages might be batched.
2019-08-07 16:48:09 +02:00
Adam Babik 747ad73985
Merge filter package into transport/whisper (#46) 2019-08-06 17:33:32 +02:00
Andrea Maria Piana b742356b68
Add chats API calls
This commits adds two API calls:

SaveChat
GetChats

The first one behaves like an upsert.
The second takes two parameters, from, to and returns chats in reverse
order by timestamp.

Members and MembershipUpdates have been stored as blob of data to
simplify the querying (we never query them separately).
2019-08-02 07:38:20 +02:00
Adam Babik f102941b62
Unify logging in tests (#38) 2019-07-30 20:36:42 +02:00
Andrea Maria Piana 28b2244fed
Handle messages in raw method as well 2019-07-29 16:19:04 +02:00
Adam Babik 0a8bf4c10e
Consolidate databases and migrations (#36) 2019-07-27 14:27:31 +02:00
Andrea Maria Piana 3ad085fb9e
Add datasync
This commit adds the ability of reading and sending datasync messages.
Datasync messages are batched, so a single whisper message might
contain multiple protocol messages.
Datasync messages are parsed regardless of whether the datasync flag is
on, as this commit is backward compatible.

Sending messages is toggled off by default.
2019-07-26 14:09:24 +02:00
Pedro Pombeiro f5973102d8 Add `Messenger.RetrieveAll` method. Closes #24 (#26) 2019-07-26 08:19:03 +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
Pedro Pombeiro 7101358d7d
Add option to enable legacy generic discovery topic. Closes #12 (#22) 2019-07-17 16:50:09 +02:00
Adam Babik dec4e63d9f
Propagate shared secrets on encryption protocol init (#23) 2019-07-17 15:14:16 +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