fix: adapt SmallWidget to matrix-widget-api 1.17.0 API

This commit is contained in:
hazre
2026-02-19 23:09:37 +01:00
parent 30303fe4c2
commit a4c34eff8a
2 changed files with 23 additions and 1 deletions

View File

@@ -128,6 +128,7 @@ export class SmallWidget extends EventEmitter {
);
this.iframe = iframe;
this.messaging = new ClientWidgetApi(this.mockWidget, iframe, driver);
this.messaging.setViewedRoomId(this.roomId ?? null);
// Emit events during the widget lifecycle
this.messaging.on('preparing', () => this.emit('preparing'));
@@ -317,7 +318,7 @@ export class SmallWidget extends EventEmitter {
this.eventsToFeed.add(ev);
} else {
const raw = ev.getEffectiveEvent();
this.messaging.feedEvent(raw as IRoomEvent, this.roomId ?? '').catch(() => null);
this.messaging.feedEvent(raw as IRoomEvent).catch(() => null);
}
}
}

View File

@@ -308,6 +308,27 @@ export class SmallWidgetDriver extends WidgetDriver {
await client._unstable_updateDelayedEvent(delayId, action);
}
/**
* @experimental Part of MSC4140 & MSC4157
*/
public async cancelScheduledDelayedEvent(delayId: string): Promise<void> {
await this.updateDelayedEvent(delayId, UpdateDelayedEventAction.Cancel);
}
/**
* @experimental Part of MSC4140 & MSC4157
*/
public async restartScheduledDelayedEvent(delayId: string): Promise<void> {
await this.updateDelayedEvent(delayId, UpdateDelayedEventAction.Restart);
}
/**
* @experimental Part of MSC4140 & MSC4157
*/
public async sendScheduledDelayedEvent(delayId: string): Promise<void> {
await this.updateDelayedEvent(delayId, UpdateDelayedEventAction.Send);
}
/**
* Implements {@link WidgetDriver#sendToDevice}
*/