From 316253aed6584ea49bbd6234c4babbb38ef548eb Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Fri, 24 Apr 2026 03:18:16 +0700 Subject: [PATCH] chore(lint): parallelize Claude persisted agents lookup Replace sequential parseClaudeSessionDescriptor loop with Promise.all to fix no-await-in-loop warning. --- .../server/agent/providers/claude-agent.ts | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/server/src/server/agent/providers/claude-agent.ts b/packages/server/src/server/agent/providers/claude-agent.ts index 9c8fb7509..0c58a845d 100644 --- a/packages/server/src/server/agent/providers/claude-agent.ts +++ b/packages/server/src/server/agent/providers/claude-agent.ts @@ -1193,19 +1193,14 @@ export class ClaudeAgentClient implements AgentClient { } const limit = options?.limit ?? 20; const candidates = await collectRecentClaudeSessions(projectsRoot, limit * 3); - const descriptors: PersistedAgentDescriptor[] = []; - - for (const candidate of candidates) { - const descriptor = await parseClaudeSessionDescriptor(candidate.path, candidate.mtime); - if (descriptor) { - descriptors.push(descriptor); - } - if (descriptors.length >= limit) { - break; - } - } - - return descriptors; + const parsed = await Promise.all( + candidates.map((candidate) => + parseClaudeSessionDescriptor(candidate.path, candidate.mtime), + ), + ); + return parsed + .filter((descriptor): descriptor is PersistedAgentDescriptor => descriptor !== null) + .slice(0, limit); } async isAvailable(): Promise {