From 65c7657e3c795fc2df50e7105572cd96f50cad6a Mon Sep 17 00:00:00 2001 From: Germain Souquet Date: Thu, 30 Sep 2021 14:01:33 +0100 Subject: [PATCH 1/4] Pass replacingEventId for edits to appear in thread's view --- src/components/views/rooms/EventTile.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/views/rooms/EventTile.tsx b/src/components/views/rooms/EventTile.tsx index 2f3173fa56..b74ee3a8cf 100644 --- a/src/components/views/rooms/EventTile.tsx +++ b/src/components/views/rooms/EventTile.tsx @@ -1209,6 +1209,7 @@ export default class EventTile extends React.Component { onHeightChanged={this.props.onHeightChanged} tileShape={this.props.tileShape} editState={this.props.editState} + replacingEventId={this.props.replacingEventId} /> { actionBar } , From 94573568fddba01914e9ccf2df103d973bbde307 Mon Sep 17 00:00:00 2001 From: Germain Souquet Date: Thu, 30 Sep 2021 14:27:23 +0100 Subject: [PATCH 2/4] Add reply in thread hint to m.replace relations --- .../views/rooms/EditMessageComposer.tsx | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/components/views/rooms/EditMessageComposer.tsx b/src/components/views/rooms/EditMessageComposer.tsx index bc1ebe881c..eaf2ea9673 100644 --- a/src/components/views/rooms/EditMessageComposer.tsx +++ b/src/components/views/rooms/EditMessageComposer.tsx @@ -35,7 +35,7 @@ import { getKeyBindingsManager, MessageComposerAction } from '../../../KeyBindin import { replaceableComponent } from "../../../utils/replaceableComponent"; import SendHistoryManager from '../../../SendHistoryManager'; import Modal from '../../../Modal'; -import { MsgType } from 'matrix-js-sdk/src/@types/event'; +import { MsgType, UNSTABLE_ELEMENT_REPLY_IN_THREAD } from 'matrix-js-sdk/src/@types/event'; import { Room } from 'matrix-js-sdk/src/models/room'; import ErrorDialog from "../dialogs/ErrorDialog"; import QuestionDialog from "../dialogs/QuestionDialog"; @@ -46,7 +46,7 @@ import SettingsStore from "../../../settings/SettingsStore"; import { logger } from "matrix-js-sdk/src/logger"; import { withMatrixClientHOC, MatrixClientProps } from '../../../contexts/MatrixClientContext'; -import RoomContext from '../../../contexts/RoomContext'; +import RoomContext, { AppRenderingContext } from '../../../contexts/RoomContext'; function getHtmlReplyFallback(mxEvent: MatrixEvent): string { const html = mxEvent.getContent().formatted_body; @@ -67,7 +67,11 @@ function getTextReplyFallback(mxEvent: MatrixEvent): string { return ""; } -function createEditContent(model: EditorModel, editedEvent: MatrixEvent): IContent { +function createEditContent( + model: EditorModel, + editedEvent: MatrixEvent, + renderingContext?: AppRenderingContext, +): IContent { const isEmote = containsEmote(model); if (isEmote) { model = stripEmoteCommand(model); @@ -100,13 +104,19 @@ function createEditContent(model: EditorModel, editedEvent: MatrixEvent): IConte contentBody.formatted_body = `${htmlPrefix} * ${formattedBody}`; } - return Object.assign({ + const relation = { "m.new_content": newContent, "m.relates_to": { "rel_type": "m.replace", "event_id": editedEvent.getId(), }, - }, contentBody); + }; + + if (renderingContext === AppRenderingContext.Thread) { + relation['m.relates_to'][UNSTABLE_ELEMENT_REPLY_IN_THREAD.name] = true; + } + + return Object.assign(relation, contentBody); } interface IEditMessageComposerProps extends MatrixClientProps { @@ -132,8 +142,11 @@ class EditMessageComposer extends React.Component Date: Fri, 1 Oct 2021 14:50:35 +0100 Subject: [PATCH 3/4] Rename rendering context to timeline rendering type --- src/components/views/rooms/EditMessageComposer.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/views/rooms/EditMessageComposer.tsx b/src/components/views/rooms/EditMessageComposer.tsx index eaf2ea9673..f246361d06 100644 --- a/src/components/views/rooms/EditMessageComposer.tsx +++ b/src/components/views/rooms/EditMessageComposer.tsx @@ -46,7 +46,7 @@ import SettingsStore from "../../../settings/SettingsStore"; import { logger } from "matrix-js-sdk/src/logger"; import { withMatrixClientHOC, MatrixClientProps } from '../../../contexts/MatrixClientContext'; -import RoomContext, { AppRenderingContext } from '../../../contexts/RoomContext'; +import RoomContext, { TimelineRenderingType } from '../../../contexts/RoomContext'; function getHtmlReplyFallback(mxEvent: MatrixEvent): string { const html = mxEvent.getContent().formatted_body; @@ -70,7 +70,7 @@ function getTextReplyFallback(mxEvent: MatrixEvent): string { function createEditContent( model: EditorModel, editedEvent: MatrixEvent, - renderingContext?: AppRenderingContext, + renderingContext?: TimelineRenderingType, ): IContent { const isEmote = containsEmote(model); if (isEmote) { @@ -112,7 +112,7 @@ function createEditContent( }, }; - if (renderingContext === AppRenderingContext.Thread) { + if (renderingContext === TimelineRenderingType.Thread) { relation['m.relates_to'][UNSTABLE_ELEMENT_REPLY_IN_THREAD.name] = true; } From 597bfc9ca55e5d0a934c09dc93a696496e6b885d Mon Sep 17 00:00:00 2001 From: Germain Souquet Date: Fri, 1 Oct 2021 15:10:32 +0100 Subject: [PATCH 4/4] Rename changed variable --- src/components/views/rooms/EditMessageComposer.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/views/rooms/EditMessageComposer.tsx b/src/components/views/rooms/EditMessageComposer.tsx index f246361d06..ce42131b6d 100644 --- a/src/components/views/rooms/EditMessageComposer.tsx +++ b/src/components/views/rooms/EditMessageComposer.tsx @@ -143,7 +143,7 @@ class EditMessageComposer extends React.Component