From d0b64dabc29574bd28b9b422889d17f259f6fa6b Mon Sep 17 00:00:00 2001 From: icarus Date: Thu, 18 Sep 2025 22:51:02 +0800 Subject: [PATCH] fix(agents): correct agent update and retrieval logic Fix mutation logic to use result.id instead of form.id for consistency Make getAgent async and update cache with fetched agent data --- src/renderer/src/hooks/agents/useAgents.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/hooks/agents/useAgents.ts b/src/renderer/src/hooks/agents/useAgents.ts index 8942732f93..82e3869b37 100644 --- a/src/renderer/src/hooks/agents/useAgents.ts +++ b/src/renderer/src/hooks/agents/useAgents.ts @@ -33,7 +33,7 @@ export const useAgents = () => { try { // may change to optimistic update const result = await client.updateAgent(form) - mutate((prev) => prev?.map((a) => (a.id === form.id ? result : a)) ?? []) + mutate((prev) => prev?.map((a) => (a.id === result.id ? result : a)) ?? []) } catch (error) { window.toast.error(formatErrorMessageWithPrefix(error, t('agent.update.error.failed'))) } @@ -54,10 +54,11 @@ export const useAgents = () => { ) const getAgent = useCallback( - (id: string) => { - return data?.find((agent) => agent.id === id) + async (id: string) => { + const result = await client.getAgent(id) + mutate((prev) => prev?.map((a) => (a.id === result.id ? result : a)) ?? []) }, - [data] + [client, mutate] ) return {