Merge pull request #6733 from matrix-org/travis/fix-widgets

Don't rely on rooms having timelines to use when checking widgets
This commit is contained in:
Travis Ralston 2021-09-02 15:02:48 -06:00 committed by GitHub
commit 36f4b9f723
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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