From f32c6dc0cfc5d3b4a56218bfdb0fa2d97feef9ee Mon Sep 17 00:00:00 2001 From: coder2 Date: Mon, 16 Feb 2026 22:41:06 +1300 Subject: [PATCH] fix(ui): preserve server config values on partial provider config save The submit filter in ProviderConfiguationModal only included fields where the user had typed a new value (entry.value), causing untouched fields like API Host to be silently dropped. Now the filter also includes fields with existing non-masked server values (entry.serverValue), preventing config reversion when only some fields are edited. Fixes #7245 Co-Authored-By: Claude Opus 4.6 Signed-off-by: clayarnoldg2m --- .../providers/modal/ProviderConfiguationModal.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ui/desktop/src/components/settings/providers/modal/ProviderConfiguationModal.tsx b/ui/desktop/src/components/settings/providers/modal/ProviderConfiguationModal.tsx index 688d86cfc7..9a48b396e9 100644 --- a/ui/desktop/src/components/settings/providers/modal/ProviderConfiguationModal.tsx +++ b/ui/desktop/src/components/settings/providers/modal/ProviderConfiguationModal.tsx @@ -105,8 +105,15 @@ export default function ProviderConfigurationModal({ const toSubmit = Object.fromEntries( Object.entries(configValues) - .filter(([_k, entry]) => !!entry.value) - .map(([k, entry]) => [k, entry.value || '']) + .filter( + ([_k, entry]) => + !!entry.value || + (entry.serverValue != null && typeof entry.serverValue === 'string') + ) + .map(([k, entry]) => [ + k, + entry.value ?? (typeof entry.serverValue === 'string' ? entry.serverValue : ''), + ]) ); try {