From ca6c02cfdb55efabbaf064cb83d80cb7f8d941da Mon Sep 17 00:00:00 2001 From: unleash-bot <1105787+unleash-bot[bot]@users.noreply.github.com> Date: Wed, 2 Jul 2025 14:41:54 +0000 Subject: [PATCH] fix: Correctly merge client application data in metrics aggregation --- .../metrics/instance/instance-service.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/lib/features/metrics/instance/instance-service.ts b/src/lib/features/metrics/instance/instance-service.ts index acc4ef4c53..c19c7c8664 100644 --- a/src/lib/features/metrics/instance/instance-service.ts +++ b/src/lib/features/metrics/instance/instance-service.ts @@ -174,17 +174,16 @@ export default class ClientInstanceService { const uniqueRegistrations = Object.values(this.seenClients); const uniqueApps: Partial[] = Object.values( uniqueRegistrations.reduce((soFar, reg) => { - let existingProjects = []; - if (soFar[`${reg.appName} ${reg.environment}`]) { - existingProjects = - soFar[`${reg.appName} ${reg.environment}`] - .projects || []; - } - soFar[`${reg.appName} ${reg.environment}`] = { + const key = `${reg.appName} ${reg.environment}`; + const existing = soFar[key] || {}; + soFar[key] = { + ...existing, ...reg, projects: [ - ...existingProjects, - ...(reg.projects || []), + ...new Set([ + ...(existing.projects || []), + ...(reg.projects || []), + ]), ], }; return soFar;