Closes #30 (closed)
Load root certificate.
- Decide whether to stay with rustls or move to OpenSSL. Actix allows both OpenSSL gives an immediate segfault, nevermind. Let's avoid more C code :'-)
- WebSocket things
Make sure we're not doing too much socket work on the main thread.
Mostly, the decrypt with libsignal-protocol-rs should be called on a thread pool, because it happens synchronously and loads data from storage.#85
- Dispatch of password towards socket is dirty. This needs some re-engineering, maybe should be postponed to %v0.7.0: cleaned and refactored/another issue.
When everything is more or less ready, make sure Cargo.lock doesn't experience a very hectic life, squash it a bit.
- Especially squash all "Update libsignal-protocol-rs" commits into "Add libsignal-protocol and libsignal-service git versions".
- Get rid of the git-versions of libsignal-protocol, especially all the branches.
- This MR possibly imports AGPLv3+ code. Fix the LICENSE statements; we can combine Whisperfish 0.5 GPLv3 code + libsignal-service-rs AGPLv3+ code into Whisperfish 0.6, I'd think.
- Handle all incoming message types
Emit signals to QML (cfr. !27 (comment 377865196)):
The Go code emits the signals
c.MessageReceived(sess.ID, message.ID) c.NotifyMessage(sess.ID, sess.Source, sess.Message, sess.IsGroup)
- Make sure that the GUI actually updates !30 (merged)
These are things I note down while receiving messages from all over the place:
Where should read receipts be handled? Currently it panics, because
SessionCipher::open_envelopedoesn't know the type. Check this with the Java and Go versions.
- Fix up tests