From e91d2fec04da7381cef9b506d2338a3cdbe11918 Mon Sep 17 00:00:00 2001 From: Dominik Guzei Date: Wed, 5 Jun 2019 14:32:57 +0200 Subject: Fix invalid services references in workspaces locally --- src/features/workspaces/store.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/features/workspaces/store.js b/src/features/workspaces/store.js index 51a7f3651..6118df79a 100644 --- a/src/features/workspaces/store.js +++ b/src/features/workspaces/store.js @@ -312,17 +312,13 @@ export default class WorkspacesStore extends FeatureStore { _cleanupInvalidServiceReferences = () => { const { services } = this.stores; - let invalidServiceReferencesExist = false; this.workspaces.forEach((workspace) => { workspace.services.forEach((serviceId) => { - if (!services.one(serviceId)) { - invalidServiceReferencesExist = true; + if (services.allServicesRequest.wasExecuted && !services.one(serviceId)) { + workspace.services.remove(serviceId); } }); }); - if (invalidServiceReferencesExist) { - getUserWorkspacesRequest.execute(); - } }; _stopPremiumActionsAndReactions = () => { -- cgit v1.2.3-70-g09d2 From 561947bb399845fda23162a8a0dfd693153e397b Mon Sep 17 00:00:00 2001 From: Dominik Guzei Date: Wed, 5 Jun 2019 15:24:15 +0200 Subject: Improve cleanup code of invalid service references --- src/features/workspaces/store.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/features/workspaces/store.js b/src/features/workspaces/store.js index 6118df79a..07b16ff23 100644 --- a/src/features/workspaces/store.js +++ b/src/features/workspaces/store.js @@ -312,9 +312,12 @@ export default class WorkspacesStore extends FeatureStore { _cleanupInvalidServiceReferences = () => { const { services } = this.stores; + const { allServicesRequest } = services; + const servicesHaveBeenLoaded = allServicesRequest.wasExecuted && !allServicesRequest.isError; + // Loop through all workspaces and remove invalid service ids (locally) this.workspaces.forEach((workspace) => { workspace.services.forEach((serviceId) => { - if (services.allServicesRequest.wasExecuted && !services.one(serviceId)) { + if (servicesHaveBeenLoaded && !services.one(serviceId)) { workspace.services.remove(serviceId); } }); -- cgit v1.2.3-70-g09d2