ptone
## Problem In **file settings mode**, several string fields on the admin Server Config page can't be cleared. Emptying the field and saving leaves the old value in `settings.yaml`. ## Cause - `buildFilePayload()` (`web/src/components/pages/admin-server-config.ts`, about lines 1961-1968) sends `active_profile`, `default_template`, `default_harness_config`, `default_harness_auth`, `image_registry`, `workspace_path` and similar sibling fields as `value || undefined`. An empty string therefore drops the key from the JSON. - The backend (`pkg/hub/admin_settings.go`, around lines 600-680) already treats an explicit `""` as "delete from settings.yaml". But a missing key arrives as `nil`, which means "no change". The default agent limits were fixed the same way in #860 (send the empty value instead of `|| undefined`). The remaining fields still use the old pattern. ## Fix Send the empty value (`""`) for clearable string fields in the file-mode payload, as the limits now do. Check that each corresponding backend branch deletes the key on `""`. ## Acceptance - Clearing each affected field in file mode removes it from `settings.yaml`. - A unit test on the file-mode payload builder. Found by: #2505 (review of task #12 of #2457).