@@ -100,8 +100,10 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
100
100
hasUnsentEvents : this . countUnsentEvents ( ) > 0 ,
101
101
102
102
// generatePreview() will return nothing if the user has previews disabled
103
- messagePreview : this . generatePreview ( ) ,
103
+ messagePreview : "" ,
104
104
} ;
105
+ this . generatePreview ( ) ;
106
+
105
107
this . notificationState = RoomNotificationStateStore . instance . getRoomState ( this . props . room ) ;
106
108
this . roomProps = EchoChamber . forRoom ( this . props . room ) ;
107
109
if ( this . props . resizeNotifier ) {
@@ -123,7 +125,7 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
123
125
124
126
private onResize = ( ) => {
125
127
if ( this . showMessagePreview && ! this . state . messagePreview ) {
126
- this . setState ( { messagePreview : this . generatePreview ( ) } ) ;
128
+ this . generatePreview ( ) ;
127
129
}
128
130
} ;
129
131
@@ -147,7 +149,7 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
147
149
148
150
public componentDidUpdate ( prevProps : Readonly < IProps > , prevState : Readonly < IState > ) {
149
151
if ( prevProps . showMessagePreview !== this . props . showMessagePreview && this . showMessagePreview ) {
150
- this . setState ( { messagePreview : this . generatePreview ( ) } ) ;
152
+ this . generatePreview ( ) ;
151
153
}
152
154
if ( prevProps . room ?. roomId !== this . props . room ?. roomId ) {
153
155
MessagePreviewStore . instance . off (
@@ -236,17 +238,17 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
236
238
237
239
private onRoomPreviewChanged = ( room : Room ) => {
238
240
if ( this . props . room && room . roomId === this . props . room . roomId ) {
239
- // generatePreview() will return nothing if the user has previews disabled
240
- this . setState ( { messagePreview : this . generatePreview ( ) } ) ;
241
+ this . generatePreview ( ) ;
241
242
}
242
243
} ;
243
244
244
- private generatePreview ( ) : string | null {
245
+ private async generatePreview ( ) {
245
246
if ( ! this . showMessagePreview ) {
246
247
return null ;
247
248
}
248
249
249
- return MessagePreviewStore . instance . getPreviewForRoom ( this . props . room , this . props . tag ) ;
250
+ const messagePreview = await MessagePreviewStore . instance . getPreviewForRoom ( this . props . room , this . props . tag ) ;
251
+ this . setState ( { messagePreview } ) ;
250
252
}
251
253
252
254
private scrollIntoView = ( ) => {
0 commit comments