Inviting a user to an E2EE room does not share keys for history with them, causing UISIs everywhere.
Steps to reproduce
- In EX, Invite a user to an E2EE room.
- The user accepts the invite
- They never receive the keys for the shared history, so will not be able to catch up on history.
- EX will show these messages as UISIs rather than surpressing them.
Outcome
What did you expect?
If you invite a user to a room, you should share them the keys they need to decrypt the messages they have permission to. (RHUL might have undermined this, given it lets malicious servers fake invites to steal keys, in which case we might instead need to wait until we have client-controlled group membership).
What happened instead?
UISIs everywhere.
Your phone model
No response
Operating system version
No response
Application version
343
Homeserver
No response
Will you send logs?
No
I don't think this is true anymore. The complement-crypto tests at least pass for invited users.
I think K is right, closing
Sorry, it looks like the bug wasn't clear enough - this bug is definitely still open. When you invite a user into a room, EX does not share the historical keys with the user.
This is:
- https://github.com/matrix-org/matrix-rust-sdk/issues/580 at the rust level
- https://github.com/matrix-org/matrix-rust-sdk/pull/2650 as an implementation at rust
...but is snarled in RHUL fallout still. But from a product perspective, it's a real black eye.
Ah, it would help if you didn't mention invites then. This is a general "we don't share historical keys" bug, invites are not a pre-req.
but this is specifically about invites! the missing behaviour is that when Alice invites Bob to a room with shared hist viz, she should (in theory) use MSC3061 to send a tonne of keyshares for the history in that room so that Bob can actually read history.
In other words, it's the EX implementation of:
- https://github.com/matrix-org/matrix-js-sdk/pull/1640
- https://github.com/element-hq/element-ios/issues/4947
- https://github.com/element-hq/element-android/issues/4153
Now, i think these got backed out post-RHUL, which is why this is now all in limbo, but from a product perspective i'm trying to point out that it's an awful experience and we've regressed here without a clear path forwards.
Just ran into this when inviting a user (he is using EX) to a E2EE room with 8 others. He got the message to get the keys for the previous messages, but nothing happens. New messages decrypt just fine on his phone. He is using only EX on his account and this is the only session he has
Would it help if he logged into his account on ED or EW? Would the keys then eventually sync up so his EX shows the messages?