From b8557bb678aa2b3c3ab9b48a52d416839c61613a Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 23 Mar 2026 15:37:31 +0200 Subject: [PATCH] fix modified indicator for local settings --- src/components/settings_modal/helpers/setting.js | 5 +++-- src/stores/instance.js | 2 ++ src/stores/sync_config.js | 12 ++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/components/settings_modal/helpers/setting.js b/src/components/settings_modal/helpers/setting.js index fc5f89175..1082dcfa9 100644 --- a/src/components/settings_modal/helpers/setting.js +++ b/src/components/settings_modal/helpers/setting.js @@ -322,8 +322,9 @@ export default { switch (this.realSource) { case 'profile': return {} - default: - return get(useInstanceStore().prefsStorage, this.path) + default: { + return get(useSyncConfigStore().mergedConfigDefault, this.path) + } } }, isProfileSetting() { diff --git a/src/stores/instance.js b/src/stores/instance.js index 76ad22fb5..c893cab64 100644 --- a/src/stores/instance.js +++ b/src/stores/instance.js @@ -4,6 +4,7 @@ import { defineStore } from 'pinia' import { instanceDefaultProperties } from '../modules/config.js' import { instanceDefaultConfig, + defaultConfigLocal, staticOrApiConfigDefault, } from '../modules/default_config_state.js' import apiService from '../services/api/api.service.js' @@ -55,6 +56,7 @@ const defaultState = { // Instance admins can override default settings for the whole instance prefsStorage: { ...instanceDefaultConfig, + ...defaultConfigLocal, }, // Known domains list for user's domain-muting diff --git a/src/stores/sync_config.js b/src/stores/sync_config.js index 7a7afe36c..84011e2cf 100644 --- a/src/stores/sync_config.js +++ b/src/stores/sync_config.js @@ -758,6 +758,18 @@ export const useSyncConfigStore = defineStore('sync_config', { ) return result }, + mergedConfigDefault: (state) => { + const instancePrefs = useInstanceStore().prefsStorage + const result = Object.fromEntries( + Object.entries(state.prefsStorage.simple).map(([k, value]) => [ + k, + LOCAL_ONLY_KEYS.has(k) + ? (instancePrefs[k] ?? defaultConfigLocal[k]) + : (instancePrefs[k] ?? instanceDefaultConfig[k]), + ]), + ) + return result + }, mergedConfigWithoutDefaults: (state) => { const localPrefs = useLocalConfigStore().prefsStorage const result = Object.fromEntries(