fix: override cancelScheduledDelayedEvent/restart/send in CallWidgetDriver
The base WidgetDriver throws Failed to override function for these methods. ClientWidgetApi routes update_delayed_event widget actions to cancelScheduledDelayedEvent, restartScheduledDelayedEvent, or sendScheduledDelayedEvent. Without these overrides every delayed-event refresh from element-call fails, causing MembershipManager to drop the call after retries. Also make listenAction auto-call preventDefault so io.element.join and other custom widget actions return success. Add set_always_on_screen handler so element-call PiP requests are acknowledged.
This commit is contained in:
@@ -148,6 +148,18 @@ export class CallWidgetDriver extends WidgetDriver {
|
||||
await client._unstable_updateDelayedEvent(delayId, action);
|
||||
}
|
||||
|
||||
public async cancelScheduledDelayedEvent(delayId: string): Promise<void> {
|
||||
await this.mx._unstable_cancelScheduledDelayedEvent(delayId);
|
||||
}
|
||||
|
||||
public async restartScheduledDelayedEvent(delayId: string): Promise<void> {
|
||||
await this.mx._unstable_restartScheduledDelayedEvent(delayId);
|
||||
}
|
||||
|
||||
public async sendScheduledDelayedEvent(delayId: string): Promise<void> {
|
||||
await this.mx._unstable_sendScheduledDelayedEvent(delayId);
|
||||
}
|
||||
|
||||
public async sendToDevice(
|
||||
eventType: string,
|
||||
encrypted: boolean,
|
||||
|
||||
Reference in New Issue
Block a user