Use Message-ID for cache keys
This commit is contained in:
parent
41a0f4f8f2
commit
8ba2a931b9
3 changed files with 21 additions and 6 deletions
|
@ -76,11 +76,26 @@ function buildCacheKeySync(id, criterion) {
|
|||
return sha256HexSync(`${id}|${criterion}`);
|
||||
}
|
||||
|
||||
async function buildCacheKey(id, criterion) {
|
||||
if (Services) {
|
||||
return buildCacheKeySync(id, criterion);
|
||||
async function resolveHeaderId(id) {
|
||||
if (typeof id === "number" && typeof messenger?.messages?.get === "function") {
|
||||
try {
|
||||
const hdr = await messenger.messages.get(id);
|
||||
if (hdr?.headerMessageId) {
|
||||
return hdr.headerMessageId;
|
||||
}
|
||||
} catch (e) {
|
||||
aiLog(`Failed to resolve headerMessageId for ${id}`, { level: 'warn' }, e);
|
||||
}
|
||||
}
|
||||
return sha256Hex(`${id}|${criterion}`);
|
||||
return String(id);
|
||||
}
|
||||
|
||||
async function buildCacheKey(id, criterion) {
|
||||
const resolvedId = await resolveHeaderId(id);
|
||||
if (Services) {
|
||||
return buildCacheKeySync(resolvedId, criterion);
|
||||
}
|
||||
return sha256Hex(`${resolvedId}|${criterion}`);
|
||||
}
|
||||
|
||||
async function loadCache() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue