From 2b5dc7bfd523e2554291c4df49d80aa10bf310e5 Mon Sep 17 00:00:00 2001 From: Will Hunt Date: Mon, 15 Sep 2025 10:54:59 +0100 Subject: [PATCH] Force `preload` to be false when setting an intent on an Element Call. (#30759) * force preload * lnt --- src/models/Call.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/models/Call.ts b/src/models/Call.ts index 3ee028da97..81970da6b1 100644 --- a/src/models/Call.ts +++ b/src/models/Call.ts @@ -595,19 +595,26 @@ export class ElementCall extends Call { const isDM = !!DMRoomMap.shared().getUserIdForRoomId(room.roomId); const oldestCallMember = client.matrixRTC.getRoomSession(room).getOldestMembership(); const hasCallStarted = !!oldestCallMember && oldestCallMember.sender !== client.getSafeUserId(); + // XXX: @element-hq/element-call-embedded <= 0.15.0 sets the wrong parameter for + // preload by default so we override here. This can be removed when that package + // is released and upgraded. if (isDM) { params.append("sendNotificationType", "ring"); if (hasCallStarted) { params.append("intent", ElementCallIntent.JoinExistingDM); + params.append("preload", "false"); } else { params.append("intent", ElementCallIntent.StartCallDM); + params.append("preload", "false"); } } else { params.append("sendNotificationType", "notification"); if (hasCallStarted) { params.append("intent", ElementCallIntent.JoinExisting); + params.append("preload", "false"); } else { params.append("intent", ElementCallIntent.StartCall); + params.append("preload", "false"); } } }