mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 06:50:43 +00:00
fix(ci): restore plugin-local whatsapp deps
This commit is contained in:
@@ -26,6 +26,11 @@ import {
|
||||
setTelegramThreadBindingMaxAgeBySessionKey,
|
||||
} from "./thread-bindings.js";
|
||||
|
||||
async function flushMicrotasks(): Promise<void> {
|
||||
await Promise.resolve();
|
||||
await new Promise<void>((resolve) => queueMicrotask(resolve));
|
||||
}
|
||||
|
||||
describe("telegram thread bindings", () => {
|
||||
let stateDirOverride: string | undefined;
|
||||
|
||||
@@ -361,7 +366,7 @@ describe("telegram thread bindings", () => {
|
||||
manager.touchConversation("-100200300:topic:100");
|
||||
|
||||
await __testing.resetTelegramThreadBindingsForTests();
|
||||
await new Promise((resolve) => setTimeout(resolve, 0));
|
||||
await flushMicrotasks();
|
||||
expect(unhandled).toEqual([]);
|
||||
} finally {
|
||||
process.off("unhandledRejection", onUnhandledRejection);
|
||||
|
||||
@@ -15,18 +15,11 @@ function cacheKey(chatId: number | string, threadId: number | string): string {
|
||||
}
|
||||
|
||||
function evictOldest(): void {
|
||||
if (cache.size <= MAX_ENTRIES) {
|
||||
return;
|
||||
}
|
||||
let oldestKey: string | undefined;
|
||||
let oldestTime = Infinity;
|
||||
for (const [key, entry] of cache) {
|
||||
if (entry.updatedAt < oldestTime) {
|
||||
oldestTime = entry.updatedAt;
|
||||
oldestKey = key;
|
||||
while (cache.size > MAX_ENTRIES) {
|
||||
const oldestKey = cache.keys().next().value;
|
||||
if (!oldestKey) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (oldestKey) {
|
||||
cache.delete(oldestKey);
|
||||
}
|
||||
}
|
||||
@@ -48,6 +41,7 @@ export function updateTopicName(
|
||||
if (!merged.name) {
|
||||
return;
|
||||
}
|
||||
cache.delete(key);
|
||||
cache.set(key, merged);
|
||||
evictOldest();
|
||||
}
|
||||
@@ -56,9 +50,16 @@ export function getTopicName(
|
||||
chatId: number | string,
|
||||
threadId: number | string,
|
||||
): string | undefined {
|
||||
const entry = cache.get(cacheKey(chatId, threadId));
|
||||
const key = cacheKey(chatId, threadId);
|
||||
const entry = cache.get(key);
|
||||
if (entry) {
|
||||
entry.updatedAt = Date.now();
|
||||
const refreshedEntry: TopicEntry = {
|
||||
...entry,
|
||||
updatedAt: Date.now(),
|
||||
};
|
||||
cache.delete(key);
|
||||
cache.set(key, refreshedEntry);
|
||||
return refreshedEntry.name;
|
||||
}
|
||||
return entry?.name;
|
||||
}
|
||||
|
||||
@@ -1380,7 +1380,6 @@
|
||||
"@sinclair/typebox": "0.34.49",
|
||||
"@slack/bolt": "^4.7.0",
|
||||
"@slack/web-api": "^7.15.0",
|
||||
"@whiskeysockets/baileys": "7.0.0-rc.9",
|
||||
"ajv": "^8.18.0",
|
||||
"chalk": "^5.6.2",
|
||||
"chokidar": "^5.0.0",
|
||||
|
||||
3
pnpm-lock.yaml
generated
3
pnpm-lock.yaml
generated
@@ -112,9 +112,6 @@ importers:
|
||||
'@slack/web-api':
|
||||
specifier: ^7.15.0
|
||||
version: 7.15.0
|
||||
'@whiskeysockets/baileys':
|
||||
specifier: 7.0.0-rc.9
|
||||
version: 7.0.0-rc.9(audio-decode@2.2.3)(jimp@1.6.1)(sharp@0.34.5)
|
||||
ajv:
|
||||
specifier: ^8.18.0
|
||||
version: 8.18.0
|
||||
|
||||
Reference in New Issue
Block a user