Diff reporting, or change generation, need to be resilient against "re-reports".
A common scenario is merging. If diffing is (accidentally) triggered, a just merged in change might get re-reported as old change that diffs from the previous change a user had before the merger.
Proposal
We should make change reporting fault tolerant.
we could try to avoid triggering diffing, but in reality somewhere something will go wrong
it seems like a plugin needs information of previous changes in diffing and, therefore, might directly detectChanges() instead of diff() snapshots.
Context
Diff reporting, or change generation, need to be resilient against "re-reports".
A common scenario is merging. If diffing is (accidentally) triggered, a just merged in change might get re-reported as old change that diffs from the previous change a user had before the merger.
Proposal
We should make change reporting fault tolerant.
detectChanges()
instead ofdiff()
snapshots.