From 267fb441d9504feeb346ca84b66a39d38328acf9 Mon Sep 17 00:00:00 2001 From: Justin Quan Date: Mon, 16 Dec 2024 15:12:49 -0800 Subject: [PATCH] fix all lint warnings --- webview-ui/src/components/chat/ChatView.tsx | 49 ++++++++++++------- .../mcp/__tests__/McpToolRow.test.tsx | 1 - .../settings/__tests__/SettingsView.test.tsx | 2 +- 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/webview-ui/src/components/chat/ChatView.tsx b/webview-ui/src/components/chat/ChatView.tsx index 811056b..ff765e2 100644 --- a/webview-ui/src/components/chat/ChatView.tsx +++ b/webview-ui/src/components/chat/ChatView.tsx @@ -479,7 +479,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie }) }, [modifiedMessages]) - const isReadOnlyToolAction = (message: ClineMessage | undefined) => { + const isReadOnlyToolAction = useCallback((message: ClineMessage | undefined) => { if (message?.type === "ask") { if (!message.text) { return true @@ -488,9 +488,9 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie return ["readFile", "listFiles", "listFilesTopLevel", "listFilesRecursive", "listCodeDefinitionNames", "searchFiles"].includes(tool.tool) } return false - } + }, []) - const isWriteToolAction = (message: ClineMessage | undefined) => { + const isWriteToolAction = useCallback((message: ClineMessage | undefined) => { if (message?.type === "ask") { if (!message.text) { return true @@ -499,9 +499,9 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie return ["editedExistingFile", "appliedDiff", "newFileCreated"].includes(tool.tool) } return false - } + }, []) - const isMcpToolAlwaysAllowed = (message: ClineMessage | undefined) => { + const isMcpToolAlwaysAllowed = useCallback((message: ClineMessage | undefined) => { if (message?.type === "ask" && message.ask === "use_mcp_server") { if (!message.text) { return true @@ -514,9 +514,9 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie } } return false - } + }, [mcpServers]) - const isAllowedCommand = (message: ClineMessage | undefined) => { + const isAllowedCommand = useCallback((message: ClineMessage | undefined) => { if (message?.type === "ask") { const command = message.text if (!command) { @@ -533,19 +533,32 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie }) } return false - } + }, [allowedCommands]) - const isAutoApproved = (message: ClineMessage | undefined) => { - if (!message || message.type !== "ask") return false + const isAutoApproved = useCallback( + (message: ClineMessage | undefined) => { + if (!message || message.type !== "ask") return false - return ( - (alwaysAllowBrowser && message.ask === "browser_action_launch") || - (alwaysAllowReadOnly && message.ask === "tool" && isReadOnlyToolAction(message)) || - (alwaysAllowWrite && message.ask === "tool" && isWriteToolAction(message)) || - (alwaysAllowExecute && message.ask === "command" && isAllowedCommand(message)) || - (alwaysAllowMcp && message.ask === "use_mcp_server" && isMcpToolAlwaysAllowed(message)) - ) - } + return ( + (alwaysAllowBrowser && message.ask === "browser_action_launch") || + (alwaysAllowReadOnly && message.ask === "tool" && isReadOnlyToolAction(message)) || + (alwaysAllowWrite && message.ask === "tool" && isWriteToolAction(message)) || + (alwaysAllowExecute && message.ask === "command" && isAllowedCommand(message)) || + (alwaysAllowMcp && message.ask === "use_mcp_server" && isMcpToolAlwaysAllowed(message)) + ) + }, + [ + alwaysAllowBrowser, + alwaysAllowReadOnly, + alwaysAllowWrite, + alwaysAllowExecute, + alwaysAllowMcp, + isReadOnlyToolAction, + isWriteToolAction, + isAllowedCommand, + isMcpToolAlwaysAllowed + ] + ) useEffect(() => { // Only execute when isStreaming changes from true to false diff --git a/webview-ui/src/components/mcp/__tests__/McpToolRow.test.tsx b/webview-ui/src/components/mcp/__tests__/McpToolRow.test.tsx index 9f3cd96..2f4d286 100644 --- a/webview-ui/src/components/mcp/__tests__/McpToolRow.test.tsx +++ b/webview-ui/src/components/mcp/__tests__/McpToolRow.test.tsx @@ -23,7 +23,6 @@ jest.mock('@vscode/webview-ui-toolkit/react', () => ({