Calling fsync everytime we save to the db is slow, which is actually
fairly noticeable in some larger E2EE rooms. Speed that up slightly by
batching the olm session persisting.
* Initial commit for VoIP v1 implementation
* Added draft of event handlers for voip methods
* Added event handlers for VoIP events, added rejectCall, added version tracking for call version for V0 and V1 compatibility
* Added call events to the general message pipeline. Modified Call Reject mechanism
* Added message delegates for new events. Modified hidden events. Updated handle events.
* Updated implementation to keep track of calls on other devices
* Fixed linting
* Fixed code warnings
* Fixed minor bugs
* fixed ci
* Added acceptNegotiation method definition when missing gstreamer
* Fixed warnings
* Fixed linting
* First draft of unread line feature.
* Minor visual fix.
* Removed unnecessary ternary operator.
* Extended unread line functionality to work on minimised window or focusing another window.
* Fix for unread line not showing when last read message is hidden.
* Minor performance improvement. Fix for misbehaving event2order DB at application start.
* Fix for possible performance issues when user has joined a large number of rooms.
* Fix for breaking macos and clazy builds.
* Changed on windows focus function to refresh unread line if room is unread.
* Unread line is removed when user sends a message.
* Linting.
* Fixed unread line to work in standalone room windows.
* Switch isRoomUnread for index 0.
* Merged try/catch blocks.
* Fix for crash on opening a room invite.
* Call fullyReadEventId function when used instead of storing it and passing it through.
* Function that was meant to sync the unread line was relying on an async function, oops.
* Linting again.
* More linting...
* Minor changes.
Experimentally, setting the database size to 2GB didn't work.
These values are quite arbitrary, and should probably be settings or
automatically adjusted.