From 14336ef2a3d7eb2993b6fc1d95162bb33dfab9f9 Mon Sep 17 00:00:00 2001 From: Lotus Bot Date: Fri, 22 May 2026 22:09:38 -0400 Subject: [PATCH] fix: listenAction must reply to prevent widget transport timeout Previously the listenAction wrapper only called preventDefault() to stop the switch default from firing an error, but it never sent a reply. The widget transport would then wait for a response until it timed out. Now the wrapper also calls transport.reply(ev.detail, {}) to return an immediate success, fixing io.element.join, io.element.device_mute, and set_always_on_screen. --- src/app/plugins/call/CallEmbed.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app/plugins/call/CallEmbed.ts b/src/app/plugins/call/CallEmbed.ts index 6c44d7c58..362c08f90 100644 --- a/src/app/plugins/call/CallEmbed.ts +++ b/src/app/plugins/call/CallEmbed.ts @@ -467,6 +467,8 @@ export class CallEmbed { public listenAction(type: string, callback: (event: CustomEvent) => void) { const wrapped = (ev: CustomEvent) => { ev.preventDefault(); + // Reply with success so the widget transport doesn't time out waiting for a response + this.call.transport.reply(ev.detail as any, {}); callback(ev); }; return this.listenEvent(`action:${type}`, wrapped);