Merge pull request #128 from PhillipLangMartinez/bugfix/change-reference-for-signature-chatReference

Bugfix/change reference for signature chat reference
This commit is contained in:
AlphaX-Projects 2023-02-17 13:48:04 +01:00 committed by GitHub
commit fc1666e96e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 52 additions and 42 deletions

View File

@ -1020,7 +1020,7 @@ class ChatPage extends LitElement {
${this.repliedToMessageObj.version.toString() === '1' ? html` ${this.repliedToMessageObj.version.toString() === '1' ? html`
${this.repliedToMessageObj.message} ${this.repliedToMessageObj.message}
` : ''} ` : ''}
${this.repliedToMessageObj.version.toString() === '2' ${+this.repliedToMessageObj.version > 1
? html` ? html`
${unsafeHTML(generateHTML(this.repliedToMessageObj.message, ${unsafeHTML(generateHTML(this.repliedToMessageObj.message,
[ [
@ -1643,7 +1643,7 @@ class ChatPage extends LitElement {
} }
async goToRepliedMessage(message, clickedOnMessage){ async goToRepliedMessage(message, clickedOnMessage){
const findMessage = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById(message.reference) const findMessage = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById(message.signature)
if(findMessage){ if(findMessage){
findMessage.scrollIntoView({ behavior: 'smooth', block: 'center' }) findMessage.scrollIntoView({ behavior: 'smooth', block: 'center' })
@ -1667,7 +1667,7 @@ class ChatPage extends LitElement {
if((message.timestamp - this.messagesRendered[0].timestamp) < 86400000){ if((message.timestamp - this.messagesRendered[0].timestamp) < 86400000){
const findOriginalMessage = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById(clickedOnMessage.reference) const findOriginalMessage = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById(clickedOnMessage.signature)
if(findOriginalMessage){ if(findOriginalMessage){
const messageClientRect = findOriginalMessage.getBoundingClientRect() const messageClientRect = findOriginalMessage.getBoundingClientRect()
this.isLoadingGoToRepliedMessage = { this.isLoadingGoToRepliedMessage = {
@ -1679,7 +1679,7 @@ class ChatPage extends LitElement {
} }
} }
await this.getOldMessageDynamic(0, this.messagesRendered[0].timestamp, message.timestamp - 7200000) await this.getOldMessageDynamic(0, this.messagesRendered[0].timestamp, message.timestamp - 7200000)
const findMessage = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById(message.reference) const findMessage = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById(message.signature)
if(findMessage){ if(findMessage){
this.isLoadingGoToRepliedMessage = { this.isLoadingGoToRepliedMessage = {
...this.isLoadingGoToRepliedMessage, ...this.isLoadingGoToRepliedMessage,
@ -2156,7 +2156,7 @@ class ChatPage extends LitElement {
await this.getUpdateComplete(); await this.getUpdateComplete();
const marginElements = Array.from(this.shadowRoot.querySelector('chat-scroller').shadowRoot.querySelectorAll('message-template')); const marginElements = Array.from(this.shadowRoot.querySelector('chat-scroller').shadowRoot.querySelectorAll('message-template'));
const findElement = marginElements.find((item)=> item.messageObj.reference === scrollElement.messageObj.reference) const findElement = marginElements.find((item)=> item.messageObj.signature === scrollElement.messageObj.signature)
if(findElement){ if(findElement){
findElement.scrollIntoView({ behavior: 'auto', block: 'center' }); findElement.scrollIntoView({ behavior: 'auto', block: 'center' });
@ -2189,7 +2189,7 @@ class ChatPage extends LitElement {
this.isLoadingOldMessages = false this.isLoadingOldMessages = false
await this.getUpdateComplete(); await this.getUpdateComplete();
const marginElements = Array.from(this.shadowRoot.querySelector('chat-scroller').shadowRoot.querySelectorAll('message-template')); const marginElements = Array.from(this.shadowRoot.querySelector('chat-scroller').shadowRoot.querySelectorAll('message-template'));
const findElement = marginElements.find((item)=> item.messageObj.reference === scrollElement.messageObj.reference) const findElement = marginElements.find((item)=> item.messageObj.signature === scrollElement.messageObj.signature)
if(findElement){ if(findElement){
findElement.scrollIntoView({ behavior: 'auto', block: 'center' }); findElement.scrollIntoView({ behavior: 'auto', block: 'center' });
@ -2227,7 +2227,7 @@ class ChatPage extends LitElement {
await this.getUpdateComplete(); await this.getUpdateComplete();
const marginElements = Array.from(this.shadowRoot.querySelector('chat-scroller').shadowRoot.querySelectorAll('message-template')); const marginElements = Array.from(this.shadowRoot.querySelector('chat-scroller').shadowRoot.querySelectorAll('message-template'));
const findElement = marginElements.find((item)=> item.messageObj.reference === scrollElement.messageObj.reference) const findElement = marginElements.find((item)=> item.messageObj.signature === scrollElement.messageObj.signature)
if(findElement){ if(findElement){
findElement.scrollIntoView({ behavior: 'auto', block: 'center' }); findElement.scrollIntoView({ behavior: 'auto', block: 'center' });
@ -2260,7 +2260,7 @@ class ChatPage extends LitElement {
this.isLoadingOldMessages = false this.isLoadingOldMessages = false
await this.getUpdateComplete(); await this.getUpdateComplete();
const marginElements = Array.from(this.shadowRoot.querySelector('chat-scroller').shadowRoot.querySelectorAll('message-template')); const marginElements = Array.from(this.shadowRoot.querySelector('chat-scroller').shadowRoot.querySelectorAll('message-template'));
const findElement = marginElements.find((item)=> item.messageObj.reference === scrollElement.messageObj.reference) const findElement = marginElements.find((item)=> item.messageObj.signature === scrollElement.messageObj.signature)
if(findElement){ if(findElement){
findElement.scrollIntoView({ behavior: 'auto', block: 'center' }); findElement.scrollIntoView({ behavior: 'auto', block: 'center' });
@ -2372,7 +2372,7 @@ class ChatPage extends LitElement {
async renderNewMessage(newMessage) { async renderNewMessage(newMessage) {
if(newMessage.chatReference){ if(newMessage.chatReference){
const findOriginalMessageIndex = this.messagesRendered.findIndex(msg=> msg.reference === newMessage.chatReference || (msg.chatReference && msg.chatReference === newMessage.chatReference) ) const findOriginalMessageIndex = this.messagesRendered.findIndex(msg=> msg.signature === newMessage.chatReference || (msg.chatReference && msg.chatReference === newMessage.chatReference) )
if(findOriginalMessageIndex !== -1){ if(findOriginalMessageIndex !== -1){
const newMessagesRendered = [...this.messagesRendered] const newMessagesRendered = [...this.messagesRendered]
newMessagesRendered[findOriginalMessageIndex] = {...newMessage, timestamp: newMessagesRendered[findOriginalMessageIndex].timestamp, senderName: newMessagesRendered[findOriginalMessageIndex].senderName, newMessagesRendered[findOriginalMessageIndex] = {...newMessage, timestamp: newMessagesRendered[findOriginalMessageIndex].timestamp, senderName: newMessagesRendered[findOriginalMessageIndex].senderName,
@ -2784,7 +2784,7 @@ class ChatPage extends LitElement {
return return
} }
typeMessage = 'edit'; typeMessage = 'edit';
let chatReference = outSideMsg.editedMessageObj.reference; let chatReference = outSideMsg.editedMessageObj.signature;
if(outSideMsg.editedMessageObj.chatReference){ if(outSideMsg.editedMessageObj.chatReference){
chatReference = outSideMsg.editedMessageObj.chatReference; chatReference = outSideMsg.editedMessageObj.chatReference;
@ -2874,7 +2874,7 @@ class ChatPage extends LitElement {
return return
} }
typeMessage = 'edit'; typeMessage = 'edit';
let chatReference = outSideMsg.editedMessageObj.reference; let chatReference = outSideMsg.editedMessageObj.signature;
if(outSideMsg.editedMessageObj.chatReference){ if(outSideMsg.editedMessageObj.chatReference){
chatReference = outSideMsg.editedMessageObj.chatReference; chatReference = outSideMsg.editedMessageObj.chatReference;
@ -3036,7 +3036,7 @@ class ChatPage extends LitElement {
} else if (outSideMsg && outSideMsg.type === 'reaction') { } else if (outSideMsg && outSideMsg.type === 'reaction') {
const userName = await getName(this.selectedAddress.address); const userName = await getName(this.selectedAddress.address);
typeMessage = 'edit'; typeMessage = 'edit';
let chatReference = outSideMsg.editedMessageObj.reference; let chatReference = outSideMsg.editedMessageObj.signature;
if (outSideMsg.editedMessageObj.chatReference) { if (outSideMsg.editedMessageObj.chatReference) {
chatReference = outSideMsg.editedMessageObj.chatReference; chatReference = outSideMsg.editedMessageObj.chatReference;
@ -3094,7 +3094,7 @@ class ChatPage extends LitElement {
} }
else if (this.repliedToMessageObj) { else if (this.repliedToMessageObj) {
let chatReference = this.repliedToMessageObj.reference; let chatReference = this.repliedToMessageObj.signature;
if(this.repliedToMessageObj.chatReference){ if(this.repliedToMessageObj.chatReference){
chatReference = this.repliedToMessageObj.chatReference; chatReference = this.repliedToMessageObj.chatReference;
} }
@ -3103,13 +3103,13 @@ class ChatPage extends LitElement {
messageText: trimmedMessage, messageText: trimmedMessage,
images: [''], images: [''],
repliedTo: chatReference, repliedTo: chatReference,
version: 2 version: 3
} }
const stringifyMessageObject = JSON.stringify(messageObject); const stringifyMessageObject = JSON.stringify(messageObject);
this.sendMessage(stringifyMessageObject, typeMessage); this.sendMessage(stringifyMessageObject, typeMessage);
} else if (this.editedMessageObj) { } else if (this.editedMessageObj) {
typeMessage = 'edit' typeMessage = 'edit'
let chatReference = this.editedMessageObj.reference let chatReference = this.editedMessageObj.signature
if(this.editedMessageObj.chatReference){ if(this.editedMessageObj.chatReference){
chatReference = this.editedMessageObj.chatReference chatReference = this.editedMessageObj.chatReference
@ -3135,7 +3135,7 @@ class ChatPage extends LitElement {
messageText: trimmedMessage, messageText: trimmedMessage,
images: [''], images: [''],
repliedTo: '', repliedTo: '',
version: 2 version: 3
} }
const stringifyMessageObject = JSON.stringify(messageObject) const stringifyMessageObject = JSON.stringify(messageObject)

View File

@ -125,7 +125,7 @@ class ChatScroller extends LitElement {
${formattedMessages.map((formattedMessage) => { ${formattedMessages.map((formattedMessage) => {
return repeat( return repeat(
formattedMessage.messages, formattedMessage.messages,
(message) => message.reference, (message) => message.signature,
(message, indexMessage) => html` (message, indexMessage) => html`
<message-template <message-template
.emojiPicker=${this.emojiPicker} .emojiPicker=${this.emojiPicker}
@ -145,7 +145,7 @@ class ChatScroller extends LitElement {
.setOpenTipUser=${(val) => this.setOpenTipUser(val)} .setOpenTipUser=${(val) => this.setOpenTipUser(val)}
.setOpenUserInfo=${(val) => this.setOpenUserInfo(val)} .setOpenUserInfo=${(val) => this.setOpenUserInfo(val)}
.setUserName=${(val) => this.setUserName(val)} .setUserName=${(val) => this.setUserName(val)}
id=${message.reference} id=${message.signature}
.goToRepliedMessage=${this.goToRepliedMessage} .goToRepliedMessage=${this.goToRepliedMessage}
.addSeenMessage=${(val)=> this.addSeenMessage(val)} .addSeenMessage=${(val)=> this.addSeenMessage(val)}
.listSeenMessages=${this.listSeenMessages} .listSeenMessages=${this.listSeenMessages}
@ -365,7 +365,7 @@ class MessageTemplate extends LitElement {
} }
firstUpdated(){ firstUpdated(){
const autoSeeChatList = window.parent.reduxStore.getState().app?.autoLoadImageChats const autoSeeChatList = window.parent.reduxStore.getState().app?.autoLoadImageChats
if(autoSeeChatList.includes(this.chatId) || this.listSeenMessages.includes(this.messageObj.reference)){ if(autoSeeChatList.includes(this.chatId) || this.listSeenMessages.includes(this.messageObj.signature)){
this.viewImage = true this.viewImage = true
} }
@ -392,7 +392,7 @@ class MessageTemplate extends LitElement {
let attachment = null; let attachment = null;
try { try {
const parsedMessageObj = JSON.parse(this.messageObj.decodedMessage); const parsedMessageObj = JSON.parse(this.messageObj.decodedMessage);
if(parsedMessageObj.version.toString() === '2'){ if(+parsedMessageObj.version > 1){
messageVersion2 = generateHTML(parsedMessageObj.messageText, [ messageVersion2 = generateHTML(parsedMessageObj.messageText, [
StarterKit, StarterKit,
@ -598,7 +598,7 @@ class MessageTemplate extends LitElement {
${version.toString() === '1' ? html` ${version.toString() === '1' ? html`
${repliedToData.decodedMessage.messageText} ${repliedToData.decodedMessage.messageText}
` : ''} ` : ''}
${version.toString() === '2' ? html` ${+version > 1 ? html`
${unsafeHTML(generateHTML(repliedToData.decodedMessage.messageText, [ ${unsafeHTML(generateHTML(repliedToData.decodedMessage.messageText, [
StarterKit, StarterKit,
Underline, Underline,
@ -614,7 +614,7 @@ class MessageTemplate extends LitElement {
<div <div
@click=${()=> { @click=${()=> {
this.viewImage = true this.viewImage = true
this.addSeenMessage(this.messageObj.reference) this.addSeenMessage(this.messageObj.signature)
}} }}
class=${[`image-container`, !this.isImageLoaded ? 'defaultSize' : ''].join(' ')} class=${[`image-container`, !this.isImageLoaded ? 'defaultSize' : ''].join(' ')}
style=${this.isFirstMessage && "margin-top: 10px;"}> style=${this.isFirstMessage && "margin-top: 10px;"}>
@ -695,7 +695,7 @@ class MessageTemplate extends LitElement {
id="messageContent" id="messageContent"
class="message" class="message"
style=${(image && replacedMessage !== "") &&"margin-top: 15px;"}> style=${(image && replacedMessage !== "") &&"margin-top: 15px;"}>
${version.toString() === '2' ? html` ${+version > 1 ? html`
${unsafeHTML(messageVersion2)} ${unsafeHTML(messageVersion2)}
` : ''} ` : ''}
${version.toString() === '1' ? html` ${version.toString() === '1' ? html`

View File

@ -664,7 +664,7 @@ mwc-checkbox::shadow .mdc-checkbox::after, mwc-checkbox::shadow .mdc-checkbox::b
let messageObject = {}; let messageObject = {};
if (this.repliedToMessageObj) { if (this.repliedToMessageObj) {
let chatReference = this.repliedToMessageObj.reference; let chatReference = this.repliedToMessageObj.signature;
if (this.repliedToMessageObj.chatReference) { if (this.repliedToMessageObj.chatReference) {
chatReference = this.repliedToMessageObj.chatReference; chatReference = this.repliedToMessageObj.chatReference;
} }
@ -672,7 +672,7 @@ mwc-checkbox::shadow .mdc-checkbox::after, mwc-checkbox::shadow .mdc-checkbox::b
messageText: trimmedMessage, messageText: trimmedMessage,
images: [''], images: [''],
repliedTo: chatReference, repliedTo: chatReference,
version: 2 version: 3
} }
} else if (this.editedMessageObj) { } else if (this.editedMessageObj) {
let message = ""; let message = "";
@ -695,7 +695,7 @@ mwc-checkbox::shadow .mdc-checkbox::after, mwc-checkbox::shadow .mdc-checkbox::b
identifier: '123456' identifier: '123456'
}], }],
repliedTo: '', repliedTo: '',
version: 2 version: 3
}; };
} else if (this.attachment && this.iframeId === 'newAttachmentChat') { } else if (this.attachment && this.iframeId === 'newAttachmentChat') {
messageObject = { messageObject = {
@ -715,7 +715,7 @@ mwc-checkbox::shadow .mdc-checkbox::after, mwc-checkbox::shadow .mdc-checkbox::b
messageText: trimmedMessage, messageText: trimmedMessage,
images: [''], images: [''],
repliedTo: '', repliedTo: '',
version: 2 version: 3
}; };
} }

View File

@ -562,7 +562,7 @@ class Chat extends LitElement {
messageText: trimmedMessage, messageText: trimmedMessage,
images: [''], images: [''],
repliedTo: '', repliedTo: '',
version: 2 version: 3
} }
const stringifyMessageObject = JSON.stringify(messageObject) const stringifyMessageObject = JSON.stringify(messageObject)
this.sendMessage(stringifyMessageObject); this.sendMessage(stringifyMessageObject);

View File

@ -14,7 +14,7 @@ export const replaceMessagesEdited = async ({
} }
const response = await parentEpml.request("apiCall", { const response = await parentEpml.request("apiCall", {
type: "api", type: "api",
url: `/chat/messages?chatreference=${msg.reference}&reverse=true${msgQuery}`, url: `/chat/messages?chatreference=${msg.signature}&reverse=true${msgQuery}`,
}) })
if (response && Array.isArray(response) && response.length !== 0) { if (response && Array.isArray(response) && response.length !== 0) {
@ -50,24 +50,36 @@ export const replaceMessagesEdited = async ({
msgQuery = `&txGroupId=${msg.txGroupId}` msgQuery = `&txGroupId=${msg.txGroupId}`
} }
if (parsedMessageObj.repliedTo) { if (parsedMessageObj.repliedTo) {
const originalReply = await parentEpml.request("apiCall", { console.log({parsedMessageObj})
let originalReply
if(+parsedMessageObj.version > 2){
originalReply = await parentEpml.request("apiCall", {
type: "api",
url: `/chat/message/${parsedMessageObj.repliedTo}`,
})
}
if(+parsedMessageObj.version < 3){
originalReply = await parentEpml.request("apiCall", {
type: "api", type: "api",
url: `/chat/messages?reference=${parsedMessageObj.repliedTo}&reverse=true${msgQuery}`, url: `/chat/messages?reference=${parsedMessageObj.repliedTo}&reverse=true${msgQuery}`,
}) })
}
const response = await parentEpml.request("apiCall", { const response = await parentEpml.request("apiCall", {
type: "api", type: "api",
url: `/chat/messages?chatreference=${parsedMessageObj.repliedTo}&reverse=true${msgQuery}`, url: `/chat/messages?chatreference=${parsedMessageObj.repliedTo}&reverse=true${msgQuery}`,
}) })
const originalReplyMessage = originalReply.timestamp ? originalReply : originalReply.length !== 0 ? originalReply[0] : null
if ( if (
originalReply && originalReplyMessage &&
Array.isArray(originalReply) &&
originalReply.length !== 0 &&
response && response &&
Array.isArray(response) && Array.isArray(response) &&
response.length !== 0 response.length !== 0
) { ) {
const decodeOriginalReply = decodeMessageFunc(originalReply[0], isReceipient, _publicKey) const decodeOriginalReply = decodeMessageFunc(originalReplyMessage, isReceipient, _publicKey)
const decodeUpdatedReply = decodeMessageFunc(response[0], isReceipient, _publicKey) const decodeUpdatedReply = decodeMessageFunc(response[0], isReceipient, _publicKey)
const formattedRepliedToData = { const formattedRepliedToData = {
@ -83,14 +95,12 @@ export const replaceMessagesEdited = async ({
if ( if (
originalReply && originalReplyMessage
Array.isArray(originalReply) &&
originalReply.length !== 0
) { ) {
msgItem = { msgItem = {
...msg, ...msg,
repliedToData: decodeMessageFunc(originalReply[0], isReceipient, _publicKey), repliedToData: decodeMessageFunc(originalReplyMessage, isReceipient, _publicKey),
} }
} }
} }