diff --git a/src/services/service.ts b/src/services/service.ts index 2d9f6d5..5943c3b 100755 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -1351,21 +1351,23 @@ export default class Services { try { const processes = await this.getProcesses(); + const newMyProcesses = new Set(this.myProcesses || []); for (const [processId, process] of Object.entries(processes)) { // We use myProcesses attribute to not reevaluate all processes everytime - if (this.myProcesses && this.myProcesses.has(processId)) { + if (newMyProcesses.has(processId)) { continue; } try { const roles = this.getRoles(process); if (roles && this.rolesContainsUs(roles)) { - this.myProcesses.add(processId); + newMyProcesses.add(processId); } } catch (e) { console.error(e); } } + this.myProcesses = newMyProcesses; // atomic update return Array.from(this.myProcesses); } catch (e) { console.error("Failed to get processes:", e);