From 085271a86427ecfe0c0104d6c2ed1410881ece44 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sat, 26 May 2018 19:17:59 -0600 Subject: [PATCH] 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() {