You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-12-05 17:02:07 +03:00
Fix addPendingEvent with pending event order == chronological
When the pending event order setting was set to 'chronological' (the default) `addPendingEvent` would NPE because Room no longer has a `this._filter` property. It should get the filter from the event timeline set instead, as it does in the previous line when checking or the presence of a filter. We should strongly consider changing the default pending event order to 'detached' and probably removing 'chronological' or comitting to support it properly: it's not really tested and is prone to breakage like this. Applies flumpt's fix from https://github.com/matrix-org/matrix-js-sdk/issues/599 Fixes https://github.com/matrix-org/matrix-js-sdk/issues/599
This commit is contained in:
@@ -1175,7 +1175,7 @@ Room.prototype.addPendingEvent = function(event, txnId) {
|
||||
for (let i = 0; i < this._timelineSets.length; i++) {
|
||||
const timelineSet = this._timelineSets[i];
|
||||
if (timelineSet.getFilter()) {
|
||||
if (this._filter.filterRoomTimeline([event]).length) {
|
||||
if (timelineSet.getFilter().filterRoomTimeline([event]).length) {
|
||||
timelineSet.addEventToTimeline(event,
|
||||
timelineSet.getLiveTimeline(), false);
|
||||
}
|
||||
@@ -1204,7 +1204,7 @@ Room.prototype._aggregateNonLiveRelation = function(event) {
|
||||
for (let i = 0; i < this._timelineSets.length; i++) {
|
||||
const timelineSet = this._timelineSets[i];
|
||||
if (timelineSet.getFilter()) {
|
||||
if (this._filter.filterRoomTimeline([event]).length) {
|
||||
if (timelineSet.getFilter().filterRoomTimeline([event]).length) {
|
||||
timelineSet.aggregateRelations(event);
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user