Restore _reviewersMutated property

Regressed in Change 334680.
The change is temporary as the conversion to Lit will ensure the
dependency on splices is obsolete but for now restore the behaviour
to fix the issue.

Bug: Issue 15827
Release-Notes: skip
Change-Id: Idd3f7256eca1ac62cfc8280864a2164ee1d4cb54
diff --git a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.ts b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.ts
index b91538b..de03d81 100644
--- a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.ts
+++ b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.ts
@@ -82,7 +82,10 @@
 import {GrButton} from '../../shared/gr-button/gr-button';
 import {GrLabelScores} from '../gr-label-scores/gr-label-scores';
 import {GrLabelScoreRow} from '../gr-label-score-row/gr-label-score-row';
-import {PolymerDeepPropertyChange} from '@polymer/polymer/interfaces';
+import {
+  PolymerDeepPropertyChange,
+  PolymerSpliceChange,
+} from '@polymer/polymer/interfaces';
 import {
   areSetsEqual,
   assertIsDefined,
@@ -499,6 +502,16 @@
     return selectorEl?.selectedValue;
   }
 
+  @observe('_reviewers.splices', '_ccs.splices')
+  reviewerOrCCChanged(
+    reviewerSplices?: PolymerSpliceChange<AccountInfo[] | GroupInfo[]>,
+    ccsSplices?: PolymerSpliceChange<AccountInfo[] | GroupInfo[]>
+  ) {
+    if (reviewerSplices?.indexSplices || ccsSplices?.indexSplices) {
+      this._reviewersMutated = true;
+    }
+  }
+
   accountAdded(e: CustomEvent<AccountInputDetail>) {
     const account = e.detail.account;
     const key = accountOrGroupKey(account);
diff --git a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.ts b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.ts
index e324cf2d..1c0768e 100644
--- a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.ts
@@ -1697,6 +1697,8 @@
       mutations.push(...review.reviewers!);
     });
 
+    assert.isFalse(element._reviewersMutated);
+
     // Remove and add to other field.
     reviewers.dispatchEvent(
       new CustomEvent('remove', {
@@ -1705,6 +1707,9 @@
         bubbles: true,
       })
     );
+
+    assert.isTrue(element._reviewersMutated);
+
     ccs.$.entry.dispatchEvent(
       new CustomEvent('add', {
         detail: {value: {account: reviewer1}},