diff --git a/ui/src/ui/app-gateway.ts b/ui/src/ui/app-gateway.ts index edabb574f..471fcbeba 100644 --- a/ui/src/ui/app-gateway.ts +++ b/ui/src/ui/app-gateway.ts @@ -134,7 +134,10 @@ export function connectGateway(host: GatewayHost) { }, onClose: ({ code, reason }) => { host.connected = false; - host.lastError = `disconnected (${code}): ${reason || "no reason"}`; + // Code 1012 = Service Restart (expected during config saves, don't show as error) + if (code !== 1012) { + host.lastError = `disconnected (${code}): ${reason || "no reason"}`; + } }, onEvent: (evt) => handleGatewayEvent(host, evt), onGap: ({ expected, received }) => { diff --git a/ui/src/ui/views/config.ts b/ui/src/ui/views/config.ts index dc4453fb8..e8e090bec 100644 --- a/ui/src/ui/views/config.ts +++ b/ui/src/ui/views/config.ts @@ -234,8 +234,9 @@ export function renderConfig(props: ConfigProps) { const hasChanges = props.formMode === "form" ? diff.length > 0 : hasRawChanges; // Save/apply buttons require actual changes to be enabled + // Note: formUnsafe warns about unsupported schema paths but shouldn't block saving const canSaveForm = - Boolean(props.formValue) && !props.loading && !formUnsafe; + Boolean(props.formValue) && !props.loading; const canSave = props.connected && !props.saving &&