This commit is contained in:
PhilReact 2025-01-10 22:12:55 +02:00
parent e7c5ddeca8
commit d54bb9decd
4 changed files with 30 additions and 10 deletions

View File

@ -170,14 +170,14 @@ export const ChatOptions = ({ messages : untransformedMessages, goToMessage, mem
if(isPrivate === false){ if(isPrivate === false){
return messages return messages
.filter((message) => .filter((message) =>
extractTextFromHTML(message?.messageText)?.includes(`@${myName}`) extractTextFromHTML(message?.messageText)?.includes(`@${myName?.toLowerCase()}`)
) )
?.sort((a, b) => b?.timestamp - a?.timestamp); ?.sort((a, b) => b?.timestamp - a?.timestamp);
} }
return messages return messages
.filter((message) => .filter((message) =>
extractTextFromHTML(message?.decryptedData?.message)?.includes(`@${myName}`) extractTextFromHTML(message?.decryptedData?.message)?.includes(`@${myName?.toLowerCase()}`)
) )
?.sort((a, b) => b?.timestamp - a?.timestamp); ?.sort((a, b) => b?.timestamp - a?.timestamp);
}, [messages, myName, isPrivate]); }, [messages, myName, isPrivate]);

View File

@ -80,7 +80,7 @@ export const MessageDisplay = ({ htmlContent, isReply, setMobileViewModeKeepOpen
const sanitizedContent = DOMPurify.sanitize(linkify(htmlContent), { const sanitizedContent = DOMPurify.sanitize(linkify(htmlContent), {
ALLOWED_TAGS: [ ALLOWED_TAGS: [
'a', 'b', 'i', 'em', 'strong', 'p', 'br', 'div', 'span', 'img', '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: [ ALLOWED_ATTR: [
'href', 'target', 'rel', 'class', 'src', 'alt', 'title', 'href', 'target', 'rel', 'class', 'src', 'alt', 'title',

View File

@ -93,7 +93,7 @@
.tiptap hr { .tiptap hr {
border: none; border: none;
border-top: 1px solid var(--gray-2); border-top: 1px solid var(--gray-2);
margin: 2rem 0; margin: 1rem 0;
} }
.ProseMirror:focus-visible { .ProseMirror:focus-visible {
@ -102,7 +102,8 @@
.tiptap p { .tiptap p {
font-size: 16px; font-size: 16px;
color: white; /* Ensure paragraph text color is white */ color: white;
margin: 0px;
} }
.tiptap p.is-editor-empty:first-child::before { .tiptap p.is-editor-empty:first-child::before {
color: #adb5bd; color: #adb5bd;

View File

@ -796,7 +796,7 @@ export const deleteListItems = async (data, isFromExtension) => {
if(isGateway){ if(isGateway){
throw new Error('This action cannot be done through a gateway') throw new Error('This action cannot be done through a gateway')
} }
const requiredFields = ["list_name", "item"]; const requiredFields = ["list_name"];
const missingFields: string[] = []; const missingFields: string[] = [];
requiredFields.forEach((field) => { requiredFields.forEach((field) => {
if (!data[field]) { if (!data[field]) {
@ -809,20 +809,24 @@ export const deleteListItems = async (data, isFromExtension) => {
throw new Error(errorMsg); 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 list_name = data.list_name;
const resPermission = await getUserPermission({ const resPermission = await getUserPermission({
text1: "Do you give this application permission to", text1: "Do you give this application permission to",
text2: `Remove the following from the list ${list_name}:`, text2: `Remove the following from the list ${list_name}:`,
highlightedText: item, highlightedText: items ? JSON.stringify(items) : item,
}, isFromExtension); }, isFromExtension);
const { accepted } = resPermission; const { accepted } = resPermission;
if (accepted) { if (accepted) {
const url = await createEndpoint(`/lists/${list_name}`); const url = await createEndpoint(`/lists/${list_name}`);
const body = { const body = {
items: [item], items: items || [item],
}; };
const bodyToString = JSON.stringify(body); const bodyToString = JSON.stringify(body);
const response = await fetch(url, { const response = await fetch(url, {
@ -1661,9 +1665,16 @@ export const getUserWallet = async (data, isFromExtension) => {
const errorMsg = `Missing fields: ${missingFieldsString}`; const errorMsg = `Missing fields: ${missingFieldsString}`;
throw new Error(errorMsg); 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({ const resPermission = await getUserPermission({
text1: text1:
"Do you give this application permission to get your wallet information?", "Do you give this application permission to get your wallet information?",
highlightedText: `coin: ${data.coin}`
}, isFromExtension); }, isFromExtension);
const { accepted } = resPermission; const { accepted } = resPermission;
@ -1704,7 +1715,7 @@ export const getUserWallet = async (data, isFromExtension) => {
break; break;
case "BTC": case "BTC":
userWallet["address"] = parsedData.btcAddress; userWallet["address"] = parsedData.btcAddress;
userWallet["publickey"] = parsedData.derivedMasterPublicKey; userWallet["publickey"] = parsedData.btcPublicKey;
break; break;
case "LTC": case "LTC":
userWallet["address"] = parsedData.ltcAddress; userWallet["address"] = parsedData.ltcAddress;
@ -1723,6 +1734,7 @@ export const getUserWallet = async (data, isFromExtension) => {
userWallet["publickey"] = parsedData.rvnPublicKey; userWallet["publickey"] = parsedData.rvnPublicKey;
break; break;
case "ARRR": case "ARRR":
await checkArrrSyncStatus(parsedData.arrrSeed58)
userWallet["address"] = arrrAddress; userWallet["address"] = arrrAddress;
break; break;
default: default:
@ -1951,8 +1963,15 @@ export const getUserWalletInfo = async (data, isFromExtension) => {
const errorMsg = `Missing fields: ${missingFieldsString}`; const errorMsg = `Missing fields: ${missingFieldsString}`;
throw new Error(errorMsg); throw new Error(errorMsg);
} }
if(data?.coin === 'ARRR'){
throw new Error(
"ARRR is not supported for this call."
);
}
const resPermission = await getUserPermission({ const resPermission = await getUserPermission({
text1: "Do you give this application permission to retrieve your wallet information", text1: "Do you give this application permission to retrieve your wallet information",
highlightedText: `coin: ${data.coin}`
}, isFromExtension); }, isFromExtension);
const { accepted } = resPermission; const { accepted } = resPermission;