-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sender Data: Populate missing SenderData when we receive device info via /keys/query
#3753
Comments
Referring to the flowchart at matrix-rust-sdk/crates/matrix-sdk-crypto/src/olm/group_sessions/sender_data_finder.rs Lines 36 to 124 in 7c5c5a8
As I understand things, we need to do the following when handling each device in a
|
So, in short, I think we need a new method on cryptostore: async fn get_inbound_group_sessions_for_device(
&self,
device_key: Curve25519PublicKey,
sender_data_type: SenderDataType
) -> InboundGroupSessionStream;
enum SenderDataType {
UnknownDevice,
DeviceInfo,
SenderKnown, // for completeness
}
// InboundGroupSessionStream is a struct that implements Stream<Item=Result<InboundGroupSession>>. Or something. We'd need to add indices on (curve_key, sender_data_type) to both the sqlite and indexeddb table implementations to implement this. |
I think that this makes sense, though not sure we ever figured out how to implement a streaming storage API. |
Part of #3544
The text was updated successfully, but these errors were encountered: