fixed API web chat windows opnening in Thunderbird 115

This commit is contained in:
Mic 2024-08-19 11:48:48 +02:00
parent 913b99926f
commit 0495b50ccb

View file

@ -19,7 +19,7 @@
import { mzta_script } from './js/mzta-chatgpt.js'; import { mzta_script } from './js/mzta-chatgpt.js';
import { prefs_default } from './options/mzta-options-default.js'; import { prefs_default } from './options/mzta-options-default.js';
import { mzta_Menus } from './js/mzta-menus.js'; import { mzta_Menus } from './js/mzta-menus.js';
import { getCurrentIdentity, getOriginalBody, replaceBody, setBody, i18nConditionalGet } from './js/mzta-utils.js'; import { getCurrentIdentity, getOriginalBody, replaceBody, setBody, i18nConditionalGet, isThunderbird128OrGreater } from './js/mzta-utils.js';
var createdWindowID = null; var createdWindowID = null;
var original_html = ''; var original_html = '';
@ -223,24 +223,26 @@ async function openChatGPT(promptText, action, curr_tabId, prompt_name = '', do_
createdWindowID = newWindow2.id; createdWindowID = newWindow2.id;
let createdTab2 = newWindow2.tabs[0]; let createdTab2 = newWindow2.tabs[0];
// Wait for tab loaded. if(await isThunderbird128OrGreater()){
await new Promise(resolve => { // Wait for tab loaded.
const tabIsLoaded2 = tab => { await new Promise(resolve => {
return tab.status == "complete" && tab.url != "about:blank"; const tabIsLoaded2 = tab => {
}; return tab.status == "complete" && tab.url != "about:blank";
const listener2 = (tabId, changeInfo, updatedTab) => { };
if (tabIsLoaded2(updatedTab)) { const listener2 = (tabId, changeInfo, updatedTab) => {
browser.tabs.onUpdated.removeListener(listener2); if (tabIsLoaded2(updatedTab)) {
resolve(); browser.tabs.onUpdated.removeListener(listener2);
resolve();
}
} }
} // Early exit if loaded already
// Early exit if loaded already if (tabIsLoaded2(createdTab2)) {
if (tabIsLoaded2(createdTab2)) { resolve();
resolve(); } else {
} else { browser.tabs.onUpdated.addListener(listener2);
browser.tabs.onUpdated.addListener(listener2); }
} });
}); }
let mailMessage = await browser.messageDisplay.getDisplayedMessage(curr_tabId); let mailMessage = await browser.messageDisplay.getDisplayedMessage(curr_tabId);
let mailMessageId = -1; let mailMessageId = -1;