From 5c40b75eabb8809edc91694e187647ea74021fb8 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Fri, 10 Sep 2021 15:25:19 +0200 Subject: [PATCH] don't override newly requested ranges when retrying loadattop --- src/domain/session/room/timeline/TimelineViewModel.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/domain/session/room/timeline/TimelineViewModel.js b/src/domain/session/room/timeline/TimelineViewModel.js index eafc092c..1c53079d 100644 --- a/src/domain/session/room/timeline/TimelineViewModel.js +++ b/src/domain/session/room/timeline/TimelineViewModel.js @@ -50,6 +50,8 @@ export class TimelineViewModel extends ViewModel { /** if this.tiles is empty, call this with undefined for both startTile and endTile */ setVisibleTileRange(startTile, endTile) { + // don't clear these once done as they are used to check + // for more tiles once loadAtTop finishes this._requestedStartTile = startTile; this._requestedEndTile = endTile; if (!this._requestScheduled) { @@ -85,7 +87,9 @@ export class TimelineViewModel extends ViewModel { this._topLoadingPromise = null; if (!hasReachedEnd) { // check if more items need to be loaded by recursing - this.setVisibleTileRange(this._startTile, this._endTile); + // use the requested start / end tile, + // so we don't end up overwriting a newly requested visible range here + this.setVisibleTileRange(this._requestedStartTile, this._requestedEndTile); } }); } else if (loadTop) {