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

Prepend events to thread when fetching the reply chain

This commit is contained in:
Germain Souquet
2021-10-01 10:49:46 +01:00
parent 823242a93c
commit 30758600f0

View File

@@ -64,7 +64,7 @@ export class Thread extends EventEmitter {
* Will fire "Thread.update"
* @param event The event to add
*/
public async addEvent(event: MatrixEvent): Promise<void> {
public async addEvent(event: MatrixEvent, toStartOfTimeline = false): Promise<void> {
if (this.timelineSet.findEventById(event.getId()) || event.status !== null) {
return;
}
@@ -85,7 +85,13 @@ export class Thread extends EventEmitter {
const roomState = this.room.getLiveTimeline().getState(EventTimeline.FORWARDS);
event.setThread(this);
this.timelineSet.addLiveEvent(event, DuplicateStrategy.Ignore, false, roomState);
this.timelineSet.addEventToTimeline(
event,
this.timelineSet.getLiveTimeline(),
toStartOfTimeline,
false,
roomState,
);
if (this.ready) {
this.client.decryptEventIfNeeded(event, {});
@@ -108,7 +114,7 @@ export class Thread extends EventEmitter {
);
}
this.addEvent(mxEvent);
this.addEvent(mxEvent, true);
if (mxEvent.replyEventId) {
await this.fetchReplyChain();
} else {