fix: Fixed the issue where the apikey could not be changed when switc… (#1243)

This commit is contained in:
Emt-lin 2025-02-13 04:30:13 +08:00 committed by GitHub
parent b5813ee69f
commit f800ef20db
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 16 additions and 15 deletions

View file

@ -1,8 +1,10 @@
import React, { useState, useEffect, useRef } from "react";
import React, { useEffect, useRef, useState } from "react";
import { Input } from "@/components/ui/input";
import { cn } from "@/lib/utils";
import { Eye, EyeOff } from "lucide-react";
import { getDecryptedKey } from "@/encryptionService";
import { logError } from "@/logger";
import { err2String } from "@/utils";
export function PasswordInput({
value,
@ -11,7 +13,7 @@ export function PasswordInput({
disabled,
className,
}: {
value?: string | number;
value?: string;
onChange?: (value: string) => void;
placeholder?: string;
disabled?: boolean;
@ -24,15 +26,18 @@ export function PasswordInput({
// Initialize the input value on first load
useEffect(() => {
const processValue = async () => {
if (isFirstLoad.current && typeof value === "string" && value && inputRef.current) {
if (isFirstLoad.current && value && inputRef.current) {
try {
const decrypted = await getDecryptedKey(value);
inputRef.current.value = decrypted;
inputRef.current.value = await getDecryptedKey(value);
} catch (error) {
console.error("Failed to decrypt value:", error);
logError("Failed to decrypt value:" + err2String(error));
inputRef.current.value = value;
}
isFirstLoad.current = false;
} else {
if (inputRef.current) {
inputRef.current.value = value || "";
}
}
};

View file

@ -141,7 +141,7 @@ export function SettingItem(props: SettingItemProps) {
case "password":
return (
<PasswordInput
value={props.value}
value={props.value !== undefined ? String(props.value) : undefined}
onChange={(value) => {
debouncedOnChange?.(value);
}}

View file

@ -165,8 +165,6 @@ export const ModelAddDialog: React.FC<ModelAddDialogProps> = ({
if (!isEmbeddingModel) {
return {
...baseModel,
temperature: 0.1,
context: 1000,
stream: true,
};
}
@ -207,14 +205,12 @@ export const ModelAddDialog: React.FC<ModelAddDialogProps> = ({
...model,
provider,
apiKey: getDefaultApiKey(provider),
...(provider === ChatModelProviders.AZURE_OPENAI
? { openAIOrgId: settings.openAIOrgId }
: {}),
...(provider === ChatModelProviders.OPENAI ? { openAIOrgId: settings.openAIOrgId } : {}),
...(provider === ChatModelProviders.AZURE_OPENAI
? {
azureInstanceName: settings.azureOpenAIApiInstanceName,
azureDeploymentName: settings.azureOpenAIApiDeploymentName,
azureApiVersion: settings.azureOpenAIApiVersion,
azureOpenAIApiInstanceName: settings.azureOpenAIApiInstanceName,
azureOpenAIApiDeploymentName: settings.azureOpenAIApiDeploymentName,
azureOpenAIApiVersion: settings.azureOpenAIApiVersion,
azureOpenAIApiEmbeddingDeploymentName: settings.azureOpenAIApiEmbeddingDeploymentName,
}
: {}),