We allow the user not to specify an upper bound, in which case it will
default to Time.Now() + 60 seconds, to accomodate for messages with
higher timestamp.
Limit is also defaulted to 2000 if not set.
We removed as well the 24 hours limitation as now all the requests will
come with a limit.
* Split shhext.tracker into envelopes and mail monitors
* Send envelopes on every new attempt to deliver a message
* Re-send user payloads if previous envelopes weren't acknowledged
* Remove debug api across the codebase
Currently we only decrypt messages if received on the current bundle.
This changes the behavior so that messages can be decrypted if sent to
previous bundles as well, as otherwise is a bit restrictive
Currently PFS messages are decrypted and therefore modified before being
passed to the client. This make IDs computation difficult, as we pass
the whole object to the client and expect the object be passed back once
confirmed.
This changes the behavior allowing confirmation by ID, which is passed
to the client instead of the raw object.
This is a breaking change, but status-react is already forward
compatible.
* add SendTransactionWithSignature to Transactor
* add comment to SendTransactionWithSignature
* add SendTransactionWithSignature to StatusBackend
* add SendTransactionWithSignature to lib
* add SendTransactionWithSignature to mobile pkg
* increment nonce if needed
* add TestSendTransactionWithSignature_IncrementingNonce
* add NoError assertion
* validate tx args
* debug CI adding `env`
* CI debug
* remove debug
* return error if tx nonce is not the expected one
* fix lint warning
This PR does a few things:
1) Add a call GetContactCode to check whether we have a bundle for a
given user.
2) Add a DH flag to the API (non-breaking change), for those messages
that we want to target all devices (contact-requests for example).
3) Fixes a few small issues with installations, namely if for example a
messages is sent without a bundle (currently not done by any client),
we still infer installation info, so that we can communicate securely
and making it truly optional.
MailServer pruning was implemented as a separate command but that required stopping a mail server and executing the command manually. This change builds pruning into MailServer and can be set using MailServerDataRetention in WhisperConfig.