Display shared reviewers on bulk action flow

The same reviewer across multiple changes was being compared with strict
equality and failing because the identical AccountInfos were not the
same object (the are generated from different parts of the change query
response). This change compares reviewers based on the accountKey
(id/email).

https://imgur.com/a/BH5bPh5

Release-Notes: skip
Google-Bug-Id: b/238058098
Change-Id: If1f7874c935f7805d4d09042e3a0fae52630b99c
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-reviewer-flow/gr-change-list-reviewer-flow.ts b/polygerrit-ui/app/elements/change-list/gr-change-list-reviewer-flow/gr-change-list-reviewer-flow.ts
index 8b47e4e..0d6a1a7 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-reviewer-flow/gr-change-list-reviewer-flow.ts
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-reviewer-flow/gr-change-list-reviewer-flow.ts
@@ -38,7 +38,7 @@
 import '@polymer/iron-icon/iron-icon';
 import {getReplyByReason} from '../../../utils/attention-set-util';
 import {intersection, queryAndAssert} from '../../../utils/common-util';
-import {accountOrGroupKey} from '../../../utils/account-util';
+import {accountKey, accountOrGroupKey} from '../../../utils/account-util';
 import {ValueChangedEvent} from '../../../types/events';
 import {fireAlert, fireReload} from '../../../utils/event-util';
 import {GrDialog} from '../../shared/gr-dialog/gr-dialog';
@@ -574,7 +574,10 @@
     const reviewersPerChange = this.selectedChanges.map(
       change => change.reviewers[reviewerState] ?? []
     );
-    return intersection(reviewersPerChange);
+    return intersection(
+      reviewersPerChange,
+      (account1, account2) => accountKey(account1) === accountKey(account2)
+    );
   }
 
   private createSuggestionsProvider(