Skip to content

Commit 17f6cc7

Browse files
authored
Fix redact sending over in embedded (widget) mode (#4398)
1 parent c8403f3 commit 17f6cc7

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/embedded.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,11 +291,17 @@ export class RoomWidgetClient extends MatrixClient {
291291
event: MatrixEvent,
292292
delayOpts?: SendDelayedEventRequestOpts,
293293
): Promise<ISendEventResponse | SendDelayedEventResponse> {
294+
// We need to extend the content with the redacts parameter
295+
// The js sdk uses event.redacts but the widget api uses event.content.redacts
296+
// This will be converted back to event.redacts in the widget driver.
297+
const content = event.event.redacts
298+
? { ...event.getContent(), redacts: event.event.redacts }
299+
: event.getContent();
294300
if (delayOpts) {
295301
// TODO: updatePendingEvent for delayed events?
296302
const response = await this.widgetApi.sendRoomEvent(
297303
event.getType(),
298-
event.getContent(),
304+
content,
299305
room.roomId,
300306
"delay" in delayOpts ? delayOpts.delay : undefined,
301307
"parent_delay_id" in delayOpts ? delayOpts.parent_delay_id : undefined,
@@ -305,7 +311,7 @@ export class RoomWidgetClient extends MatrixClient {
305311

306312
let response: ISendEventFromWidgetResponseData;
307313
try {
308-
response = await this.widgetApi.sendRoomEvent(event.getType(), event.getContent(), room.roomId);
314+
response = await this.widgetApi.sendRoomEvent(event.getType(), content, room.roomId);
309315
} catch (e) {
310316
this.updatePendingEventStatus(room, event, EventStatus.NOT_SENT);
311317
throw e;

0 commit comments

Comments
 (0)