forked from Qortal/qortal-ui
Merge pull request #141 from PhillipLangMartinez/bugfix/not-initial-bug-reactions-get-original-first
for non-initial message, get original message if there is a chatrefer…
This commit is contained in:
commit
d00dc95ba5
@ -6,20 +6,28 @@ export const replaceMessagesEdited = async ({
|
|||||||
_publicKey
|
_publicKey
|
||||||
}) => {
|
}) => {
|
||||||
const findNewMessages = decodedMessages.map(async (msg) => {
|
const findNewMessages = decodedMessages.map(async (msg) => {
|
||||||
|
let originalMsg = msg
|
||||||
let msgItem = msg
|
let msgItem = msg
|
||||||
try {
|
try {
|
||||||
let msgQuery = `&involving=${msg.recipient}&involving=${msg.sender}`
|
if(msg.chatReference){
|
||||||
|
originalMsg = await parentEpml.request("apiCall", {
|
||||||
|
type: "api",
|
||||||
|
url: `/chat/message/${msg.chatReference}`,
|
||||||
|
})
|
||||||
|
originalMsg.chatReference = msg.chatReference
|
||||||
|
}
|
||||||
|
let msgQuery = `&involving=${originalMsg.recipient}&involving=${originalMsg.sender}`
|
||||||
if (!isReceipient) {
|
if (!isReceipient) {
|
||||||
msgQuery = `&txGroupId=${msg.txGroupId}`
|
msgQuery = `&txGroupId=${originalMsg.txGroupId}`
|
||||||
}
|
}
|
||||||
const response = await parentEpml.request("apiCall", {
|
const response = await parentEpml.request("apiCall", {
|
||||||
type: "api",
|
type: "api",
|
||||||
url: `/chat/messages?chatreference=${msg.signature}&reverse=true${msgQuery}`,
|
url: `/chat/messages?chatreference=${originalMsg.signature}&reverse=true${msgQuery}`,
|
||||||
})
|
})
|
||||||
let decodedMsgs = []
|
let decodedMsgs = []
|
||||||
response.map((eachMessage) => {
|
response.map((eachMessage) => {
|
||||||
const msgRes = decodeMessageFunc(eachMessage, isReceipient, _publicKey)
|
const msgRes = decodeMessageFunc(eachMessage, isReceipient, _publicKey)
|
||||||
let parsedMessageObj = msg
|
let parsedMessageObj = originalMsg
|
||||||
try {
|
try {
|
||||||
parsedMessageObj = JSON.parse(msgRes.decodedMessage)
|
parsedMessageObj = JSON.parse(msgRes.decodedMessage)
|
||||||
decodedMsgs.push({
|
decodedMsgs.push({
|
||||||
@ -40,19 +48,19 @@ export const replaceMessagesEdited = async ({
|
|||||||
|
|
||||||
const filterWithoutReactions = decodedMsgs.filter((message)=> {
|
const filterWithoutReactions = decodedMsgs.filter((message)=> {
|
||||||
|
|
||||||
return message.sender === msg.sender
|
return message.sender === originalMsg.sender
|
||||||
})
|
})
|
||||||
if (filterReactions && Array.isArray(filterReactions) && filterReactions.length !== 0) {
|
if (filterReactions && Array.isArray(filterReactions) && filterReactions.length !== 0) {
|
||||||
let responseItem = { ...filterReactions[0] }
|
let responseItem = { ...filterReactions[0] }
|
||||||
let parsedMessageMsg = {}
|
let parsedMessageMsg = {}
|
||||||
try {
|
try {
|
||||||
parsedMessageMsg = JSON.parse(msg.decodedMessage)
|
parsedMessageMsg = JSON.parse(originalMsg.decodedMessage)
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
||||||
}
|
}
|
||||||
let originalPosterMsg = {
|
let originalPosterMsg = {
|
||||||
...msg,
|
...originalMsg,
|
||||||
decodedMessage: parsedMessageMsg
|
decodedMessage: parsedMessageMsg
|
||||||
}
|
}
|
||||||
if(filterWithoutReactions.length > 0){
|
if(filterWithoutReactions.length > 0){
|
||||||
@ -70,8 +78,8 @@ export const replaceMessagesEdited = async ({
|
|||||||
|
|
||||||
msgItem = {
|
msgItem = {
|
||||||
...originalPosterMsg,
|
...originalPosterMsg,
|
||||||
senderName: msg.senderName,
|
senderName: originalMsg.senderName,
|
||||||
sender: msg.sender,
|
sender: originalMsg.sender,
|
||||||
editedTimestamp: response[0].timestamp,
|
editedTimestamp: response[0].timestamp,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -83,7 +91,7 @@ export const replaceMessagesEdited = async ({
|
|||||||
msgItem = {
|
msgItem = {
|
||||||
...responseItem,
|
...responseItem,
|
||||||
decodedMessage: originalPosterMsg,
|
decodedMessage: originalPosterMsg,
|
||||||
timestamp: msg.timestamp,
|
timestamp: originalMsg.timestamp,
|
||||||
editedTimestamp: responseItem.timestamp,
|
editedTimestamp: responseItem.timestamp,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -92,18 +100,18 @@ export const replaceMessagesEdited = async ({
|
|||||||
return msgItem
|
return msgItem
|
||||||
})
|
})
|
||||||
const updateMessages = await Promise.all(findNewMessages)
|
const updateMessages = await Promise.all(findNewMessages)
|
||||||
const findNewMessages2 = updateMessages.map(async (msg) => {
|
const findNewMessages2 = updateMessages.map(async (originalMsg) => {
|
||||||
let parsedMessageObj = msg
|
let parsedMessageObj = originalMsg
|
||||||
try {
|
try {
|
||||||
parsedMessageObj = JSON.parse(msg.decodedMessage)
|
parsedMessageObj = JSON.parse(originalMsg.decodedMessage)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return msg
|
return originalMsg
|
||||||
}
|
}
|
||||||
let msgItem = msg
|
let msgItem = originalMsg
|
||||||
try {
|
try {
|
||||||
let msgQuery = `&involving=${msg.recipient}&involving=${msg.sender}`
|
let msgQuery = `&involving=${originalMsg.recipient}&involving=${originalMsg.sender}`
|
||||||
if (!isReceipient) {
|
if (!isReceipient) {
|
||||||
msgQuery = `&txGroupId=${msg.txGroupId}`
|
msgQuery = `&txGroupId=${originalMsg.txGroupId}`
|
||||||
}
|
}
|
||||||
if (parsedMessageObj.repliedTo) {
|
if (parsedMessageObj.repliedTo) {
|
||||||
let originalReply
|
let originalReply
|
||||||
@ -129,7 +137,7 @@ export const replaceMessagesEdited = async ({
|
|||||||
let decodedMsgs = []
|
let decodedMsgs = []
|
||||||
response.map((eachMessage) => {
|
response.map((eachMessage) => {
|
||||||
const msgRes = decodeMessageFunc(eachMessage, isReceipient, _publicKey)
|
const msgRes = decodeMessageFunc(eachMessage, isReceipient, _publicKey)
|
||||||
let parsedMessageObj = msg
|
let parsedMessageObj = originalMsg
|
||||||
try {
|
try {
|
||||||
parsedMessageObj = JSON.parse(msgRes.decodedMessage)
|
parsedMessageObj = JSON.parse(msgRes.decodedMessage)
|
||||||
decodedMsgs.push({
|
decodedMsgs.push({
|
||||||
@ -143,7 +151,7 @@ export const replaceMessagesEdited = async ({
|
|||||||
})
|
})
|
||||||
const filterWithoutReactions = decodedMsgs.filter((message)=> {
|
const filterWithoutReactions = decodedMsgs.filter((message)=> {
|
||||||
|
|
||||||
return message.sender === msg.sender
|
return message.sender === originalMsg.sender
|
||||||
})
|
})
|
||||||
const originalReplyMessage = originalReply.timestamp ? originalReply : originalReply.length !== 0 ? originalReply[0] : null
|
const originalReplyMessage = originalReply.timestamp ? originalReply : originalReply.length !== 0 ? originalReply[0] : null
|
||||||
|
|
||||||
@ -162,7 +170,7 @@ export const replaceMessagesEdited = async ({
|
|||||||
sender: decodeOriginalReply.sender,
|
sender: decodeOriginalReply.sender,
|
||||||
}
|
}
|
||||||
msgItem = {
|
msgItem = {
|
||||||
...msg,
|
...originalMsg,
|
||||||
repliedToData: formattedRepliedToData,
|
repliedToData: formattedRepliedToData,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -173,7 +181,7 @@ export const replaceMessagesEdited = async ({
|
|||||||
) {
|
) {
|
||||||
|
|
||||||
msgItem = {
|
msgItem = {
|
||||||
...msg,
|
...originalMsg,
|
||||||
repliedToData: decodeMessageFunc(originalReplyMessage, isReceipient, _publicKey),
|
repliedToData: decodeMessageFunc(originalReplyMessage, isReceipient, _publicKey),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user