From b3e22269cb6a2700e1e6464e8f57d84741779644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Wed, 11 Nov 2026 00:08:29 +0100 Subject: [PATCH] revert(labs): keep the shared list-preference precedence unchanged The saved-entry check and the reordered legacy precedence in useModuleListPrefs reach the illness and checkup lists as well, and the filter rail does not need them now that the sort pill is gone. The hook is back to what the release line ships; the precedence question can be raised on its own. --- src/lib/module-list-prefs.ts | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/src/lib/module-list-prefs.ts b/src/lib/module-list-prefs.ts index e95df8bbc..1b300bca7 100644 --- a/src/lib/module-list-prefs.ts +++ b/src/lib/module-list-prefs.ts @@ -275,7 +275,6 @@ export async function runSetModuleListPrefs(deps: { */ export function useModuleListPrefs(list: ModuleListKey): { prefs: ModuleListPrefs; - isLoaded: boolean; setView: (view: ModuleListView) => void; setOrder: (order: string[]) => void; setSortDir: (sortDir: ModuleSortDir) => void; @@ -292,21 +291,17 @@ export function useModuleListPrefs(list: ModuleListKey): { staleTime: 5 * 60 * 1000, }); - const isLoaded = data !== undefined; - useEffect(() => { if (!data) return; void carryOverLegacyModuleListPrefs({ list, layout: data, queryClient }); }, [data, list, queryClient]); // The browser copy is read only after hydration, so the server render and - // the first client paint agree (React #418). While the server entry is - // unsaved (saved: false), the browser copy is preferred until carry-over - // completes and a saved server entry arrives. + // the first client paint agree (React #418). const mounted = useMounted(); const entry = data?.lists[list]; const prefs = useMemo(() => { - if (entry?.saved) { + if (entry) { return { view: entry.view, order: entry.order, @@ -317,22 +312,8 @@ export function useModuleListPrefs(list: ModuleListKey): { }; } const defaults = moduleListDefaults(list); - const fallback: ModuleListPrefs = entry - ? { - view: entry.view, - order: entry.order, - sortDir: entry.sortDir, - groupBy: entry.groupBy, - groupsOpen: entry.groupsOpen, - categoryOrder: entry.categoryOrder, - } - : defaults; - if (!mounted) return fallback; - const legacy = readLegacy(list); - if (legacy !== null) { - return parseModuleListPrefs(legacy, fallback); - } - return fallback; + if (!mounted) return defaults; + return parseModuleListPrefs(readLegacy(list), defaults); }, [entry, list, mounted]); const write = useCallback( @@ -367,7 +348,6 @@ export function useModuleListPrefs(list: ModuleListKey): { return { prefs, - isLoaded, setView, setOrder, setSortDir,