Add support for MSC3061 (sharing room keys for past messages)
Until about v1.8, the Matrix spec did not allow sharing decryption keys for old messages that were sent before a new user joined the room. This was true regardless of the room's history visibility setting.
This bug in the spec was fixed in MSC 3061: Sharing room keys for past messages. On Android, this works great because support has been merged into the native Android SDK.
Unfortunately the Rust Crypto SDK does not yet support MSC3061. See this issue, which has not been touched in nearly a year.
So, we need to either:
- Fix matrix-rust-sdk/580 and ruma/1104
- Or, hack around the Crypto SDK's lack of support by implementing the MSC (temporarily) in Swift