Add queue count stat to maintenance page

This commit is contained in:
Jordan Wages 2025-06-29 03:16:12 -05:00
commit 8c03ad008e
3 changed files with 17 additions and 0 deletions

View file

@ -388,6 +388,8 @@ async function clearCacheForMessages(idsInput) {
logger.aiLog("failed to clear cache for message", { level: 'error' }, e);
return { ok: false };
}
} else if (msg?.type === "sortana:getQueueCount") {
return { count: queuedCount + (processing ? 1 : 0) };
} else {
logger.aiLog("Unknown message type, ignoring", {level: 'warn'}, msg?.type);
}

View file

@ -179,6 +179,7 @@
<tbody>
<tr><th>Rule count</th><td id="rule-count"></td></tr>
<tr><th>Cache entries</th><td id="cache-count"></td></tr>
<tr><th>Queue items</th><td id="queue-count"></td></tr>
</tbody>
</table>
<button class="button is-danger" id="clear-cache" type="button">Clear Cache</button>

View file

@ -304,8 +304,22 @@ document.addEventListener('DOMContentLoaded', async () => {
const ruleCountEl = document.getElementById('rule-count');
const cacheCountEl = document.getElementById('cache-count');
const queueCountEl = document.getElementById('queue-count');
ruleCountEl.textContent = (defaults.aiRules || []).length;
cacheCountEl.textContent = defaults.aiCache ? Object.keys(defaults.aiCache).length : 0;
async function refreshQueueCount() {
try {
const { count } = await browser.runtime.sendMessage({ type: 'sortana:getQueueCount' });
queueCountEl.textContent = count;
} catch (e) {
queueCountEl.textContent = '?';
}
}
refreshQueueCount();
setInterval(refreshQueueCount, 2000);
document.getElementById('clear-cache').addEventListener('click', async () => {
await AiClassifier.clearCache();
cacheCountEl.textContent = '0';