diff --git a/src/renderer/src/hooks/useAppInit.ts b/src/renderer/src/hooks/useAppInit.ts index 3ecbdf762..0ca30a7f0 100644 --- a/src/renderer/src/hooks/useAppInit.ts +++ b/src/renderer/src/hooks/useAppInit.ts @@ -221,13 +221,12 @@ export function useAppInit() { } } - window.electron.ipcRenderer.on(IpcChannel.AgentToolPermission_Request, requestListener) - window.electron.ipcRenderer.on(IpcChannel.AgentToolPermission_Result, resultListener) + const removeListeners = [ + window.electron.ipcRenderer.on(IpcChannel.AgentToolPermission_Request, requestListener), + window.electron.ipcRenderer.on(IpcChannel.AgentToolPermission_Result, resultListener) + ] - return () => { - window.electron?.ipcRenderer.removeListener(IpcChannel.AgentToolPermission_Request, requestListener) - window.electron?.ipcRenderer.removeListener(IpcChannel.AgentToolPermission_Result, resultListener) - } + return () => removeListeners.forEach((removeListener) => removeListener()) }, [dispatch, t]) useEffect(() => { diff --git a/src/renderer/src/pages/home/Messages/Tools/ToolPermissionRequestCard.tsx b/src/renderer/src/pages/home/Messages/Tools/ToolPermissionRequestCard.tsx index 096a0b549..7df8544a6 100644 --- a/src/renderer/src/pages/home/Messages/Tools/ToolPermissionRequestCard.tsx +++ b/src/renderer/src/pages/home/Messages/Tools/ToolPermissionRequestCard.tsx @@ -3,7 +3,7 @@ import { loggerService } from '@logger' import { useAppDispatch, useAppSelector } from '@renderer/store' import { selectPendingPermissionByToolName, toolPermissionsActions } from '@renderer/store/toolPermissions' import type { NormalToolResponse } from '@renderer/types' -import { Button, Tag } from 'antd' +import { Button } from 'antd' import { ChevronDown, CirclePlay, CircleX } from 'lucide-react' import { useCallback, useEffect, useMemo, useState } from 'react' import { useTranslation } from 'react-i18next' @@ -127,11 +127,14 @@ export function ToolPermissionRequestCard({ toolResponse }: Props) {