From 7cd2e1d9c61e45f5bad7cb735ae9271d19f5be1b Mon Sep 17 00:00:00 2001 From: Kai Niebes Date: Thu, 23 Apr 2026 12:45:32 +0200 Subject: [PATCH] Fix agent duplication issue Agents were not correctly de-duplicated by their uniqueness based on contact references due to a newer contact reference being displayed, while an older one was used to de-duplicate. --- .../metadata/agents/agents.component.ts | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/app/components/metadata/agents/agents.component.ts b/src/app/components/metadata/agents/agents.component.ts index 641c46ea..1d34571a 100644 --- a/src/app/components/metadata/agents/agents.component.ts +++ b/src/app/components/metadata/agents/agents.component.ts @@ -134,15 +134,22 @@ export class AgentsComponent implements OnDestroy, OnChanges { const pairs = Object.values(person.contact_references) .filter(isContact) .map(cr => withoutProps(cr, '_id', 'creation_date', 'note')) - .map(cr => - Object.values(cr) - .filter(_ => _) - .join('-'), - ) - .filter(pair => pair) + .filter(pair => Object.values(pair).filter(_ => _).length > 0) .flat(); for (const pair of pairs) { - map.set(pair, person); + const pairString = Object.values(pair).join('-'); + map.set(pairString, { + ...person, + contact_references: { + ...person.contact_references, + [this.entityId()]: + person.contact_references[this.entityId()] ?? + new ContactReference({ + mail: pair.mail, + phonenumber: pair.phonenumber, + }), + }, + }); } } return Array.from(map.values());