* 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.
The cache is only approximate, i.e. it doesn't skip edits and similar,
but this might be good enough? Also no migration right now.
Speeds up startup by about 5x on my system.
Half the startup time is now loading the powerlevels for each room. We
can probably lazily load those too in the future.