Highlight status is now taken from the server's unread notif count

This commit is contained in:
David Baker 2015-12-18 17:51:17 +00:00
parent e57d0601b6
commit 5f6fe74ca8

View File

@ -52,6 +52,7 @@ module.exports = React.createClass({
cli.on("Room.timeline", this.onRoomTimeline);
cli.on("Room.name", this.onRoomName);
cli.on("Room.tags", this.onRoomTags);
cli.on("Room.receipt", this.onRoomReceipt);
cli.on("RoomState.events", this.onRoomStateEvents);
cli.on("RoomMember.name", this.onRoomMemberName);
@ -93,6 +94,7 @@ module.exports = React.createClass({
if (MatrixClientPeg.get()) {
MatrixClientPeg.get().removeListener("Room", this.onRoom);
MatrixClientPeg.get().removeListener("Room.timeline", this.onRoomTimeline);
MatrixClientPeg.get().removeListener("Room.receipt", this.onRoomReceipt);
MatrixClientPeg.get().removeListener("Room.name", this.onRoomName);
MatrixClientPeg.get().removeListener("RoomState.events", this.onRoomStateEvents);
}
@ -139,14 +141,6 @@ module.exports = React.createClass({
if (UnreadStatus.eventTriggersUnreadCount(ev)) {
hl = 1;
}
var me = room.getMember(MatrixClientPeg.get().credentials.userId);
var actions = MatrixClientPeg.get().getPushActionsForEvent(ev);
if ((actions && actions.tweaks && actions.tweaks.highlight) ||
(me && me.membership == "invite"))
{
hl = 2;
}
}
var newState = this.getRoomLists();
@ -163,6 +157,11 @@ module.exports = React.createClass({
this.setState(newState);
},
onRoomReceipt: function(receiptEvent, room) {
// because if we read a notification, it will affect notification count
this.refreshRoomList();
},
onRoomName: function(room) {
this._delayedRefreshRoomList();
},