From ecde867ddf8a979f3f6ca3ecedc69643044802a1 Mon Sep 17 00:00:00 2001 From: amanape <83104063+amanape@users.noreply.github.com> Date: Mon, 30 Dec 2024 22:47:28 +0400 Subject: [PATCH] Fix save settings bug --- frontend/src/components/features/sidebar/sidebar.tsx | 2 -- openhands/server/routes/settings.py | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/features/sidebar/sidebar.tsx b/frontend/src/components/features/sidebar/sidebar.tsx index 67f90d9ef5b5..7f110eb0b406 100644 --- a/frontend/src/components/features/sidebar/sidebar.tsx +++ b/frontend/src/components/features/sidebar/sidebar.tsx @@ -21,8 +21,6 @@ export function Sidebar() { const { logout } = useAuth(); const { isUpToDate: settingsAreUpToDate } = useSettingsUpToDate(); - console.warn({ settingsAreUpToDate }); - const [accountSettingsModalOpen, setAccountSettingsModalOpen] = React.useState(false); const [settingsModalIsOpen, setSettingsModalIsOpen] = React.useState(false); diff --git a/openhands/server/routes/settings.py b/openhands/server/routes/settings.py index b28f2a0b7907..a332c4224648 100644 --- a/openhands/server/routes/settings.py +++ b/openhands/server/routes/settings.py @@ -46,7 +46,10 @@ async def store_settings( settings_store = await SettingsStoreImpl.get_instance(config, github_token) existing_settings = await settings_store.load() if existing_settings: - settings = Settings(**{**existing_settings.__dict__, **settings.__dict__}) + # Only update settings that are not None with the new values + for key, value in settings.__dict__.items(): + if value is None: + setattr(settings, key, getattr(existing_settings, key)) if settings.llm_api_key is None: settings.llm_api_key = existing_settings.llm_api_key await settings_store.store(settings)