fix(persistence): guard parsing errors and preserve falsy configs (#850)

This commit is contained in:
s3d-i
2025-12-30 10:47:14 +08:00
committed by GitHub
parent 04b289d56c
commit d2b20659f1
2 changed files with 16 additions and 2 deletions
+8 -1
View File
@@ -1,5 +1,12 @@
[workspace]
members = [ "crates/tauri-plugin-ipc-audio-transcription-ort", "crates/tauri-plugin-ipc-audio-vad-ort", "crates/tauri-plugin-mcp", "crates/tauri-plugin-rdev", "crates/tauri-plugin-window-pass-through-on-hover", "crates/tauri-plugin-window-router-link" ]
members = [
"crates/tauri-plugin-ipc-audio-transcription-ort",
"crates/tauri-plugin-ipc-audio-vad-ort",
"crates/tauri-plugin-mcp",
"crates/tauri-plugin-rdev",
"crates/tauri-plugin-window-pass-through-on-hover",
"crates/tauri-plugin-window-router-link"
]
resolver = "2"
[workspace.package]
@@ -7,7 +7,14 @@ import { app } from 'electron'
import { throttle } from 'es-toolkit'
function parseOrFallback<T>(config: string, fallback: T | undefined): T | undefined {
return safeDestr<T>(config) || fallback
try {
const parsed = safeDestr<T>(config)
return parsed ?? fallback
}
catch (error) {
console.warn('Invalid config persisted to disk, resetting to default', error)
return fallback
}
}
const persistenceMap = new Map<string, any>()