fix: dispose persistent-store effects; close comparisonStore effect leak
Thread the new createPersistentStore.destroy() through its owners so the save effect.root is actually torn down: LayoutManager gains destroy(); ThemeManager and typographySettings dispose their #store in their existing destroy(). comparisonStore had its own leak — a constructor $effect.root whose disposer was discarded, and a module-level persistent storage created at import. Move storage into the instance (#storage, created lazily per instance), capture the effect.root disposer, add destroy(), and adopt createSingleton so reset runs resetAll() + destroy(). Re-export createSingleton from the $shared/lib barrel; give the test storage mock a destroy().
This commit is contained in:
@@ -11,6 +11,7 @@ export {
|
||||
createPersistentStore,
|
||||
createPerspectiveManager,
|
||||
createResponsiveManager,
|
||||
createSingleton,
|
||||
createVirtualizer,
|
||||
type Entity,
|
||||
type EntityStore,
|
||||
@@ -21,6 +22,7 @@ export {
|
||||
type Property,
|
||||
type ResponsiveManager,
|
||||
responsiveManager,
|
||||
type Singleton,
|
||||
type VirtualItem,
|
||||
type Virtualizer,
|
||||
type VirtualizerOptions,
|
||||
|
||||
Reference in New Issue
Block a user