Skip to content

Commit 044eaf7

Browse files
committed
Update calls to addEventToTimeline and addLiveEvents for new signature
Signed-off-by: Michael Telatynski <[email protected]>
1 parent a355292 commit 044eaf7

34 files changed

+166
-131
lines changed

src/components/structures/FilePanel.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,11 @@ class FilePanel extends React.Component<IProps, IState> {
104104
}
105105

106106
if (!this.state.timelineSet.eventIdToTimeline(ev.getId()!)) {
107-
this.state.timelineSet.addEventToTimeline(ev, timeline, false);
107+
this.state.timelineSet.addEventToTimeline(ev, timeline, {
108+
fromCache: false,
109+
addToState: false,
110+
toStartOfTimeline: false,
111+
});
108112
}
109113
}
110114

src/indexing/EventIndex.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -820,7 +820,11 @@ export default class EventIndex extends EventEmitter {
820820
// Add the events to the timeline of the file panel.
821821
matrixEvents.forEach((e) => {
822822
if (!timelineSet.eventIdToTimeline(e.getId()!)) {
823-
timelineSet.addEventToTimeline(e, timeline, direction == EventTimeline.BACKWARDS);
823+
timelineSet.addEventToTimeline(e, timeline, {
824+
toStartOfTimeline: direction == EventTimeline.BACKWARDS,
825+
fromCache: false,
826+
addToState: false,
827+
});
824828
}
825829
});
826830

src/utils/dm/createDmLocalRoom.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ export async function createDmLocalRoom(client: MatrixClient, targets: Member[])
109109

110110
localRoom.targets = targets;
111111
localRoom.updateMyMembership(KnownMembership.Join);
112-
localRoom.addLiveEvents(events);
112+
localRoom.addLiveEvents(events, { addToState: true });
113113
localRoom.currentState.setStateEvents(events);
114114
localRoom.name = localRoom.getDefaultRoomName(client.getUserId()!);
115115
client.store.storeRoom(localRoom);

test/test-utils/call.ts

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,20 @@ export class MockedCall extends Call {
4444
}
4545

4646
public static create(room: Room, id: string) {
47-
room.addLiveEvents([
48-
mkEvent({
49-
event: true,
50-
type: this.EVENT_TYPE,
51-
room: room.roomId,
52-
user: "@alice:example.org",
53-
content: { "m.type": "m.video", "m.intent": "m.prompt" },
54-
skey: id,
55-
ts: Date.now(),
56-
}),
57-
]);
47+
room.addLiveEvents(
48+
[
49+
mkEvent({
50+
event: true,
51+
type: this.EVENT_TYPE,
52+
room: room.roomId,
53+
user: "@alice:example.org",
54+
content: { "m.type": "m.video", "m.intent": "m.prompt" },
55+
skey: id,
56+
ts: Date.now(),
57+
}),
58+
],
59+
{ addToState: true },
60+
);
5861
// @ts-ignore deliberately calling a private method
5962
// Let CallStore know that a call might now exist
6063
CallStore.instance.updateRoom(room);
@@ -81,17 +84,20 @@ export class MockedCall extends Call {
8184

8285
public destroy() {
8386
// Terminate the call for good measure
84-
this.room.addLiveEvents([
85-
mkEvent({
86-
event: true,
87-
type: MockedCall.EVENT_TYPE,
88-
room: this.room.roomId,
89-
user: "@alice:example.org",
90-
content: { ...this.event.getContent(), "m.terminated": "Call ended" },
91-
skey: this.widget.id,
92-
ts: Date.now(),
93-
}),
94-
]);
87+
this.room.addLiveEvents(
88+
[
89+
mkEvent({
90+
event: true,
91+
type: MockedCall.EVENT_TYPE,
92+
room: this.room.roomId,
93+
user: "@alice:example.org",
94+
content: { ...this.event.getContent(), "m.terminated": "Call ended" },
95+
skey: this.widget.id,
96+
ts: Date.now(),
97+
}),
98+
],
99+
{ addToState: true },
100+
);
95101

96102
super.destroy();
97103
}

test/test-utils/threads.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,6 @@ export const populateThread = async ({
157157
// that it is already loaded, and send the events again to the room
158158
// so they are added to the thread timeline.
159159
ret.thread.initialEventsFetched = true;
160-
await room.addLiveEvents(ret.events);
160+
await room.addLiveEvents(ret.events, { addToState: false });
161161
return ret;
162162
};

test/unit-tests/Notifier-test.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -624,8 +624,7 @@ describe("Notifier", () => {
624624
content: { body: "this is a thread root" },
625625
}),
626626
testRoom.threadsTimelineSets[0]!.getLiveTimeline(),
627-
false,
628-
false,
627+
{ toStartOfTimeline: false, fromCache: false, addToState: true },
629628
);
630629

631630
expect(fn).not.toHaveBeenCalled();

test/unit-tests/RoomNotifs-test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ describe("RoomNotifs test", () => {
147147

148148
const itShouldCountPredecessorHighlightWhenThereIsAPredecessorInTheCreateEvent = (): void => {
149149
it("and there is a predecessor in the create event, it should count predecessor highlight", () => {
150-
room.addLiveEvents([mkCreateEvent(OLD_ROOM_ID)]);
150+
room.addLiveEvents([mkCreateEvent(OLD_ROOM_ID)], { addToState: true });
151151

152152
expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(8);
153153
expect(getUnreadNotificationCount(room, NotificationCountType.Highlight, false)).toBe(7);
@@ -157,7 +157,7 @@ describe("RoomNotifs test", () => {
157157
const itShouldCountPredecessorHighlightWhenThereIsAPredecessorEvent = (): void => {
158158
it("and there is a predecessor event, it should count predecessor highlight", () => {
159159
client.getVisibleRooms();
160-
room.addLiveEvents([mkCreateEvent(OLD_ROOM_ID)]);
160+
room.addLiveEvents([mkCreateEvent(OLD_ROOM_ID)], { addToState: true });
161161
upsertRoomStateEvents(room, [mkPredecessorEvent(OLD_ROOM_ID)]);
162162

163163
expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(8);
@@ -185,7 +185,7 @@ describe("RoomNotifs test", () => {
185185
itShouldCountPredecessorHighlightWhenThereIsAPredecessorEvent();
186186

187187
it("and there is only a predecessor event, it should not count predecessor highlight", () => {
188-
room.addLiveEvents([mkCreateEvent()]);
188+
room.addLiveEvents([mkCreateEvent()], { addToState: true });
189189
upsertRoomStateEvents(room, [mkPredecessorEvent(OLD_ROOM_ID)]);
190190

191191
expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(2);
@@ -204,15 +204,15 @@ describe("RoomNotifs test", () => {
204204
itShouldCountPredecessorHighlightWhenThereIsAPredecessorEvent();
205205

206206
it("and there is only a predecessor event, it should count predecessor highlight", () => {
207-
room.addLiveEvents([mkCreateEvent()]);
207+
room.addLiveEvents([mkCreateEvent()], { addToState: true });
208208
upsertRoomStateEvents(room, [mkPredecessorEvent(OLD_ROOM_ID)]);
209209

210210
expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(8);
211211
expect(getUnreadNotificationCount(room, NotificationCountType.Highlight, false)).toBe(7);
212212
});
213213

214214
it("and there is an unknown room in the predecessor event, it should not count predecessor highlight", () => {
215-
room.addLiveEvents([mkCreateEvent()]);
215+
room.addLiveEvents([mkCreateEvent()], { addToState: true });
216216
upsertRoomStateEvents(room, [mkPredecessorEvent("!unknon:example.com")]);
217217

218218
expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(2);

test/unit-tests/Unread-test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ describe("Unread", () => {
138138
room: roomId,
139139
content: {},
140140
});
141-
room.addLiveEvents([event]);
141+
room.addLiveEvents([event], { addToState: true });
142142

143143
// Don't care about the code path of hidden events.
144144
mocked(haveRendererForEvent).mockClear().mockReturnValue(true);
@@ -157,7 +157,7 @@ describe("Unread", () => {
157157
content: {},
158158
});
159159
// Only for timeline events.
160-
room.addLiveEvents([event]);
160+
room.addLiveEvents([event], { addToState: true });
161161

162162
expect(doesRoomHaveUnreadMessages(room, false)).toBe(false);
163163
});
@@ -201,7 +201,7 @@ describe("Unread", () => {
201201
content: {},
202202
});
203203
// Only for timeline events.
204-
room.addLiveEvents([event2]);
204+
room.addLiveEvents([event2], { addToState: true });
205205

206206
expect(doesRoomHaveUnreadMessages(room, false)).toBe(true);
207207
});
@@ -403,7 +403,7 @@ describe("Unread", () => {
403403
redactedEvent.makeRedacted(redactedEvent, room);
404404
console.log("Event Id", redactedEvent.getId());
405405
// Only for timeline events.
406-
room.addLiveEvents([redactedEvent]);
406+
room.addLiveEvents([redactedEvent], { addToState: true });
407407

408408
expect(doesRoomHaveUnreadMessages(room, true)).toBe(true);
409409
expect(logger.warn).toHaveBeenCalledWith(
@@ -448,7 +448,7 @@ describe("Unread", () => {
448448
room: roomId,
449449
content: {},
450450
});
451-
room.addLiveEvents([event]);
451+
room.addLiveEvents([event], { addToState: true });
452452
});
453453

454454
it("an unthreaded receipt for the event makes the room read", () => {
@@ -502,7 +502,7 @@ describe("Unread", () => {
502502
ts: 100,
503503
currentUserId: myId,
504504
});
505-
room.addLiveEvents(events);
505+
room.addLiveEvents(events, { addToState: true });
506506
threadEvent = events[1];
507507
});
508508

@@ -555,7 +555,7 @@ describe("Unread", () => {
555555
room: roomId,
556556
content: {},
557557
});
558-
room.addLiveEvents([event]);
558+
room.addLiveEvents([event], { addToState: true });
559559

560560
// It still returns false
561561
expect(doesRoomHaveUnreadThreads(room)).toBe(false);

test/unit-tests/components/structures/RoomView-test.tsx

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -249,15 +249,19 @@ describe("RoomView", () => {
249249
cli.isRoomEncrypted.mockReturnValue(true);
250250

251251
// and fake an encryption event into the room to prompt it to re-check
252-
room.addLiveEvents([
253-
new MatrixEvent({
254-
type: "m.room.encryption",
255-
sender: cli.getUserId()!,
256-
content: {},
257-
event_id: "someid",
258-
room_id: room.roomId,
259-
}),
260-
]);
252+
room.addLiveEvents(
253+
[
254+
new MatrixEvent({
255+
type: "m.room.encryption",
256+
sender: cli.getUserId()!,
257+
content: {},
258+
event_id: "someid",
259+
room_id: room.roomId,
260+
state_key: "",
261+
}),
262+
],
263+
{ addToState: true },
264+
);
261265

262266
// URL previews should now be disabled
263267
expect(roomViewInstance.state.showUrlPreview).toBe(false);
@@ -440,7 +444,7 @@ describe("RoomView", () => {
440444
skey: id,
441445
ts,
442446
});
443-
room.addLiveEvents([widgetEvent]);
447+
room.addLiveEvents([widgetEvent], { addToState: true });
444448
room.currentState.setStateEvents([widgetEvent]);
445449
cli.emit(RoomStateEvent.Events, widgetEvent, room.currentState, null);
446450
await flushPromises();

test/unit-tests/components/structures/ThreadPanel-test.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -209,11 +209,11 @@ describe("ThreadPanel", () => {
209209
return event ? Promise.resolve(event) : Promise.reject();
210210
});
211211
const [allThreads, myThreads] = room.threadsTimelineSets;
212-
allThreads!.addLiveEvent(otherThread.rootEvent);
213-
allThreads!.addLiveEvent(mixedThread.rootEvent);
214-
allThreads!.addLiveEvent(ownThread.rootEvent);
215-
myThreads!.addLiveEvent(mixedThread.rootEvent);
216-
myThreads!.addLiveEvent(ownThread.rootEvent);
212+
allThreads!.addLiveEvent(otherThread.rootEvent, { addToState: true });
213+
allThreads!.addLiveEvent(mixedThread.rootEvent, { addToState: true });
214+
allThreads!.addLiveEvent(ownThread.rootEvent, { addToState: true });
215+
myThreads!.addLiveEvent(mixedThread.rootEvent, { addToState: true });
216+
myThreads!.addLiveEvent(ownThread.rootEvent, { addToState: true });
217217

218218
let events: EventData[] = [];
219219
const renderResult = render(<TestThreadPanel />);
@@ -259,7 +259,7 @@ describe("ThreadPanel", () => {
259259
return event ? Promise.resolve(event) : Promise.reject();
260260
});
261261
const [allThreads] = room.threadsTimelineSets;
262-
allThreads!.addLiveEvent(otherThread.rootEvent);
262+
allThreads!.addLiveEvent(otherThread.rootEvent, { addToState: true });
263263

264264
let events: EventData[] = [];
265265
const renderResult = render(<TestThreadPanel />);

0 commit comments

Comments
 (0)