Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit 60edb85

Browse files
authored
Merge pull request #9969 from matrix-org/florianduros/fix/thread-rte-focus
Fix RTE focus behaviour in threads
2 parents 9aab7c5 + 1da78fa commit 60edb85

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

src/components/views/rooms/MessageComposer.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,10 @@ export class MessageComposer extends React.Component<IProps, IState> {
336336
const { permalinkCreator, relation, replyToEvent } = this.props;
337337
const composerContent = this.state.composerContent;
338338
this.setState({ composerContent: "", initialComposerContent: "" });
339-
dis.dispatch({ action: Action.ClearAndFocusSendMessageComposer });
339+
dis.dispatch({
340+
action: Action.ClearAndFocusSendMessageComposer,
341+
timelineRenderingType: this.context.timelineRenderingType,
342+
});
340343
await sendMessage(composerContent, this.state.isRichTextEnabled, {
341344
mxClient: this.props.mxClient,
342345
roomContext: this.context,

src/components/views/rooms/wysiwyg_composer/hooks/useWysiwygSendActionHandler.ts

+3
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ export function useWysiwygSendActionHandler(
5050
focusComposer(composerElement, context, roomContext, timeoutId);
5151
break;
5252
case Action.ClearAndFocusSendMessageComposer:
53+
// When a thread is opened, prevent the main composer to steal the thread composer focus
54+
if (payload.timelineRenderingType !== roomContext.timelineRenderingType) break;
55+
5356
composerFunctions.clear();
5457
focusComposer(composerElement, context, roomContext, timeoutId);
5558
break;

test/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ describe("SendWysiwygComposer", () => {
153153
// When we send the right action
154154
defaultDispatcher.dispatch({
155155
action: Action.ClearAndFocusSendMessageComposer,
156-
context: null,
156+
timelineRenderingType: defaultRoomContext.timelineRenderingType,
157157
});
158158

159159
// Then the component gets the focus

0 commit comments

Comments
 (0)