Decrypt last events first to avoid shifts when scrolling up

This commit is contained in:
Germain Souquet 2021-05-07 15:26:16 +01:00
parent fa30285c6b
commit 6e3f8d6a0a

View file

@ -1142,7 +1142,12 @@ class TimelinePanel extends React.Component {
_getEvents() {
const events = this._timelineWindow.getEvents();
// `slice` performs a shallow copy of the array
// we want the last event to be decrypted first but displayed last
// `reverse` is destructive and unfortunately mutates the "events" array
events
.slice().reverse()
.forEach(event => {
if (event.shouldAttemptDecryption()) {
event.attemptDecryption(MatrixClientPeg.get()._crypto);