Cache display names when checking for group name collisions.

This commit is contained in:
Greyson Parrelli
2026-07-28 16:32:54 +00:00
committed by Alex Hart
parent 5dd9386e12
commit 30b048976c
@@ -521,6 +521,9 @@ class NameCollisionTables(
val results = mutableListOf<ReviewRecipient>()
val cachedDisplayNames = HashMap<RecipientId, String>(members.size + changed.size)
val displayName = { recipient: Recipient -> cachedDisplayNames.getOrPut(recipient.id) { recipient.getDisplayName(context) } }
for (reviewRecipient in changed) {
if (results.contains(reviewRecipient)) {
continue
@@ -528,8 +531,10 @@ class NameCollisionTables(
members.remove(reviewRecipient.recipient)
val changedDisplayName = displayName(reviewRecipient.recipient)
for (member in members) {
if (member.getDisplayName(context) == reviewRecipient.recipient.getDisplayName(context)) {
if (displayName(member) == changedDisplayName) {
results.add(reviewRecipient)
results.add(ReviewRecipient(member))
}