Skip to content

Commit e98d595

Browse files
committed
Follow MSC4157
1 parent e0397b2 commit e98d595

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/embedded.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -268,13 +268,23 @@ export class RoomWidgetClient extends MatrixClient {
268268
if (futureOpts) {
269269
// TODO: updatePendingEvent for futures?
270270
const response = await this.widgetApi.sendRoomFuture(
271-
futureOpts,
272271
event.getType(),
273272
event.getContent(),
273+
"future_timeout" in futureOpts ? futureOpts.future_timeout : undefined,
274+
"future_group_id" in futureOpts ? futureOpts.future_group_id : undefined,
274275
room.roomId,
275276
);
277+
if (!response.group_id) {
278+
throw new Error("'group_id' absent from response to a futures request");
279+
}
280+
if (!response.send_token) {
281+
throw new Error("'send_token' absent from response to a futures request");
282+
}
283+
if (!response.cancel_token) {
284+
throw new Error("'cancel_token' absent from response to a futures request");
285+
}
276286
return {
277-
future_group_id: response.future_group_id,
287+
future_group_id: response.group_id,
278288
send_token: response.send_token,
279289
cancel_token: response.cancel_token,
280290
...(response.refresh_token && { refresh_token: response.refresh_token }),
@@ -315,10 +325,11 @@ export class RoomWidgetClient extends MatrixClient {
315325
): Promise<ISendFutureResponse<F>> {
316326
// TODO: better type checking
317327
return (await this.widgetApi.sendStateFuture(
318-
futureOpts,
319328
eventType,
320329
stateKey,
321330
content,
331+
"future_timeout" in futureOpts ? futureOpts.future_timeout : undefined,
332+
"future_group_id" in futureOpts ? futureOpts.future_group_id : undefined,
322333
roomId,
323334
)) as unknown as ISendFutureResponse<F>;
324335
}

0 commit comments

Comments
 (0)