mirror of https://github.com/vector-im/riot-web
Fix replying using chat effect commands (#9101)
parent
c0d69e1d30
commit
a2c5a59b22
|
@ -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],
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue