waiting for the tab to load properly

This commit is contained in:
mic 2024-07-21 22:26:40 +02:00
parent 3e96681d03
commit 580410c4b3

View file

@ -210,6 +210,25 @@ async function openChatGPT(promptText, action, curr_tabId, prompt_name = '', do_
createdWindowID = newWindow.id; createdWindowID = newWindow.id;
let createdTab = newWindow.tabs[0]; let createdTab = newWindow.tabs[0];
// Wait for tab loaded.
await new Promise(resolve => {
const tabIsLoaded = tab => {
return tab.status == "complete" && tab.url != "about:blank";
};
const listener = (tabId, changeInfo, updatedTab) => {
if (tabIsLoaded(updatedTab)) {
browser.tabs.onUpdated.removeListener(listener);
resolve();
}
}
// Early exit if loaded already
if (tabIsLoaded(createdTab)) {
resolve();
} else {
browser.tabs.onUpdated.addListener(listener);
}
});
let mailMessage = await browser.messageDisplay.getDisplayedMessage(curr_tabId); let mailMessage = await browser.messageDisplay.getDisplayedMessage(curr_tabId);
let mailMessageId = -1; let mailMessageId = -1;
if(mailMessage) mailMessageId = mailMessage.id; if(mailMessage) mailMessageId = mailMessage.id;