refactor(settings): invert sync logic from whitelist to blacklist

Replace _SYNC_KEYS (37 keys) with _NO_SYNC_KEYS (5 keys) in SettingsHandler.
New settings automatically sync to frontend unless explicitly excluded.

Changes:
- SettingsHandler now syncs all settings except those in _NO_SYNC_KEYS
- Added keys() method to SettingsManager for iteration
- Updated tests to use new behavior

Benefits:
- No more missing keys when adding new settings
- Reduced maintenance burden
- Explicit exclusions for sensitive/internal settings only

Fixes: #86
This commit is contained in:
Will Miao
2026-02-20 12:14:50 +08:00
parent 1725558fbc
commit 879588e252
5 changed files with 42 additions and 46 deletions

View File

@@ -45,6 +45,9 @@ class DummySettings:
def set(self, key, value):
self.data[key] = value
def keys(self):
return self.data.keys()
async def noop_async(*_args, **_kwargs):
"""No-op async function."""