@@ -748,11 +748,21 @@ export class GroupCall extends TypedEventEmitter<
748748 }
749749
750750 public onMemberStateChanged = async ( event : MatrixEvent ) => {
751+ // If we haven't entered the call yet, we don't care
752+ if ( this . state !== GroupCallState . Entered ) {
753+ return ;
754+ }
755+
751756 // The member events may be received for another room, which we will ignore.
752757 if ( event . getRoomId ( ) !== this . room . roomId ) return ;
753758
754759 const member = this . room . getMember ( event . getStateKey ( ) ) ;
755- if ( ! member ) return ;
760+ if ( ! member ) {
761+ logger . warn ( `Couldn't find room member for ${ event . getStateKey ( ) } : ignoring member state event!` ) ;
762+ return ;
763+ }
764+
765+ logger . debug ( `Processing member state event for ${ member . userId } ` ) ;
756766
757767 const ignore = ( ) => {
758768 this . removeParticipant ( member ) ;
@@ -766,7 +776,7 @@ export class GroupCall extends TypedEventEmitter<
766776 : [ ] ; // Ignore expired device data
767777
768778 if ( callsState . length === 0 ) {
769- logger . log ( `Ignoring member state from ${ member . userId } member not in any calls.` ) ;
779+ logger . info ( `Ignoring member state from ${ member . userId } member not in any calls.` ) ;
770780 ignore ( ) ;
771781 return ;
772782 }
@@ -802,14 +812,10 @@ export class GroupCall extends TypedEventEmitter<
802812 return ;
803813 }
804814
805- if ( this . state !== GroupCallState . Entered ) {
806- return ;
807- }
808-
809815 // Only initiate a call with a user who has a userId that is lexicographically
810816 // less than your own. Otherwise, that user will call you.
811817 if ( member . userId < localUserId ) {
812- logger . log ( `Waiting for ${ member . userId } to send call invite.` ) ;
818+ logger . debug ( `Waiting for ${ member . userId } to send call invite.` ) ;
813819 return ;
814820 }
815821
@@ -849,6 +855,8 @@ export class GroupCall extends TypedEventEmitter<
849855 const requestScreenshareFeed = opponentDevice . feeds . some (
850856 ( feed ) => feed . purpose === SDPStreamMetadataPurpose . Screenshare ) ;
851857
858+ logger . log ( `Placing call to ${ member . userId } .` ) ;
859+
852860 try {
853861 await newCall . placeCallWithCallFeeds (
854862 this . getLocalFeeds ( ) . map ( feed => feed . clone ( ) ) ,
0 commit comments