diff --git a/frontend/src/components/shared/modals/settings/settings-form.tsx b/frontend/src/components/shared/modals/settings/settings-form.tsx index dcd0f2f99e96..d998c1e95ee4 100644 --- a/frontend/src/components/shared/modals/settings/settings-form.tsx +++ b/frontend/src/components/shared/modals/settings/settings-form.tsx @@ -10,7 +10,6 @@ import { useEndSession } from "#/hooks/use-end-session"; import { ModalBackdrop } from "../modal-backdrop"; import { ModelSelector } from "./model-selector"; import { useCurrentSettings } from "#/context/settings-context"; -import { MEMORY_CONDENSER } from "#/utils/feature-flags"; import { Settings } from "#/types/settings"; import { BrandButton } from "#/components/features/settings/brand-button"; import { KeyStatusIcon } from "#/components/features/settings/key-status-icon"; @@ -44,9 +43,6 @@ export function SettingsForm({ settings, models, onClose }: SettingsFormProps) { const handleFormSubmission = async (formData: FormData) => { const newSettings = extractSettings(formData); - // Inject the condenser config from the current feature flag value - newSettings.ENABLE_DEFAULT_CONDENSER = MEMORY_CONDENSER; - await saveUserSettings(newSettings); onClose(); resetOngoingSession(); diff --git a/frontend/src/hooks/mutation/use-save-settings.ts b/frontend/src/hooks/mutation/use-save-settings.ts index 0a12f6f1eb4e..75f9fd0b4dd4 100644 --- a/frontend/src/hooks/mutation/use-save-settings.ts +++ b/frontend/src/hooks/mutation/use-save-settings.ts @@ -2,7 +2,6 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { DEFAULT_SETTINGS } from "#/services/settings"; import OpenHands from "#/api/open-hands"; import { PostSettings, PostApiSettings } from "#/types/settings"; -import { MEMORY_CONDENSER } from "#/utils/feature-flags"; const saveSettingsMutationFn = async (settings: Partial) => { const resetLlmApiKey = settings.LLM_API_KEY === ""; @@ -20,8 +19,7 @@ const saveSettingsMutationFn = async (settings: Partial) => { remote_runtime_resource_factor: settings.REMOTE_RUNTIME_RESOURCE_FACTOR, github_token: settings.github_token, unset_github_token: settings.unset_github_token, - enable_default_condenser: - MEMORY_CONDENSER || settings.ENABLE_DEFAULT_CONDENSER, + enable_default_condenser: settings.ENABLE_DEFAULT_CONDENSER, user_consents_to_analytics: settings.user_consents_to_analytics, }; diff --git a/frontend/src/routes/account-settings.tsx b/frontend/src/routes/account-settings.tsx index 05116104e304..9a5a5e534884 100644 --- a/frontend/src/routes/account-settings.tsx +++ b/frontend/src/routes/account-settings.tsx @@ -102,6 +102,8 @@ function AccountSettings() { const userConsentsToAnalytics = formData.get("enable-analytics-switch")?.toString() === "on"; + const enableMemoryCondenser = + formData.get("enable-memory-condenser-switch")?.toString() === "on"; saveSettings( { @@ -109,6 +111,7 @@ function AccountSettings() { formData.get("github-token-input")?.toString() || undefined, LANGUAGE: languageValue, user_consents_to_analytics: userConsentsToAnalytics, + ENABLE_DEFAULT_CONDENSER: enableMemoryCondenser, LLM_MODEL: customLlmModel || fullLlmModel, LLM_BASE_URL: formData.get("base-url-input")?.toString() || "", LLM_API_KEY: @@ -290,6 +293,17 @@ function AccountSettings() { Enable confirmation mode )} + + {llmConfigMode === "advanced" && ( + + Enable memory condensation + + )} + {llmConfigMode === "advanced" && confirmationModeIsEnabled && (
loadFeatureFlag("BILLING_SETTINGS"); diff --git a/frontend/src/utils/settings-utils.ts b/frontend/src/utils/settings-utils.ts index b8533b3a4991..f92959abaecf 100644 --- a/frontend/src/utils/settings-utils.ts +++ b/frontend/src/utils/settings-utils.ts @@ -25,6 +25,7 @@ const extractAdvancedFormData = (formData: FormData) => { let LLM_BASE_URL: string | undefined; let CONFIRMATION_MODE = false; let SECURITY_ANALYZER: string | undefined; + let ENABLE_DEFAULT_CONDENSER = true; if (isUsingAdvancedOptions) { CUSTOM_LLM_MODEL = formData.get("custom-model")?.toString(); @@ -34,6 +35,7 @@ const extractAdvancedFormData = (formData: FormData) => { // only set securityAnalyzer if confirmationMode is enabled SECURITY_ANALYZER = formData.get("security-analyzer")?.toString(); } + ENABLE_DEFAULT_CONDENSER = keys.includes("enable-default-condenser"); } return { @@ -41,6 +43,7 @@ const extractAdvancedFormData = (formData: FormData) => { LLM_BASE_URL, CONFIRMATION_MODE, SECURITY_ANALYZER, + ENABLE_DEFAULT_CONDENSER, }; }; @@ -53,6 +56,7 @@ export const extractSettings = (formData: FormData): Partial => { LLM_BASE_URL, CONFIRMATION_MODE, SECURITY_ANALYZER, + ENABLE_DEFAULT_CONDENSER, } = extractAdvancedFormData(formData); return { @@ -63,5 +67,6 @@ export const extractSettings = (formData: FormData): Partial => { LLM_BASE_URL, CONFIRMATION_MODE, SECURITY_ANALYZER, + ENABLE_DEFAULT_CONDENSER, }; };