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;