Przeglądaj źródła

fix all lint warnings

Justin Quan 1 rok temu
rodzic
commit
267fb441d9

+ 31 - 18
webview-ui/src/components/chat/ChatView.tsx

@@ -479,7 +479,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 		})
 		})
 	}, [modifiedMessages])
 	}, [modifiedMessages])
 
 
-	const isReadOnlyToolAction = (message: ClineMessage | undefined) => {
+	const isReadOnlyToolAction = useCallback((message: ClineMessage | undefined) => {
 		if (message?.type === "ask") {
 		if (message?.type === "ask") {
 			if (!message.text) {
 			if (!message.text) {
 				return true
 				return true
@@ -488,9 +488,9 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 			return ["readFile", "listFiles", "listFilesTopLevel", "listFilesRecursive", "listCodeDefinitionNames", "searchFiles"].includes(tool.tool)
 			return ["readFile", "listFiles", "listFilesTopLevel", "listFilesRecursive", "listCodeDefinitionNames", "searchFiles"].includes(tool.tool)
 		}
 		}
 		return false
 		return false
-	}
+	}, [])
 
 
-	const isWriteToolAction = (message: ClineMessage | undefined) => {
+	const isWriteToolAction = useCallback((message: ClineMessage | undefined) => {
 		if (message?.type === "ask") {
 		if (message?.type === "ask") {
 			if (!message.text) {
 			if (!message.text) {
 				return true
 				return true
@@ -499,9 +499,9 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 			return ["editedExistingFile", "appliedDiff", "newFileCreated"].includes(tool.tool)
 			return ["editedExistingFile", "appliedDiff", "newFileCreated"].includes(tool.tool)
 		}
 		}
 		return false
 		return false
-	}
+	}, [])
 
 
-	const isMcpToolAlwaysAllowed = (message: ClineMessage | undefined) => {
+	const isMcpToolAlwaysAllowed = useCallback((message: ClineMessage | undefined) => {
 		if (message?.type === "ask" && message.ask === "use_mcp_server") {
 		if (message?.type === "ask" && message.ask === "use_mcp_server") {
 			if (!message.text) {
 			if (!message.text) {
 				return true
 				return true
@@ -514,9 +514,9 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 			}
 			}
 		}
 		}
 		return false
 		return false
-	}
+	}, [mcpServers])
 
 
-	const isAllowedCommand = (message: ClineMessage | undefined) => {
+	const isAllowedCommand = useCallback((message: ClineMessage | undefined) => {
 		if (message?.type === "ask") {
 		if (message?.type === "ask") {
 			const command = message.text
 			const command = message.text
 			if (!command) {
 			if (!command) {
@@ -533,19 +533,32 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 			})
 			})
 		}
 		}
 		return false
 		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(() => {
 	useEffect(() => {
 		// Only execute when isStreaming changes from true to false
 		// Only execute when isStreaming changes from true to false

+ 0 - 1
webview-ui/src/components/mcp/__tests__/McpToolRow.test.tsx

@@ -23,7 +23,6 @@ jest.mock('@vscode/webview-ui-toolkit/react', () => ({
       <label>
       <label>
         <input
         <input
           type="checkbox"
           type="checkbox"
-          role="checkbox"
           checked={checked}
           checked={checked}
           onChange={onChange}
           onChange={onChange}
         />
         />

+ 1 - 1
webview-ui/src/components/settings/__tests__/SettingsView.test.tsx

@@ -40,7 +40,7 @@ jest.mock('@vscode/webview-ui-toolkit/react', () => ({
     />
     />
   ),
   ),
   VSCodeTextArea: () => <textarea />,
   VSCodeTextArea: () => <textarea />,
-  VSCodeLink: () => <a />,
+  VSCodeLink: ({ children, href }: any) => <a href={href || '#'}>{children}</a>,
   VSCodeDropdown: ({ children, value, onChange }: any) => (
   VSCodeDropdown: ({ children, value, onChange }: any) => (
     <select value={value} onChange={onChange}>
     <select value={value} onChange={onChange}>
       {children}
       {children}