1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-12-04 05:02:41 +03:00

Make threads events indexed by the index manager (#2089)

This commit is contained in:
Germain
2021-12-23 09:58:11 +00:00
committed by GitHub
parent bae883a891
commit 48dbed8001
2 changed files with 25 additions and 4 deletions

View File

@@ -15,6 +15,7 @@ limitations under the License.
*/
import { MatrixClient } from "../matrix";
import { ReEmitter } from "../ReEmitter";
import { MatrixEvent } from "./event";
import { EventTimeline } from "./event-timeline";
import { EventTimelineSet } from './event-timeline-set';
@@ -44,6 +45,8 @@ export class Thread extends TypedEventEmitter<ThreadEvent> {
private _currentUserParticipated = false;
private reEmitter: ReEmitter;
constructor(
events: MatrixEvent[] = [],
public readonly room: Room,
@@ -54,11 +57,19 @@ export class Thread extends TypedEventEmitter<ThreadEvent> {
throw new Error("Can't create an empty thread");
}
this.reEmitter = new ReEmitter(this);
this.timelineSet = new EventTimelineSet(this.room, {
unstableClientRelationAggregation: true,
timelineSupport: true,
pendingEvents: true,
});
this.reEmitter.reEmit(this.timelineSet, [
"Room.timeline",
"Room.timelineReset",
]);
events.forEach(event => this.addEvent(event));
room.on("Room.localEchoUpdated", this.onEcho);