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();
|
||||
let response = '';
|
||||
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;
|
||||
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 = (
|
||||
|
||||
// Calculate base number
|
||||
|
|
@ -63,6 +65,7 @@ async function chatgpt_getFromDOM(pos) {
|
|||
response = responseDivs[nthOfResponse - 1].textContent;
|
||||
}
|
||||
response = response.replace(/^ChatGPTChatGPT/, ''); // strip sender name
|
||||
//console.log('chatgpt_getFromDOM: ' + response);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,10 +45,20 @@ messenger.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
|||
browser.tabs.sendMessage(message.tabId, { command: "replaceSelectedText", text: message.text });
|
||||
return true;
|
||||
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.compose.beginReply(mailMessage.id, {
|
||||
browser.compose.beginReply(mailMessage.id, "replyToAll", {
|
||||
type: "reply",
|
||||
body: message.text
|
||||
body: paragraphsHtmlString,
|
||||
isPlainText: false,
|
||||
})
|
||||
});
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue