v0.6.0
https://lily-is.land/kazv/libkazv/-/releases/v0.6.0
0.6.0
libkazv 0.6.0 features many optimizations and fixes. First of all, the handling of room events not yet decrypted are optimized so that the session ids of undecrypted events in a room are collected in a map, and the session id will be first checked for existence before trying to decrypt. This drastically decreases the time needed for one tick of the main event loop that involves decryption, from about 1s to almost instantaneous, which means you now get notifications for new messages in almost no time. See more details in this diff. We now also conform to the spec by not validating the sender key and sender device id in MegOlm-encrypted messages (they are still validated in Olm messages). This corrects the behaviour when we see an encrypted message of which the sender’s device is removed or just not there at all (for example, this may happen for bridges). Lastly, there are improvements in test coverage, from 71% to 74%.
Added
- Build on ubuntu 22.04 in CI. https://iron.lily-is.land/D75
- Calculate a map from session id to undecrypted event ids in Room. https://iron.lily-is.land/D67
- Create function Crypto::hasInboundGroupSession(). https://iron.lily-is.land/D68
Fixed
- Fix possibly dangling reference to a temporary. https://iron.lily-is.land/D61
- Remove sender key from KeyOfGroupSession. https://iron.lily-is.land/D69
- Do not verify sender key and sender device id for megolm events. https://iron.lily-is.land/D70
- Make tryDecryptEvents() use and update Room::undecryptedEvents. https://iron.lily-is.land/D71
- Do not reveal session key when encrypting an event. https://iron.lily-is.land/D74
- Amend room state when paginating back. https://iron.lily-is.land/D85
Removed
- Remove AppendTimelineAction and PrependTimelineAction. https://iron.lily-is.land/D62
- Remove EncryptOlmEventAction and ClientModel::olmEncrypt(). https://iron.lily-is.land/D63
Internal changes
- Create a mock helper for contexts. https://iron.lily-is.land/D64
- Visualize coverage report in pipeline. https://iron.lily-is.land/D73