From 0b29aa1c136191848effac0e9894753d3c51c03e Mon Sep 17 00:00:00 2001 From: AlexandruPopovici Date: Tue, 20 Jun 2023 12:25:13 +0300 Subject: [PATCH 1/2] Fixed startup isolation issue --- packages/viewer/src/modules/Viewer.ts | 2 ++ packages/viewer/src/modules/filtering/FilteringManager.ts | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/viewer/src/modules/Viewer.ts b/packages/viewer/src/modules/Viewer.ts index 63bb64e3d..f39bcaabc 100644 --- a/packages/viewer/src/modules/Viewer.ts +++ b/packages/viewer/src/modules/Viewer.ts @@ -488,6 +488,7 @@ export class Viewer extends EventEmitter implements IViewer { if (zoomToObject) this.zoom() this.speckleRenderer.resetPipeline(true) + this.filteringManager.invalidateCache() this.emit(ViewerEvent.LoadComplete, url) this.loaders[url].dispose() delete this.loaders[url] @@ -517,6 +518,7 @@ export class Viewer extends EventEmitter implements IViewer { this.speckleRenderer.resetPipeline(true) this.emit(ViewerEvent.LoadComplete, url) } + this.filteringManager.invalidateCache() this.loaders[url].dispose() delete this.loaders[url] if (--this.inProgressOperations === 0) diff --git a/packages/viewer/src/modules/filtering/FilteringManager.ts b/packages/viewer/src/modules/filtering/FilteringManager.ts index b00c50497..12f4ed4b2 100644 --- a/packages/viewer/src/modules/filtering/FilteringManager.ts +++ b/packages/viewer/src/modules/filtering/FilteringManager.ts @@ -586,7 +586,7 @@ export class FilteringManager extends EventEmitter { const allIds: string[] = [] const key = objectIds.join(',') - if (this.idCache[key]) return this.idCache[key] + if (this.idCache[key] && this.idCache[key].length) return this.idCache[key] this.WTI.walk((node: TreeNode) => { if (objectIds.includes(node.model.raw.id) && node.model.raw.__closure) { @@ -600,6 +600,10 @@ export class FilteringManager extends EventEmitter { this.idCache[key] = allIds return allIds } + + public invalidateCache() { + this.idCache = {} + } } enum Command { From 7ce82d2caa38d3579d70693dfca551d5bfc9f1d8 Mon Sep 17 00:00:00 2001 From: AlexandruPopovici Date: Tue, 20 Jun 2023 12:31:10 +0300 Subject: [PATCH 2/2] Removed cache invalidation --- packages/viewer/src/modules/Viewer.ts | 2 -- packages/viewer/src/modules/filtering/FilteringManager.ts | 4 ---- 2 files changed, 6 deletions(-) diff --git a/packages/viewer/src/modules/Viewer.ts b/packages/viewer/src/modules/Viewer.ts index f39bcaabc..63bb64e3d 100644 --- a/packages/viewer/src/modules/Viewer.ts +++ b/packages/viewer/src/modules/Viewer.ts @@ -488,7 +488,6 @@ export class Viewer extends EventEmitter implements IViewer { if (zoomToObject) this.zoom() this.speckleRenderer.resetPipeline(true) - this.filteringManager.invalidateCache() this.emit(ViewerEvent.LoadComplete, url) this.loaders[url].dispose() delete this.loaders[url] @@ -518,7 +517,6 @@ export class Viewer extends EventEmitter implements IViewer { this.speckleRenderer.resetPipeline(true) this.emit(ViewerEvent.LoadComplete, url) } - this.filteringManager.invalidateCache() this.loaders[url].dispose() delete this.loaders[url] if (--this.inProgressOperations === 0) diff --git a/packages/viewer/src/modules/filtering/FilteringManager.ts b/packages/viewer/src/modules/filtering/FilteringManager.ts index 12f4ed4b2..39546b445 100644 --- a/packages/viewer/src/modules/filtering/FilteringManager.ts +++ b/packages/viewer/src/modules/filtering/FilteringManager.ts @@ -600,10 +600,6 @@ export class FilteringManager extends EventEmitter { this.idCache[key] = allIds return allIds } - - public invalidateCache() { - this.idCache = {} - } } enum Command {