diff --git a/sidepanel/sidepanel.js b/sidepanel/sidepanel.js index 8df2482..eb1af75 100644 --- a/sidepanel/sidepanel.js +++ b/sidepanel/sidepanel.js @@ -10834,7 +10834,6 @@ selectHeroSmsPreferredActivation?.addEventListener('change', () => { }); inputHeroSmsMaxPrice?.addEventListener('input', () => { markSettingsDirty(true); - scheduleSettingsAutoSave(); }); inputHeroSmsMaxPrice?.addEventListener('blur', () => { inputHeroSmsMaxPrice.value = normalizeHeroSmsMaxPriceValue(inputHeroSmsMaxPrice.value); diff --git a/tests/sidepanel-phone-verification-settings.test.js b/tests/sidepanel-phone-verification-settings.test.js index 8a8418e..09380cb 100644 --- a/tests/sidepanel-phone-verification-settings.test.js +++ b/tests/sidepanel-phone-verification-settings.test.js @@ -486,3 +486,14 @@ return { collectSettingsPayload }; assert.equal(payload.heroSmsCountryLabel, 'Thailand'); assert.deepStrictEqual(payload.heroSmsCountryFallback, [{ id: 16, label: 'United Kingdom' }]); }); + +test('hero sms max price input does not auto-save partial typing states', () => { + assert.match( + sidepanelSource, + /inputHeroSmsMaxPrice\?\.\s*addEventListener\('input',\s*\(\)\s*=>\s*\{\s*markSettingsDirty\(true\);\s*\}\);/ + ); + assert.doesNotMatch( + sidepanelSource, + /inputHeroSmsMaxPrice\?\.\s*addEventListener\('input',\s*\(\)\s*=>\s*\{\s*markSettingsDirty\(true\);\s*scheduleSettingsAutoSave\(\);/ + ); +});