@@ -26,14 +26,8 @@ import {
2626} from "matrix-widget-api" ;
2727
2828import { MatrixEvent , IEvent , IContent , EventStatus } from "./models/event" ;
29- import {
30- ISendActionFutureResponse ,
31- ISendEventResponse ,
32- ISendFutureRequestOpts ,
33- ISendFutureResponse ,
34- ISendTimeoutFutureResponse ,
35- } from "./@types/requests" ;
36- import { EventType , StateEvents } from "./@types/event" ;
29+ import { ISendEventResponse } from "./@types/requests" ;
30+ import { EventType } from "./@types/event" ;
3731import { logger } from "./logger" ;
3832import {
3933 MatrixClient ,
@@ -254,43 +248,7 @@ export class RoomWidgetClient extends MatrixClient {
254248 throw new Error ( `Unknown room: ${ roomIdOrAlias } ` ) ;
255249 }
256250
257- protected async encryptAndSendEvent ( room : Room , event : MatrixEvent ) : Promise < ISendEventResponse > ;
258- protected async encryptAndSendEvent < F extends ISendFutureRequestOpts > (
259- room : Room ,
260- event : MatrixEvent ,
261- futureOpts : F ,
262- ) : Promise < ISendFutureResponse < F > > ;
263- protected async encryptAndSendEvent (
264- room : Room ,
265- event : MatrixEvent ,
266- futureOpts ?: ISendFutureRequestOpts ,
267- ) : Promise < ISendEventResponse | ISendTimeoutFutureResponse | ISendActionFutureResponse > {
268- if ( futureOpts ) {
269- // TODO: updatePendingEvent for futures?
270- const response = await this . widgetApi . sendRoomEvent (
271- event . getType ( ) ,
272- event . getContent ( ) ,
273- room . roomId ,
274- "future_timeout" in futureOpts ? futureOpts . future_timeout : undefined ,
275- "future_group_id" in futureOpts ? futureOpts . future_group_id : undefined ,
276- ) ;
277- if ( ! response . future_group_id ) {
278- throw new Error ( "'future_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- }
286- return {
287- future_group_id : response . future_group_id ,
288- send_token : response . send_token ,
289- cancel_token : response . cancel_token ,
290- ...( response . refresh_token && { refresh_token : response . refresh_token } ) ,
291- } ;
292- }
293-
251+ protected async encryptAndSendEvent ( room : Room , event : MatrixEvent ) : Promise < ISendEventResponse > {
294252 let response : ISendEventFromWidgetResponseData ;
295253 try {
296254 response = await this . widgetApi . sendRoomEvent ( event . getType ( ) , event . getContent ( ) , room . roomId ) ;
@@ -300,9 +258,6 @@ export class RoomWidgetClient extends MatrixClient {
300258 }
301259
302260 room . updatePendingEvent ( event , EventStatus . SENT , response . event_id ) ;
303- if ( ! response . event_id ) {
304- throw new Error ( "'event_id' absent from response to an event request" ) ;
305- }
306261 return { event_id : response . event_id } ;
307262 }
308263
@@ -312,33 +267,7 @@ export class RoomWidgetClient extends MatrixClient {
312267 content : any ,
313268 stateKey = "" ,
314269 ) : Promise < ISendEventResponse > {
315- const response = await this . widgetApi . sendStateEvent ( eventType , stateKey , content , roomId ) ;
316- if ( response . event_id === undefined ) {
317- throw new Error ( "'event_id' absent from response to an event request" ) ;
318- }
319- return { event_id : response . event_id } ;
320- }
321-
322- /**
323- * @experimental This currently relies on an unstable MSC (MSC4140).
324- */
325- // eslint-disable-next-line
326- public async _unstable_sendStateFuture < K extends keyof StateEvents , F extends ISendFutureRequestOpts > (
327- roomId : string ,
328- futureOpts : F ,
329- eventType : K ,
330- content : StateEvents [ K ] ,
331- stateKey = "" ,
332- ) : Promise < ISendFutureResponse < F > > {
333- // TODO: better type checking
334- return ( await this . widgetApi . sendStateEvent (
335- eventType ,
336- stateKey ,
337- content ,
338- roomId ,
339- "future_timeout" in futureOpts ? futureOpts . future_timeout : undefined ,
340- "future_group_id" in futureOpts ? futureOpts . future_group_id : undefined ,
341- ) ) as unknown as ISendFutureResponse < F > ;
270+ return await this . widgetApi . sendStateEvent ( eventType , stateKey , content , roomId ) ;
342271 }
343272
344273 public async sendToDevice ( eventType : string , contentMap : SendToDeviceContentMap ) : Promise < { } > {
0 commit comments