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)); diff --git a/src/main/java/io/kamax/mxisd/config/MxisdConfig.java b/src/main/java/io/kamax/mxisd/config/MxisdConfig.java index f0d51ed..a7f8a45 100644 --- a/src/main/java/io/kamax/mxisd/config/MxisdConfig.java +++ b/src/main/java/io/kamax/mxisd/config/MxisdConfig.java @@ -359,6 +359,7 @@ public class MxisdConfig { getAuth().build(); getAccountConfig().build(); getDirectory().build(); + getDns().build(); getExec().build(); getFirebase().build(); getForward().build();