diff --git a/webview-ui/src/components/settings/ApiOptions.tsx b/webview-ui/src/components/settings/ApiOptions.tsx
index 9a84b07..4557ffd 100644
--- a/webview-ui/src/components/settings/ApiOptions.tsx
+++ b/webview-ui/src/components/settings/ApiOptions.tsx
@@ -156,7 +156,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.apiKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("apiKey")}
+ onInput={handleInputChange("apiKey")}
placeholder="Enter API Key...">
Anthropic API Key
@@ -181,7 +181,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.anthropicBaseUrl || ""}
style={{ width: "100%", marginTop: 3 }}
type="url"
- onChange={handleInputChange("anthropicBaseUrl")}
+ onInput={handleInputChange("anthropicBaseUrl")}
placeholder="Default: https://api.anthropic.com"
/>
)}
@@ -210,7 +210,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.glamaApiKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("glamaApiKey")}
+ onInput={handleInputChange("glamaApiKey")}
placeholder="Enter API Key...">
Glama API Key
@@ -239,7 +239,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.openAiNativeApiKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("openAiNativeApiKey")}
+ onInput={handleInputChange("openAiNativeApiKey")}
placeholder="Enter API Key...">
OpenAI API Key
@@ -267,7 +267,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.mistralApiKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("mistralApiKey")}
+ onInput={handleInputChange("mistralApiKey")}
placeholder="Enter API Key...">
Mistral API Key
@@ -298,7 +298,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.openRouterApiKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("openRouterApiKey")}
+ onInput={handleInputChange("openRouterApiKey")}
placeholder="Enter API Key...">
OpenRouter API Key
@@ -344,7 +344,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.awsAccessKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("awsAccessKey")}
+ onInput={handleInputChange("awsAccessKey")}
placeholder="Enter Access Key...">
AWS Access Key
@@ -352,7 +352,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.awsSecretKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("awsSecretKey")}
+ onInput={handleInputChange("awsSecretKey")}
placeholder="Enter Secret Key...">
AWS Secret Key
@@ -360,7 +360,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.awsSessionToken || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("awsSessionToken")}
+ onInput={handleInputChange("awsSessionToken")}
placeholder="Enter Session Token...">
AWS Session Token
@@ -426,7 +426,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
Google Cloud Project ID
@@ -484,7 +484,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.geminiApiKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("geminiApiKey")}
+ onInput={handleInputChange("geminiApiKey")}
placeholder="Enter API Key...">
Gemini API Key
@@ -512,7 +512,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.openAiBaseUrl || ""}
style={{ width: "100%" }}
type="url"
- onChange={handleInputChange("openAiBaseUrl")}
+ onInput={handleInputChange("openAiBaseUrl")}
placeholder={"Enter base URL..."}>
Base URL
@@ -520,7 +520,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.openAiApiKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("openAiApiKey")}
+ onInput={handleInputChange("openAiApiKey")}
placeholder="Enter API Key...">
API Key
@@ -563,7 +563,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
)}
@@ -1013,14 +1013,14 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.lmStudioBaseUrl || ""}
style={{ width: "100%" }}
type="url"
- onChange={handleInputChange("lmStudioBaseUrl")}
+ onInput={handleInputChange("lmStudioBaseUrl")}
placeholder={"Default: http://localhost:1234"}>
Base URL (optional)
Model ID
@@ -1082,7 +1082,7 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.deepSeekApiKey || ""}
style={{ width: "100%" }}
type="password"
- onChange={handleInputChange("deepSeekApiKey")}
+ onInput={handleInputChange("deepSeekApiKey")}
placeholder="Enter API Key...">
DeepSeek API Key
@@ -1172,14 +1172,14 @@ const ApiOptions = ({ apiErrorMessage, modelIdErrorMessage }: ApiOptionsProps) =
value={apiConfiguration?.ollamaBaseUrl || ""}
style={{ width: "100%" }}
type="url"
- onChange={handleInputChange("ollamaBaseUrl")}
+ onInput={handleInputChange("ollamaBaseUrl")}
placeholder={"Default: http://localhost:11434"}>
Base URL (optional)
Model ID
diff --git a/webview-ui/src/components/settings/GlamaModelPicker.tsx b/webview-ui/src/components/settings/GlamaModelPicker.tsx
index 24a11ae..07d75be 100644
--- a/webview-ui/src/components/settings/GlamaModelPicker.tsx
+++ b/webview-ui/src/components/settings/GlamaModelPicker.tsx
@@ -167,17 +167,8 @@ const GlamaModelPicker: React.FC = () => {
placeholder="Search and select a model..."
value={searchTerm}
onInput={(e) => {
- const newModelId = (e.target as HTMLInputElement)?.value?.toLowerCase()
- const apiConfig = {
- ...apiConfiguration,
- openAiModelId: newModelId,
- }
- setApiConfiguration(apiConfig)
- setSearchTerm(newModelId)
- setIsDropdownVisible(true)
- }}
- onChange={(e) => {
handleModelChange((e.target as HTMLInputElement)?.value?.toLowerCase())
+ setIsDropdownVisible(true)
}}
onFocus={() => setIsDropdownVisible(true)}
onKeyDown={handleKeyDown}
diff --git a/webview-ui/src/components/settings/OpenAiModelPicker.tsx b/webview-ui/src/components/settings/OpenAiModelPicker.tsx
index 9455f2a..05cd000 100644
--- a/webview-ui/src/components/settings/OpenAiModelPicker.tsx
+++ b/webview-ui/src/components/settings/OpenAiModelPicker.tsx
@@ -159,17 +159,8 @@ const OpenAiModelPicker: React.FC = () => {
placeholder="Search and select a model..."
value={searchTerm}
onInput={(e) => {
- const newModelId = (e.target as HTMLInputElement)?.value?.toLowerCase()
- const apiConfig = {
- ...apiConfiguration,
- openAiModelId: newModelId,
- }
- setApiConfiguration(apiConfig)
- setSearchTerm(newModelId)
- setIsDropdownVisible(true)
- }}
- onChange={(e) => {
handleModelChange((e.target as HTMLInputElement)?.value?.toLowerCase())
+ setIsDropdownVisible(true)
}}
onFocus={() => setIsDropdownVisible(true)}
onKeyDown={handleKeyDown}
diff --git a/webview-ui/src/components/settings/OpenRouterModelPicker.tsx b/webview-ui/src/components/settings/OpenRouterModelPicker.tsx
index ed4594a..a1761cd 100644
--- a/webview-ui/src/components/settings/OpenRouterModelPicker.tsx
+++ b/webview-ui/src/components/settings/OpenRouterModelPicker.tsx
@@ -167,17 +167,8 @@ const OpenRouterModelPicker: React.FC = () => {
placeholder="Search and select a model..."
value={searchTerm}
onInput={(e) => {
- const newModelId = (e.target as HTMLInputElement)?.value?.toLowerCase()
- const apiConfig = {
- ...apiConfiguration,
- openAiModelId: newModelId,
- }
- setApiConfiguration(apiConfig)
- setSearchTerm(newModelId)
- setIsDropdownVisible(true)
- }}
- onChange={(e) => {
handleModelChange((e.target as HTMLInputElement)?.value?.toLowerCase())
+ setIsDropdownVisible(true)
}}
onFocus={() => setIsDropdownVisible(true)}
onKeyDown={handleKeyDown}