From 5d68db5b4094907b18c77675f5ec489544f44c0b Mon Sep 17 00:00:00 2001 From: PhilReact Date: Fri, 10 Jan 2025 22:02:01 +0200 Subject: [PATCH] fixes --- public/manifest.json | 2 +- src/components/Chat/ChatOptions.tsx | 4 ++-- src/components/Chat/MessageDisplay.tsx | 2 +- src/components/Chat/styles.css | 5 ++-- src/qortalRequests/get.ts | 33 ++++++++++++++++++++++---- 5 files changed, 35 insertions(+), 11 deletions(-) diff --git a/public/manifest.json b/public/manifest.json index 82fb3cf..c9a883c 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "Qortal", - "version": "2.2.0", + "version": "2.3.0", "icons": { "16": "qort.png", "32": "qort.png", diff --git a/src/components/Chat/ChatOptions.tsx b/src/components/Chat/ChatOptions.tsx index c930a89..de90452 100644 --- a/src/components/Chat/ChatOptions.tsx +++ b/src/components/Chat/ChatOptions.tsx @@ -178,14 +178,14 @@ export const ChatOptions = ({ if (isPrivate === false) { return messages .filter((message) => - extractTextFromHTML(message?.messageText)?.includes(`@${myName}`) + extractTextFromHTML(message?.messageText)?.includes(`@${myName?.toLowerCase()}`) ) ?.sort((a, b) => b?.timestamp - a?.timestamp); } return messages .filter((message) => extractTextFromHTML(message?.decryptedData?.message)?.includes( - `@${myName}` + `@${myName?.toLowerCase()}` ) ) ?.sort((a, b) => b?.timestamp - a?.timestamp); diff --git a/src/components/Chat/MessageDisplay.tsx b/src/components/Chat/MessageDisplay.tsx index 916c7d4..394a0bf 100644 --- a/src/components/Chat/MessageDisplay.tsx +++ b/src/components/Chat/MessageDisplay.tsx @@ -80,7 +80,7 @@ export const MessageDisplay = ({ htmlContent, isReply }) => { const sanitizedContent = DOMPurify.sanitize(linkify(htmlContent), { ALLOWED_TAGS: [ 'a', 'b', 'i', 'em', 'strong', 'p', 'br', 'div', 'span', 'img', - 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'code', 'pre', 'table', 'thead', 'tbody', 'tr', 'th', 'td' + 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'code', 'pre', 'table', 'thead', 'tbody', 'tr', 'th', 'td','s', 'hr' ], ALLOWED_ATTR: [ 'href', 'target', 'rel', 'class', 'src', 'alt', 'title', diff --git a/src/components/Chat/styles.css b/src/components/Chat/styles.css index 161eb13..88ffa85 100644 --- a/src/components/Chat/styles.css +++ b/src/components/Chat/styles.css @@ -93,7 +93,7 @@ .tiptap hr { border: none; border-top: 1px solid var(--gray-2); - margin: 2rem 0; + margin: 1rem 0; } .ProseMirror:focus-visible { @@ -102,7 +102,8 @@ .tiptap p { font-size: 16px; - color: white; /* Ensure paragraph text color is white */ + color: white; + margin: 0px; } .tiptap p.is-editor-empty:first-child::before { color: #adb5bd; diff --git a/src/qortalRequests/get.ts b/src/qortalRequests/get.ts index 5d29b20..557b03b 100644 --- a/src/qortalRequests/get.ts +++ b/src/qortalRequests/get.ts @@ -750,7 +750,7 @@ export const deleteListItems = async (data, isFromExtension) => { if(isGateway){ throw new Error('This action cannot be done through a gateway') } - const requiredFields = ["list_name", "item"]; + const requiredFields = ["list_name"]; const missingFields: string[] = []; requiredFields.forEach((field) => { if (!data[field]) { @@ -763,20 +763,25 @@ export const deleteListItems = async (data, isFromExtension) => { throw new Error(errorMsg); } - const item = data.item; + if(!data?.item && !data?.items){ + throw new Error('Missing fields: items') + } + const item = data?.item; + const items = data?.items + const list_name = data.list_name; const resPermission = await getUserPermission({ text1: "Do you give this application permission to", text2: `Remove the following from the list ${list_name}:`, - highlightedText: item, + highlightedText: items ? JSON.stringify(items) : item, }, isFromExtension); const { accepted } = resPermission; if (accepted) { const url = await createEndpoint(`/lists/${list_name}`); const body = { - items: [item], + items: items || [item], }; const bodyToString = JSON.stringify(body); const response = await fetch(url, { @@ -1585,9 +1590,18 @@ export const getUserWallet = async (data, isFromExtension) => { const errorMsg = `Missing fields: ${missingFieldsString}`; throw new Error(errorMsg); } + const isGateway = await isRunningGateway(); + + if (data?.coin === "ARRR" && isGateway) + throw new Error( + "Cannot view ARRR wallet info through the gateway. Please use your local node." + ); + const resPermission = await getUserPermission({ text1: "Do you give this application permission to get your wallet information?", + highlightedText: `coin: ${data.coin}`, + }, isFromExtension); const { accepted } = resPermission; @@ -1628,7 +1642,7 @@ export const getUserWallet = async (data, isFromExtension) => { break; case "BTC": userWallet["address"] = parsedData.btcAddress; - userWallet["publickey"] = parsedData.derivedMasterPublicKey; + userWallet["publickey"] = parsedData.btcPublicKey; break; case "LTC": userWallet["address"] = parsedData.ltcAddress; @@ -1875,8 +1889,17 @@ export const getUserWalletInfo = async (data, isFromExtension) => { const errorMsg = `Missing fields: ${missingFieldsString}`; throw new Error(errorMsg); } + + if(data?.coin === 'ARRR'){ + + throw new Error( + "ARRR is not supported for this call." + ); + } + const resPermission = await getUserPermission({ text1: "Do you give this application permission to retrieve your wallet information", + highlightedText: `coin: ${data.coin}` }, isFromExtension); const { accepted } = resPermission;