correctly showing spam elaboration errors. see #658
This commit is contained in:
parent
c4176ebfec
commit
dc5e23a4d5
1 changed files with 25 additions and 20 deletions
|
|
@ -1084,6 +1084,23 @@ const newEmailListener = (folder, messagesList) => {
|
||||||
return _newEmailListener();
|
return _newEmailListener();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function updateSpamPanel(messageId, command, data = null) {
|
||||||
|
if (prefs_init.spamfilter_show_msg_panel) {
|
||||||
|
let tabs = await browser.tabs.query({ active: true, currentWindow: true });
|
||||||
|
if (tabs.length > 0) {
|
||||||
|
let activeTab = tabs[0];
|
||||||
|
let displayedMessage = await browser.messageDisplay.getDisplayedMessage(activeTab.id);
|
||||||
|
if (displayedMessage && displayedMessage.headerMessageId === messageId) {
|
||||||
|
let msg = { command: command };
|
||||||
|
if (data) {
|
||||||
|
msg.data = data;
|
||||||
|
}
|
||||||
|
browser.tabs.sendMessage(activeTab.id, msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function processEmails(args) {
|
async function processEmails(args) {
|
||||||
const {
|
const {
|
||||||
messages,
|
messages,
|
||||||
|
|
@ -1185,16 +1202,7 @@ async function processEmails(args) {
|
||||||
|
|
||||||
await taSpamReport.setProcessing(message.headerMessageId);
|
await taSpamReport.setProcessing(message.headerMessageId);
|
||||||
|
|
||||||
if (prefs_init.spamfilter_show_msg_panel) {
|
await updateSpamPanel(message.headerMessageId, "showSpamCheckInProgress");
|
||||||
let tabs = await browser.tabs.query({ active: true, currentWindow: true });
|
|
||||||
if (tabs.length > 0) {
|
|
||||||
let activeTab = tabs[0];
|
|
||||||
let displayedMessage = await browser.messageDisplay.getDisplayedMessage(activeTab.id);
|
|
||||||
if (displayedMessage && displayedMessage.id === message.id) {
|
|
||||||
browser.tabs.sendMessage(activeTab.id, { command: "showSpamCheckInProgress" });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let curr_prompt_spamfilter = await getSpamFilterPrompt();
|
let curr_prompt_spamfilter = await getSpamFilterPrompt();
|
||||||
// console.log(">>>>>>>>>>>>> curr_prompt_spamfilter: " + JSON.stringify(curr_prompt_spamfilter));
|
// console.log(">>>>>>>>>>>>> curr_prompt_spamfilter: " + JSON.stringify(curr_prompt_spamfilter));
|
||||||
|
|
@ -1223,6 +1231,9 @@ async function processEmails(args) {
|
||||||
spamfilter_result = (await cmd_spamfilter.sendPrompt()).trim();
|
spamfilter_result = (await cmd_spamfilter.sendPrompt()).trim();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("[ThunderAI | SpamFilter] Error getting spamfilter: ", err);
|
console.error("[ThunderAI | SpamFilter] Error getting spamfilter: ", err);
|
||||||
|
let err_data = await taSpamReport.saveError(message.headerMessageId, err.message || String(err));
|
||||||
|
await updateSpamPanel(message.headerMessageId, "showSpamReport", err_data);
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
taLog.log("spamfilter_result: " + spamfilter_result);
|
taLog.log("spamfilter_result: " + spamfilter_result);
|
||||||
let jsonObj = {};
|
let jsonObj = {};
|
||||||
|
|
@ -1231,6 +1242,9 @@ async function processEmails(args) {
|
||||||
jsonObj = extractJsonObject(spamfilter_result);
|
jsonObj = extractJsonObject(spamfilter_result);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("[ThunderAI | SpamFilter] Error extracting JSON from AI response: ", e);
|
console.error("[ThunderAI | SpamFilter] Error extracting JSON from AI response: ", e);
|
||||||
|
let err_data = await taSpamReport.saveError(message.headerMessageId, e.message || String(e));
|
||||||
|
await updateSpamPanel(message.headerMessageId, "showSpamReport", err_data);
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
taLog.log("SpamFilter jsonObj: " + JSON.stringify(jsonObj));
|
taLog.log("SpamFilter jsonObj: " + JSON.stringify(jsonObj));
|
||||||
|
|
||||||
|
|
@ -1257,16 +1271,7 @@ async function processEmails(args) {
|
||||||
taSpamReport.saveReportData(report_data, message.headerMessageId);
|
taSpamReport.saveReportData(report_data, message.headerMessageId);
|
||||||
|
|
||||||
// Check if the message is currently displayed and update the banner
|
// Check if the message is currently displayed and update the banner
|
||||||
if (prefs_init.spamfilter_show_msg_panel) {
|
await updateSpamPanel(message.headerMessageId, "showSpamReport", report_data);
|
||||||
let tabs = await browser.tabs.query({ active: true, currentWindow: true });
|
|
||||||
if (tabs.length > 0) {
|
|
||||||
let activeTab = tabs[0];
|
|
||||||
let displayedMessage = await browser.messageDisplay.getDisplayedMessage(activeTab.id);
|
|
||||||
if (displayedMessage && displayedMessage.id === message.id) {
|
|
||||||
browser.tabs.sendMessage(activeTab.id, { command: "showSpamReport", data: report_data });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue