@@ -1031,15 +1031,17 @@ export class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, M
10311031                const  prepareDelayedDisconnection  =  async  ( ) : Promise < void >  =>  { 
10321032                    try  { 
10331033                        // TODO: If delayed event times out, re-join! 
1034-                         const  res  =  await  resendIfRateLimited ( ( )  =>  this . client . _unstable_sendDelayedStateEvent ( 
1035-                             this . room . roomId , 
1036-                             { 
1037-                                 delay : 8000 , 
1038-                             } , 
1039-                             EventType . GroupCallMemberPrefix , 
1040-                             { } ,  // leave event 
1041-                             stateKey , 
1042-                         ) ) ; 
1034+                         const  res  =  await  resendIfRateLimited ( ( )  => 
1035+                             this . client . _unstable_sendDelayedStateEvent ( 
1036+                                 this . room . roomId , 
1037+                                 { 
1038+                                     delay : 8000 , 
1039+                                 } , 
1040+                                 EventType . GroupCallMemberPrefix , 
1041+                                 { } ,  // leave event 
1042+                                 stateKey , 
1043+                             ) , 
1044+                         ) ; 
10431045                        this . disconnectDelayId  =  res . delay_id ; 
10441046                    }  catch  ( e )  { 
10451047                        logger . error ( "Failed to prepare delayed disconnection event:" ,  e ) ; 
@@ -1058,10 +1060,12 @@ export class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, M
10581060                if  ( this . disconnectDelayId  !==  undefined )  { 
10591061                    try  { 
10601062                        const  knownDisconnectDelayId  =  this . disconnectDelayId ; 
1061-                         await  resendIfRateLimited ( ( )  =>  this . client . _unstable_updateDelayedEvent ( 
1062-                             knownDisconnectDelayId , 
1063-                             UpdateDelayedEventAction . Restart , 
1064-                         ) ) ; 
1063+                         await  resendIfRateLimited ( ( )  => 
1064+                             this . client . _unstable_updateDelayedEvent ( 
1065+                                 knownDisconnectDelayId , 
1066+                                 UpdateDelayedEventAction . Restart , 
1067+                             ) , 
1068+                         ) ; 
10651069                    }  catch  ( e )  { 
10661070                        logger . warn ( "Failed to update delayed disconnection event, prepare it again:" ,  e ) ; 
10671071                        this . disconnectDelayId  =  undefined ; 
@@ -1076,10 +1080,12 @@ export class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, M
10761080                if  ( this . disconnectDelayId  !==  undefined )  { 
10771081                    try  { 
10781082                        const  knownDisconnectDelayId  =  this . disconnectDelayId ; 
1079-                         await  resendIfRateLimited ( ( )  =>  this . client . _unstable_updateDelayedEvent ( 
1080-                             knownDisconnectDelayId , 
1081-                             UpdateDelayedEventAction . Send , 
1082-                         ) ) ; 
1083+                         await  resendIfRateLimited ( ( )  => 
1084+                             this . client . _unstable_updateDelayedEvent ( 
1085+                                 knownDisconnectDelayId , 
1086+                                 UpdateDelayedEventAction . Send , 
1087+                             ) , 
1088+                         ) ; 
10831089                        sentDelayedDisconnect  =  true ; 
10841090                    }  catch  ( e )  { 
10851091                        logger . error ( "Failed to send our delayed disconnection event:" ,  e ) ; 
@@ -1111,7 +1117,9 @@ export class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, M
11111117    private  readonly  delayDisconnection  =  async  ( ) : Promise < void >  =>  { 
11121118        try  { 
11131119            const  knownDisconnectDelayId  =  this . disconnectDelayId ! ; 
1114-             await  resendIfRateLimited ( ( )  =>  this . client . _unstable_updateDelayedEvent ( knownDisconnectDelayId ,  UpdateDelayedEventAction . Restart ) ) ; 
1120+             await  resendIfRateLimited ( ( )  => 
1121+                 this . client . _unstable_updateDelayedEvent ( knownDisconnectDelayId ,  UpdateDelayedEventAction . Restart ) , 
1122+             ) ; 
11151123            this . scheduleDelayDisconnection ( ) ; 
11161124        }  catch  ( e )  { 
11171125            logger . error ( "Failed to delay our disconnection event:" ,  e ) ; 
@@ -1163,6 +1171,7 @@ export class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, M
11631171} 
11641172
11651173async  function  resendIfRateLimited < T > ( func : ( )  =>  Promise < T > ,  numRetriesAllowed : number  =  1 ) : Promise < T >  { 
1174+     // eslint-disable-next-line no-constant-condition 
11661175    while  ( true )  { 
11671176        try  { 
11681177            return  await  func ( ) ; 
@@ -1175,13 +1184,16 @@ async function resendIfRateLimited<T>(func: () => Promise<T>, numRetriesAllowed:
11751184                    resendDelay  =  e . getRetryAfterMs ( )  ??  defaultMs ; 
11761185                    logger . info ( `Rate limited by server, retrying in ${ resendDelay }  ms` ) ; 
11771186                }  catch  ( e )  { 
1178-                     logger . warn ( `Error while retrieving a rate-limit retry delay, retrying after default delay of ${ defaultMs }  ` ,  e ) ; 
1187+                     logger . warn ( 
1188+                         `Error while retrieving a rate-limit retry delay, retrying after default delay of ${ defaultMs }  ` , 
1189+                         e , 
1190+                     ) ; 
11791191                    resendDelay  =  defaultMs ; 
11801192                } 
11811193                await  sleep ( resendDelay ) ; 
11821194            }  else  { 
11831195                throw  e ; 
11841196            } 
11851197        } 
1186-     } ; 
1198+     } 
11871199} 
0 commit comments