diff --git a/src/WhoIsTyping.js b/src/WhoIsTyping.js index f3d89f0ff2..2a12703a27 100644 --- a/src/WhoIsTyping.js +++ b/src/WhoIsTyping.js @@ -18,6 +18,12 @@ var MatrixClientPeg = require("./MatrixClientPeg"); import { _t } from './languageHandler'; module.exports = { + usersTypingApartFromMeAndIgnored: function(room) { + return this.usersTyping( + room, [MatrixClientPeg.get().credentials.userId].concat(MatrixClientPeg.get().getIgnoredUsers()) + ); + }, + usersTypingApartFromMe: function(room) { return this.usersTyping( room, [MatrixClientPeg.get().credentials.userId] diff --git a/src/components/structures/MessagePanel.js b/src/components/structures/MessagePanel.js index 6cb075183d..0124f5d65e 100644 --- a/src/components/structures/MessagePanel.js +++ b/src/components/structures/MessagePanel.js @@ -553,6 +553,9 @@ module.exports = React.createClass({ if (!r.userId || r.type !== "m.read" || r.userId === myUserId) { return; // ignore non-read receipts and receipts from self. } + if (MatrixClientPeg.get().isUserIgnored(r.userId)) { + return; // ignore ignored users + } let member = room.getMember(r.userId); if (!member) { return; // ignore unknown user IDs diff --git a/src/components/structures/RoomStatusBar.js b/src/components/structures/RoomStatusBar.js index 2a81605a78..68b7249d3b 100644 --- a/src/components/structures/RoomStatusBar.js +++ b/src/components/structures/RoomStatusBar.js @@ -121,7 +121,7 @@ module.exports = React.createClass({ onRoomMemberTyping: function(ev, member) { this.setState({ - usersTyping: WhoIsTyping.usersTypingApartFromMe(this.props.room), + usersTyping: WhoIsTyping.usersTypingApartFromMeAndIgnored(this.props.room), }); },