Skip to content

Commit d33d0ae

Browse files
authored
Revert "Extra insurance that we don't mix events in the wrong timelines (#2848)"
This reverts commit 433b7af.
1 parent 38adbaf commit d33d0ae

File tree

4 files changed

+2
-74
lines changed

4 files changed

+2
-74
lines changed

spec/unit/event-timeline-set.spec.ts

-59
Original file line numberDiff line numberDiff line change
@@ -55,23 +55,6 @@ describe('EventTimelineSet', () => {
5555
});
5656
};
5757

58-
const mkThreadResponse = (root: MatrixEvent) => utils.mkEvent({
59-
event: true,
60-
type: EventType.RoomMessage,
61-
user: userA,
62-
room: roomId,
63-
content: {
64-
"body": "Thread response :: " + Math.random(),
65-
"m.relates_to": {
66-
"event_id": root.getId(),
67-
"m.in_reply_to": {
68-
"event_id": root.getId(),
69-
},
70-
"rel_type": "m.thread",
71-
},
72-
},
73-
}, room.client);
74-
7558
beforeEach(() => {
7659
client = utils.mock(MatrixClient, 'MatrixClient');
7760
client.reEmitter = utils.mock(ReEmitter, 'ReEmitter');
@@ -134,13 +117,6 @@ describe('EventTimelineSet', () => {
134117
});
135118

136119
describe('addEventToTimeline', () => {
137-
let thread: Thread;
138-
139-
beforeEach(() => {
140-
(client.supportsExperimentalThreads as jest.Mock).mockReturnValue(true);
141-
thread = new Thread("!thread_id:server", messageEvent, { room, client });
142-
});
143-
144120
it("Adds event to timeline", () => {
145121
const liveTimeline = eventTimelineSet.getLiveTimeline();
146122
expect(liveTimeline.getEvents().length).toStrictEqual(0);
@@ -168,41 +144,6 @@ describe('EventTimelineSet', () => {
168144
);
169145
}).not.toThrow();
170146
});
171-
172-
it("should not add an event to a timeline that does not belong to the timelineSet", () => {
173-
const eventTimelineSet2 = new EventTimelineSet(room);
174-
const liveTimeline2 = eventTimelineSet2.getLiveTimeline();
175-
expect(liveTimeline2.getEvents().length).toStrictEqual(0);
176-
177-
expect(() => {
178-
eventTimelineSet.addEventToTimeline(messageEvent, liveTimeline2, {
179-
toStartOfTimeline: true,
180-
});
181-
}).toThrowError();
182-
});
183-
184-
it("should not add a threaded reply to the main room timeline", () => {
185-
const liveTimeline = eventTimelineSet.getLiveTimeline();
186-
expect(liveTimeline.getEvents().length).toStrictEqual(0);
187-
188-
const threadedReplyEvent = mkThreadResponse(messageEvent);
189-
190-
eventTimelineSet.addEventToTimeline(threadedReplyEvent, liveTimeline, {
191-
toStartOfTimeline: true,
192-
});
193-
expect(liveTimeline.getEvents().length).toStrictEqual(0);
194-
});
195-
196-
it("should not add a normal message to the timelineSet representing a thread", () => {
197-
const eventTimelineSetForThread = new EventTimelineSet(room, {}, client, thread);
198-
const liveTimeline = eventTimelineSetForThread.getLiveTimeline();
199-
expect(liveTimeline.getEvents().length).toStrictEqual(0);
200-
201-
eventTimelineSetForThread.addEventToTimeline(messageEvent, liveTimeline, {
202-
toStartOfTimeline: true,
203-
});
204-
expect(liveTimeline.getEvents().length).toStrictEqual(0);
205-
});
206147
});
207148

208149
describe('aggregateRelations', () => {

src/models/event-timeline-set.ts

-13
Original file line numberDiff line numberDiff line change
@@ -702,19 +702,6 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
702702
);
703703
}
704704

705-
if (timeline.getTimelineSet() !== this) {
706-
throw new Error(`EventTimelineSet.addEventToTimeline: Timeline=${timeline.toString()} does not belong " +
707-
"in timelineSet(threadId=${this.thread?.id})`);
708-
}
709-
710-
// Make sure events don't get mixed in timelines they shouldn't be in
711-
// (e.g. a threaded message should not be in the main timeline).
712-
if (!this.canContain(event)) {
713-
logger.warn(`EventTimelineSet.addEventToTimeline: Ignoring event=${event.getId()} that does not belong " +
714-
"in timeline=${timeline.toString()} timelineSet(threadId=${this.thread?.id})`);
715-
return;
716-
}
717-
718705
const eventId = event.getId()!;
719706
timeline.addEvent(event, {
720707
toStartOfTimeline,

src/models/event.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ export interface IEventRelation {
107107
event_id?: string;
108108
is_falling_back?: boolean;
109109
"m.in_reply_to"?: {
110-
event_id?: string;
110+
event_id: string;
111111
};
112112
key?: string;
113113
}

src/models/room.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1862,7 +1862,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
18621862
shouldLiveInThread: boolean;
18631863
threadId?: string;
18641864
} {
1865-
if (!this.client?.supportsExperimentalThreads()) {
1865+
if (!this.client.supportsExperimentalThreads()) {
18661866
return {
18671867
shouldLiveInRoom: true,
18681868
shouldLiveInThread: false,

0 commit comments

Comments
 (0)