From a9b055e0e73df7de7fcaef0c9603c9af1e596f2f Mon Sep 17 00:00:00 2001 From: HighImKevin Date: Fri, 16 Oct 2026 16:30:25 -0400 Subject: [PATCH] Ensure changes in User > Home are properly reflected when navigating back to home screen --- configuration/homeScreen-user-configuration.js | 2 ++ scripts/homeScreen3.js | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/configuration/homeScreen-user-configuration.js b/configuration/homeScreen-user-configuration.js index a81f035..3de343a 100644 --- a/configuration/homeScreen-user-configuration.js +++ b/configuration/homeScreen-user-configuration.js @@ -2334,6 +2334,7 @@ const success = await saveEditorDisplayPreferences(displayPrefs); if (success) { LOG('User preferences saved successfully'); + window.homeScreen3?.notifyUserHomePreferencesChanged?.('userHomePrefsSaved'); } else { ERR('Failed to save user preferences'); } @@ -2583,6 +2584,7 @@ displayPrefs.CustomPrefs.kefinHomeScreen = '[]'; const ok = await saveEditorDisplayPreferences(displayPrefs); if (ok) { + window.homeScreen3?.notifyUserHomePreferencesChanged?.('userHomePrefsRestoreDefaults'); window.ModalSystem.close(modalId); await renderUserHomeSectionsEditor(container); if (window.KefinTweaksToaster && window.KefinTweaksToaster.toast) { diff --git a/scripts/homeScreen3.js b/scripts/homeScreen3.js index ee3e6f9..a89299e 100644 --- a/scripts/homeScreen3.js +++ b/scripts/homeScreen3.js @@ -648,6 +648,13 @@ // keep homeScreenConfigResult until a newer resolve replaces it (stale-ok for chrome/paint) } + /** After User > Home prefs save/restore: drop cached filtered sections so next home rebuild re-reads prefs. */ + function notifyUserHomePreferencesChanged(reason) { + invalidateHomeScreenConfig(reason || 'userHomePreferencesChanged'); + sectionCache.renderedSections = []; + sectionCache.fragmentCache = null; + } + function ensureHomeScreenConfig() { if (homeScreenConfigPromise) return homeScreenConfigPromise; if (homeScreenConfigResult && homeScreenConfigResultGeneration === homeScreenConfigGeneration) { @@ -2978,6 +2985,7 @@ init: () => enqueueHomeViewJob({ type: 'home', hash: window.location.hash || '' }), refreshHomeSections, refreshHomeSectionById, + notifyUserHomePreferencesChanged, resolveDiscoverySection: buildDiscoverySectionInstance, sectionHelper: () => window.sectionHelper, getActiveHomeCategory: () => homeChromeActiveCategory || 'none',