* refactor most of the components to outside of their Session folder
* finish moving overlay and memberListItem to react hook
* fix bug with kicked member len >2 not being displayed
also sort admins first in UpdateGroupMembers dialog
* fix admin leaving text of groupNotification
* add a useFocusMount hook to focus input fields on mount
* make click avatar convo item open only user dialog
* cleanup config default.json
* make sure to use convoController to build sync message
* disable showing pubkey on opengroups
* add a pause on audio playback
Fixes#2079
* do not consider expire timer update unread messages #1881
* cleanup conversation props in redux to only have what cannot be derived
* fix app not starting without the await on convo creation
* cleanup props of message model
* add using timestamp offset from network for sending part1
* remove MessageController as we now rely on the database
* fix tests for message sending overriding timestamp
- prekeys
- SessionCipher
- LokiCipher
- endSession and the reset Session logic
- what we called Sessionprotocol manager (to keep track of session with
everyone)
Instead of blocking the message queue when we don't have a session, we instead just send out a session request and send the queued messages using fallback encryption.
This means that users will be able to message right away without having to wait.
The only down side is that all messages sent before sessions are established will be using the weaker encryption.
This change also means we have to detach session requests from envelope type (which is a good thing) and thus now a message is a session request if it contains a preKeyBundle.