瀏覽代碼

fix: config-manager

sam hoang 1 年之前
父節點
當前提交
7646a2e33d

+ 1 - 1
webview-ui/src/components/settings/ApiOptions.tsx

@@ -56,7 +56,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
 	const handleInputChange = (field: keyof ApiConfiguration) => (event: any) => {
 		const apiConfig = { ...apiConfiguration, [field]: event.target.value }
 		onUpdateApiConfig(apiConfig)
-		setApiConfiguration(apiConfig)
+		// setApiConfiguration(apiConfig)
 	}
 
 	const { selectedProvider, selectedModelId, selectedModelInfo } = useMemo(() => {

+ 7 - 7
webview-ui/src/context/ExtensionStateContext.tsx

@@ -112,19 +112,19 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
 
 	const setListApiConfigMeta = useCallback(
 		(value: ApiConfigMeta[]) => setState((prevState) => ({ ...prevState, listApiConfigMeta: value })),
-		[setState],
+		[],
 	)
 
-	const onUpdateApiConfig = useCallback(
-		(apiConfig: ApiConfiguration) => {
+	const onUpdateApiConfig = useCallback((apiConfig: ApiConfiguration) => {
+		setState((currentState) => {
 			vscode.postMessage({
 				type: "upsertApiConfiguration",
-				text: state.currentApiConfigName,
+				text: currentState.currentApiConfigName, // Access latest state
 				apiConfiguration: apiConfig,
 			})
-		},
-		[state],
-	)
+			return currentState // No state update needed
+		})
+	}, [])
 
 	const handleMessage = useCallback(
 		(event: MessageEvent) => {