@@ -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