Check for `room` in all `Room.timeline*` handlers

All `Room.timeline*` handlers must currently test for `room` first if they
expect it to exist. It is emitted not only for rooms, but also for timeline sets
without rooms, such as for notifications.

Almost all such handlers were correctly testing as needed, but it was missing
from `RoomBreadcrumbs`.

While that's quite confusing, we can start by testing for `room` when we expect
to have one.

Fixes https://github.com/vector-im/riot-web/issues/9630
pull/21833/head
J. Ryan Stinnett 2019-05-03 17:52:27 +01:00
parent 33bb9e2af6
commit c37ecb7a91
1 changed files with 1 additions and 0 deletions

View File

@ -117,6 +117,7 @@ export default class RoomBreadcrumbs extends React.Component {
}; };
onRoomTimeline = (event, room) => { onRoomTimeline = (event, room) => {
if (!room) return; // Can be null for the notification timeline, etc.
if (this.state.rooms.map(r => r.room.roomId).includes(room.roomId)) { if (this.state.rooms.map(r => r.room.roomId).includes(room.roomId)) {
this._calculateRoomBadges(room); this._calculateRoomBadges(room);
} }