From 0993b3a54e0429a3fada63d70eeb26ecf9e0f4b6 Mon Sep 17 00:00:00 2001 From: "alexei.dolgolyov" Date: Sun, 5 Apr 2026 02:33:28 +0300 Subject: [PATCH] fix: NPM remote toggle uses onchange handler instead of to prevent spurious saves --- web/src/routes/settings/npm/+page.svelte | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/web/src/routes/settings/npm/+page.svelte b/web/src/routes/settings/npm/+page.svelte index 27e1751..a4a06c2 100644 --- a/web/src/routes/settings/npm/+page.svelte +++ b/web/src/routes/settings/npm/+page.svelte @@ -130,26 +130,19 @@ } catch { sslCertName = `Certificate #${sslCertificateId}`; } } - let initialized = $state(false); - - async function saveNpmRemote(value: boolean) { + async function handleNpmRemoteChange() { try { - await updateSettings({ npm_remote: value } as any); + await updateSettings({ npm_remote: npmRemote } as any); toasts.success($t('settingsCredentials.saved')); } catch (err) { toasts.error(err instanceof Error ? err.message : $t('settingsCredentials.saveFailed')); } } - // Auto-save npm_remote when toggled (skip initial load). - $effect(() => { - const val = npmRemote; - if (initialized) { - saveNpmRemote(val); - } - }); - - async function init() { await loadData(); await resolveCertName(); initialized = true; } + async function init() { + await loadData(); + await resolveCertName(); + } $effect(() => { init(); }); @@ -220,7 +213,7 @@
- +
{$t('settingsNpm.remoteMode')}

{$t('settingsNpm.remoteModeHelp')}