diff --git a/openhands/server/routes/settings.py b/openhands/server/routes/settings.py index 8f1bc25ab3..46579f9e01 100644 --- a/openhands/server/routes/settings.py +++ b/openhands/server/routes/settings.py @@ -24,7 +24,7 @@ async def load_settings(request: Request) -> GETSettingsModel | JSONResponse: try: user_id = get_user_id(request) settings_store = await SettingsStoreImpl.get_instance(config, user_id) - settings = await settings_store.load() + settings: Settings = await settings_store.load() if not settings: return JSONResponse( status_code=status.HTTP_404_NOT_FOUND, @@ -48,7 +48,7 @@ async def load_settings(request: Request) -> GETSettingsModel | JSONResponse: settings_with_token_data = GETSettingsModel( **settings.model_dump(exclude='secrets_store'), - llm_api_key_set=settings.llm_api_key is not None, + llm_api_key_set=settings.llm_api_key is not None and bool(settings.llm_api_key), provider_tokens_set=provider_tokens_set, ) settings_with_token_data.llm_api_key = None @@ -214,21 +214,22 @@ async def reset_settings(request: Request) -> JSONResponse: config, get_user_id(request) ) - existing_settings = await settings_store.load() + existing_settings: Settings = await settings_store.load() settings = Settings( language='en', agent='CodeActAgent', security_analyzer='', confirmation_mode=False, llm_model='anthropic/claude-3-5-sonnet-20241022', - llm_api_key='', - llm_base_url='', + llm_api_key=SecretStr(''), + llm_base_url=None, remote_runtime_resource_factor=1, enable_default_condenser=True, enable_sound_notifications=False, user_consents_to_analytics=existing_settings.user_consents_to_analytics if existing_settings else False, + secrets_store=existing_settings.secrets_store ) server_config_values = server_config.get_config()