matrix-rust-sdk
matrix-rust-sdk copied to clipboard
Implement MSC3061: Sharing room keys for past messages
From element-ios created by manuroe: vector-im/element-ios#4947
As per MSC3061
See https://github.com/vector-im/element-android/issues/4153
I've created a Ruma issue for this as well: https://github.com/ruma/ruma/issues/1104
When we do this, we should be sure not to repeat https://github.com/vector-im/element-web/issues/23778 (sending out all of the room keys at once).
I'm aware of the flaws of the current approach, that is one of the reasons why this isn't yet implemented in the rust-sdk. A proper solution would need more time.
Thanks for reminding me.
@poljar if there are other flaws it might be good to link them here, so we can make sure that they are correctly addressed in whatever solution we use for the rust-sdk?
The main problems are:
- The authenticity of such keys can't be proven
- There's no way send over a batch of room keys, so
m.forwarded_room_key
is used - Because of no 1 it's important to treat such keys in a special way, but no 2. makes it hard to do so.
What I proposed was to have a separate event type, which will separate the concepts and allow a batch of room keys to be sent over.