From 49454d117c9b4424ffa1b20b0caa91835bf424c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 22 May 2023 16:37:42 +0200 Subject: [PATCH 1/2] use bigger resource class for test dui3 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4af55df56..3b38b6db2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -426,7 +426,7 @@ jobs: test-dui-3: docker: - image: cimg/node:18.16.0 - resource_class: medium + resource_class: medium+ steps: - checkout - restore_cache: From 0b7887767aeea49bcfd0d3e8e698e63dd58cd61f Mon Sep 17 00:00:00 2001 From: AlexandruPopovici Date: Mon, 22 May 2023 18:03:47 +0300 Subject: [PATCH 2/2] Updated how the viewer emits the Busy signal so it reflects it's activity better --- packages/viewer/src/modules/Viewer.ts | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/viewer/src/modules/Viewer.ts b/packages/viewer/src/modules/Viewer.ts index 85af02395..2dc3334c8 100644 --- a/packages/viewer/src/modules/Viewer.ts +++ b/packages/viewer/src/modules/Viewer.ts @@ -462,20 +462,14 @@ export class Viewer extends EventEmitter implements IViewer { token: string = null, enableCaching = true ) { - try { - if (++this.inProgressOperations === 1) - (this as EventEmitter).emit(ViewerEvent.Busy, true) - - const loader = new ViewerObjectLoader(this, url, token, enableCaching) - this.loaders[url] = loader - await loader.load() - } finally { - if (--this.inProgressOperations === 0) - (this as EventEmitter).emit(ViewerEvent.Busy, false) - } + const loader = new ViewerObjectLoader(this, url, token, enableCaching) + this.loaders[url] = loader + await loader.load() } public async loadObject(url: string, token: string = null, enableCaching = true) { + if (++this.inProgressOperations === 1) + (this as EventEmitter).emit(ViewerEvent.Busy, true) await this.downloadObject(url, token, enableCaching) let t0 = performance.now() @@ -491,6 +485,8 @@ export class Viewer extends EventEmitter implements IViewer { this.emit(ViewerEvent.LoadComplete, url) this.loaders[url].dispose() delete this.loaders[url] + if (--this.inProgressOperations === 0) + (this as EventEmitter).emit(ViewerEvent.Busy, false) } public async loadObjectAsync( @@ -499,6 +495,8 @@ export class Viewer extends EventEmitter implements IViewer { enableCaching = true, priority = 1 ) { + if (++this.inProgressOperations === 1) + (this as EventEmitter).emit(ViewerEvent.Busy, true) await this.downloadObject(url, token, enableCaching) let t0 = performance.now() @@ -514,6 +512,8 @@ export class Viewer extends EventEmitter implements IViewer { } this.loaders[url].dispose() delete this.loaders[url] + if (--this.inProgressOperations === 0) + (this as EventEmitter).emit(ViewerEvent.Busy, false) } public async cancelLoad(url: string, unload = false) { @@ -522,8 +522,10 @@ export class Viewer extends EventEmitter implements IViewer { this.speckleRenderer.cancelRenderTree(url) if (unload) { await this.unloadObject(url) + } else { + if (--this.inProgressOperations === 0) + (this as EventEmitter).emit(ViewerEvent.Busy, false) } - return } public async unloadObject(url: string) {