Add logging to details page
This commit is contained in:
parent
3a10609399
commit
c0ba2d1fdd
1 changed files with 15 additions and 2 deletions
17
details.js
17
details.js
|
@ -1,6 +1,13 @@
|
||||||
document.addEventListener('DOMContentLoaded', async () => {
|
document.addEventListener('DOMContentLoaded', async () => {
|
||||||
|
const storage = (globalThis.messenger ?? browser).storage;
|
||||||
|
const logger = await import(browser.runtime.getURL('logger.js'));
|
||||||
|
const { debugLogging } = await storage.local.get('debugLogging');
|
||||||
|
logger.setDebug(debugLogging === true);
|
||||||
|
logger.aiLog('details page loaded', { debug: true });
|
||||||
|
|
||||||
const params = new URLSearchParams(location.search);
|
const params = new URLSearchParams(location.search);
|
||||||
let id = parseInt(params.get('mid'), 10);
|
let id = parseInt(params.get('mid'), 10);
|
||||||
|
logger.aiLog('initial message id', { debug: true }, id);
|
||||||
|
|
||||||
if (!id) {
|
if (!id) {
|
||||||
try {
|
try {
|
||||||
|
@ -8,22 +15,27 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||||
const tabId = tabs[0]?.id;
|
const tabId = tabs[0]?.id;
|
||||||
const msgs = tabId ? await browser.messageDisplay.getDisplayedMessages(tabId) : [];
|
const msgs = tabId ? await browser.messageDisplay.getDisplayedMessages(tabId) : [];
|
||||||
id = msgs[0]?.id;
|
id = msgs[0]?.id;
|
||||||
|
logger.aiLog('message id from displayed messages', { debug: true }, id);
|
||||||
if (!id) {
|
if (!id) {
|
||||||
const mailTabs = await browser.mailTabs.query({ active: true, currentWindow: true });
|
const mailTabs = await browser.mailTabs.query({ active: true, currentWindow: true });
|
||||||
const mailTabId = mailTabs[0]?.id;
|
const mailTabId = mailTabs[0]?.id;
|
||||||
const selected = mailTabId !== undefined ? await browser.mailTabs.getSelectedMessages(mailTabId) : null;
|
const selected = mailTabId !== undefined ? await browser.mailTabs.getSelectedMessages(mailTabId) : null;
|
||||||
id = selected?.messages?.[0]?.id;
|
id = selected?.messages?.[0]?.id;
|
||||||
|
logger.aiLog('message id from selected messages', { debug: true }, id);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('failed to determine message id', e);
|
logger.aiLog('failed to determine message id', { level: 'error' }, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!id) return;
|
if (!id) return;
|
||||||
try {
|
try {
|
||||||
|
logger.aiLog('requesting message details', {}, id);
|
||||||
const { subject, results } = await browser.runtime.sendMessage({ type: 'sortana:getDetails', id });
|
const { subject, results } = await browser.runtime.sendMessage({ type: 'sortana:getDetails', id });
|
||||||
|
logger.aiLog('received details', { debug: true }, { subject, results });
|
||||||
document.getElementById('subject').textContent = subject;
|
document.getElementById('subject').textContent = subject;
|
||||||
const container = document.getElementById('rules');
|
const container = document.getElementById('rules');
|
||||||
for (const r of results) {
|
for (const r of results) {
|
||||||
|
logger.aiLog('rendering rule result', { debug: true }, r);
|
||||||
const article = document.createElement('article');
|
const article = document.createElement('article');
|
||||||
const color = r.matched === true ? 'is-success' : 'is-danger';
|
const color = r.matched === true ? 'is-success' : 'is-danger';
|
||||||
article.className = `message ${color} mb-4`;
|
article.className = `message ${color} mb-4`;
|
||||||
|
@ -43,10 +55,11 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||||
container.appendChild(article);
|
container.appendChild(article);
|
||||||
}
|
}
|
||||||
document.getElementById('clear').addEventListener('click', async () => {
|
document.getElementById('clear').addEventListener('click', async () => {
|
||||||
|
logger.aiLog('clearing cache for message', {}, id);
|
||||||
await browser.runtime.sendMessage({ type: 'sortana:clearCacheForMessage', id });
|
await browser.runtime.sendMessage({ type: 'sortana:clearCacheForMessage', id });
|
||||||
window.close();
|
window.close();
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('failed to load details', e);
|
logger.aiLog('failed to load details', { level: 'error' }, e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue