fix(review): Settings — типизированный SettingValue + лог битого JSON + Error::Failed + чистый reset

- SettingValue{Str,Int,Bool} в сторе: провод-variant теперь честно поддержан (не string-only).
- битый settings.json → WARN в лог (не молча) + откат к дефолтам.
- отказ записи /data → Error::Failed (не InvalidArgument).
- reset ключа без дефолта → no-op + InvalidArgument (без ложного Changed("")).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Alexander <akotenev2003@gmail.com>
This commit is contained in:
2026-06-24 14:36:50 +03:00
parent bc2c0b8cfd
commit 2b06ff749f
5 changed files with 134 additions and 63 deletions
+1
View File
@@ -9,6 +9,7 @@ shturman-ipc = { path = "../../shturman-ipc" }
shturman-common = { path = "../../shturman-common" }
zbus.workspace = true
tokio.workspace = true
serde.workspace = true
serde_json.workspace = true
anyhow.workspace = true
tracing.workspace = true