using chatgpt_keep_formatting. fixes #77

This commit is contained in:
Mic 2024-06-27 18:27:41 +02:00
parent 7a12303575
commit 141e236923
2 changed files with 21 additions and 20 deletions

View file

@ -72,18 +72,17 @@ async function chatgpt_getFromDOM(pos) {
// Removing the new buttons that let the user change model and insert a number (4 or 3.5 at the end of the text) // Removing the new buttons that let the user change model and insert a number (4 or 3.5 at the end of the text)
let parser = new DOMParser(); let parser = new DOMParser();
let doc = parser.parseFromString(responseDivs[responseDivs.length - 1].innerHTML, 'text/html'); let doc = parser.parseFromString(responseDivs[responseDivs.length - 1].innerHTML, 'text/html');
if(!mztaKeepFormatting) { // Return only TEXT
// Select the div with class 'empty:hidden' // Select the div with class 'empty:hidden'
// let divToRemove = doc.querySelector('div.empty\\\\:hidden'); let divToRemove = doc.querySelector('div.empty\\\\:hidden');
// if (divToRemove) { if (divToRemove) {
// divToRemove.remove(); divToRemove.remove();
// } }
// // Extract the new HTML string // Extract the new HTML string
// responseDivs[responseDivs.length - 1].innerHTML = doc.body.innerHTML; responseDivs[responseDivs.length - 1].innerHTML = doc.body.innerHTML;
// //response = responseDivs[responseDivs.length - 1].textContent; response = responseDivs[responseDivs.length - 1].textContent;
// response = responseDivs[responseDivs.length - 1].innerHTML; // response = responseDivs[responseDivs.length - 1].innerHTML;
// console.log('chatgpt_getFromDOM original response: '+ response); } else { // Return HTML
// const parser2 = new DOMParser();
// const doc2 = parser2.parseFromString(response, 'text/html');
// Tags to exclude // Tags to exclude
//console.log(">>>>>>>>> doc.body.innerHTML original: " + doc.body.innerHTML); //console.log(">>>>>>>>> doc.body.innerHTML original: " + doc.body.innerHTML);
const excludeTags = ['div', 'text', 'svg', 'path', 'button']; const excludeTags = ['div', 'text', 'svg', 'path', 'button'];
@ -92,7 +91,7 @@ async function chatgpt_getFromDOM(pos) {
response = removeTagsAndReturnHTML(doc.body, excludeTags, includeTags) response = removeTagsAndReturnHTML(doc.body, excludeTags, includeTags)
//console.log(">>>>>>>>> doc.body.innerHTML final: " + doc.body.innerHTML); //console.log(">>>>>>>>> doc.body.innerHTML final: " + doc.body.innerHTML);
// response = doc.body.innerHTML; // response = doc.body.innerHTML;
}
//console.log('chatgpt_getFromDOM final response: '+response); //console.log('chatgpt_getFromDOM final response: '+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, '')); //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 --- HERE ONLY TEXT FROM RESPONSE, NO HTML } else { // get nth response --- HERE ONLY TEXT FROM RESPONSE, NO HTML

View file

@ -139,6 +139,7 @@ messenger.runtime.onMessage.addListener(async (message, sender, sendResponse) =>
async function openChatGPT(promptText, action, curr_tabId, do_custom_text = 0) { async function openChatGPT(promptText, action, curr_tabId, do_custom_text = 0) {
let prefs = await browser.storage.sync.get(prefs_default); let prefs = await browser.storage.sync.get(prefs_default);
prefs = checkScreenDimensions(prefs); prefs = checkScreenDimensions(prefs);
//console.log(">>>>>>>>>>>>>>>> prefs: " + JSON.stringify(prefs));
console.log('[ThunderAI] Prompt length: ' + promptText.length); console.log('[ThunderAI] Prompt length: ' + promptText.length);
if(promptText.length > 30000 ){ if(promptText.length > 30000 ){
// Prompt too long for ChatGPT // Prompt too long for ChatGPT
@ -179,6 +180,7 @@ async function openChatGPT(promptText, action, curr_tabId, do_custom_text = 0) {
let mztaForceCompletionDesc="`+ browser.i18n.getMessage("chatgpt_force_completion") +`"; let mztaForceCompletionDesc="`+ browser.i18n.getMessage("chatgpt_force_completion") +`";
let mztaForceCompletionTitle="`+ browser.i18n.getMessage("chatgpt_force_completion_title") +`"; let mztaForceCompletionTitle="`+ browser.i18n.getMessage("chatgpt_force_completion_title") +`";
let mztaDoCustomText=`+ do_custom_text +`; let mztaDoCustomText=`+ do_custom_text +`;
let mztaKeepFormatting=`+ prefs.chatgpt_keep_formatting +`;
`; `;
browser.tabs.executeScript(createdTab.id, { code: pre_script + mzta_script, matchAboutBlank: false }) browser.tabs.executeScript(createdTab.id, { code: pre_script + mzta_script, matchAboutBlank: false })