Merge branch 'setttingssync' into shigusegubu-themes3

This commit is contained in:
Henry Jameson 2026-04-10 01:09:46 +03:00
commit 276caef91b
2 changed files with 23 additions and 17 deletions

View file

@ -688,7 +688,7 @@ export const SYNC_DEFAULT_CONFIG_DEFINITIONS = {
description: 'Object containing mute filters', description: 'Object containing mute filters',
type: 'object', type: 'object',
default: {}, default: {},
} },
} }
export const SYNC_DEFAULT_CONFIG = convertDefinitions( export const SYNC_DEFAULT_CONFIG = convertDefinitions(
SYNC_DEFAULT_CONFIG_DEFINITIONS, SYNC_DEFAULT_CONFIG_DEFINITIONS,
@ -764,8 +764,14 @@ export const validateSetting = ({
validateObjects = true, validateObjects = true,
}) => { }) => {
const path = fullPath.replace(/^simple./, '') const path = fullPath.replace(/^simple./, '')
if (validateObjects && definition.type === 'object' && path.split('.').length <= 1) { if (
console.error(`attempt to set object ${fullPath} instead of its children. ignoring.`) validateObjects &&
definition.type === 'object' &&
path.split('.').length <= 1
) {
console.error(
`attempt to set object ${fullPath} instead of its children. ignoring.`,
)
return undefined return undefined
} }

View file

@ -777,21 +777,21 @@ export const useSyncConfigStore = defineStore('sync_config', {
afterLoad(state) { afterLoad(state) {
console.debug('Validating persisted state of SyncConfig') console.debug('Validating persisted state of SyncConfig')
const newState = { ...state } const newState = { ...state }
const newEntries = Object.entries(ROOT_CONFIG).map( const newEntries = Object.entries(ROOT_CONFIG).map(([path, value]) => {
([path, value]) => { const definition = ROOT_CONFIG_DEFINITIONS[path]
const definition = ROOT_CONFIG_DEFINITIONS[path] const finalValue = validateSetting({
const finalValue = validateSetting({ path,
path, value: newState.prefsStorage.simple[path],
value: newState.prefsStorage.simple[path], definition,
definition, throwError: false,
throwError: false, validateObjects: false,
validateObjects: false, defaultState: ROOT_CONFIG,
defaultState: ROOT_CONFIG, })
})
return finalValue === undefined ? definition.default : [path, finalValue] return finalValue === undefined
}, ? definition.default
) : [path, finalValue]
})
newState.prefsStorage.simple = Object.fromEntries( newState.prefsStorage.simple = Object.fromEntries(
newEntries.filter((_) => _), newEntries.filter((_) => _),
) )