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