Fix replying using chat effect commands (#9101)

t3chguy/dedup-icons-17oct
Michael Telatynski 2022-07-27 11:03:25 +01:00 committed by GitHub
parent c0d69e1d30
commit a2c5a59b22
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 17 deletions

View File

@ -1305,19 +1305,17 @@ export const Commands = [
description: effect.description(),
args: '<message>',
runFn: function(roomId, args) {
return success((async () => {
if (!args) {
args = effect.fallbackMessage();
MatrixClientPeg.get().sendEmoteMessage(roomId, args);
} else {
const content = {
msgtype: effect.msgType,
body: args,
};
MatrixClientPeg.get().sendMessage(roomId, content);
}
dis.dispatch({ action: `effects.${effect.command}` });
})());
let content: IContent;
if (!args) {
content = ContentHelpers.makeEmoteMessage(effect.fallbackMessage());
} else {
content = {
msgtype: effect.msgType,
body: args,
};
}
dis.dispatch({ action: `effects.${effect.command}` });
return successSync(content);
},
category: CommandCategories.effects,
renderingTypes: [TimelineRenderingType.Room],

View File

@ -337,7 +337,7 @@ class EditMessageComposer extends React.Component<IEditMessageComposerProps, ISt
return; // errored
}
if (cmd.category === CommandCategories.messages) {
if (cmd.category === CommandCategories.messages || cmd.category === CommandCategories.effects) {
editContent["m.new_content"] = content;
} else {
shouldSend = false;

View File

@ -358,12 +358,13 @@ export class SendMessageComposer extends React.Component<ISendMessageComposerPro
return; // errored
}
if (cmd.category === CommandCategories.messages) {
if (cmd.category === CommandCategories.messages || cmd.category === CommandCategories.effects) {
attachRelation(content, this.props.relation);
if (replyToEvent) {
addReplyToMessageContent(content, replyToEvent, {
permalinkCreator: this.props.permalinkCreator,
includeLegacyFallback: true,
// Exclude the legacy fallback for custom event types such as those used by /fireworks
includeLegacyFallback: content.msgtype?.startsWith("m.") ?? true,
});
}
} else {

View File

@ -65,7 +65,7 @@ export async function runSlashCommand(
let error = result.error;
if (result.promise) {
try {
if (cmd.category === CommandCategories.messages) {
if (cmd.category === CommandCategories.messages || cmd.category === CommandCategories.effects) {
messageContent = await result.promise;
} else {
await result.promise;