diff --git a/src/client.js b/src/client.js index 82c6df904..1907cceaa 100644 --- a/src/client.js +++ b/src/client.js @@ -2014,7 +2014,7 @@ MatrixClient.prototype.scrollback = function(room, limit, callback) { const matrixEvents = utils.map(res.chunk, _PojoToMatrixEventMapper(self)); if (res.state) { const stateEvents = utils.map(res.state, _PojoToMatrixEventMapper(self)); - room.currentState.prependStateEvents(stateEvents); + room.currentState.setUnknownStateEvents(stateEvents); } room.addEventsToTimeline(matrixEvents, true, room.getLiveTimeline()); room.oldState.paginationToken = res.end; diff --git a/src/models/room-state.js b/src/models/room-state.js index cbabacc1c..fb049daa9 100644 --- a/src/models/room-state.js +++ b/src/models/room-state.js @@ -263,14 +263,13 @@ RoomState.prototype.clone = function() { }; /** - * Add previously unknown state events just before - * prepending events to the timeline. + * Add previously unknown state events. * When lazy loading members while back-paginating, * the relevant room state for the timeline chunk at the end * of the chunk can be set with this method. * @param {MatrixEvent[]} events state events to prepend */ -RoomState.prototype.prependStateEvents = function(events) { +RoomState.prototype.setUnknownStateEvents = function(events) { const unknownStateEvents = events.filter((event) => { return this.events[event.getType()] === undefined || this.events[event.getType()][event.getStateKey()] === undefined;