diff --git a/src/main/java/io/kamax/mxisd/as/processor/event/MembershipEventProcessor.java b/src/main/java/io/kamax/mxisd/as/processor/event/MembershipEventProcessor.java index 5963dce..b57f79b 100644 --- a/src/main/java/io/kamax/mxisd/as/processor/event/MembershipEventProcessor.java +++ b/src/main/java/io/kamax/mxisd/as/processor/event/MembershipEventProcessor.java @@ -144,7 +144,13 @@ public class MembershipEventProcessor implements EventTypeProcessor { .collect(Collectors.toList()); log.info("Found {} email(s) in identity store for {}", tpids.size(), inviteeId); - for (_ThreePid tpid : tpids) { + log.info("Removing duplicates from identity store"); + List<_ThreePid> uniqueTpids = tpids.stream() + .distinct() + .collect(Collectors.toList()); + log.info("There are {} unique email(s) in identity store for {}", uniqueTpids.size(), inviteeId); + + for (_ThreePid tpid : uniqueTpids) { log.info("Found Email to notify about room invitation: {}", tpid.getAddress()); Map properties = new HashMap<>(); profiler.getDisplayName(sender).ifPresent(name -> properties.put("sender_display_name", name));