mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
chore: Throw a 404 instead of returning defaults if settings does not exist (#6704)
This commit is contained in:
parent
7e359eda4a
commit
ba599c7dd6
@ -5,9 +5,10 @@ import { LoadingSpinner } from "../../loading-spinner";
|
||||
import { ModalBackdrop } from "../modal-backdrop";
|
||||
import { SettingsForm } from "./settings-form";
|
||||
import { Settings } from "#/types/settings";
|
||||
import { DEFAULT_SETTINGS } from "#/services/settings";
|
||||
|
||||
interface SettingsModalProps {
|
||||
settings: Settings;
|
||||
settings?: Settings;
|
||||
onClose: () => void;
|
||||
}
|
||||
|
||||
@ -38,7 +39,7 @@ export function SettingsModal({ onClose, settings }: SettingsModalProps) {
|
||||
)}
|
||||
{aiConfigOptions.data && (
|
||||
<SettingsForm
|
||||
settings={settings}
|
||||
settings={settings || DEFAULT_SETTINGS}
|
||||
models={aiConfigOptions.data?.models}
|
||||
agents={aiConfigOptions.data?.agents}
|
||||
securityAnalyzers={aiConfigOptions.data?.securityAnalyzers}
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
import React from "react";
|
||||
import posthog from "posthog-js";
|
||||
import { DEFAULT_SETTINGS } from "#/services/settings";
|
||||
import OpenHands from "#/api/open-hands";
|
||||
import { useAuth } from "#/context/auth-context";
|
||||
import { useConfig } from "#/hooks/query/use-config";
|
||||
@ -31,10 +30,11 @@ export const useSettings = () => {
|
||||
const query = useQuery({
|
||||
queryKey: ["settings"],
|
||||
queryFn: getSettingsQueryFn,
|
||||
initialData: DEFAULT_SETTINGS,
|
||||
staleTime: 0,
|
||||
retry: false,
|
||||
enabled: config?.APP_MODE !== "saas" || githubTokenIsSet,
|
||||
// Only retry if the error is not a 404 because we
|
||||
// would want to show the modal immediately if the
|
||||
// settings are not found
|
||||
retry: (_, error) => error.status !== 404,
|
||||
meta: {
|
||||
disableToast: true,
|
||||
},
|
||||
|
||||
@ -23,7 +23,7 @@ class FileSettingsStore(SettingsStore):
|
||||
settings = Settings(**kwargs)
|
||||
return settings
|
||||
except FileNotFoundError:
|
||||
return Settings.from_config()
|
||||
return None
|
||||
|
||||
async def store(self, settings: Settings):
|
||||
json_str = settings.model_dump_json(context={'expose_secrets': True})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user