Add fallback message to fetch active message id

This commit is contained in:
Jordan Wages 2025-07-05 22:53:40 -05:00
commit 97bfabfbea
2 changed files with 25 additions and 1 deletions

View file

@ -411,6 +411,19 @@ async function clearCacheForMessages(idsInput) {
// rethrow so the caller sees the failure // rethrow so the caller sees the failure
throw err; throw err;
} }
} else if (msg?.type === "sortana:getActiveMessage") {
try {
const displayed = await browser.messageDisplay.getDisplayedMessages();
let id = displayed[0]?.id;
if (!id) {
const selected = await browser.mailTabs.getSelectedMessages();
id = selected?.messages?.[0]?.id;
}
return { id: id ?? null };
} catch (e) {
logger.aiLog("failed to get active message", { level: 'error' }, e);
return { id: null };
}
} else if (msg?.type === "sortana:clearCacheForDisplayed") { } else if (msg?.type === "sortana:clearCacheForDisplayed") {
try { try {
const msgs = await browser.messageDisplay.getDisplayedMessages(); const msgs = await browser.messageDisplay.getDisplayedMessages();

View file

@ -20,9 +20,20 @@ document.addEventListener('DOMContentLoaded', async () => {
logger.aiLog('message id from selected messages', { debug: true }, id); logger.aiLog('message id from selected messages', { debug: true }, id);
} }
} catch (e) { } catch (e) {
logger.aiLog('failed to determine message id', { level: 'error' }, e); logger.aiLog('failed to determine message id locally', { level: 'error' }, e);
} }
} }
if (!id) {
try {
const resp = await browser.runtime.sendMessage({ type: 'sortana:getActiveMessage' });
id = resp?.id;
logger.aiLog('message id from background', { debug: true }, id);
} catch (e) {
logger.aiLog('failed to get message id from background', { level: 'error' }, e);
}
}
if (!id) return; if (!id) return;
try { try {
logger.aiLog('requesting message details', {}, id); logger.aiLog('requesting message details', {}, id);