From ca450671584d96f14595d9909187eb4b0bc2a7f2 Mon Sep 17 00:00:00 2001 From: Andrew Ferrazzutti Date: Fri, 5 Jul 2024 04:59:48 +0900 Subject: [PATCH] Let Element Call widget set session memberships (#2459) Make Element Call widgets request permission to set device-specific session membership state events. --- src/widget.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/widget.ts b/src/widget.ts index 3635b6d9..57e4d83b 100644 --- a/src/widget.ts +++ b/src/widget.ts @@ -118,12 +118,15 @@ export const widget = ((): WidgetHelpers | null => { "org.matrix.rageshake_request", EventType.CallEncryptionKeysPrefix, ]; + const sendState = [ - { - eventType: EventType.GroupCallMemberPrefix, - stateKey: userId, // TODO: based on if we use the new format we want the key to be: `_${userId}_${deviceId}` - }, - ]; + userId, // legacy call membership events + `_${userId}_${deviceId}`, // session membership events + `${userId}_${deviceId}`, // MSC3779 session membership events + ].map((stateKey) => ({ + eventType: EventType.GroupCallMemberPrefix, + stateKey, + })); const receiveState = [ { eventType: EventType.RoomCreate }, { eventType: EventType.RoomMember },