diff --git a/keyserver/src/responders/message-responders.js b/keyserver/src/responders/message-responders.js --- a/keyserver/src/responders/message-responders.js +++ b/keyserver/src/responders/message-responders.js @@ -192,6 +192,7 @@ const sendReactionMessageRequestInputValidator = tShape({ threadID: t.String, + localID: t.maybe(t.String), targetMessageID: t.String, reaction: tString('👍'), action: t.enums.of(['add_reaction', 'remove_reaction']), @@ -203,7 +204,7 @@ const request: SendReactionMessageRequest = input; await validateInput(viewer, sendReactionMessageRequestInputValidator, input); - const { threadID, targetMessageID, reaction, action } = request; + const { threadID, localID, targetMessageID, reaction, action } = request; if (!targetMessageID || !reaction) { throw new ServerError('invalid_parameters'); @@ -244,7 +245,7 @@ throw new ServerError('invalid_parameters'); } - const messageData: ReactionMessageData = { + let messageData: ReactionMessageData = { type: messageTypes.REACTION, threadID, creatorID: viewer.id, @@ -253,6 +254,9 @@ reaction, action, }; + if (localID) { + messageData = { ...messageData, localID }; + } const rawMessageInfos = await createMessages(viewer, [messageData]); diff --git a/lib/actions/message-actions.js b/lib/actions/message-actions.js --- a/lib/actions/message-actions.js +++ b/lib/actions/message-actions.js @@ -216,6 +216,7 @@ 'create_reaction_message', { threadID: request.threadID, + localID: request.localID, targetMessageID: request.targetMessageID, reaction: request.reaction, action: request.action,