@@ -24,7 +24,6 @@ import { ViewRoom as ViewRoomEvent } from "@matrix-org/analytics-events/types/ty
2424import { JoinedRoom as JoinedRoomEvent } from "@matrix-org/analytics-events/types/typescript/JoinedRoom" ;
2525import { JoinRule } from "matrix-js-sdk/src/@types/partials" ;
2626import { Room } from "matrix-js-sdk/src/models/room" ;
27- import { ClientEvent } from "matrix-js-sdk/src/client" ;
2827import { MatrixEvent } from "matrix-js-sdk/src/models/event" ;
2928import { Optional } from "matrix-events-sdk" ;
3029
@@ -48,6 +47,7 @@ import { JoinRoomErrorPayload } from "../dispatcher/payloads/JoinRoomErrorPayloa
4847import { ViewRoomErrorPayload } from "../dispatcher/payloads/ViewRoomErrorPayload" ;
4948import ErrorDialog from "../components/views/dialogs/ErrorDialog" ;
5049import { ActiveRoomChangedPayload } from "../dispatcher/payloads/ActiveRoomChangedPayload" ;
50+ import { awaitRoomDownSync } from "../utils/RoomUpgrade" ;
5151
5252const NUM_JOIN_RETRY = 5 ;
5353
@@ -209,10 +209,7 @@ export class RoomViewStore extends Store<ActionPayload> {
209209 this . setState ( { shouldPeek : false } ) ;
210210 }
211211
212- const cli = MatrixClientPeg . get ( ) ;
213-
214- const updateMetrics = ( ) => {
215- const room = cli . getRoom ( payload . roomId ) ;
212+ awaitRoomDownSync ( MatrixClientPeg . get ( ) , payload . roomId ) . then ( room => {
216213 const numMembers = room . getJoinedMemberCount ( ) ;
217214 const roomSize = numMembers > 1000 ? "MoreThanAThousand"
218215 : numMembers > 100 ? "OneHundredAndOneToAThousand"
@@ -228,15 +225,7 @@ export class RoomViewStore extends Store<ActionPayload> {
228225 isDM : ! ! DMRoomMap . shared ( ) . getUserIdForRoomId ( room . roomId ) ,
229226 isSpace : room . isSpaceRoom ( ) ,
230227 } ) ;
231-
232- cli . off ( ClientEvent . Room , updateMetrics ) ;
233- } ;
234-
235- if ( cli . getRoom ( payload . roomId ) ) {
236- updateMetrics ( ) ;
237- } else {
238- cli . on ( ClientEvent . Room , updateMetrics ) ;
239- }
228+ } ) ;
240229
241230 break ;
242231 }
0 commit comments