diff --git a/.changeset/cold-tips-tease.md b/.changeset/cold-tips-tease.md new file mode 100644 index 00000000000..11b8170a744 --- /dev/null +++ b/.changeset/cold-tips-tease.md @@ -0,0 +1,5 @@ +--- +"kilo-code": patch +--- + +Fix Custom Headers are not saved for OpenAI Compatible providers diff --git a/webview-ui/src/components/settings/providers/OpenAICompatible.tsx b/webview-ui/src/components/settings/providers/OpenAICompatible.tsx index 9d55d57f8c6..c0fc093106c 100644 --- a/webview-ui/src/components/settings/providers/OpenAICompatible.tsx +++ b/webview-ui/src/components/settings/providers/OpenAICompatible.tsx @@ -1,4 +1,4 @@ -import { useState, useCallback } from "react" +import { useState, useCallback, useEffect } from "react" import { useEvent } from "react-use" import { Checkbox } from "vscrui" import { VSCodeButton, VSCodeTextField } from "@vscode/webview-ui-toolkit/react" @@ -92,6 +92,15 @@ export const OpenAICompatible = ({ apiConfiguration, setApiConfigurationField }: useEvent("message", onMessage) + // kilocode_change start + // Update the main configuration whenever custom headers change + useEffect(() => { + // Convert the array of [key, value] pairs to an object, filtering out headers with empty keys + const headersObject = Object.fromEntries(customHeaders.filter(([key]) => key.trim() !== "")) + setApiConfigurationField("openAiHeaders", headersObject) + }, [customHeaders, setApiConfigurationField]) + // kilocode_change end + return ( <>