mirror of
https://github.com/logancyang/obsidian-copilot.git
synced 2026-07-22 07:50:24 +00:00
fix: Fixed the issue where the apikey could not be changed when switc… (#1243)
This commit is contained in:
parent
b5813ee69f
commit
f800ef20db
3 changed files with 16 additions and 15 deletions
|
|
@ -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 || "";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
}
|
||||
: {}),
|
||||
|
|
|
|||
Loading…
Reference in a new issue