COrrectly handling the carraige returns. Fixes #9
This commit is contained in:
parent
1e283cb2aa
commit
bc3dff856e
2 changed files with 17 additions and 4 deletions
|
|
@ -35,9 +35,11 @@ async function chatgpt_getFromDOM(pos) {
|
||||||
strPos = pos.toString().toLowerCase();
|
strPos = pos.toString().toLowerCase();
|
||||||
let response = '';
|
let response = '';
|
||||||
if (responseDivs.length) {
|
if (responseDivs.length) {
|
||||||
if (/last|final/.test(strPos)) // get last response
|
if (/last|final/.test(strPos)){ // get last response
|
||||||
|
responseDivs[responseDivs.length - 1].innerHTML = responseDivs[responseDivs.length - 1].innerHTML.replace(/<\\/p>/g, '</p>\\n\\n').replace(/<br\\s*\\/?>/g, '<br>\\n');
|
||||||
response = responseDivs[responseDivs.length - 1].textContent;
|
response = responseDivs[responseDivs.length - 1].textContent;
|
||||||
else { // get nth response
|
//console.log('chatgpt_getFromDOM: [HTML] ' + responseDivs[responseDivs.length - 1].innerHTML.replace(/<div[^>]*>/gi, '').replace(/<\\/div>/gi, '').replace(/<svg[^>]*>/gi, '').replace(/<\\/svg>/gi, '').replace(/<path[^>]*>/gi, '').replace(/<\\/path>/gi, '').replace(/<text[^>]*>/gi, '').replace(/<\\/text>/gi, '').replace(/<span[^>]*>/gi, '').replace(/<\\/span>/gi, '').replace(/<button[^>]*>/gi, '').replace(/<\\/button>/gi, ''));
|
||||||
|
} else { // get nth response
|
||||||
const nthOfResponse = (
|
const nthOfResponse = (
|
||||||
|
|
||||||
// Calculate base number
|
// Calculate base number
|
||||||
|
|
@ -63,6 +65,7 @@ async function chatgpt_getFromDOM(pos) {
|
||||||
response = responseDivs[nthOfResponse - 1].textContent;
|
response = responseDivs[nthOfResponse - 1].textContent;
|
||||||
}
|
}
|
||||||
response = response.replace(/^ChatGPTChatGPT/, ''); // strip sender name
|
response = response.replace(/^ChatGPTChatGPT/, ''); // strip sender name
|
||||||
|
//console.log('chatgpt_getFromDOM: ' + response);
|
||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,10 +45,20 @@ messenger.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
||||||
browser.tabs.sendMessage(message.tabId, { command: "replaceSelectedText", text: message.text });
|
browser.tabs.sendMessage(message.tabId, { command: "replaceSelectedText", text: message.text });
|
||||||
return true;
|
return true;
|
||||||
case 'chatgpt_replyMessage':
|
case 'chatgpt_replyMessage':
|
||||||
|
//console.log('message.text: ' + message.text);
|
||||||
|
const chunks = message.text.split(/\n{2,}/);
|
||||||
|
const paragraphs = chunks.map((t) => {
|
||||||
|
const p = document.createElement("p");
|
||||||
|
p.innerText = t;
|
||||||
|
return p;
|
||||||
|
});
|
||||||
|
const paragraphsHtmlString = paragraphs.map(p => p.outerHTML).join("");
|
||||||
|
//console.log('paragraphsHtmlString: ' + paragraphsHtmlString);
|
||||||
browser.messageDisplay.getDisplayedMessage(message.tabId).then((mailMessage) => {
|
browser.messageDisplay.getDisplayedMessage(message.tabId).then((mailMessage) => {
|
||||||
browser.compose.beginReply(mailMessage.id, {
|
browser.compose.beginReply(mailMessage.id, "replyToAll", {
|
||||||
type: "reply",
|
type: "reply",
|
||||||
body: message.text
|
body: paragraphsHtmlString,
|
||||||
|
isPlainText: false,
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue