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

Commit b4d657b

Browse files
authored
Fix emoji picker for editing thread responses (#8671)
1 parent 20fd68b commit b4d657b

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/components/structures/RoomView.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -883,6 +883,8 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
883883
if (payload.composerType) break;
884884

885885
let timelineRenderingType: TimelineRenderingType = payload.timelineRenderingType;
886+
// ThreadView handles Action.ComposerInsert itself due to it having its own editState
887+
if (timelineRenderingType === TimelineRenderingType.Thread) break;
886888
if (this.state.timelineRenderingType === TimelineRenderingType.Search &&
887889
payload.timelineRenderingType === TimelineRenderingType.Search
888890
) {

src/components/structures/ThreadView.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ import PosthogTrackers from "../../PosthogTrackers";
5353
import { ButtonEvent } from "../views/elements/AccessibleButton";
5454
import { RoomViewStore } from '../../stores/RoomViewStore';
5555
import Spinner from "../views/elements/Spinner";
56+
import { ComposerInsertPayload, ComposerType } from "../../dispatcher/payloads/ComposerInsertPayload";
5657

5758
interface IProps {
5859
room: Room;
@@ -136,6 +137,18 @@ export default class ThreadView extends React.Component<IProps, IState> {
136137
this.setupThread(payload.event);
137138
}
138139
switch (payload.action) {
140+
case Action.ComposerInsert: {
141+
if (payload.composerType) break;
142+
if (payload.timelineRenderingType !== TimelineRenderingType.Thread) break;
143+
144+
// re-dispatch to the correct composer
145+
dis.dispatch<ComposerInsertPayload>({
146+
...(payload as ComposerInsertPayload),
147+
composerType: this.state.editState ? ComposerType.Edit : ComposerType.Send,
148+
});
149+
break;
150+
}
151+
139152
case Action.EditEvent:
140153
// Quit early if it's not a thread context
141154
if (payload.timelineRenderingType !== TimelineRenderingType.Thread) return;

0 commit comments

Comments
 (0)