* protobuf
* do not send ack when not required
* remove from state if no ack required
* different send modes
* fix
* updated
* retransmit fix
* updated
* fixed
* renamed to ephemeral
* repeated
* gen
* resolution
* cleanup
* rough dependency code
* todo
* removed
* only stores if ephemeral
* started implementing the algo
* simplified
* updated
* we never store ephemeral messages so we did not need
* adds parents
* new schema
* tx to insert
* err
* removed old
* fixed
* changed log
* test persistence of parents
* removed
* rename
* ignoring
* Update store/messagestore_sqlite.go
Co-Authored-By: Adam Babik <adam@status.im>
* Update node/node.go
Co-Authored-By: Adam Babik <adam@status.im>
* Update node/node.go
Co-Authored-By: Adam Babik <adam@status.im>
* Update node/node.go
Co-Authored-By: Adam Babik <adam@status.im>
* more fixes
* Update store/messagestore_sqlite.go
Co-Authored-By: Adam Babik <adam@status.im>
* more fixes
* using refs
* Update node/node.go
Co-Authored-By: Adam Babik <adam@status.im>
* finished
* Update store/messagestore_sqlite.go
Co-Authored-By: Adam Babik <adam@status.im>
* Update 1572372377_initial_schema.down.sql
* desc + refactor
* started refactoring resolution
* Update README.md
* rewrote resolve
* mutex
* todo
* fixes
* sql impl
* added test
* log
* updates
* updated
* little bug
* fix
* added test
* first changes from @adambabik
* moved
* fixed test, started eventual ones
* fixed eventually test
* mock install
* consistent test
* mock
* fix lint
* Update dependency/tracker_sqlite.go
Co-Authored-By: Adam Babik <adam@status.im>
* fix
When receiving messages the state for the message is removed.
If no state is found an error was thrown.
This should not cause an error as that's an ok scenario.
Also changes the parsing of the flags from init to a custom method, as I
bumped in this issue https://github.com/golang/go/issues/31859
This commits changes the behavior so that we don't rely on the presence
of GroupID in the payload.
Adds some tests to verify the basic functionalities of BATCH and
INTERACTIVE mode, but more are required to ensure the correct
functioning.
Error handling and state management is probably also to be inspected
more carefully.