From 408073ee19c14b4e3577c2ec1e0bfcd6ef1ca971 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 26 Nov 2025 19:11:43 +0200 Subject: [PATCH] fix(note_list): subtree leaking into classic collections --- apps/client/src/widgets/collections/NoteList.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/collections/NoteList.tsx b/apps/client/src/widgets/collections/NoteList.tsx index 204095968..82100d3c9 100644 --- a/apps/client/src/widgets/collections/NoteList.tsx +++ b/apps/client/src/widgets/collections/NoteList.tsx @@ -147,6 +147,7 @@ export function useNoteViewType(note?: FNote | null): ViewTypeOptions | undefine export function useNoteIds(note: FNote | null | undefined, viewType: ViewTypeOptions | undefined, ntxId: string | null | undefined) { const [ noteIds, setNoteIds ] = useState([]); const [ includeArchived ] = useNoteLabelBoolean(note, "includeArchived"); + const directChildrenOnly = (viewType === "list" || viewType === "grid" || viewType === "table" || note?.type === "search"); async function refreshNoteIds() { if (!note) { @@ -157,7 +158,7 @@ export function useNoteIds(note: FNote | null | undefined, viewType: ViewTypeOpt } async function getNoteIds(note: FNote) { - if (viewType === "list" || viewType === "grid" || viewType === "table" || note.type === "search") { + if (directChildrenOnly) { return await note.getChildNoteIdsWithArchiveFiltering(includeArchived); } else { return await note.getSubtreeNoteIds(includeArchived); @@ -165,7 +166,9 @@ export function useNoteIds(note: FNote | null | undefined, viewType: ViewTypeOpt } // Refresh on note switch. - useEffect(() => { refreshNoteIds() }, [ note, includeArchived ]); + useEffect(() => { + refreshNoteIds() + }, [ note, includeArchived, directChildrenOnly ]); // Refresh on alterations to the note subtree. useTriliumEvent("entitiesReloaded", ({ loadResults }) => {