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 @@ -6,7 +6,6 @@ FetchMessageInfosPayload, SendMessageResult, SendReactionMessageRequest, - SendReactionMessageResult, SimpleMessagesPayload, } from '../types/message-types'; import type { MediaMessageServerDBContent } from '../types/messages/media.js'; @@ -207,17 +206,34 @@ callServerEndpoint: CallServerEndpoint, ): (( request: SendReactionMessageRequest, -) => Promise) => async request => { - const response = await callServerEndpoint('create_reaction_message', { - threadID: request.threadID, - localID: request.localID, - targetMessageID: request.targetMessageID, - reaction: request.reaction, - action: request.action, - }); +) => Promise) => async request => { + let resultInfo; + const getResultInfo = (passedResultInfo: CallServerEndpointResultInfo) => { + resultInfo = passedResultInfo; + }; + + const response = await callServerEndpoint( + 'create_reaction_message', + { + threadID: request.threadID, + localID: request.localID, + targetMessageID: request.targetMessageID, + reaction: request.reaction, + action: request.action, + }, + { getResultInfo }, + ); + + const resultInterface = resultInfo?.interface; + invariant( + resultInterface, + 'getResultInfo not called before callServerEndpoint resolves', + ); + return { id: response.newMessageInfo.id, - newMessageInfo: response.newMessageInfo, + time: response.newMessageInfo.time, + interface: resultInterface, }; }; diff --git a/lib/types/message-types.js b/lib/types/message-types.js --- a/lib/types/message-types.js +++ b/lib/types/message-types.js @@ -517,11 +517,6 @@ +interface: CallServerEndpointResultInfoInterface, }; -export type SendReactionMessageResult = { - +id: string, - +newMessageInfo: RawMessageInfo, -}; - export type SendMessagePayload = { +localID: string, +serverID: string, diff --git a/native/chat/reaction-message-utils.js b/native/chat/reaction-message-utils.js --- a/native/chat/reaction-message-utils.js +++ b/native/chat/reaction-message-utils.js @@ -76,10 +76,11 @@ action, }); return { + localID, serverID: result.id, threadID, - time: result.newMessageInfo.time, - newMessageInfos: [result.newMessageInfo], + time: result.time, + interface: result.interface, }; } catch (e) { Alert.alert( diff --git a/web/chat/reaction-message-utils.js b/web/chat/reaction-message-utils.js --- a/web/chat/reaction-message-utils.js +++ b/web/chat/reaction-message-utils.js @@ -54,10 +54,11 @@ action, }); return { + localID, serverID: result.id, threadID, - time: result.newMessageInfo.time, - newMessageInfos: [result.newMessageInfo], + time: result.time, + interface: result.interface, }; } catch (e) { pushModal(