diff --git a/webui/src/pages/Settings.jsx b/webui/src/pages/Settings.jsx index 28d51c0..d09ce03 100644 --- a/webui/src/pages/Settings.jsx +++ b/webui/src/pages/Settings.jsx @@ -691,10 +691,10 @@ function Settings() { if (!identityDirty) return; if (ipRangeError || cellNameError || domainError) return; // In pic_ngo mode, if the cell name differs from what was last saved/loaded, - // wait for the availability check to reach a terminal state before saving. - // 'available' and 'unreachable' are terminal; null/'checking'/'taken' are not. + // only auto-save once the check confirms the name is available. + // All other states (null, 'checking', 'taken', 'unreachable') block auto-save. if (domainMode === 'pic_ngo' && identity.cell_name !== loadedCellName) { - if (picAvail !== 'available' && picAvail !== 'unreachable') return; + if (picAvail !== 'available') return; } const timer = setTimeout(() => saveIdentityRef.current(), 800); return () => clearTimeout(timer);