From 910bdf0802190fd37a255fea818389175adef3e6 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 14 Oct 2020 09:38:45 +0100 Subject: [PATCH 1/2] Fix broken rendering of Room Create when showHiddenEvents enabled Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/messages/RoomCreate.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/views/messages/RoomCreate.js b/src/components/views/messages/RoomCreate.js index 22d5ebba1e..268acc935c 100644 --- a/src/components/views/messages/RoomCreate.js +++ b/src/components/views/messages/RoomCreate.js @@ -22,6 +22,7 @@ import dis from '../../../dispatcher/dispatcher'; import { RoomPermalinkCreator } from '../../../utils/permalinks/Permalinks'; import { _t } from '../../../languageHandler'; import {MatrixClientPeg} from '../../../MatrixClientPeg'; +import ViewSourceEvent from "./ViewSourceEvent"; export default class RoomCreate extends React.Component { static propTypes = { @@ -45,7 +46,8 @@ export default class RoomCreate extends React.Component { render() { const predecessor = this.props.mxEvent.getContent()['predecessor']; if (predecessor === undefined) { - return
; // We should never have been instaniated in this case + // We would never have been instantiated in this case except if user has showHiddenEventsInTimeline enabled + return ; } const prevRoom = MatrixClientPeg.get().getRoom(predecessor['room_id']); const permalinkCreator = new RoomPermalinkCreator(prevRoom, predecessor['room_id']); From 38bf7b3055ace8e4a7ddc01e61c2b587125c22d7 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 14 Oct 2020 09:46:54 +0100 Subject: [PATCH 2/2] Apply the fix more generically Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/messages/RoomCreate.js | 4 +--- src/components/views/rooms/EventTile.js | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/components/views/messages/RoomCreate.js b/src/components/views/messages/RoomCreate.js index 268acc935c..6098b1217e 100644 --- a/src/components/views/messages/RoomCreate.js +++ b/src/components/views/messages/RoomCreate.js @@ -22,7 +22,6 @@ import dis from '../../../dispatcher/dispatcher'; import { RoomPermalinkCreator } from '../../../utils/permalinks/Permalinks'; import { _t } from '../../../languageHandler'; import {MatrixClientPeg} from '../../../MatrixClientPeg'; -import ViewSourceEvent from "./ViewSourceEvent"; export default class RoomCreate extends React.Component { static propTypes = { @@ -46,8 +45,7 @@ export default class RoomCreate extends React.Component { render() { const predecessor = this.props.mxEvent.getContent()['predecessor']; if (predecessor === undefined) { - // We would never have been instantiated in this case except if user has showHiddenEventsInTimeline enabled - return ; + return
; // We should never have been instantiated in this case } const prevRoom = MatrixClientPeg.get().getRoom(predecessor['room_id']); const permalinkCreator = new RoomPermalinkCreator(prevRoom, predecessor['room_id']); diff --git a/src/components/views/rooms/EventTile.js b/src/components/views/rooms/EventTile.js index c2b1af2ddc..01646ad567 100644 --- a/src/components/views/rooms/EventTile.js +++ b/src/components/views/rooms/EventTile.js @@ -657,8 +657,7 @@ export default class EventTile extends React.Component { // source tile when there's no regular tile for an event and also for // replace relations (which otherwise would display as a confusing // duplicate of the thing they are replacing). - const useSource = !tileHandler || this.props.mxEvent.isRelation("m.replace"); - if (useSource && SettingsStore.getValue("showHiddenEventsInTimeline")) { + if (SettingsStore.getValue("showHiddenEventsInTimeline") && !haveTileForEvent(this.props.mxEvent)) { tileHandler = "messages.ViewSourceEvent"; // Reuse info message avatar and sender profile styling isInfoMessage = true;