fetch with signature

This commit is contained in:
Phillip 2023-02-16 22:58:37 +02:00
parent ce442dee1b
commit 8b03d30f9c
7 changed files with 61 additions and 48 deletions

View File

@ -17,9 +17,9 @@
"author": "QORTAL <admin@qortal.org>",
"license": "GPL-3.0",
"dependencies": {
"@hapi/hapi": "21.2.0",
"@hapi/hapi": "21.2.1",
"@hapi/inert": "7.0.0",
"sass": "1.57.1"
"sass": "1.58.0"
},
"devDependencies": {
"@babel/core": "7.20.12",
@ -58,22 +58,23 @@
"@rollup/plugin-commonjs": "24.0.1",
"@rollup/plugin-node-resolve": "15.0.1",
"@rollup/plugin-replace": "5.0.2",
"@rollup/plugin-terser": "0.3.0",
"@vaadin/button": "23.3.5",
"@vaadin/grid": "23.3.5",
"@vaadin/icons": "23.3.5",
"@vaadin/password-field": "23.3.5",
"@vaadin/tooltip": "23.3.5",
"@rollup/plugin-terser": "0.4.0",
"@vaadin/button": "23.3.7",
"@vaadin/grid": "23.3.7",
"@vaadin/icons": "23.3.7",
"@vaadin/password-field": "23.3.7",
"@vaadin/tooltip": "23.3.7",
"asmcrypto.js": "2.3.2",
"bcryptjs": "2.4.3",
"epml": "0.3.3",
"file-saver": "2.0.5",
"lit": "2.6.1",
"lit-translate": "2.0.1",
"localforage": "1.10.0",
"pwa-helpers": "0.9.1",
"redux": "4.2.0",
"redux": "4.2.1",
"redux-thunk": "2.4.2",
"rollup": "3.10.1",
"rollup": "3.14.0",
"rollup-plugin-node-globals": "1.4.0",
"rollup-plugin-progress": "1.1.2",
"rollup-plugin-scss": "3.0.0",
@ -82,4 +83,4 @@
"engines": {
"node": ">=16.17.1"
}
}
}

View File

@ -20,13 +20,14 @@
"@lit-labs/motion": "1.0.3",
"@material/mwc-list": "0.27.0",
"@material/mwc-select": "0.27.0",
"@tiptap/core": "2.0.0-beta.209",
"@tiptap/extension-highlight": "2.0.0-beta.209",
"@tiptap/extension-image": "2.0.0-beta.209",
"@tiptap/extension-placeholder": "2.0.0-beta.209",
"@tiptap/extension-underline": "2.0.0-beta.209",
"@tiptap/html": "2.0.0-beta.209",
"@tiptap/starter-kit": "2.0.0-beta.209",
"@tiptap/pm": "2.0.0-beta.212",
"@tiptap/core": "2.0.0-beta.212",
"@tiptap/extension-highlight": "2.0.0-beta.212",
"@tiptap/extension-image": "2.0.0-beta.212",
"@tiptap/extension-placeholder": "2.0.0-beta.212",
"@tiptap/extension-underline": "2.0.0-beta.212",
"@tiptap/html": "2.0.0-beta.212",
"@tiptap/starter-kit": "2.0.0-beta.212",
"asmcrypto.js": "2.3.2",
"compressorjs": "1.1.1",
"emoji-picker-js": "https://github.com/Qortal/emoji-picker-js",
@ -69,19 +70,19 @@
"@rollup/plugin-commonjs": "24.0.1",
"@rollup/plugin-node-resolve": "15.0.1",
"@rollup/plugin-replace": "5.0.2",
"@rollup/plugin-terser": "0.3.0",
"@vaadin/avatar": "23.3.5",
"@vaadin/button": "23.3.5",
"@vaadin/grid": "23.3.5",
"@vaadin/icons": "23.3.5",
"@vaadin/tooltip": "23.3.5",
"@rollup/plugin-terser": "0.4.0",
"@vaadin/avatar": "23.3.7",
"@vaadin/button": "23.3.7",
"@vaadin/grid": "23.3.7",
"@vaadin/icons": "23.3.7",
"@vaadin/tooltip": "23.3.7",
"epml": "0.3.3",
"file-saver": "2.0.5",
"highcharts": "10.3.3",
"html-escaper": "3.0.3",
"lit": "2.6.1",
"lit-translate": "2.0.1",
"rollup": "3.10.1",
"rollup": "3.14.0",
"rollup-plugin-node-globals": "1.4.0",
"rollup-plugin-progress": "1.1.2",
"rollup-plugin-web-worker-loader": "1.6.1",

