diff --git a/src/components/structures/TimelinePanel.js b/src/components/structures/TimelinePanel.js index ac4a7cbffc..07e534a359 100644 --- a/src/components/structures/TimelinePanel.js +++ b/src/components/structures/TimelinePanel.js @@ -513,11 +513,16 @@ var TimelinePanel = React.createClass({ // do a quick-reset of our unreadNotificationCount to avoid having // to wait from the remote echo from the homeserver. - this.props.timelineSet.room.setUnreadNotificationCount('total', 0); - this.props.timelineSet.room.setUnreadNotificationCount('highlight', 0); - dis.dispatch({ - action: 'on_room_read', - }); + // we only do this if we're right at the end, because we're just assuming + // that sending an RR for the latest message will set our notif counter + // to zero: it may not do this if we send an RR for somewhere before the end. + if (this.isAtEndOfLiveTimeline()) { + this.props.timelineSet.room.setUnreadNotificationCount('total', 0); + this.props.timelineSet.room.setUnreadNotificationCount('highlight', 0); + dis.dispatch({ + action: 'on_room_read', + }); + } } },