Merge pull request #67 from wagesj45/codex/add-new-message-type-for-details-fetching

Add active message retrieval fallback
This commit is contained in:
Jordan Wages 2025-07-05 22:55:10 -05:00 committed by GitHub
commit 11cc89dbc1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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
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") {
try {
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);
}
} 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;
try {
logger.aiLog('requesting message details', {}, id);