Browse Source

Don't mark rooms as unread on m.room.member changes

A quick and hacky fix to issue #169.
pull/387/head
Richard van der Hoff 7 years ago
parent
commit
c42d4f901b
  1. 3
      package.json
  2. 15
      src/controllers/organisms/RoomList.js

3
package.json

@ -49,6 +49,7 @@
"parallelshell": "^1.2.0",
"rimraf": "^2.4.3",
"source-map-loader": "^0.1.5",
"uglifycss": "0.0.15"
"uglifycss": "0.0.15",
"webpack": "^1.12.6"
}
}

15
src/controllers/organisms/RoomList.js

@ -88,24 +88,33 @@ module.exports = {
onRoomTimeline: function(ev, room, toStartOfTimeline) {
if (toStartOfTimeline) return;
var newState = this.getRoomLists();
var hl = 0;
if (
room.roomId != this.props.selectedRoom &&
ev.getSender() != MatrixClientPeg.get().credentials.userId)
{
var hl = 1;
// don't mark rooms as unread for just member changes
if (ev.getType() != "m.room.member") {
hl = 1;
}
var actions = MatrixClientPeg.get().getPushActionsForEvent(ev);
if (actions && actions.tweaks && actions.tweaks.highlight) {
hl = 2;
}
}
if (hl > 0) {
var newState = this.getRoomLists();
// obviously this won't deep copy but this shouldn't be necessary
var amap = this.state.activityMap;
amap[room.roomId] = Math.max(amap[room.roomId] || 0, hl);
newState.activityMap = amap;
this.setState(newState);
}
this.setState(newState);
},
onRoomName: function(room) {

Loading…
Cancel
Save