View File

@ -991,7 +991,7 @@ class ChatPage extends LitElement {
${this.repliedToMessageObj.version.toString() === '1' ? html`
${this.repliedToMessageObj.message}
` : ''}
${this.repliedToMessageObj.version.toString() === '2'
${+this.repliedToMessageObj.version > 1
? html`
${unsafeHTML(generateHTML(this.repliedToMessageObj.message,
[
@ -2730,7 +2730,7 @@ class ChatPage extends LitElement {
}],
isImageDeleted: false,
repliedTo: '',
version: 2
version: 3
};
const stringifyMessageObject = JSON.stringify(messageObject);
this.sendMessage(stringifyMessageObject, typeMessage);
@ -2804,7 +2804,7 @@ class ChatPage extends LitElement {
messageText: trimmedMessage,
images: [''],
repliedTo: chatReference,
version: 2
version: 3
}
const stringifyMessageObject = JSON.stringify(messageObject);
this.sendMessage(stringifyMessageObject, typeMessage);
@ -2836,7 +2836,7 @@ class ChatPage extends LitElement {
messageText: trimmedMessage,
images: [''],
repliedTo: '',
version: 2
version: 3
}
const stringifyMessageObject = JSON.stringify(messageObject)

View File

@ -371,7 +371,8 @@ class MessageTemplate extends LitElement {
let isEdited = false
try {
const parsedMessageObj = JSON.parse(this.messageObj.decodedMessage);
if(parsedMessageObj.version.toString() === '2'){
console.log({parsedMessageObj}, +parsedMessageObj.version, +parsedMessageObj.version > 1)
if(+parsedMessageObj.version > 1){
messageVersion2 = generateHTML(parsedMessageObj.messageText, [
StarterKit,
@ -574,7 +575,7 @@ class MessageTemplate extends LitElement {
${version.toString() === '1' ? html`
${repliedToData.decodedMessage.messageText}
` : ''}
${version.toString() === '2' ? html`
${+version > 1 ? html`
${unsafeHTML(generateHTML(repliedToData.decodedMessage.messageText, [
StarterKit,
Underline,
@ -627,7 +628,7 @@ class MessageTemplate extends LitElement {
id="messageContent"
class="message"
style=${(image && replacedMessage !== "") &&"margin-top: 15px;"}>
${version.toString() === '2' ? html`
${+version > 1 ? html`
${unsafeHTML(messageVersion2)}
` : ''}
${version.toString() === '1' ? html`

View File

@ -667,7 +667,7 @@ mwc-checkbox::shadow .mdc-checkbox::after, mwc-checkbox::shadow .mdc-checkbox::b
messageText: trimmedMessage,
images: [''],
repliedTo: chatReference,
version: 2
version: 3
}
} else if (this.editedMessageObj) {
let message = "";
@ -690,14 +690,14 @@ mwc-checkbox::shadow .mdc-checkbox::after, mwc-checkbox::shadow .mdc-checkbox::b
identifier: '123456'
}],
repliedTo: '',
version: 2
version: 3
};
} else {
messageObject = {
messageText: trimmedMessage,
images: [''],
repliedTo: '',
version: 2
version: 3
};
}

View File

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

View File

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