Skip to content

Commit 1114eb7

Browse files
myieyeclaude
andcommitted
Fix self-referencing derived in entryLoader
Use watch() to handle cleanup of previous entryLoader instance instead of referencing entryLoader inside its own $derived. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 9dbbfa2 commit 1114eb7

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

frontend/viewer/src/project/browse/EntriesList.svelte

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,13 @@
5656
gridifyFilter: () => gridifyFilter,
5757
};
5858
59-
let entryLoader = $derived(!miniLcmApi ? undefined : untrack(() => {
60-
entryLoader?.destroy();
61-
return new EntryLoaderService(miniLcmApi, deps);
62-
}));
59+
let entryLoader = $derived(!miniLcmApi ? undefined : new EntryLoaderService(miniLcmApi, deps));
60+
61+
// Destroy the previous entryLoader when a new one is created
62+
watch(
63+
() => entryLoader,
64+
(_current, previous) => previous?.destroy()
65+
);
6366
6467
// Debounce the loading state for smoother UI
6568
const loading = new Debounced(() => entryLoader?.loading ?? true, 0);

0 commit comments

Comments
 (0)