Ensure changes in User > Home are properly reflected when navigating back to home screen

This commit is contained in:
HighImKevin
2026-10-16 16:30:25 -04:00
parent 45d8474477
commit a9b055e0e7
2 changed files with 10 additions and 0 deletions
@@ -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) {
+8
View File
@@ -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',