fix(library): let saved-view defaults fill the missing #444 filters

libraryViewState passed `?? 'all'` and `?? ''` fallbacks that
normalizeViewState already applies to an undefined value. The redundant
branches were never taken in the page, which dropped saved-views.mjs below
its 95% branch floor. A unit now covers a shelf without the new filters.

Refs #444
This commit is contained in:
Vito Sansevero
2026-10-28 20:00:49 -07:00
parent a6927489a8
commit 07c16dca58
2 changed files with 7 additions and 1 deletions
+5
View File
@@ -231,3 +231,8 @@ test('a Library view keeps untagged, and untagged never travels with tags (#444)
assert.equal(libraryViewState(shelf).tag_mode, 'untagged');
assert.deepEqual(libraryFilters(libraryViewState(shelf)), shelf);
});
test('a shelf without the #444 filters saves their defaults', async () => {
const { libraryViewState } = await source;
assert.deepEqual(libraryViewState({ text: '', category: '', sort: 'newest', tags: [] }), LIBRARY_DEFAULTS);
});
+2 -1
View File
@@ -121,7 +121,8 @@ export function libraryFilters(state) {
}
export function libraryViewState(filters) {
return normalizeViewState('library', { q: filters.text, category: filters.category, sort: filters.sort, tags: filters.tags,
tag_mode: filters.tagMode ?? 'all', folder: filters.folder ?? '' });
// A filter the shelf lacks (undefined) takes its key's default in normalizeViewState.
tag_mode: filters.tagMode, folder: filters.folder });
}
/**