From 085271a86427ecfe0c0104d6c2ed1410881ece44 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sat, 26 May 2018 19:17:59 -0600 Subject: [PATCH 1/2] Update pinned messages in real time Fixes https://github.com/vector-im/riot-web/issues/5358 Signed-off-by: Travis Ralston --- src/components/views/rooms/PinnedEventsPanel.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/components/views/rooms/PinnedEventsPanel.js b/src/components/views/rooms/PinnedEventsPanel.js index 4624b3c051..e75cbea817 100644 --- a/src/components/views/rooms/PinnedEventsPanel.js +++ b/src/components/views/rooms/PinnedEventsPanel.js @@ -39,6 +39,19 @@ module.exports = React.createClass({ componentDidMount: function() { this._updatePinnedMessages(); + MatrixClientPeg.get().on("RoomState.events", this._onEvent); + }, + + componentWillUnmount: function() { + if (MatrixClientPeg.get()) { + MatrixClientPeg.get().removeListener("RoomState.events", this._onEvent); + } + }, + + _onEvent: function(ev) { + if (ev.getRoomId() === this.props.room.roomId && ev.getType() === "m.room.pinned_events") { + this._updatePinnedMessages(); + } }, _updatePinnedMessages: function() { From 929da30df8016926d1780ef0e04e42d366938eb6 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sun, 27 May 2018 10:28:47 -0600 Subject: [PATCH 2/2] onEvent -> onStateEvent Signed-off-by: Travis Ralston --- src/components/views/rooms/PinnedEventsPanel.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/views/rooms/PinnedEventsPanel.js b/src/components/views/rooms/PinnedEventsPanel.js index e75cbea817..50c40142da 100644 --- a/src/components/views/rooms/PinnedEventsPanel.js +++ b/src/components/views/rooms/PinnedEventsPanel.js @@ -39,16 +39,16 @@ module.exports = React.createClass({ componentDidMount: function() { this._updatePinnedMessages(); - MatrixClientPeg.get().on("RoomState.events", this._onEvent); + MatrixClientPeg.get().on("RoomState.events", this._onStateEvent); }, componentWillUnmount: function() { if (MatrixClientPeg.get()) { - MatrixClientPeg.get().removeListener("RoomState.events", this._onEvent); + MatrixClientPeg.get().removeListener("RoomState.events", this._onStateEvent); } }, - _onEvent: function(ev) { + _onStateEvent: function(ev) { if (ev.getRoomId() === this.props.room.roomId && ev.getType() === "m.room.pinned_events") { this._updatePinnedMessages(); }