Don't rely on rooms having timelines to use when checking widgets

This commit is contained in:
Travis Ralston 2021-09-02 14:27:20 -06:00
parent b8f6d2926c
commit 57aa045195

View file

@ -301,7 +301,9 @@ export class StopGapWidget extends EventEmitter {
// requests timeline capabilities in other rooms down the road. It's just easier to manage here.
for (const room of MatrixClientPeg.get().getRooms()) {
// Timelines are most recent last
this.readUpToMap[room.roomId] = arrayFastClone(room.getLiveTimeline().getEvents()).reverse()[0].getId();
const roomEvent = arrayFastClone(room.getLiveTimeline()?.getEvents() || []).reverse()[0];
if (!roomEvent) continue; // force later code to think the room is fresh
this.readUpToMap[room.roomId] = roomEvent.getId();
}
// Attach listeners for feeding events - the underlying widget classes handle permissions for us