From 044eaf7eb598ca4609c740f51ab1863f40881c32 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 6 Nov 2024 14:55:21 +0000 Subject: [PATCH 01/78] Update calls to addEventToTimeline and addLiveEvents for new signature Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/FilePanel.tsx | 6 ++- src/indexing/EventIndex.ts | 6 ++- src/utils/dm/createDmLocalRoom.ts | 2 +- test/test-utils/call.ts | 50 +++++++++++-------- test/test-utils/threads.ts | 2 +- test/unit-tests/Notifier-test.ts | 3 +- test/unit-tests/RoomNotifs-test.ts | 10 ++-- test/unit-tests/Unread-test.ts | 14 +++--- .../components/structures/RoomView-test.tsx | 24 +++++---- .../structures/ThreadPanel-test.tsx | 12 ++--- .../structures/TimelinePanel-test.tsx | 35 ++++++++----- .../RoomGeneralContextMenu-test.tsx | 2 +- .../views/dialogs/InviteDialog-test.tsx | 23 +++++---- .../components/views/elements/Pill-test.tsx | 2 +- .../views/elements/RoomTopic-test.tsx | 2 +- .../UnreadNotificationBadge-test.tsx | 2 +- .../views/rooms/RoomHeader-test.tsx | 2 +- .../views/settings/Notifications-test.tsx | 2 +- .../notifications/Notifications2-test.tsx | 2 +- .../events/EventTileFactory-test.ts | 2 +- test/unit-tests/models/Call-test.ts | 2 +- .../unit-tests/stores/MemberListStore-test.ts | 1 + test/unit-tests/stores/RoomViewStore-test.ts | 2 +- .../room-list/MessagePreviewStore-test.ts | 2 +- .../algorithms/RecentAlgorithm-test.ts | 18 +++---- .../previews/ReactionEventPreview-test.ts | 4 +- test/unit-tests/useTopic-test.tsx | 4 +- .../utils/exportUtils/HTMLExport-test.ts | 27 +++++----- test/unit-tests/utils/notifications-test.ts | 6 +-- .../components/VoiceBroadcastBody-test.tsx | 6 +-- .../models/VoiceBroadcastPlayback-test.tsx | 14 +++--- .../utils/hasRoomLiveVoiceBroadcast-test.ts | 2 +- .../utils/isRelatedToVoiceBroadcast-test.ts | 4 +- .../utils/retrieveStartedInfoEvent-test.ts | 2 +- 34 files changed, 166 insertions(+), 131 deletions(-) diff --git a/src/components/structures/FilePanel.tsx b/src/components/structures/FilePanel.tsx index 74a91d8cbc..07a20315f5 100644 --- a/src/components/structures/FilePanel.tsx +++ b/src/components/structures/FilePanel.tsx @@ -104,7 +104,11 @@ class FilePanel extends React.Component { } if (!this.state.timelineSet.eventIdToTimeline(ev.getId()!)) { - this.state.timelineSet.addEventToTimeline(ev, timeline, false); + this.state.timelineSet.addEventToTimeline(ev, timeline, { + fromCache: false, + addToState: false, + toStartOfTimeline: false, + }); } } diff --git a/src/indexing/EventIndex.ts b/src/indexing/EventIndex.ts index ec3935cd68..0b1a29e9a4 100644 --- a/src/indexing/EventIndex.ts +++ b/src/indexing/EventIndex.ts @@ -820,7 +820,11 @@ export default class EventIndex extends EventEmitter { // Add the events to the timeline of the file panel. matrixEvents.forEach((e) => { if (!timelineSet.eventIdToTimeline(e.getId()!)) { - timelineSet.addEventToTimeline(e, timeline, direction == EventTimeline.BACKWARDS); + timelineSet.addEventToTimeline(e, timeline, { + toStartOfTimeline: direction == EventTimeline.BACKWARDS, + fromCache: false, + addToState: false, + }); } }); diff --git a/src/utils/dm/createDmLocalRoom.ts b/src/utils/dm/createDmLocalRoom.ts index 6d6cf0712b..0a3d312368 100644 --- a/src/utils/dm/createDmLocalRoom.ts +++ b/src/utils/dm/createDmLocalRoom.ts @@ -109,7 +109,7 @@ export async function createDmLocalRoom(client: MatrixClient, targets: Member[]) localRoom.targets = targets; localRoom.updateMyMembership(KnownMembership.Join); - localRoom.addLiveEvents(events); + localRoom.addLiveEvents(events, { addToState: true }); localRoom.currentState.setStateEvents(events); localRoom.name = localRoom.getDefaultRoomName(client.getUserId()!); client.store.storeRoom(localRoom); diff --git a/test/test-utils/call.ts b/test/test-utils/call.ts index 0262e5537f..df87fcaa55 100644 --- a/test/test-utils/call.ts +++ b/test/test-utils/call.ts @@ -44,17 +44,20 @@ export class MockedCall extends Call { } public static create(room: Room, id: string) { - room.addLiveEvents([ - mkEvent({ - event: true, - type: this.EVENT_TYPE, - room: room.roomId, - user: "@alice:example.org", - content: { "m.type": "m.video", "m.intent": "m.prompt" }, - skey: id, - ts: Date.now(), - }), - ]); + room.addLiveEvents( + [ + mkEvent({ + event: true, + type: this.EVENT_TYPE, + room: room.roomId, + user: "@alice:example.org", + content: { "m.type": "m.video", "m.intent": "m.prompt" }, + skey: id, + ts: Date.now(), + }), + ], + { addToState: true }, + ); // @ts-ignore deliberately calling a private method // Let CallStore know that a call might now exist CallStore.instance.updateRoom(room); @@ -81,17 +84,20 @@ export class MockedCall extends Call { public destroy() { // Terminate the call for good measure - this.room.addLiveEvents([ - mkEvent({ - event: true, - type: MockedCall.EVENT_TYPE, - room: this.room.roomId, - user: "@alice:example.org", - content: { ...this.event.getContent(), "m.terminated": "Call ended" }, - skey: this.widget.id, - ts: Date.now(), - }), - ]); + this.room.addLiveEvents( + [ + mkEvent({ + event: true, + type: MockedCall.EVENT_TYPE, + room: this.room.roomId, + user: "@alice:example.org", + content: { ...this.event.getContent(), "m.terminated": "Call ended" }, + skey: this.widget.id, + ts: Date.now(), + }), + ], + { addToState: true }, + ); super.destroy(); } diff --git a/test/test-utils/threads.ts b/test/test-utils/threads.ts index d2459653e5..83313b1b8d 100644 --- a/test/test-utils/threads.ts +++ b/test/test-utils/threads.ts @@ -157,6 +157,6 @@ export const populateThread = async ({ // that it is already loaded, and send the events again to the room // so they are added to the thread timeline. ret.thread.initialEventsFetched = true; - await room.addLiveEvents(ret.events); + await room.addLiveEvents(ret.events, { addToState: false }); return ret; }; diff --git a/test/unit-tests/Notifier-test.ts b/test/unit-tests/Notifier-test.ts index 7bfde2afb3..2833659792 100644 --- a/test/unit-tests/Notifier-test.ts +++ b/test/unit-tests/Notifier-test.ts @@ -624,8 +624,7 @@ describe("Notifier", () => { content: { body: "this is a thread root" }, }), testRoom.threadsTimelineSets[0]!.getLiveTimeline(), - false, - false, + { toStartOfTimeline: false, fromCache: false, addToState: true }, ); expect(fn).not.toHaveBeenCalled(); diff --git a/test/unit-tests/RoomNotifs-test.ts b/test/unit-tests/RoomNotifs-test.ts index 51416ab7fd..65089eba94 100644 --- a/test/unit-tests/RoomNotifs-test.ts +++ b/test/unit-tests/RoomNotifs-test.ts @@ -147,7 +147,7 @@ describe("RoomNotifs test", () => { const itShouldCountPredecessorHighlightWhenThereIsAPredecessorInTheCreateEvent = (): void => { it("and there is a predecessor in the create event, it should count predecessor highlight", () => { - room.addLiveEvents([mkCreateEvent(OLD_ROOM_ID)]); + room.addLiveEvents([mkCreateEvent(OLD_ROOM_ID)], { addToState: true }); expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(8); expect(getUnreadNotificationCount(room, NotificationCountType.Highlight, false)).toBe(7); @@ -157,7 +157,7 @@ describe("RoomNotifs test", () => { const itShouldCountPredecessorHighlightWhenThereIsAPredecessorEvent = (): void => { it("and there is a predecessor event, it should count predecessor highlight", () => { client.getVisibleRooms(); - room.addLiveEvents([mkCreateEvent(OLD_ROOM_ID)]); + room.addLiveEvents([mkCreateEvent(OLD_ROOM_ID)], { addToState: true }); upsertRoomStateEvents(room, [mkPredecessorEvent(OLD_ROOM_ID)]); expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(8); @@ -185,7 +185,7 @@ describe("RoomNotifs test", () => { itShouldCountPredecessorHighlightWhenThereIsAPredecessorEvent(); it("and there is only a predecessor event, it should not count predecessor highlight", () => { - room.addLiveEvents([mkCreateEvent()]); + room.addLiveEvents([mkCreateEvent()], { addToState: true }); upsertRoomStateEvents(room, [mkPredecessorEvent(OLD_ROOM_ID)]); expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(2); @@ -204,7 +204,7 @@ describe("RoomNotifs test", () => { itShouldCountPredecessorHighlightWhenThereIsAPredecessorEvent(); it("and there is only a predecessor event, it should count predecessor highlight", () => { - room.addLiveEvents([mkCreateEvent()]); + room.addLiveEvents([mkCreateEvent()], { addToState: true }); upsertRoomStateEvents(room, [mkPredecessorEvent(OLD_ROOM_ID)]); expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(8); @@ -212,7 +212,7 @@ describe("RoomNotifs test", () => { }); it("and there is an unknown room in the predecessor event, it should not count predecessor highlight", () => { - room.addLiveEvents([mkCreateEvent()]); + room.addLiveEvents([mkCreateEvent()], { addToState: true }); upsertRoomStateEvents(room, [mkPredecessorEvent("!unknon:example.com")]); expect(getUnreadNotificationCount(room, NotificationCountType.Total, false)).toBe(2); diff --git a/test/unit-tests/Unread-test.ts b/test/unit-tests/Unread-test.ts index 8719da06ef..15d3dab8f5 100644 --- a/test/unit-tests/Unread-test.ts +++ b/test/unit-tests/Unread-test.ts @@ -138,7 +138,7 @@ describe("Unread", () => { room: roomId, content: {}, }); - room.addLiveEvents([event]); + room.addLiveEvents([event], { addToState: true }); // Don't care about the code path of hidden events. mocked(haveRendererForEvent).mockClear().mockReturnValue(true); @@ -157,7 +157,7 @@ describe("Unread", () => { content: {}, }); // Only for timeline events. - room.addLiveEvents([event]); + room.addLiveEvents([event], { addToState: true }); expect(doesRoomHaveUnreadMessages(room, false)).toBe(false); }); @@ -201,7 +201,7 @@ describe("Unread", () => { content: {}, }); // Only for timeline events. - room.addLiveEvents([event2]); + room.addLiveEvents([event2], { addToState: true }); expect(doesRoomHaveUnreadMessages(room, false)).toBe(true); }); @@ -403,7 +403,7 @@ describe("Unread", () => { redactedEvent.makeRedacted(redactedEvent, room); console.log("Event Id", redactedEvent.getId()); // Only for timeline events. - room.addLiveEvents([redactedEvent]); + room.addLiveEvents([redactedEvent], { addToState: true }); expect(doesRoomHaveUnreadMessages(room, true)).toBe(true); expect(logger.warn).toHaveBeenCalledWith( @@ -448,7 +448,7 @@ describe("Unread", () => { room: roomId, content: {}, }); - room.addLiveEvents([event]); + room.addLiveEvents([event], { addToState: true }); }); it("an unthreaded receipt for the event makes the room read", () => { @@ -502,7 +502,7 @@ describe("Unread", () => { ts: 100, currentUserId: myId, }); - room.addLiveEvents(events); + room.addLiveEvents(events, { addToState: true }); threadEvent = events[1]; }); @@ -555,7 +555,7 @@ describe("Unread", () => { room: roomId, content: {}, }); - room.addLiveEvents([event]); + room.addLiveEvents([event], { addToState: true }); // It still returns false expect(doesRoomHaveUnreadThreads(room)).toBe(false); diff --git a/test/unit-tests/components/structures/RoomView-test.tsx b/test/unit-tests/components/structures/RoomView-test.tsx index b6a0f28637..dfc663dc23 100644 --- a/test/unit-tests/components/structures/RoomView-test.tsx +++ b/test/unit-tests/components/structures/RoomView-test.tsx @@ -249,15 +249,19 @@ describe("RoomView", () => { cli.isRoomEncrypted.mockReturnValue(true); // and fake an encryption event into the room to prompt it to re-check - room.addLiveEvents([ - new MatrixEvent({ - type: "m.room.encryption", - sender: cli.getUserId()!, - content: {}, - event_id: "someid", - room_id: room.roomId, - }), - ]); + room.addLiveEvents( + [ + new MatrixEvent({ + type: "m.room.encryption", + sender: cli.getUserId()!, + content: {}, + event_id: "someid", + room_id: room.roomId, + state_key: "", + }), + ], + { addToState: true }, + ); // URL previews should now be disabled expect(roomViewInstance.state.showUrlPreview).toBe(false); @@ -440,7 +444,7 @@ describe("RoomView", () => { skey: id, ts, }); - room.addLiveEvents([widgetEvent]); + room.addLiveEvents([widgetEvent], { addToState: true }); room.currentState.setStateEvents([widgetEvent]); cli.emit(RoomStateEvent.Events, widgetEvent, room.currentState, null); await flushPromises(); diff --git a/test/unit-tests/components/structures/ThreadPanel-test.tsx b/test/unit-tests/components/structures/ThreadPanel-test.tsx index 1b4d59d9af..ddb6058759 100644 --- a/test/unit-tests/components/structures/ThreadPanel-test.tsx +++ b/test/unit-tests/components/structures/ThreadPanel-test.tsx @@ -209,11 +209,11 @@ describe("ThreadPanel", () => { return event ? Promise.resolve(event) : Promise.reject(); }); const [allThreads, myThreads] = room.threadsTimelineSets; - allThreads!.addLiveEvent(otherThread.rootEvent); - allThreads!.addLiveEvent(mixedThread.rootEvent); - allThreads!.addLiveEvent(ownThread.rootEvent); - myThreads!.addLiveEvent(mixedThread.rootEvent); - myThreads!.addLiveEvent(ownThread.rootEvent); + allThreads!.addLiveEvent(otherThread.rootEvent, { addToState: true }); + allThreads!.addLiveEvent(mixedThread.rootEvent, { addToState: true }); + allThreads!.addLiveEvent(ownThread.rootEvent, { addToState: true }); + myThreads!.addLiveEvent(mixedThread.rootEvent, { addToState: true }); + myThreads!.addLiveEvent(ownThread.rootEvent, { addToState: true }); let events: EventData[] = []; const renderResult = render(); @@ -259,7 +259,7 @@ describe("ThreadPanel", () => { return event ? Promise.resolve(event) : Promise.reject(); }); const [allThreads] = room.threadsTimelineSets; - allThreads!.addLiveEvent(otherThread.rootEvent); + allThreads!.addLiveEvent(otherThread.rootEvent, { addToState: true }); let events: EventData[] = []; const renderResult = render(); diff --git a/test/unit-tests/components/structures/TimelinePanel-test.tsx b/test/unit-tests/components/structures/TimelinePanel-test.tsx index 4a66351779..8f52c1bf25 100644 --- a/test/unit-tests/components/structures/TimelinePanel-test.tsx +++ b/test/unit-tests/components/structures/TimelinePanel-test.tsx @@ -66,7 +66,7 @@ const mkTimeline = (room: Room, events: MatrixEvent[]): [EventTimeline, EventTim getPendingEvents: () => [] as MatrixEvent[], } as unknown as EventTimelineSet; const timeline = new EventTimeline(timelineSet); - events.forEach((event) => timeline.addEvent(event, { toStartOfTimeline: false })); + events.forEach((event) => timeline.addEvent(event, { toStartOfTimeline: false, addToState: true })); return [timeline, timelineSet]; }; @@ -150,9 +150,11 @@ const setupPagination = ( mocked(client).paginateEventTimeline.mockImplementation(async (tl, { backwards }) => { if (tl === timeline) { if (backwards) { - forEachRight(previousPage ?? [], (event) => tl.addEvent(event, { toStartOfTimeline: true })); + forEachRight(previousPage ?? [], (event) => + tl.addEvent(event, { toStartOfTimeline: true, addToState: true }), + ); } else { - (nextPage ?? []).forEach((event) => tl.addEvent(event, { toStartOfTimeline: false })); + (nextPage ?? []).forEach((event) => tl.addEvent(event, { toStartOfTimeline: false, addToState: true })); } // Prevent any further pagination attempts in this direction tl.setPaginationToken(null, backwards ? EventTimeline.BACKWARDS : EventTimeline.FORWARDS); @@ -256,7 +258,7 @@ describe("TimelinePanel", () => { describe("and reading the timeline", () => { beforeEach(async () => { await renderTimelinePanel(); - timelineSet.addLiveEvent(ev1, {}); + timelineSet.addLiveEvent(ev1, { addToState: true }); await flushPromises(); // @ts-ignore @@ -285,11 +287,11 @@ describe("TimelinePanel", () => { }); it("and forgetting the read markers, should send the stored marker again", async () => { - timelineSet.addLiveEvent(ev2, {}); + timelineSet.addLiveEvent(ev2, { addToState: true }); // Add the event to the room as well as the timeline, so we can find it when we // call findEventById in getEventReadUpTo. This is odd because in our test // setup, timelineSet is not actually the timelineSet of the room. - await room.addLiveEvents([ev2], {}); + await room.addLiveEvents([ev2], { addToState: true }); room.addEphemeralEvents([newReceipt(ev2.getId()!, userId, 222, 200)]); await timelinePanel.forgetReadMarker(); expect(client.setRoomReadMarkers).toHaveBeenCalledWith(roomId, ev2.getId()); @@ -315,7 +317,7 @@ describe("TimelinePanel", () => { it("should send a fully read marker and a private receipt", async () => { await renderTimelinePanel(); - timelineSet.addLiveEvent(ev1, {}); + timelineSet.addLiveEvent(ev1, { addToState: true }); await flushPromises(); // @ts-ignore @@ -361,7 +363,7 @@ describe("TimelinePanel", () => { it("should send receipts but no fully_read when reading the thread timeline", async () => { await renderTimelinePanel(); - timelineSet.addLiveEvent(threadEv1, {}); + timelineSet.addLiveEvent(threadEv1, { addToState: true }); await flushPromises(); // @ts-ignore @@ -871,7 +873,9 @@ describe("TimelinePanel", () => { // @ts-ignore thread.fetchEditsWhereNeeded = () => Promise.resolve(); await thread.addEvent(reply1, false, true); - await allThreads.getLiveTimeline().addEvent(thread.rootEvent!, { toStartOfTimeline: true }); + await allThreads + .getLiveTimeline() + .addEvent(thread.rootEvent!, { toStartOfTimeline: true, addToState: true }); const replyToEvent = jest.spyOn(thread, "replyToEvent", "get"); const dom = render( @@ -907,7 +911,9 @@ describe("TimelinePanel", () => { // @ts-ignore realThread.fetchEditsWhereNeeded = () => Promise.resolve(); await realThread.addEvent(reply1, true); - await allThreads.getLiveTimeline().addEvent(realThread.rootEvent!, { toStartOfTimeline: true }); + await allThreads + .getLiveTimeline() + .addEvent(realThread.rootEvent!, { toStartOfTimeline: true, addToState: true }); const replyToEvent = jest.spyOn(realThread, "replyToEvent", "get"); // @ts-ignore @@ -968,7 +974,9 @@ describe("TimelinePanel", () => { events.push(rootEvent); - events.forEach((event) => timelineSet.getLiveTimeline().addEvent(event, { toStartOfTimeline: true })); + events.forEach((event) => + timelineSet.getLiveTimeline().addEvent(event, { toStartOfTimeline: true, addToState: true }), + ); const roomMembership = mkMembership({ mship: KnownMembership.Join, @@ -988,7 +996,10 @@ describe("TimelinePanel", () => { jest.spyOn(roomState, "getMember").mockReturnValue(member); jest.spyOn(timelineSet.getLiveTimeline(), "getState").mockReturnValue(roomState); - timelineSet.addEventToTimeline(roomMembership, timelineSet.getLiveTimeline(), { toStartOfTimeline: false }); + timelineSet.addEventToTimeline(roomMembership, timelineSet.getLiveTimeline(), { + toStartOfTimeline: false, + addToState: true, + }); for (const event of events) { jest.spyOn(event, "isDecryptionFailure").mockReturnValue(true); diff --git a/test/unit-tests/components/views/context_menus/RoomGeneralContextMenu-test.tsx b/test/unit-tests/components/views/context_menus/RoomGeneralContextMenu-test.tsx index 10de3996e6..97517ff9d6 100644 --- a/test/unit-tests/components/views/context_menus/RoomGeneralContextMenu-test.tsx +++ b/test/unit-tests/components/views/context_menus/RoomGeneralContextMenu-test.tsx @@ -127,7 +127,7 @@ describe("RoomGeneralContextMenu", () => { user: "@user:id", ts: 1000, }); - room.addLiveEvents([event], {}); + room.addLiveEvents([event], { addToState: true }); const { container } = getComponent({}); diff --git a/test/unit-tests/components/views/dialogs/InviteDialog-test.tsx b/test/unit-tests/components/views/dialogs/InviteDialog-test.tsx index 62cb01b46e..7ed57a7d70 100644 --- a/test/unit-tests/components/views/dialogs/InviteDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/InviteDialog-test.tsx @@ -141,16 +141,19 @@ describe("InviteDialog", () => { jest.clearAllMocks(); room = new Room(roomId, mockClient, mockClient.getSafeUserId()); - room.addLiveEvents([ - mkMessage({ - msg: "Hello", - relatesTo: undefined, - event: true, - room: roomId, - user: mockClient.getSafeUserId(), - ts: Date.now(), - }), - ]); + room.addLiveEvents( + [ + mkMessage({ + msg: "Hello", + relatesTo: undefined, + event: true, + room: roomId, + user: mockClient.getSafeUserId(), + ts: Date.now(), + }), + ], + { addToState: true }, + ); room.currentState.setStateEvents([ mkRoomCreateEvent(bobId, roomId), mkMembership({ diff --git a/test/unit-tests/components/views/elements/Pill-test.tsx b/test/unit-tests/components/views/elements/Pill-test.tsx index 24fb2ca5dd..ee50417123 100644 --- a/test/unit-tests/components/views/elements/Pill-test.tsx +++ b/test/unit-tests/components/views/elements/Pill-test.tsx @@ -86,7 +86,7 @@ describe("", () => { room: room1Id, msg: "Room 1 Message", }); - room1.addLiveEvents([room1Message]); + room1.addLiveEvents([room1Message], { addToState: true }); room2 = new Room(room2Id, client, user1Id); room2.currentState.setStateEvents([mkRoomMemberJoinEvent(user2Id, room2Id)]); diff --git a/test/unit-tests/components/views/elements/RoomTopic-test.tsx b/test/unit-tests/components/views/elements/RoomTopic-test.tsx index dcf80a95b9..0fe833fe4e 100644 --- a/test/unit-tests/components/views/elements/RoomTopic-test.tsx +++ b/test/unit-tests/components/views/elements/RoomTopic-test.tsx @@ -41,7 +41,7 @@ describe("", () => { ts: 123, event: true, }); - room.addLiveEvents([topicEvent]); + room.addLiveEvents([topicEvent], { addToState: true }); return room; } diff --git a/test/unit-tests/components/views/rooms/NotificationBadge/UnreadNotificationBadge-test.tsx b/test/unit-tests/components/views/rooms/NotificationBadge/UnreadNotificationBadge-test.tsx index ea54dc1085..5b2dddc73a 100644 --- a/test/unit-tests/components/views/rooms/NotificationBadge/UnreadNotificationBadge-test.tsx +++ b/test/unit-tests/components/views/rooms/NotificationBadge/UnreadNotificationBadge-test.tsx @@ -165,7 +165,7 @@ describe("UnreadNotificationBadge", () => { }, ts: 5, }); - room.addLiveEvents([event]); + room.addLiveEvents([event], { addToState: true }); const { container } = render(getComponent(THREAD_ID)); expect(container.querySelector(".mx_NotificationBadge_dot")).toBeTruthy(); diff --git a/test/unit-tests/components/views/rooms/RoomHeader-test.tsx b/test/unit-tests/components/views/rooms/RoomHeader-test.tsx index a7e556e452..3cb4b159cd 100644 --- a/test/unit-tests/components/views/rooms/RoomHeader-test.tsx +++ b/test/unit-tests/components/views/rooms/RoomHeader-test.tsx @@ -579,7 +579,7 @@ describe("RoomHeader", () => { state_key: "", room_id: room.roomId, }); - room.addLiveEvents([joinRuleEvent]); + room.addLiveEvents([joinRuleEvent], { addToState: true }); render(, getWrapper()); diff --git a/test/unit-tests/components/views/settings/Notifications-test.tsx b/test/unit-tests/components/views/settings/Notifications-test.tsx index 69b45135cb..e3d9716901 100644 --- a/test/unit-tests/components/views/settings/Notifications-test.tsx +++ b/test/unit-tests/components/views/settings/Notifications-test.tsx @@ -915,7 +915,7 @@ describe("", () => { user: "@alice:example.org", ts: 1, }); - await room.addLiveEvents([message]); + await room.addLiveEvents([message], { addToState: true }); const { container } = await getComponentAndWait(); const clearNotificationEl = getByTestId(container, "clear-notifications"); diff --git a/test/unit-tests/components/views/settings/notifications/Notifications2-test.tsx b/test/unit-tests/components/views/settings/notifications/Notifications2-test.tsx index 029777c153..2507aa173f 100644 --- a/test/unit-tests/components/views/settings/notifications/Notifications2-test.tsx +++ b/test/unit-tests/components/views/settings/notifications/Notifications2-test.tsx @@ -716,7 +716,7 @@ describe("", () => { user: "@alice:example.org", ts: 1, }); - room.addLiveEvents([message]); + room.addLiveEvents([message], { addToState: true }); room.setUnreadNotificationCount(NotificationCountType.Total, 1); const user = userEvent.setup(); diff --git a/test/unit-tests/events/EventTileFactory-test.ts b/test/unit-tests/events/EventTileFactory-test.ts index 9c8f7718af..7044a883d0 100644 --- a/test/unit-tests/events/EventTileFactory-test.ts +++ b/test/unit-tests/events/EventTileFactory-test.ts @@ -88,7 +88,7 @@ describe("pickFactory", () => { client.getUserId()!, client.deviceId!, ); - room.addLiveEvents([voiceBroadcastStartedEvent]); + room.addLiveEvents([voiceBroadcastStartedEvent], { addToState: true }); voiceBroadcastStoppedEvent = mkVoiceBroadcastInfoStateEvent( roomId, VoiceBroadcastInfoState.Stopped, diff --git a/test/unit-tests/models/Call-test.ts b/test/unit-tests/models/Call-test.ts index 40e929fb4a..316adbbea9 100644 --- a/test/unit-tests/models/Call-test.ts +++ b/test/unit-tests/models/Call-test.ts @@ -119,7 +119,7 @@ const setUpClientRoomAndStores = (): { skey: stateKey, content: content as IContent, }); - room.addLiveEvents([event]); + room.addLiveEvents([event], { addToState: true }); return { event_id: event.getId()! }; }); diff --git a/test/unit-tests/stores/MemberListStore-test.ts b/test/unit-tests/stores/MemberListStore-test.ts index 889a9d3505..184576f317 100644 --- a/test/unit-tests/stores/MemberListStore-test.ts +++ b/test/unit-tests/stores/MemberListStore-test.ts @@ -202,6 +202,7 @@ describe("MemberListStore", () => { function addEventToRoom(room: Room, ev: MatrixEvent) { room.getLiveTimeline().addEvent(ev, { toStartOfTimeline: false, + addToState: true, }); } diff --git a/test/unit-tests/stores/RoomViewStore-test.ts b/test/unit-tests/stores/RoomViewStore-test.ts index 7d397397dc..f7ed1dfbcd 100644 --- a/test/unit-tests/stores/RoomViewStore-test.ts +++ b/test/unit-tests/stores/RoomViewStore-test.ts @@ -397,7 +397,7 @@ describe("RoomViewStore", function () { mockClient.getSafeUserId(), "ABC123", ); - room2.addLiveEvents([broadcastEvent]); + room2.addLiveEvents([broadcastEvent], { addToState: true }); stores.voiceBroadcastPlaybacksStore.getByInfoEvent(broadcastEvent, mockClient); dis.dispatch({ action: Action.ViewRoom, room_id: roomId2 }); diff --git a/test/unit-tests/stores/room-list/MessagePreviewStore-test.ts b/test/unit-tests/stores/room-list/MessagePreviewStore-test.ts index 75013bd4e1..861b6dcd11 100644 --- a/test/unit-tests/stores/room-list/MessagePreviewStore-test.ts +++ b/test/unit-tests/stores/room-list/MessagePreviewStore-test.ts @@ -35,7 +35,7 @@ describe("MessagePreviewStore", () => { event: MatrixEvent, fireAction = true, ): Promise { - room.addLiveEvents([event]); + room.addLiveEvents([event], { addToState: true }); if (fireAction) { // @ts-ignore private access await store.onAction({ diff --git a/test/unit-tests/stores/room-list/algorithms/RecentAlgorithm-test.ts b/test/unit-tests/stores/room-list/algorithms/RecentAlgorithm-test.ts index 18a073b632..e0e06bbaf7 100644 --- a/test/unit-tests/stores/room-list/algorithms/RecentAlgorithm-test.ts +++ b/test/unit-tests/stores/room-list/algorithms/RecentAlgorithm-test.ts @@ -47,11 +47,11 @@ describe("RecentAlgorithm", () => { room.getMyMembership = () => KnownMembership.Join; - room.addLiveEvents([event1]); + room.addLiveEvents([event1], { addToState: true }); expect(algorithm.getLastTs(room, "@jane:matrix.org")).toBe(5); expect(algorithm.getLastTs(room, "@john:matrix.org")).toBe(5); - room.addLiveEvents([event2]); + room.addLiveEvents([event2], { addToState: true }); expect(algorithm.getLastTs(room, "@jane:matrix.org")).toBe(10); expect(algorithm.getLastTs(room, "@john:matrix.org")).toBe(10); @@ -94,8 +94,8 @@ describe("RecentAlgorithm", () => { event: true, }); - room1.addLiveEvents([evt]); - room2.addLiveEvents([evt2]); + room1.addLiveEvents([evt], { addToState: true }); + room2.addLiveEvents([evt2], { addToState: true }); expect(algorithm.sortRooms([room2, room1], DefaultTagID.Untagged)).toEqual([room1, room2]); }); @@ -115,7 +115,7 @@ describe("RecentAlgorithm", () => { event: true, }); - room1.addLiveEvents([evt]); + room1.addLiveEvents([evt], { addToState: true }); expect(algorithm.sortRooms([room2, room1], DefaultTagID.Untagged)).toEqual([room2, room1]); @@ -127,7 +127,7 @@ describe("RecentAlgorithm", () => { ts: 12, }); - room1.addLiveEvents(events); + room1.addLiveEvents(events, { addToState: true }); }); it("orders rooms based on thread replies too", () => { @@ -145,7 +145,7 @@ describe("RecentAlgorithm", () => { ts: 12, length: 5, }); - room1.addLiveEvents(events1); + room1.addLiveEvents(events1, { addToState: true }); const { events: events2 } = mkThread({ room: room2, @@ -155,7 +155,7 @@ describe("RecentAlgorithm", () => { ts: 14, length: 10, }); - room2.addLiveEvents(events2); + room2.addLiveEvents(events2, { addToState: true }); expect(algorithm.sortRooms([room1, room2], DefaultTagID.Untagged)).toEqual([room2, room1]); @@ -169,7 +169,7 @@ describe("RecentAlgorithm", () => { // replies are 1ms after each other ts: 50, }); - room1.addLiveEvents([threadReply]); + room1.addLiveEvents([threadReply], { addToState: true }); expect(algorithm.sortRooms([room1, room2], DefaultTagID.Untagged)).toEqual([room1, room2]); }); diff --git a/test/unit-tests/stores/room-list/previews/ReactionEventPreview-test.ts b/test/unit-tests/stores/room-list/previews/ReactionEventPreview-test.ts index b3facccb06..7a7ce9e2b3 100644 --- a/test/unit-tests/stores/room-list/previews/ReactionEventPreview-test.ts +++ b/test/unit-tests/stores/room-list/previews/ReactionEventPreview-test.ts @@ -70,7 +70,7 @@ describe("ReactionEventPreview", () => { room: roomId, }); - room.getUnfilteredTimelineSet().addLiveEvent(message, {}); + room.getUnfilteredTimelineSet().addLiveEvent(message, { addToState: true }); const event = mkEvent({ event: true, @@ -107,7 +107,7 @@ describe("ReactionEventPreview", () => { room: roomId, }); - room.getUnfilteredTimelineSet().addLiveEvent(message, {}); + room.getUnfilteredTimelineSet().addLiveEvent(message, { addToState: true }); const event = mkEvent({ event: true, diff --git a/test/unit-tests/useTopic-test.tsx b/test/unit-tests/useTopic-test.tsx index cbef9dba60..81afaae985 100644 --- a/test/unit-tests/useTopic-test.tsx +++ b/test/unit-tests/useTopic-test.tsx @@ -29,7 +29,7 @@ describe("useTopic", () => { event: true, }); - room.addLiveEvents([topic]); + room.addLiveEvents([topic], { addToState: true }); function RoomTopic() { const topic = useTopic(room); @@ -52,7 +52,7 @@ describe("useTopic", () => { }); act(() => { - room.addLiveEvents([updatedTopic]); + room.addLiveEvents([updatedTopic], { addToState: true }); }); expect(screen.queryByText("New topic")).toBeInTheDocument(); diff --git a/test/unit-tests/utils/exportUtils/HTMLExport-test.ts b/test/unit-tests/utils/exportUtils/HTMLExport-test.ts index 0fc96e4db7..d169b55a7c 100644 --- a/test/unit-tests/utils/exportUtils/HTMLExport-test.ts +++ b/test/unit-tests/utils/exportUtils/HTMLExport-test.ts @@ -593,18 +593,21 @@ describe("HTMLExport", () => { it("should not make /messages requests when exporting 'Current Timeline'", async () => { client.createMessagesRequest.mockRejectedValue(new Error("Should never be called")); - room.addLiveEvents([ - new MatrixEvent({ - event_id: `$eventId`, - type: EventType.RoomMessage, - sender: client.getSafeUserId(), - origin_server_ts: 123456789, - content: { - msgtype: "m.text", - body: `testing testing`, - }, - }), - ]); + room.addLiveEvents( + [ + new MatrixEvent({ + event_id: `$eventId`, + type: EventType.RoomMessage, + sender: client.getSafeUserId(), + origin_server_ts: 123456789, + content: { + msgtype: "m.text", + body: `testing testing`, + }, + }), + ], + { addToState: true }, + ); const exporter = new HTMLExporter( room, diff --git a/test/unit-tests/utils/notifications-test.ts b/test/unit-tests/utils/notifications-test.ts index 67948ed217..68553de166 100644 --- a/test/unit-tests/utils/notifications-test.ts +++ b/test/unit-tests/utils/notifications-test.ts @@ -121,7 +121,7 @@ describe("notifications", () => { user: USER_ID, msg: "Hello", }); - room.addLiveEvents([message]); + room.addLiveEvents([message], { addToState: true }); sendReadReceiptSpy = jest.spyOn(client, "sendReadReceipt").mockResolvedValue({}); jest.spyOn(client, "getRooms").mockReturnValue([room]); jest.spyOn(SettingsStore, "getValue").mockImplementation((name) => { @@ -187,7 +187,7 @@ describe("notifications", () => { user: USER_ID, ts: 1, }); - room.addLiveEvents([message]); + room.addLiveEvents([message], { addToState: true }); room.setUnreadNotificationCount(NotificationCountType.Total, 1); await clearAllNotifications(client); @@ -202,7 +202,7 @@ describe("notifications", () => { user: USER_ID, ts: 1, }); - room.addLiveEvents([message]); + room.addLiveEvents([message], { addToState: true }); room.setUnreadNotificationCount(NotificationCountType.Total, 1); jest.spyOn(SettingsStore, "getValue").mockReset().mockReturnValue(false); diff --git a/test/unit-tests/voice-broadcast/components/VoiceBroadcastBody-test.tsx b/test/unit-tests/voice-broadcast/components/VoiceBroadcastBody-test.tsx index bf55c45b68..fd416de8ce 100644 --- a/test/unit-tests/voice-broadcast/components/VoiceBroadcastBody-test.tsx +++ b/test/unit-tests/voice-broadcast/components/VoiceBroadcastBody-test.tsx @@ -85,7 +85,7 @@ describe("VoiceBroadcastBody", () => { deviceId, infoEvent, ); - room.addEventsToTimeline([infoEvent], true, room.getLiveTimeline()); + room.addEventsToTimeline([infoEvent], true, true, room.getLiveTimeline()); testRecording = new VoiceBroadcastRecording(infoEvent, client); testPlayback = new VoiceBroadcastPlayback(infoEvent, client, new VoiceBroadcastRecordingsStore()); mocked(VoiceBroadcastRecordingBody).mockImplementation(({ recording }): ReactElement | null => { @@ -127,7 +127,7 @@ describe("VoiceBroadcastBody", () => { describe("when there is a stopped voice broadcast", () => { beforeEach(() => { - room.addEventsToTimeline([stoppedEvent], true, room.getLiveTimeline()); + room.addEventsToTimeline([stoppedEvent], true, true, room.getLiveTimeline()); renderVoiceBroadcast(); }); @@ -148,7 +148,7 @@ describe("VoiceBroadcastBody", () => { describe("and the recordings ends", () => { beforeEach(() => { act(() => { - room.addEventsToTimeline([stoppedEvent], true, room.getLiveTimeline()); + room.addEventsToTimeline([stoppedEvent], true, true, room.getLiveTimeline()); }); }); diff --git a/test/unit-tests/voice-broadcast/models/VoiceBroadcastPlayback-test.tsx b/test/unit-tests/voice-broadcast/models/VoiceBroadcastPlayback-test.tsx index c967189271..9ce24e5921 100644 --- a/test/unit-tests/voice-broadcast/models/VoiceBroadcastPlayback-test.tsx +++ b/test/unit-tests/voice-broadcast/models/VoiceBroadcastPlayback-test.tsx @@ -243,7 +243,7 @@ describe("VoiceBroadcastPlayback", () => { beforeEach(async () => { infoEvent = mkInfoEvent(VoiceBroadcastInfoState.Resumed); createChunkEvents(); - room.addLiveEvents([infoEvent]); + room.addLiveEvents([infoEvent], { addToState: true }); playback = await mkPlayback(); }); @@ -331,7 +331,7 @@ describe("VoiceBroadcastPlayback", () => { infoEvent = mkInfoEvent(VoiceBroadcastInfoState.Resumed); createChunkEvents(); setUpChunkEvents([chunk2Event, chunk1Event]); - room.addLiveEvents([infoEvent, chunk1Event, chunk2Event]); + room.addLiveEvents([infoEvent, chunk1Event, chunk2Event], { addToState: true }); room.relations.aggregateChildEvent(chunk2Event); room.relations.aggregateChildEvent(chunk1Event); playback = await mkPlayback(); @@ -372,7 +372,7 @@ describe("VoiceBroadcastPlayback", () => { describe("and an event with the same transaction Id occurs", () => { beforeEach(() => { - room.addLiveEvents([chunk2BEvent]); + room.addLiveEvents([chunk2BEvent], { addToState: true }); room.relations.aggregateChildEvent(chunk2BEvent); }); @@ -404,7 +404,7 @@ describe("VoiceBroadcastPlayback", () => { infoEvent, 2, ); - room.addLiveEvents([stoppedEvent]); + room.addLiveEvents([stoppedEvent], { addToState: true }); room.relations.aggregateChildEvent(stoppedEvent); chunk2Playback.emit(PlaybackState.Stopped); }); @@ -426,7 +426,7 @@ describe("VoiceBroadcastPlayback", () => { infoEvent, 3, ); - room.addLiveEvents([stoppedEvent]); + room.addLiveEvents([stoppedEvent], { addToState: true }); room.relations.aggregateChildEvent(stoppedEvent); chunk2Playback.emit(PlaybackState.Stopped); }); @@ -435,7 +435,7 @@ describe("VoiceBroadcastPlayback", () => { describe("and the next chunk arrives", () => { beforeEach(() => { - room.addLiveEvents([chunk3Event]); + room.addLiveEvents([chunk3Event], { addToState: true }); room.relations.aggregateChildEvent(chunk3Event); }); @@ -521,7 +521,7 @@ describe("VoiceBroadcastPlayback", () => { createChunkEvents(); // use delayed first chunk here to simulate loading time setUpChunkEvents([chunk2Event, deplayedChunk1Event, chunk3Event]); - room.addLiveEvents([infoEvent, deplayedChunk1Event, chunk2Event, chunk3Event]); + room.addLiveEvents([infoEvent, deplayedChunk1Event, chunk2Event, chunk3Event], { addToState: true }); playback = await mkPlayback(true); }); diff --git a/test/unit-tests/voice-broadcast/utils/hasRoomLiveVoiceBroadcast-test.ts b/test/unit-tests/voice-broadcast/utils/hasRoomLiveVoiceBroadcast-test.ts index 589e1c46a7..37fbf0c277 100644 --- a/test/unit-tests/voice-broadcast/utils/hasRoomLiveVoiceBroadcast-test.ts +++ b/test/unit-tests/voice-broadcast/utils/hasRoomLiveVoiceBroadcast-test.ts @@ -32,7 +32,7 @@ describe("hasRoomLiveVoiceBroadcast", () => { startedEvent?: MatrixEvent, ): MatrixEvent => { const infoEvent = mkVoiceBroadcastInfoStateEvent(room.roomId, state, userId, deviceId, startedEvent); - room.addLiveEvents([infoEvent]); + room.addLiveEvents([infoEvent], { addToState: true }); room.currentState.setStateEvents([infoEvent]); room.relations.aggregateChildEvent(infoEvent); return infoEvent; diff --git a/test/unit-tests/voice-broadcast/utils/isRelatedToVoiceBroadcast-test.ts b/test/unit-tests/voice-broadcast/utils/isRelatedToVoiceBroadcast-test.ts index 17160b8b2b..eae78df109 100644 --- a/test/unit-tests/voice-broadcast/utils/isRelatedToVoiceBroadcast-test.ts +++ b/test/unit-tests/voice-broadcast/utils/isRelatedToVoiceBroadcast-test.ts @@ -31,7 +31,7 @@ const mkRelatedEvent = ( }, user: client.getSafeUserId(), }); - room.addLiveEvents([event]); + room.addLiveEvents([event], { addToState: true }); return event; }; @@ -65,7 +65,7 @@ describe("isRelatedToVoiceBroadcast", () => { user: client.getSafeUserId(), }); - room.addLiveEvents([broadcastEvent, nonBroadcastEvent]); + room.addLiveEvents([broadcastEvent, nonBroadcastEvent], { addToState: true }); }); it("should return true if related (reference) to a broadcast event", () => { diff --git a/test/unit-tests/voice-broadcast/utils/retrieveStartedInfoEvent-test.ts b/test/unit-tests/voice-broadcast/utils/retrieveStartedInfoEvent-test.ts index 9bac7aed3e..70316f3b29 100644 --- a/test/unit-tests/voice-broadcast/utils/retrieveStartedInfoEvent-test.ts +++ b/test/unit-tests/voice-broadcast/utils/retrieveStartedInfoEvent-test.ts @@ -67,7 +67,7 @@ describe("retrieveStartedInfoEvent", () => { it("when the room contains the event, it should return it", async () => { const startEvent = mkStartEvent(); const stopEvent = mkStopEvent(startEvent); - room.addLiveEvents([startEvent]); + room.addLiveEvents([startEvent], { addToState: true }); expect(await retrieveStartedInfoEvent(stopEvent, client)).toBe(startEvent); }); From 0b636aec4bcf4991354c23d4a32986f3fc192e16 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 8 Nov 2024 16:41:57 +0000 Subject: [PATCH 02/78] Improve coverage Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../components/structures/FilePanel-test.tsx | 43 ++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/test/unit-tests/components/structures/FilePanel-test.tsx b/test/unit-tests/components/structures/FilePanel-test.tsx index 1dce220682..25bdd99676 100644 --- a/test/unit-tests/components/structures/FilePanel-test.tsx +++ b/test/unit-tests/components/structures/FilePanel-test.tsx @@ -7,13 +7,13 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { EventTimelineSet, PendingEventOrdering, Room } from "matrix-js-sdk/src/matrix"; +import { EventTimelineSet, PendingEventOrdering, Room, RoomEvent } from "matrix-js-sdk/src/matrix"; import { screen, render, waitFor } from "jest-matrix-react"; import { mocked } from "jest-mock"; import FilePanel from "../../../../src/components/structures/FilePanel"; import ResizeNotifier from "../../../../src/utils/ResizeNotifier"; -import { stubClient } from "../../../test-utils"; +import { mkEvent, stubClient } from "../../../test-utils"; import { MatrixClientPeg } from "../../../../src/MatrixClientPeg"; jest.mock("matrix-js-sdk/src/matrix", () => ({ @@ -47,4 +47,43 @@ describe("FilePanel", () => { }); expect(asFragment()).toMatchSnapshot(); }); + + describe("addEncryptedLiveEvent", () => { + it("should add file msgtype event to filtered timelineSet", async () => { + const cli = MatrixClientPeg.safeGet(); + const room = new Room("!room:server", cli, cli.getSafeUserId(), { + pendingEventOrdering: PendingEventOrdering.Detached, + }); + cli.reEmitter.reEmit(room, [RoomEvent.Timeline]); + const timelineSet = new EventTimelineSet(room); + room.getOrCreateFilteredTimelineSet = jest.fn().mockReturnValue(timelineSet); + mocked(cli.getRoom).mockReturnValue(room); + + let filePanel: FilePanel | null; + render( + (filePanel = ref)} + />, + ); + await screen.findByText("No files visible in this room"); + + const event = mkEvent({ + type: "m.room.message", + user: cli.getSafeUserId(), + room: room.roomId, + content: { + body: "hello", + url: "mxc://matrix.org/1234", + msgtype: "m.file", + }, + event: true, + }); + filePanel!.addEncryptedLiveEvent(event); + + expect(timelineSet.getLiveTimeline().getEvents()).toContain(event); + }); + }); }); From 4bdd4f4f492059e92a2abcc4e35a051b590d4bad Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 12 Nov 2024 14:01:37 +0000 Subject: [PATCH 03/78] Upgrade dependency to matrix-js-sdk@34.12.0-rc.0 --- package.json | 2 +- yarn.lock | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 2c7e134405..6e6972208c 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "maplibre-gl": "^2.0.0", "matrix-encrypt-attachment": "^1.0.3", "matrix-events-sdk": "0.0.1", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", + "matrix-js-sdk": "34.12.0-rc.0", "matrix-widget-api": "^1.10.0", "memoize-one": "^6.0.0", "mime": "^4.0.4", diff --git a/yarn.lock b/yarn.lock index 63b60de8e0..7cc8109395 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8179,9 +8179,10 @@ matrix-events-sdk@0.0.1: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd" integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA== -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": - version "34.10.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/6855ace6422082d173438cb23368d2fabc6a1086" +matrix-js-sdk@34.12.0-rc.0: + version "34.12.0-rc.0" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-34.12.0-rc.0.tgz#d7ff6e5a5daa82a5c8465016cd3cb168d709576a" + integrity sha512-hT7tzLYI9Jy3d+8bpzv5p+5MV1R4YxJ8IgMZQ8cy+65/bzkPbSi/XphCfAXcG1KDdFW28l0GYvAk4K7WTOQA8Q== dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/matrix-sdk-crypto-wasm" "^9.0.0" From 08cb450d258f43a75e7f1a8fbe0ae85bde53a11a Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 12 Nov 2024 14:05:01 +0000 Subject: [PATCH 04/78] v1.11.86-rc.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6e6972208c..ec7dc63e89 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.85", + "version": "1.11.86-rc.0", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From 7e33f03a029319936b15a25b87b7bc5e381574f8 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 19 Nov 2024 14:19:36 +0000 Subject: [PATCH 05/78] Upgrade dependency to matrix-js-sdk@34.12.0 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ec7dc63e89..494665eb5f 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "maplibre-gl": "^2.0.0", "matrix-encrypt-attachment": "^1.0.3", "matrix-events-sdk": "0.0.1", - "matrix-js-sdk": "34.12.0-rc.0", + "matrix-js-sdk": "34.12.0", "matrix-widget-api": "^1.10.0", "memoize-one": "^6.0.0", "mime": "^4.0.4", diff --git a/yarn.lock b/yarn.lock index 7cc8109395..8dde7a3f98 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8179,10 +8179,10 @@ matrix-events-sdk@0.0.1: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd" integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA== -matrix-js-sdk@34.12.0-rc.0: - version "34.12.0-rc.0" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-34.12.0-rc.0.tgz#d7ff6e5a5daa82a5c8465016cd3cb168d709576a" - integrity sha512-hT7tzLYI9Jy3d+8bpzv5p+5MV1R4YxJ8IgMZQ8cy+65/bzkPbSi/XphCfAXcG1KDdFW28l0GYvAk4K7WTOQA8Q== +matrix-js-sdk@34.12.0: + version "34.12.0" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-34.12.0.tgz#d62d45cdde71a1fafb3109621e96379e476b8c07" + integrity sha512-k6jG4r4Bh8vwP7T7eIZTz3Y9+vEVq+VZUdn9Xz0t0AfhziNCALP2KneW2mrYWA2wHtEkIRfFYKHBJIUxw4LiKw== dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/matrix-sdk-crypto-wasm" "^9.0.0" From 3bcc27a44496e866ff3f79349eb1b0965f27a156 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 19 Nov 2024 14:23:06 +0000 Subject: [PATCH 06/78] v1.11.86 --- CHANGELOG.md | 20 ++++++++++++++++++++ package.json | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6260a72f99..a554890dc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,23 @@ +Changes in [1.11.86](https://github.com/element-hq/element-web/releases/tag/v1.11.86) (2024-11-19) +================================================================================================== +## ✨ Features + +* Deduplicate icons using Compound Design Tokens ([#28419](https://github.com/element-hq/element-web/pull/28419)). Contributed by @t3chguy. +* Let widget driver send error details ([#28357](https://github.com/element-hq/element-web/pull/28357)). Contributed by @AndrewFerr. +* Deduplicate icons using Compound Design Tokens ([#28381](https://github.com/element-hq/element-web/pull/28381)). Contributed by @t3chguy. +* Auto approvoce `io.element.call.reaction` capability for element call widgets ([#28401](https://github.com/element-hq/element-web/pull/28401)). Contributed by @toger5. +* Show message type prefix in thread root \& reply previews ([#28361](https://github.com/element-hq/element-web/pull/28361)). Contributed by @t3chguy. +* Support sending encrypted to device messages from widgets ([#28315](https://github.com/element-hq/element-web/pull/28315)). Contributed by @hughns. + +## 🐛 Bug Fixes + +* Feed events to widgets as they are decrypted (even if out of order) ([#28376](https://github.com/element-hq/element-web/pull/28376)). Contributed by @robintown. +* Handle authenticated media when downloading from ImageView ([#28379](https://github.com/element-hq/element-web/pull/28379)). Contributed by @t3chguy. +* Ignore `m.3pid_changes` for Identity service 3PID changes ([#28375](https://github.com/element-hq/element-web/pull/28375)). Contributed by @t3chguy. +* Fix markdown escaping wrongly passing html through ([#28363](https://github.com/element-hq/element-web/pull/28363)). Contributed by @t3chguy. +* Remove "Upgrade your encryption" flow in `CreateSecretStorageDialog` ([#28290](https://github.com/element-hq/element-web/pull/28290)). Contributed by @florianduros. + + Changes in [1.11.85](https://github.com/element-hq/element-web/releases/tag/v1.11.85) (2024-11-12) ================================================================================================== # Security diff --git a/package.json b/package.json index 494665eb5f..f6bcb150bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.86-rc.0", + "version": "1.11.86", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From f0af77712f33dd9043d747de73e1f3b2f807663a Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 19 Nov 2024 14:26:10 +0000 Subject: [PATCH 07/78] Reset matrix-js-sdk back to develop branch --- package.json | 2 +- yarn.lock | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 8ca6577118..622269f3c0 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "maplibre-gl": "^4.0.0", "matrix-encrypt-attachment": "^1.0.3", "matrix-events-sdk": "0.0.1", - "matrix-js-sdk": "34.12.0", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-widget-api": "^1.10.0", "memoize-one": "^6.0.0", "mime": "^4.0.4", diff --git a/yarn.lock b/yarn.lock index 166160665b..20f545347e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8352,10 +8352,9 @@ matrix-events-sdk@0.0.1: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd" integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA== -matrix-js-sdk@34.12.0: +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": version "34.12.0" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-34.12.0.tgz#d62d45cdde71a1fafb3109621e96379e476b8c07" - integrity sha512-k6jG4r4Bh8vwP7T7eIZTz3Y9+vEVq+VZUdn9Xz0t0AfhziNCALP2KneW2mrYWA2wHtEkIRfFYKHBJIUxw4LiKw== + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/544ac86d2080da8e55d0b727cae826e42600c490" dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/matrix-sdk-crypto-wasm" "^9.0.0" From 48fd330dd9e2fdffff68406488d9f5cd52be8458 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Wed, 20 Nov 2024 06:20:25 +0000 Subject: [PATCH 08/78] [create-pull-request] automated change (#28495) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- playwright/plugins/homeserver/synapse/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright/plugins/homeserver/synapse/index.ts b/playwright/plugins/homeserver/synapse/index.ts index ea95a6bbdc..578135e2ad 100644 --- a/playwright/plugins/homeserver/synapse/index.ts +++ b/playwright/plugins/homeserver/synapse/index.ts @@ -20,7 +20,7 @@ import { randB64Bytes } from "../../utils/rand"; // Docker tag to use for synapse docker image. // We target a specific digest as every now and then a Synapse update will break our CI. // This digest is updated by the playwright-image-updates.yaml workflow periodically. -const DOCKER_TAG = "develop@sha256:d947f40999b060ad4856c0af741b8619fa131430a29922606e374fdba532082b"; +const DOCKER_TAG = "develop@sha256:f457c57b91bd677e7ebdbc314c8524b1a7b61f8d1d45cccc845b34db226deb01"; async function cfgDirFromTemplate(opts: StartHomeserverOpts): Promise> { const templateDir = path.join(__dirname, "templates", opts.template); From ca33d9165ae7797f38816191d8914a998f2b8075 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 20 Nov 2024 13:29:23 +0000 Subject: [PATCH 09/78] Migrate to React 18 createRoot API (#28256) * Migrate to React 18 createRoot API Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Discard changes to src/components/views/settings/devices/DeviceDetails.tsx * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Attempt to stabilise test Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * legacyRoot? Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Fix tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Improve coverage Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update snapshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Improve coverage Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../structures/auth/ForgotPassword.tsx | 7 + src/vector/init.tsx | 14 +- test/test-utils/jest-matrix-react.tsx | 1 - test/test-utils/utilities.ts | 2 +- .../accessibility/RovingTabIndex-test.tsx | 14 +- .../components/structures/MatrixChat-test.tsx | 28 +- .../structures/PipContainer-test.tsx | 22 +- .../components/structures/RoomView-test.tsx | 478 +++++++++--------- .../structures/ThreadPanel-test.tsx | 46 +- .../structures/TimelinePanel-test.tsx | 33 +- .../structures/auth/ForgotPassword-test.tsx | 100 ++-- .../views/dialogs/SpotlightDialog-test.tsx | 2 +- .../CreateSecretStorageDialog-test.tsx | 3 +- .../security/ExportE2eKeysDialog-test.tsx | 14 +- .../views/elements/AppTile-test.tsx | 95 ++-- .../components/views/elements/Pill-test.tsx | 10 +- .../__snapshots__/AppTile-test.tsx.snap | 24 +- .../views/emojipicker/EmojiPicker-test.tsx | 8 +- .../views/location/LocationShareMenu-test.tsx | 4 +- .../views/messages/DateSeparator-test.tsx | 14 +- .../views/messages/EncryptionEvent-test.tsx | 10 +- .../views/messages/MPollBody-test.tsx | 28 +- .../views/messages/MPollEndBody-test.tsx | 3 +- .../polls/pollHistory/PollHistory-test.tsx | 12 +- .../__snapshots__/PollHistory-test.tsx.snap | 4 +- .../views/right_panel/UserInfo-test.tsx | 51 +- .../components/views/rooms/EventTile-test.tsx | 12 +- .../views/rooms/MemberList-test.tsx | 25 +- .../views/rooms/MessageComposer-test.tsx | 132 +++-- .../views/rooms/SendMessageComposer-test.tsx | 6 +- .../EditWysiwygComposer-test.tsx | 6 +- .../settings/AddRemoveThreepids-test.tsx | 110 ++-- .../AddRemoveThreepids-test.tsx.snap | 12 +- .../settings/devices/LoginWithQR-test.tsx | 4 +- .../tabs/user/SessionManagerTab-test.tsx | 50 +- .../AccountUserSettingsTab-test.tsx.snap | 8 +- .../SessionManagerTab-test.tsx.snap | 2 +- .../toasts/VerificationRequestToast-test.tsx | 14 +- .../toasts/UnverifiedSessionToast-test.tsx | 3 +- .../media/requestMediaPermissions-test.tsx | 2 +- .../vector/__snapshots__/init-test.ts.snap | 3 + test/unit-tests/vector/init-test.ts | 21 +- .../VoiceBroadcastPreRecordingPip-test.tsx | 4 +- .../VoiceBroadcastRecordingPip-test.tsx | 9 +- 44 files changed, 719 insertions(+), 731 deletions(-) diff --git a/src/components/structures/auth/ForgotPassword.tsx b/src/components/structures/auth/ForgotPassword.tsx index e0a9318e9a..5c631edb97 100644 --- a/src/components/structures/auth/ForgotPassword.tsx +++ b/src/components/structures/auth/ForgotPassword.tsx @@ -75,6 +75,7 @@ interface State { } export default class ForgotPassword extends React.Component { + private unmounted = false; private reset: PasswordReset; private fieldPassword: Field | null = null; private fieldPasswordConfirm: Field | null = null; @@ -108,14 +109,20 @@ export default class ForgotPassword extends React.Component { } } + public componentWillUnmount(): void { + this.unmounted = true; + } + private async checkServerLiveliness(serverConfig: ValidatedServerConfig): Promise { try { await AutoDiscoveryUtils.validateServerConfigWithStaticUrls(serverConfig.hsUrl, serverConfig.isUrl); + if (this.unmounted) return; this.setState({ serverIsAlive: true, }); } catch (e: any) { + if (this.unmounted) return; const { serverIsAlive, serverDeadError } = AutoDiscoveryUtils.authComponentStateForError( e, "forgot_password", diff --git a/src/vector/init.tsx b/src/vector/init.tsx index 97b203cd5b..a3d5624cb4 100644 --- a/src/vector/init.tsx +++ b/src/vector/init.tsx @@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import * as ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import React, { StrictMode } from "react"; import { logger } from "matrix-js-sdk/src/logger"; @@ -93,7 +93,9 @@ export async function loadApp(fragParams: {}): Promise { function setWindowMatrixChat(matrixChat: MatrixChat): void { window.matrixChat = matrixChat; } - ReactDOM.render(await module.loadApp(fragParams, setWindowMatrixChat), document.getElementById("matrixchat")); + const app = await module.loadApp(fragParams, setWindowMatrixChat); + const root = createRoot(document.getElementById("matrixchat")!); + root.render(app); } export async function showError(title: string, messages?: string[]): Promise { @@ -101,11 +103,11 @@ export async function showError(title: string, messages?: string[]): Promise , - document.getElementById("matrixchat"), ); } @@ -114,11 +116,11 @@ export async function showIncompatibleBrowser(onAccept: () => void): Promise , - document.getElementById("matrixchat"), ); } diff --git a/test/test-utils/jest-matrix-react.tsx b/test/test-utils/jest-matrix-react.tsx index 4fbb0dc77d..2aad5d45ff 100644 --- a/test/test-utils/jest-matrix-react.tsx +++ b/test/test-utils/jest-matrix-react.tsx @@ -27,7 +27,6 @@ const wrapWithTooltipProvider = (Wrapper: RenderOptions["wrapper"]) => { const customRender = (ui: ReactElement, options: RenderOptions = {}) => { return render(ui, { - legacyRoot: true, ...options, wrapper: wrapWithTooltipProvider(options?.wrapper) as RenderOptions["wrapper"], }) as ReturnType; diff --git a/test/test-utils/utilities.ts b/test/test-utils/utilities.ts index 29b25fda21..5285a840b2 100644 --- a/test/test-utils/utilities.ts +++ b/test/test-utils/utilities.ts @@ -197,7 +197,7 @@ export const clearAllModals = async (): Promise => { // Prevent modals from leaking and polluting other tests let keepClosingModals = true; while (keepClosingModals) { - keepClosingModals = Modal.closeCurrentModal(); + keepClosingModals = await act(() => Modal.closeCurrentModal()); // Then wait for the screen to update (probably React rerender and async/await). // Important for tests using Jest fake timers to not get into an infinite loop diff --git a/test/unit-tests/accessibility/RovingTabIndex-test.tsx b/test/unit-tests/accessibility/RovingTabIndex-test.tsx index c814502732..520103bca1 100644 --- a/test/unit-tests/accessibility/RovingTabIndex-test.tsx +++ b/test/unit-tests/accessibility/RovingTabIndex-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React, { HTMLAttributes } from "react"; -import { render } from "jest-matrix-react"; +import { act, render } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { @@ -79,15 +79,15 @@ describe("RovingTabIndex", () => { checkTabIndexes(container.querySelectorAll("button"), [0, -1, -1]); // focus on 2nd button and test it is the only active one - container.querySelectorAll("button")[2].focus(); + act(() => container.querySelectorAll("button")[2].focus()); checkTabIndexes(container.querySelectorAll("button"), [-1, -1, 0]); // focus on 1st button and test it is the only active one - container.querySelectorAll("button")[1].focus(); + act(() => container.querySelectorAll("button")[1].focus()); checkTabIndexes(container.querySelectorAll("button"), [-1, 0, -1]); // check that the active button does not change even on an explicit blur event - container.querySelectorAll("button")[1].blur(); + act(() => container.querySelectorAll("button")[1].blur()); checkTabIndexes(container.querySelectorAll("button"), [-1, 0, -1]); // update the children, it should remain on the same button @@ -162,7 +162,7 @@ describe("RovingTabIndex", () => { checkTabIndexes(container.querySelectorAll("button"), [0, -1, -1]); // focus on 2nd button and test it is the only active one - container.querySelectorAll("button")[2].focus(); + act(() => container.querySelectorAll("button")[2].focus()); checkTabIndexes(container.querySelectorAll("button"), [-1, -1, 0]); }); @@ -390,7 +390,7 @@ describe("RovingTabIndex", () => { , ); - container.querySelectorAll("button")[0].focus(); + act(() => container.querySelectorAll("button")[0].focus()); checkTabIndexes(container.querySelectorAll("button"), [0, -1, -1]); await userEvent.keyboard("[ArrowDown]"); @@ -423,7 +423,7 @@ describe("RovingTabIndex", () => { , ); - container.querySelectorAll("button")[0].focus(); + act(() => container.querySelectorAll("button")[0].focus()); checkTabIndexes(container.querySelectorAll("button"), [0, -1, -1]); const button = container.querySelectorAll("button")[1]; diff --git a/test/unit-tests/components/structures/MatrixChat-test.tsx b/test/unit-tests/components/structures/MatrixChat-test.tsx index b3766bfc89..c9662c64f4 100644 --- a/test/unit-tests/components/structures/MatrixChat-test.tsx +++ b/test/unit-tests/components/structures/MatrixChat-test.tsx @@ -11,7 +11,7 @@ Please see LICENSE files in the repository root for full details. import "core-js/stable/structured-clone"; import "fake-indexeddb/auto"; import React, { ComponentProps } from "react"; -import { fireEvent, render, RenderResult, screen, waitFor, within } from "jest-matrix-react"; +import { fireEvent, render, RenderResult, screen, waitFor, within, act } from "jest-matrix-react"; import fetchMock from "fetch-mock-jest"; import { Mocked, mocked } from "jest-mock"; import { ClientEvent, MatrixClient, MatrixEvent, Room, SyncState } from "matrix-js-sdk/src/matrix"; @@ -163,7 +163,7 @@ describe("", () => { let initPromise: Promise | undefined; let defaultProps: ComponentProps; const getComponent = (props: Partial> = {}) => - render(); + render(, { legacyRoot: true }); // make test results readable filterConsole( @@ -201,7 +201,7 @@ describe("", () => { // we are logged in, but are still waiting for the /sync to complete await screen.findByText("Syncing…"); // initial sync - client.emit(ClientEvent.Sync, SyncState.Prepared, null); + await act(() => client.emit(ClientEvent.Sync, SyncState.Prepared, null)); } // let things settle @@ -263,7 +263,7 @@ describe("", () => { // emit a loggedOut event so that all of the Store singletons forget about their references to the mock client // (must be sync otherwise the next test will start before it happens) - defaultDispatcher.dispatch({ action: Action.OnLoggedOut }, true); + act(() => defaultDispatcher.dispatch({ action: Action.OnLoggedOut }, true)); localStorage.clear(); }); @@ -328,7 +328,7 @@ describe("", () => { expect(within(dialog).getByText(errorMessage)).toBeInTheDocument(); // just check we're back on welcome page - await expect(await screen.findByTestId("mx_welcome_screen")).toBeInTheDocument(); + await expect(screen.findByTestId("mx_welcome_screen")).resolves.toBeInTheDocument(); }; beforeEach(() => { @@ -956,9 +956,11 @@ describe("", () => { await screen.findByText("Powered by Matrix"); // go to login page - defaultDispatcher.dispatch({ - action: "start_login", - }); + act(() => + defaultDispatcher.dispatch({ + action: "start_login", + }), + ); await flushPromises(); @@ -1126,9 +1128,11 @@ describe("", () => { await getComponentAndLogin(); - bootstrapDeferred.resolve(); + act(() => bootstrapDeferred.resolve()); - await expect(await screen.findByRole("heading", { name: "You're in", level: 1 })).toBeInTheDocument(); + await expect( + screen.findByRole("heading", { name: "You're in", level: 1 }), + ).resolves.toBeInTheDocument(); }); }); }); @@ -1397,7 +1401,9 @@ describe("", () => { function simulateSessionLockClaim() { localStorage.setItem("react_sdk_session_lock_claimant", "testtest"); - window.dispatchEvent(new StorageEvent("storage", { key: "react_sdk_session_lock_claimant" })); + act(() => + window.dispatchEvent(new StorageEvent("storage", { key: "react_sdk_session_lock_claimant" })), + ); } it("after a session is restored", async () => { diff --git a/test/unit-tests/components/structures/PipContainer-test.tsx b/test/unit-tests/components/structures/PipContainer-test.tsx index d55905d4b4..446727c74e 100644 --- a/test/unit-tests/components/structures/PipContainer-test.tsx +++ b/test/unit-tests/components/structures/PipContainer-test.tsx @@ -81,9 +81,7 @@ describe("PipContainer", () => { let voiceBroadcastPlaybacksStore: VoiceBroadcastPlaybacksStore; const actFlushPromises = async () => { - await act(async () => { - await flushPromises(); - }); + await flushPromises(); }; beforeEach(async () => { @@ -165,12 +163,12 @@ describe("PipContainer", () => { if (!(call instanceof MockedCall)) throw new Error("Failed to create call"); const widget = new Widget(call.widget); - WidgetStore.instance.addVirtualWidget(call.widget, room.roomId); - WidgetMessagingStore.instance.storeMessaging(widget, room.roomId, { - stop: () => {}, - } as unknown as ClientWidgetApi); - await act(async () => { + WidgetStore.instance.addVirtualWidget(call.widget, room.roomId); + WidgetMessagingStore.instance.storeMessaging(widget, room.roomId, { + stop: () => {}, + } as unknown as ClientWidgetApi); + await call.start(); ActiveWidgetStore.instance.setWidgetPersistence(widget.id, room.roomId, true); }); @@ -178,9 +176,11 @@ describe("PipContainer", () => { await fn(call); cleanup(); - call.destroy(); - ActiveWidgetStore.instance.destroyPersistentWidget(widget.id, room.roomId); - WidgetStore.instance.removeVirtualWidget(widget.id, room.roomId); + act(() => { + call.destroy(); + ActiveWidgetStore.instance.destroyPersistentWidget(widget.id, room.roomId); + WidgetStore.instance.removeVirtualWidget(widget.id, room.roomId); + }); }; const withWidget = async (fn: () => Promise): Promise => { diff --git a/test/unit-tests/components/structures/RoomView-test.tsx b/test/unit-tests/components/structures/RoomView-test.tsx index f30db3d80e..b6fbd2e850 100644 --- a/test/unit-tests/components/structures/RoomView-test.tsx +++ b/test/unit-tests/components/structures/RoomView-test.tsx @@ -23,14 +23,22 @@ import { } from "matrix-js-sdk/src/matrix"; import { CryptoApi, UserVerificationStatus } from "matrix-js-sdk/src/crypto-api"; import { KnownMembership } from "matrix-js-sdk/src/types"; -import { fireEvent, render, screen, RenderResult, waitForElementToBeRemoved, waitFor } from "jest-matrix-react"; +import { + fireEvent, + render, + screen, + RenderResult, + waitForElementToBeRemoved, + waitFor, + act, + cleanup, +} from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { stubClient, mockPlatformPeg, unmockPlatformPeg, - wrapInMatrixClientContext, flushPromises, mkEvent, setupAsyncStoreWithClient, @@ -45,7 +53,7 @@ import { MatrixClientPeg } from "../../../../src/MatrixClientPeg"; import { Action } from "../../../../src/dispatcher/actions"; import defaultDispatcher from "../../../../src/dispatcher/dispatcher"; import { ViewRoomPayload } from "../../../../src/dispatcher/payloads/ViewRoomPayload"; -import { RoomView as _RoomView } from "../../../../src/components/structures/RoomView"; +import { RoomView } from "../../../../src/components/structures/RoomView"; import ResizeNotifier from "../../../../src/utils/ResizeNotifier"; import SettingsStore from "../../../../src/settings/SettingsStore"; import { SettingLevel } from "../../../../src/settings/SettingLevel"; @@ -64,8 +72,7 @@ import WidgetStore from "../../../../src/stores/WidgetStore"; import { ViewRoomErrorPayload } from "../../../../src/dispatcher/payloads/ViewRoomErrorPayload"; import { SearchScope } from "../../../../src/Searching"; import { MEGOLM_ENCRYPTION_ALGORITHM } from "../../../../src/utils/crypto"; - -const RoomView = wrapInMatrixClientContext(_RoomView); +import MatrixClientContext from "../../../../src/contexts/MatrixClientContext"; describe("RoomView", () => { let cli: MockedObject; @@ -106,9 +113,10 @@ describe("RoomView", () => { afterEach(() => { unmockPlatformPeg(); jest.clearAllMocks(); + cleanup(); }); - const mountRoomView = async (ref?: RefObject<_RoomView>): Promise => { + const mountRoomView = async (ref?: RefObject): Promise => { if (stores.roomViewStore.getRoomId() !== room.roomId) { const switchedRoom = new Promise((resolve) => { const subFn = () => { @@ -120,26 +128,30 @@ describe("RoomView", () => { stores.roomViewStore.on(UPDATE_EVENT, subFn); }); - defaultDispatcher.dispatch({ - action: Action.ViewRoom, - room_id: room.roomId, - metricsTrigger: undefined, - }); + act(() => + defaultDispatcher.dispatch({ + action: Action.ViewRoom, + room_id: room.roomId, + metricsTrigger: undefined, + }), + ); await switchedRoom; } const roomView = render( - - - , + + + + + , ); await flushPromises(); return roomView; @@ -167,22 +179,24 @@ describe("RoomView", () => { } const roomView = render( - - - , + + + + + , ); await flushPromises(); return roomView; }; - const getRoomViewInstance = async (): Promise<_RoomView> => { - const ref = createRef<_RoomView>(); + const getRoomViewInstance = async (): Promise => { + const ref = createRef(); await mountRoomView(ref); return ref.current!; }; @@ -193,7 +207,7 @@ describe("RoomView", () => { }); describe("when there is an old room", () => { - let instance: _RoomView; + let instance: RoomView; let oldRoom: Room; beforeEach(async () => { @@ -217,11 +231,11 @@ describe("RoomView", () => { describe("and feature_dynamic_room_predecessors is enabled", () => { beforeEach(() => { - instance.setState({ msc3946ProcessDynamicPredecessor: true }); + act(() => instance.setState({ msc3946ProcessDynamicPredecessor: true })); }); afterEach(() => { - instance.setState({ msc3946ProcessDynamicPredecessor: false }); + act(() => instance.setState({ msc3946ProcessDynamicPredecessor: false })); }); it("should pass the setting to findPredecessor", async () => { @@ -252,15 +266,17 @@ describe("RoomView", () => { cli.isRoomEncrypted.mockReturnValue(true); // and fake an encryption event into the room to prompt it to re-check - room.addLiveEvents([ - new MatrixEvent({ - type: "m.room.encryption", - sender: cli.getUserId()!, - content: {}, - event_id: "someid", - room_id: room.roomId, - }), - ]); + await act(() => + room.addLiveEvents([ + new MatrixEvent({ + type: "m.room.encryption", + sender: cli.getUserId()!, + content: {}, + event_id: "someid", + room_id: room.roomId, + }), + ]), + ); // URL previews should now be disabled expect(roomViewInstance.state.showUrlPreview).toBe(false); @@ -270,7 +286,7 @@ describe("RoomView", () => { const roomViewInstance = await getRoomViewInstance(); const oldTimeline = roomViewInstance.state.liveTimeline; - room.getUnfilteredTimelineSet().resetLiveTimeline(); + act(() => room.getUnfilteredTimelineSet().resetLiveTimeline()); expect(roomViewInstance.state.liveTimeline).not.toEqual(oldTimeline); }); @@ -287,7 +303,7 @@ describe("RoomView", () => { await renderRoomView(); expect(VoipUserMapper.sharedInstance().getVirtualRoomForRoom).toHaveBeenCalledWith(room.roomId); - cli.emit(ClientEvent.Room, room); + act(() => cli.emit(ClientEvent.Room, room)); // called again after room event expect(VoipUserMapper.sharedInstance().getVirtualRoomForRoom).toHaveBeenCalledTimes(2); @@ -429,6 +445,194 @@ describe("RoomView", () => { }); }); + it("should show error view if failed to look up room alias", async () => { + const { asFragment, findByText } = await renderRoomView(false); + + act(() => + defaultDispatcher.dispatch({ + action: Action.ViewRoomError, + room_alias: "#addy:server", + room_id: null, + err: new MatrixError({ errcode: "M_NOT_FOUND" }), + }), + ); + await emitPromise(stores.roomViewStore, UPDATE_EVENT); + + await findByText("Are you sure you're at the right place?"); + expect(asFragment()).toMatchSnapshot(); + }); + + describe("knock rooms", () => { + const client = createTestClient(); + + beforeEach(() => { + jest.spyOn(SettingsStore, "getValue").mockImplementation((setting) => setting === "feature_ask_to_join"); + jest.spyOn(room, "getJoinRule").mockReturnValue(JoinRule.Knock); + jest.spyOn(defaultDispatcher, "dispatch"); + }); + + it("allows to request to join", async () => { + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(client); + jest.spyOn(client, "knockRoom").mockResolvedValue({ room_id: room.roomId }); + + await mountRoomView(); + fireEvent.click(screen.getByRole("button", { name: "Request access" })); + await untilDispatch(Action.SubmitAskToJoin, defaultDispatcher); + + expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ + action: "submit_ask_to_join", + roomId: room.roomId, + opts: { reason: undefined }, + }); + }); + + it("allows to cancel a join request", async () => { + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(client); + jest.spyOn(client, "leave").mockResolvedValue({}); + jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Knock); + + await mountRoomView(); + fireEvent.click(screen.getByRole("button", { name: "Cancel request" })); + await untilDispatch(Action.CancelAskToJoin, defaultDispatcher); + + expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ + action: "cancel_ask_to_join", + roomId: room.roomId, + }); + }); + }); + + it("should close search results when edit is clicked", async () => { + room.getMyMembership = jest.fn().mockReturnValue(KnownMembership.Join); + + const eventMapper = (obj: Partial) => new MatrixEvent(obj); + + const roomViewRef = createRef(); + const { container, getByText, findByLabelText } = await mountRoomView(roomViewRef); + await waitFor(() => expect(roomViewRef.current).toBeTruthy()); + // @ts-ignore - triggering a search organically is a lot of work + act(() => + roomViewRef.current!.setState({ + search: { + searchId: 1, + roomId: room.roomId, + term: "search term", + scope: SearchScope.Room, + promise: Promise.resolve({ + results: [ + SearchResult.fromJson( + { + rank: 1, + result: { + content: { + body: "search term", + msgtype: "m.text", + }, + type: "m.room.message", + event_id: "$eventId", + sender: cli.getSafeUserId(), + origin_server_ts: 123456789, + room_id: room.roomId, + }, + context: { + events_before: [], + events_after: [], + profile_info: {}, + }, + }, + eventMapper, + ), + ], + highlights: [], + count: 1, + }), + inProgress: false, + count: 1, + }, + }), + ); + + await waitFor(() => { + expect(container.querySelector(".mx_RoomView_searchResultsPanel")).toBeVisible(); + }); + const prom = waitForElementToBeRemoved(() => container.querySelector(".mx_RoomView_searchResultsPanel")); + + await userEvent.hover(getByText("search term")); + await userEvent.click(await findByLabelText("Edit")); + + await prom; + }); + + it("should switch rooms when edit is clicked on a search result for a different room", async () => { + const room2 = new Room(`!${roomCount++}:example.org`, cli, "@alice:example.org"); + rooms.set(room2.roomId, room2); + + room.getMyMembership = jest.fn().mockReturnValue(KnownMembership.Join); + + const eventMapper = (obj: Partial) => new MatrixEvent(obj); + + const roomViewRef = createRef(); + const { container, getByText, findByLabelText } = await mountRoomView(roomViewRef); + await waitFor(() => expect(roomViewRef.current).toBeTruthy()); + // @ts-ignore - triggering a search organically is a lot of work + act(() => + roomViewRef.current!.setState({ + search: { + searchId: 1, + roomId: room.roomId, + term: "search term", + scope: SearchScope.All, + promise: Promise.resolve({ + results: [ + SearchResult.fromJson( + { + rank: 1, + result: { + content: { + body: "search term", + msgtype: "m.text", + }, + type: "m.room.message", + event_id: "$eventId", + sender: cli.getSafeUserId(), + origin_server_ts: 123456789, + room_id: room2.roomId, + }, + context: { + events_before: [], + events_after: [], + profile_info: {}, + }, + }, + eventMapper, + ), + ], + highlights: [], + count: 1, + }), + inProgress: false, + count: 1, + }, + }), + ); + + await waitFor(() => { + expect(container.querySelector(".mx_RoomView_searchResultsPanel")).toBeVisible(); + }); + const prom = untilDispatch(Action.ViewRoom, defaultDispatcher); + + await userEvent.hover(getByText("search term")); + await userEvent.click(await findByLabelText("Edit")); + + await expect(prom).resolves.toEqual(expect.objectContaining({ room_id: room2.roomId })); + }); + + it("fires Action.RoomLoaded", async () => { + jest.spyOn(defaultDispatcher, "dispatch"); + await mountRoomView(); + expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ action: Action.RoomLoaded }); + }); + describe("when there is a RoomView", () => { const widget1Id = "widget1"; const widget2Id = "widget2"; @@ -514,184 +718,4 @@ describe("RoomView", () => { }); }); }); - - it("should show error view if failed to look up room alias", async () => { - const { asFragment, findByText } = await renderRoomView(false); - - defaultDispatcher.dispatch({ - action: Action.ViewRoomError, - room_alias: "#addy:server", - room_id: null, - err: new MatrixError({ errcode: "M_NOT_FOUND" }), - }); - await emitPromise(stores.roomViewStore, UPDATE_EVENT); - - await findByText("Are you sure you're at the right place?"); - expect(asFragment()).toMatchSnapshot(); - }); - - describe("knock rooms", () => { - const client = createTestClient(); - - beforeEach(() => { - jest.spyOn(SettingsStore, "getValue").mockImplementation((setting) => setting === "feature_ask_to_join"); - jest.spyOn(room, "getJoinRule").mockReturnValue(JoinRule.Knock); - jest.spyOn(defaultDispatcher, "dispatch"); - }); - - it("allows to request to join", async () => { - jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(client); - jest.spyOn(client, "knockRoom").mockResolvedValue({ room_id: room.roomId }); - - await mountRoomView(); - fireEvent.click(screen.getByRole("button", { name: "Request access" })); - await untilDispatch(Action.SubmitAskToJoin, defaultDispatcher); - - expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ - action: "submit_ask_to_join", - roomId: room.roomId, - opts: { reason: undefined }, - }); - }); - - it("allows to cancel a join request", async () => { - jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(client); - jest.spyOn(client, "leave").mockResolvedValue({}); - jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Knock); - - await mountRoomView(); - fireEvent.click(screen.getByRole("button", { name: "Cancel request" })); - await untilDispatch(Action.CancelAskToJoin, defaultDispatcher); - - expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ - action: "cancel_ask_to_join", - roomId: room.roomId, - }); - }); - }); - - it("should close search results when edit is clicked", async () => { - room.getMyMembership = jest.fn().mockReturnValue(KnownMembership.Join); - - const eventMapper = (obj: Partial) => new MatrixEvent(obj); - - const roomViewRef = createRef<_RoomView>(); - const { container, getByText, findByLabelText } = await mountRoomView(roomViewRef); - // @ts-ignore - triggering a search organically is a lot of work - roomViewRef.current!.setState({ - search: { - searchId: 1, - roomId: room.roomId, - term: "search term", - scope: SearchScope.Room, - promise: Promise.resolve({ - results: [ - SearchResult.fromJson( - { - rank: 1, - result: { - content: { - body: "search term", - msgtype: "m.text", - }, - type: "m.room.message", - event_id: "$eventId", - sender: cli.getSafeUserId(), - origin_server_ts: 123456789, - room_id: room.roomId, - }, - context: { - events_before: [], - events_after: [], - profile_info: {}, - }, - }, - eventMapper, - ), - ], - highlights: [], - count: 1, - }), - inProgress: false, - count: 1, - }, - }); - - await waitFor(() => { - expect(container.querySelector(".mx_RoomView_searchResultsPanel")).toBeVisible(); - }); - const prom = waitForElementToBeRemoved(() => container.querySelector(".mx_RoomView_searchResultsPanel")); - - await userEvent.hover(getByText("search term")); - await userEvent.click(await findByLabelText("Edit")); - - await prom; - }); - - it("should switch rooms when edit is clicked on a search result for a different room", async () => { - const room2 = new Room(`!${roomCount++}:example.org`, cli, "@alice:example.org"); - rooms.set(room2.roomId, room2); - - room.getMyMembership = jest.fn().mockReturnValue(KnownMembership.Join); - - const eventMapper = (obj: Partial) => new MatrixEvent(obj); - - const roomViewRef = createRef<_RoomView>(); - const { container, getByText, findByLabelText } = await mountRoomView(roomViewRef); - // @ts-ignore - triggering a search organically is a lot of work - roomViewRef.current!.setState({ - search: { - searchId: 1, - roomId: room.roomId, - term: "search term", - scope: SearchScope.All, - promise: Promise.resolve({ - results: [ - SearchResult.fromJson( - { - rank: 1, - result: { - content: { - body: "search term", - msgtype: "m.text", - }, - type: "m.room.message", - event_id: "$eventId", - sender: cli.getSafeUserId(), - origin_server_ts: 123456789, - room_id: room2.roomId, - }, - context: { - events_before: [], - events_after: [], - profile_info: {}, - }, - }, - eventMapper, - ), - ], - highlights: [], - count: 1, - }), - inProgress: false, - count: 1, - }, - }); - - await waitFor(() => { - expect(container.querySelector(".mx_RoomView_searchResultsPanel")).toBeVisible(); - }); - const prom = untilDispatch(Action.ViewRoom, defaultDispatcher); - - await userEvent.hover(getByText("search term")); - await userEvent.click(await findByLabelText("Edit")); - - await expect(prom).resolves.toEqual(expect.objectContaining({ room_id: room2.roomId })); - }); - - it("fires Action.RoomLoaded", async () => { - jest.spyOn(defaultDispatcher, "dispatch"); - await mountRoomView(); - expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ action: Action.RoomLoaded }); - }); }); diff --git a/test/unit-tests/components/structures/ThreadPanel-test.tsx b/test/unit-tests/components/structures/ThreadPanel-test.tsx index 1b4d59d9af..c19127de25 100644 --- a/test/unit-tests/components/structures/ThreadPanel-test.tsx +++ b/test/unit-tests/components/structures/ThreadPanel-test.tsx @@ -215,34 +215,33 @@ describe("ThreadPanel", () => { myThreads!.addLiveEvent(mixedThread.rootEvent); myThreads!.addLiveEvent(ownThread.rootEvent); - let events: EventData[] = []; const renderResult = render(); await waitFor(() => expect(renderResult.container.querySelector(".mx_AutoHideScrollbar")).toBeFalsy()); await waitFor(() => { - events = findEvents(renderResult.container); - expect(findEvents(renderResult.container)).toHaveLength(3); + const events = findEvents(renderResult.container); + expect(events).toHaveLength(3); + expect(events[0]).toEqual(toEventData(otherThread.rootEvent)); + expect(events[1]).toEqual(toEventData(mixedThread.rootEvent)); + expect(events[2]).toEqual(toEventData(ownThread.rootEvent)); }); - expect(events[0]).toEqual(toEventData(otherThread.rootEvent)); - expect(events[1]).toEqual(toEventData(mixedThread.rootEvent)); - expect(events[2]).toEqual(toEventData(ownThread.rootEvent)); await waitFor(() => expect(renderResult.container.querySelector(".mx_ThreadPanel_dropdown")).toBeTruthy()); toggleThreadFilter(renderResult.container, ThreadFilterType.My); await waitFor(() => expect(renderResult.container.querySelector(".mx_AutoHideScrollbar")).toBeFalsy()); await waitFor(() => { - events = findEvents(renderResult.container); - expect(findEvents(renderResult.container)).toHaveLength(2); + const events = findEvents(renderResult.container); + expect(events).toHaveLength(2); + expect(events[0]).toEqual(toEventData(mixedThread.rootEvent)); + expect(events[1]).toEqual(toEventData(ownThread.rootEvent)); }); - expect(events[0]).toEqual(toEventData(mixedThread.rootEvent)); - expect(events[1]).toEqual(toEventData(ownThread.rootEvent)); toggleThreadFilter(renderResult.container, ThreadFilterType.All); await waitFor(() => expect(renderResult.container.querySelector(".mx_AutoHideScrollbar")).toBeFalsy()); await waitFor(() => { - events = findEvents(renderResult.container); - expect(findEvents(renderResult.container)).toHaveLength(3); + const events = findEvents(renderResult.container); + expect(events).toHaveLength(3); + expect(events[0]).toEqual(toEventData(otherThread.rootEvent)); + expect(events[1]).toEqual(toEventData(mixedThread.rootEvent)); + expect(events[2]).toEqual(toEventData(ownThread.rootEvent)); }); - expect(events[0]).toEqual(toEventData(otherThread.rootEvent)); - expect(events[1]).toEqual(toEventData(mixedThread.rootEvent)); - expect(events[2]).toEqual(toEventData(ownThread.rootEvent)); }); it("correctly filters Thread List with a single, unparticipated thread", async () => { @@ -261,28 +260,27 @@ describe("ThreadPanel", () => { const [allThreads] = room.threadsTimelineSets; allThreads!.addLiveEvent(otherThread.rootEvent); - let events: EventData[] = []; const renderResult = render(); await waitFor(() => expect(renderResult.container.querySelector(".mx_AutoHideScrollbar")).toBeFalsy()); await waitFor(() => { - events = findEvents(renderResult.container); - expect(findEvents(renderResult.container)).toHaveLength(1); + const events = findEvents(renderResult.container); + expect(events).toHaveLength(1); + expect(events[0]).toEqual(toEventData(otherThread.rootEvent)); }); - expect(events[0]).toEqual(toEventData(otherThread.rootEvent)); await waitFor(() => expect(renderResult.container.querySelector(".mx_ThreadPanel_dropdown")).toBeTruthy()); toggleThreadFilter(renderResult.container, ThreadFilterType.My); await waitFor(() => expect(renderResult.container.querySelector(".mx_AutoHideScrollbar")).toBeFalsy()); await waitFor(() => { - events = findEvents(renderResult.container); - expect(findEvents(renderResult.container)).toHaveLength(0); + const events = findEvents(renderResult.container); + expect(events).toHaveLength(0); }); toggleThreadFilter(renderResult.container, ThreadFilterType.All); await waitFor(() => expect(renderResult.container.querySelector(".mx_AutoHideScrollbar")).toBeFalsy()); await waitFor(() => { - events = findEvents(renderResult.container); - expect(findEvents(renderResult.container)).toHaveLength(1); + const events = findEvents(renderResult.container); + expect(events).toHaveLength(1); + expect(events[0]).toEqual(toEventData(otherThread.rootEvent)); }); - expect(events[0]).toEqual(toEventData(otherThread.rootEvent)); }); }); }); diff --git a/test/unit-tests/components/structures/TimelinePanel-test.tsx b/test/unit-tests/components/structures/TimelinePanel-test.tsx index 4a66351779..cee7e143d5 100644 --- a/test/unit-tests/components/structures/TimelinePanel-test.tsx +++ b/test/unit-tests/components/structures/TimelinePanel-test.tsx @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import { render, waitFor, screen } from "jest-matrix-react"; +import { render, waitFor, screen, act } from "jest-matrix-react"; import { ReceiptType, EventTimelineSet, @@ -205,8 +205,10 @@ describe("TimelinePanel", () => { manageReadReceipts={true} ref={ref} />, + { legacyRoot: true }, ); await flushPromises(); + await waitFor(() => expect(ref.current).toBeTruthy()); timelinePanel = ref.current!; }; @@ -255,14 +257,16 @@ describe("TimelinePanel", () => { describe("and reading the timeline", () => { beforeEach(async () => { - await renderTimelinePanel(); - timelineSet.addLiveEvent(ev1, {}); - await flushPromises(); + await act(async () => { + await renderTimelinePanel(); + timelineSet.addLiveEvent(ev1, {}); + await flushPromises(); - // @ts-ignore - await timelinePanel.sendReadReceipts(); - // @ts-ignore Simulate user activity by calling updateReadMarker on the TimelinePanel. - await timelinePanel.updateReadMarker(); + // @ts-ignore + await timelinePanel.sendReadReceipts(); + // @ts-ignore Simulate user activity by calling updateReadMarker on the TimelinePanel. + await timelinePanel.updateReadMarker(); + }); }); it("should send a fully read marker and a public receipt", async () => { @@ -276,7 +280,7 @@ describe("TimelinePanel", () => { client.setRoomReadMarkers.mockClear(); // @ts-ignore Simulate user activity by calling updateReadMarker on the TimelinePanel. - await timelinePanel.updateReadMarker(); + await act(() => timelinePanel.updateReadMarker()); }); it("should not send receipts again", () => { @@ -315,7 +319,7 @@ describe("TimelinePanel", () => { it("should send a fully read marker and a private receipt", async () => { await renderTimelinePanel(); - timelineSet.addLiveEvent(ev1, {}); + act(() => timelineSet.addLiveEvent(ev1, {})); await flushPromises(); // @ts-ignore @@ -326,6 +330,7 @@ describe("TimelinePanel", () => { // Expect the fully_read marker not to be send yet expect(client.setRoomReadMarkers).not.toHaveBeenCalled(); + await flushPromises(); client.sendReadReceipt.mockClear(); // @ts-ignore simulate user activity @@ -334,7 +339,7 @@ describe("TimelinePanel", () => { // It should not send the receipt again. expect(client.sendReadReceipt).not.toHaveBeenCalledWith(ev1, ReceiptType.ReadPrivate); // Expect the fully_read marker to be sent after user activity. - expect(client.setRoomReadMarkers).toHaveBeenCalledWith(roomId, ev1.getId()); + await waitFor(() => expect(client.setRoomReadMarkers).toHaveBeenCalledWith(roomId, ev1.getId())); }); }); }); @@ -361,11 +366,11 @@ describe("TimelinePanel", () => { it("should send receipts but no fully_read when reading the thread timeline", async () => { await renderTimelinePanel(); - timelineSet.addLiveEvent(threadEv1, {}); + act(() => timelineSet.addLiveEvent(threadEv1, {})); await flushPromises(); // @ts-ignore - await timelinePanel.sendReadReceipts(); + await act(() => timelinePanel.sendReadReceipts()); // fully_read is not supported for threads per spec expect(client.setRoomReadMarkers).not.toHaveBeenCalled(); @@ -1021,7 +1026,7 @@ describe("TimelinePanel", () => { await waitFor(() => expectEvents(container, [events[1]])); }); - defaultDispatcher.fire(Action.DumpDebugLogs); + act(() => defaultDispatcher.fire(Action.DumpDebugLogs)); await waitFor(() => expect(spy).toHaveBeenCalledWith(expect.stringContaining("TimelinePanel(Room): Debugging info for roomId")), diff --git a/test/unit-tests/components/structures/auth/ForgotPassword-test.tsx b/test/unit-tests/components/structures/auth/ForgotPassword-test.tsx index db6ce005c0..413acfbafa 100644 --- a/test/unit-tests/components/structures/auth/ForgotPassword-test.tsx +++ b/test/unit-tests/components/structures/auth/ForgotPassword-test.tsx @@ -8,19 +8,13 @@ Please see LICENSE files in the repository root for full details. import React from "react"; import { mocked } from "jest-mock"; -import { act, render, RenderResult, screen, waitFor } from "jest-matrix-react"; +import { render, RenderResult, screen, waitFor } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { MatrixClient, createClient } from "matrix-js-sdk/src/matrix"; import ForgotPassword from "../../../../../src/components/structures/auth/ForgotPassword"; import { ValidatedServerConfig } from "../../../../../src/utils/ValidatedServerConfig"; -import { - clearAllModals, - filterConsole, - flushPromisesWithFakeTimers, - stubClient, - waitEnoughCyclesForModal, -} from "../../../../test-utils"; +import { clearAllModals, filterConsole, stubClient, waitEnoughCyclesForModal } from "../../../../test-utils"; import AutoDiscoveryUtils from "../../../../../src/utils/AutoDiscoveryUtils"; jest.mock("matrix-js-sdk/src/matrix", () => ({ @@ -39,11 +33,7 @@ describe("", () => { let renderResult: RenderResult; const typeIntoField = async (label: string, value: string): Promise => { - await act(async () => { - await userEvent.type(screen.getByLabelText(label), value, { delay: null }); - // the message is shown after some time - jest.advanceTimersByTime(500); - }); + await userEvent.type(screen.getByLabelText(label), value, { delay: null }); }; const click = async (element: Element): Promise => { @@ -80,18 +70,11 @@ describe("", () => { await clearAllModals(); }); - beforeAll(() => { - jest.useFakeTimers(); - }); - - afterAll(() => { - jest.useRealTimers(); - }); - describe("when starting a password reset flow", () => { beforeEach(() => { renderResult = render( , + { legacyRoot: true }, ); }); @@ -128,8 +111,10 @@ describe("", () => { await typeIntoField("Email address", "not en email"); }); - it("should show a message about the wrong format", () => { - expect(screen.getByText("The email address doesn't appear to be valid.")).toBeInTheDocument(); + it("should show a message about the wrong format", async () => { + await expect( + screen.findByText("The email address doesn't appear to be valid."), + ).resolves.toBeInTheDocument(); }); }); @@ -142,8 +127,8 @@ describe("", () => { await click(screen.getByText("Send email")); }); - it("should show an email not found message", () => { - expect(screen.getByText("This email address was not found")).toBeInTheDocument(); + it("should show an email not found message", async () => { + await expect(screen.findByText("This email address was not found")).resolves.toBeInTheDocument(); }); }); @@ -156,13 +141,12 @@ describe("", () => { await click(screen.getByText("Send email")); }); - it("should show an info about that", () => { - expect( - screen.getByText( - "Cannot reach homeserver: " + - "Ensure you have a stable internet connection, or get in touch with the server admin", + it("should show an info about that", async () => { + await expect( + screen.findByText( + "Cannot reach homeserver: Ensure you have a stable internet connection, or get in touch with the server admin", ), - ).toBeInTheDocument(); + ).resolves.toBeInTheDocument(); }); }); @@ -178,8 +162,8 @@ describe("", () => { await click(screen.getByText("Send email")); }); - it("should show the server error", () => { - expect(screen.queryByText("server down")).toBeInTheDocument(); + it("should show the server error", async () => { + await expect(screen.findByText("server down")).resolves.toBeInTheDocument(); }); }); @@ -215,8 +199,6 @@ describe("", () => { describe("and clicking »Resend«", () => { beforeEach(async () => { await click(screen.getByText("Resend")); - // the message is shown after some time - jest.advanceTimersByTime(500); }); it("should should resend the mail and show the tooltip", () => { @@ -246,8 +228,10 @@ describe("", () => { await typeIntoField("Confirm new password", testPassword + "asd"); }); - it("should show an info about that", () => { - expect(screen.getByText("New passwords must match each other.")).toBeInTheDocument(); + it("should show an info about that", async () => { + await expect( + screen.findByText("New passwords must match each other."), + ).resolves.toBeInTheDocument(); }); }); @@ -284,7 +268,7 @@ describe("", () => { await click(screen.getByText("Reset password")); }); - it("should send the new password (once)", () => { + it("should send the new password (once)", async () => { expect(client.setPassword).toHaveBeenCalledWith( { type: "m.login.email.identity", @@ -297,19 +281,15 @@ describe("", () => { false, ); - // be sure that the next attempt to set the password would have been sent - jest.advanceTimersByTime(3000); // it should not retry to set the password - expect(client.setPassword).toHaveBeenCalledTimes(1); + await waitFor(() => expect(client.setPassword).toHaveBeenCalledTimes(1)); }); }); describe("and submitting it", () => { beforeEach(async () => { await click(screen.getByText("Reset password")); - await waitEnoughCyclesForModal({ - useFakeTimers: true, - }); + await waitEnoughCyclesForModal(); }); it("should send the new password and show the click validation link dialog", async () => { @@ -367,23 +347,22 @@ describe("", () => { expect(screen.queryByText("Enter your email to reset password")).toBeInTheDocument(); }); }); + }); - describe("and validating the link from the mail", () => { - beforeEach(async () => { - mocked(client.setPassword).mockResolvedValue({}); - // be sure the next set password attempt was sent - jest.advanceTimersByTime(3000); - // quad flush promises for the modal to disappear - await flushPromisesWithFakeTimers(); - await flushPromisesWithFakeTimers(); - await flushPromisesWithFakeTimers(); - await flushPromisesWithFakeTimers(); - }); + describe("and validating the link from the mail", () => { + beforeEach(async () => { + mocked(client.setPassword).mockResolvedValue({}); + await click(screen.getByText("Reset password")); + // flush promises for the modal to disappear + await waitEnoughCyclesForModal(); + await waitEnoughCyclesForModal(); + }); - it("should display the confirm reset view and now show the dialog", () => { - expect(screen.queryByText("Your password has been reset.")).toBeInTheDocument(); - expect(screen.queryByText("Verify your email to continue")).not.toBeInTheDocument(); - }); + it("should display the confirm reset view and now show the dialog", async () => { + await expect( + screen.findByText("Your password has been reset."), + ).resolves.toBeInTheDocument(); + expect(screen.queryByText("Verify your email to continue")).not.toBeInTheDocument(); }); }); @@ -391,9 +370,6 @@ describe("", () => { beforeEach(async () => { await click(screen.getByText("Sign out of all devices")); await click(screen.getByText("Reset password")); - await waitEnoughCyclesForModal({ - useFakeTimers: true, - }); }); it("should show the sign out warning dialog", async () => { diff --git a/test/unit-tests/components/views/dialogs/SpotlightDialog-test.tsx b/test/unit-tests/components/views/dialogs/SpotlightDialog-test.tsx index 5cc95b96ee..54d21e147b 100644 --- a/test/unit-tests/components/views/dialogs/SpotlightDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/SpotlightDialog-test.tsx @@ -239,7 +239,7 @@ describe("Spotlight Dialog", () => { }); it("should call getVisibleRooms with MSC3946 dynamic room predecessors", async () => { - render( null} />, { legacyRoot: false }); + render( null} />); jest.advanceTimersByTime(200); await flushPromisesWithFakeTimers(); expect(mockedClient.getVisibleRooms).toHaveBeenCalledWith(true); diff --git a/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx b/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx index fa1d74955d..9e792a48f3 100644 --- a/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx @@ -13,7 +13,7 @@ import { mocked, MockedObject } from "jest-mock"; import { MatrixClient, MatrixError } from "matrix-js-sdk/src/matrix"; import { sleep } from "matrix-js-sdk/src/utils"; -import { filterConsole, stubClient } from "../../../../../test-utils"; +import { filterConsole, flushPromises, stubClient } from "../../../../../test-utils"; import CreateSecretStorageDialog from "../../../../../../src/async-components/views/dialogs/security/CreateSecretStorageDialog"; describe("CreateSecretStorageDialog", () => { @@ -125,6 +125,7 @@ describe("CreateSecretStorageDialog", () => { resetFunctionCallLog.push("resetKeyBackup"); }); + await flushPromises(); result.getByRole("button", { name: "Continue" }).click(); await result.findByText("Your keys are now being backed up from this device."); diff --git a/test/unit-tests/components/views/dialogs/security/ExportE2eKeysDialog-test.tsx b/test/unit-tests/components/views/dialogs/security/ExportE2eKeysDialog-test.tsx index b0ee3531e2..6e8837c50d 100644 --- a/test/unit-tests/components/views/dialogs/security/ExportE2eKeysDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/security/ExportE2eKeysDialog-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { screen, fireEvent, render, waitFor } from "jest-matrix-react"; +import { screen, fireEvent, render, waitFor, act } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { Crypto, IMegolmSessionData } from "matrix-js-sdk/src/matrix"; @@ -23,12 +23,12 @@ describe("ExportE2eKeysDialog", () => { expect(asFragment()).toMatchSnapshot(); }); - it("should have disabled submit button initially", () => { + it("should have disabled submit button initially", async () => { const cli = createTestClient(); const onFinished = jest.fn(); const { container } = render(); - fireEvent.click(container.querySelector("[type=submit]")!); - expect(screen.getByText("Enter passphrase")).toBeInTheDocument(); + await act(() => fireEvent.click(container.querySelector("[type=submit]")!)); + expect(screen.getByLabelText("Enter passphrase")).toBeInTheDocument(); }); it("should complain about weak passphrases", async () => { @@ -38,7 +38,7 @@ describe("ExportE2eKeysDialog", () => { const { container } = render(); const input = screen.getByLabelText("Enter passphrase"); await userEvent.type(input, "password"); - fireEvent.click(container.querySelector("[type=submit]")!); + await act(() => fireEvent.click(container.querySelector("[type=submit]")!)); await expect(screen.findByText("This is a top-10 common password")).resolves.toBeInTheDocument(); }); @@ -49,7 +49,7 @@ describe("ExportE2eKeysDialog", () => { const { container } = render(); await userEvent.type(screen.getByLabelText("Enter passphrase"), "ThisIsAMoreSecurePW123$$"); await userEvent.type(screen.getByLabelText("Confirm passphrase"), "ThisIsAMoreSecurePW124$$"); - fireEvent.click(container.querySelector("[type=submit]")!); + await act(() => fireEvent.click(container.querySelector("[type=submit]")!)); await expect(screen.findByText("Passphrases must match")).resolves.toBeInTheDocument(); }); @@ -74,7 +74,7 @@ describe("ExportE2eKeysDialog", () => { const { container } = render(); await userEvent.type(screen.getByLabelText("Enter passphrase"), passphrase); await userEvent.type(screen.getByLabelText("Confirm passphrase"), passphrase); - fireEvent.click(container.querySelector("[type=submit]")!); + await act(() => fireEvent.click(container.querySelector("[type=submit]")!)); // Then it exports keys and encrypts them await waitFor(() => expect(exportRoomKeysAsJson).toHaveBeenCalled()); diff --git a/test/unit-tests/components/views/elements/AppTile-test.tsx b/test/unit-tests/components/views/elements/AppTile-test.tsx index 95ce95d3f4..12363f56f0 100644 --- a/test/unit-tests/components/views/elements/AppTile-test.tsx +++ b/test/unit-tests/components/views/elements/AppTile-test.tsx @@ -10,7 +10,7 @@ import React from "react"; import { Room, MatrixClient } from "matrix-js-sdk/src/matrix"; import { ClientWidgetApi, IWidget, MatrixWidgetType } from "matrix-widget-api"; import { Optional } from "matrix-events-sdk"; -import { act, render, RenderResult } from "jest-matrix-react"; +import { act, render, RenderResult, waitForElementToBeRemoved, waitFor } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { ApprovalOpts, @@ -29,7 +29,6 @@ import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext import SettingsStore from "../../../../../src/settings/SettingsStore"; import { RightPanelPhases } from "../../../../../src/stores/right-panel/RightPanelStorePhases"; import RightPanelStore from "../../../../../src/stores/right-panel/RightPanelStore"; -import { UPDATE_EVENT } from "../../../../../src/stores/AsyncStore"; import WidgetStore, { IApp } from "../../../../../src/stores/WidgetStore"; import ActiveWidgetStore from "../../../../../src/stores/ActiveWidgetStore"; import AppTile from "../../../../../src/components/views/elements/AppTile"; @@ -59,16 +58,6 @@ describe("AppTile", () => { let app1: IApp; let app2: IApp; - const waitForRps = (roomId: string) => - new Promise((resolve) => { - const update = () => { - if (RightPanelStore.instance.currentCardForRoom(roomId).phase !== RightPanelPhases.Widget) return; - RightPanelStore.instance.off(UPDATE_EVENT, update); - resolve(); - }; - RightPanelStore.instance.on(UPDATE_EVENT, update); - }); - beforeAll(async () => { stubClient(); cli = MatrixClientPeg.safeGet(); @@ -160,29 +149,28 @@ describe("AppTile", () => { /> , ); - // Wait for RPS room 1 updates to fire - const rpsUpdated = waitForRps("r1"); - dis.dispatch({ - action: Action.ViewRoom, - room_id: "r1", - }); - await rpsUpdated; + act(() => + dis.dispatch({ + action: Action.ViewRoom, + room_id: "r1", + }), + ); - expect(renderResult.getByText("Example 1")).toBeInTheDocument(); + await expect(renderResult.findByText("Example 1")).resolves.toBeInTheDocument(); expect(ActiveWidgetStore.instance.isLive("1", "r1")).toBe(true); - const { container, asFragment } = renderResult; - expect(container.getElementsByClassName("mx_Spinner").length).toBeTruthy(); + const { asFragment } = renderResult; expect(asFragment()).toMatchSnapshot(); - // We want to verify that as we change to room 2, we should close the // right panel and destroy the widget. // Switch to room 2 - dis.dispatch({ - action: Action.ViewRoom, - room_id: "r2", - }); + act(() => + dis.dispatch({ + action: Action.ViewRoom, + room_id: "r2", + }), + ); renderResult.rerender( @@ -233,16 +221,17 @@ describe("AppTile", () => { /> , ); - // Wait for RPS room 1 updates to fire - const rpsUpdated1 = waitForRps("r1"); - dis.dispatch({ - action: Action.ViewRoom, - room_id: "r1", - }); - await rpsUpdated1; + act(() => + dis.dispatch({ + action: Action.ViewRoom, + room_id: "r1", + }), + ); - expect(ActiveWidgetStore.instance.isLive("1", "r1")).toBe(true); - expect(ActiveWidgetStore.instance.isLive("1", "r2")).toBe(false); + await waitFor(() => { + expect(ActiveWidgetStore.instance.isLive("1", "r1")).toBe(true); + expect(ActiveWidgetStore.instance.isLive("1", "r2")).toBe(false); + }); jest.spyOn(SettingsStore, "getValue").mockImplementation((name, roomId) => { if (name === "RightPanel.phases") { @@ -263,13 +252,13 @@ describe("AppTile", () => { } return realGetValue(name, roomId); }); - // Wait for RPS room 2 updates to fire - const rpsUpdated2 = waitForRps("r2"); // Switch to room 2 - dis.dispatch({ - action: Action.ViewRoom, - room_id: "r2", - }); + act(() => + dis.dispatch({ + action: Action.ViewRoom, + room_id: "r2", + }), + ); renderResult.rerender( { /> , ); - await rpsUpdated2; - expect(ActiveWidgetStore.instance.isLive("1", "r1")).toBe(false); - expect(ActiveWidgetStore.instance.isLive("1", "r2")).toBe(true); + await waitFor(() => { + expect(ActiveWidgetStore.instance.isLive("1", "r1")).toBe(false); + expect(ActiveWidgetStore.instance.isLive("1", "r2")).toBe(true); + }); }); it("preserves non-persisted widget on container move", async () => { @@ -345,7 +335,7 @@ describe("AppTile", () => { let renderResult: RenderResult; let moveToContainerSpy: jest.SpyInstance; - beforeEach(() => { + beforeEach(async () => { renderResult = render( @@ -353,12 +343,12 @@ describe("AppTile", () => { ); moveToContainerSpy = jest.spyOn(WidgetLayoutStore.instance, "moveToContainer"); + await waitForElementToBeRemoved(() => renderResult.queryByRole("progressbar")); }); it("should render", () => { - const { container, asFragment } = renderResult; + const { asFragment } = renderResult; - expect(container.querySelector(".mx_Spinner")).toBeFalsy(); // Assert that the spinner is gone expect(asFragment()).toMatchSnapshot(); // Take a snapshot of the pinned widget }); @@ -459,18 +449,19 @@ describe("AppTile", () => { describe("for a persistent app", () => { let renderResult: RenderResult; - beforeEach(() => { + beforeEach(async () => { renderResult = render( , ); + + await waitForElementToBeRemoved(() => renderResult.queryByRole("progressbar")); }); - it("should render", () => { - const { container, asFragment } = renderResult; + it("should render", async () => { + const { asFragment } = renderResult; - expect(container.querySelector(".mx_Spinner")).toBeFalsy(); expect(asFragment()).toMatchSnapshot(); }); }); diff --git a/test/unit-tests/components/views/elements/Pill-test.tsx b/test/unit-tests/components/views/elements/Pill-test.tsx index 24fb2ca5dd..716b4513ce 100644 --- a/test/unit-tests/components/views/elements/Pill-test.tsx +++ b/test/unit-tests/components/views/elements/Pill-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { act, render, RenderResult, screen } from "jest-matrix-react"; +import { render, RenderResult, screen } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { mocked, Mocked } from "jest-mock"; import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; @@ -214,9 +214,7 @@ describe("", () => { }); // wait for profile query via API - await act(async () => { - await flushPromises(); - }); + await flushPromises(); expect(renderResult.asFragment()).toMatchSnapshot(); }); @@ -228,9 +226,7 @@ describe("", () => { }); // wait for profile query via API - await act(async () => { - await flushPromises(); - }); + await flushPromises(); expect(renderResult.asFragment()).toMatchSnapshot(); }); diff --git a/test/unit-tests/components/views/elements/__snapshots__/AppTile-test.tsx.snap b/test/unit-tests/components/views/elements/__snapshots__/AppTile-test.tsx.snap index b3b5fc3b89..f039d94514 100644 --- a/test/unit-tests/components/views/elements/__snapshots__/AppTile-test.tsx.snap +++ b/test/unit-tests/components/views/elements/__snapshots__/AppTile-test.tsx.snap @@ -60,29 +60,9 @@ exports[`AppTile destroys non-persisted right panel widget on room change 1`] = id="1" >
-
-
-
- Loading… -
-   -
-
-
+
diff --git a/test/unit-tests/components/views/emojipicker/EmojiPicker-test.tsx b/test/unit-tests/components/views/emojipicker/EmojiPicker-test.tsx index d069d663b8..e67334ca61 100644 --- a/test/unit-tests/components/views/emojipicker/EmojiPicker-test.tsx +++ b/test/unit-tests/components/views/emojipicker/EmojiPicker-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React, { createRef } from "react"; -import { render, waitFor } from "jest-matrix-react"; +import { render, waitFor, act } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import EmojiPicker from "../../../../../src/components/views/emojipicker/EmojiPicker"; @@ -27,12 +27,12 @@ describe("EmojiPicker", function () { // Apply a filter and assert that the HTML has changed //@ts-ignore private access - ref.current!.onChangeFilter("test"); + act(() => ref.current!.onChangeFilter("test")); expect(beforeHtml).not.toEqual(container.innerHTML); // Clear the filter and assert that the HTML matches what it was before filtering //@ts-ignore private access - ref.current!.onChangeFilter(""); + act(() => ref.current!.onChangeFilter("")); await waitFor(() => expect(beforeHtml).toEqual(container.innerHTML)); }); @@ -40,7 +40,7 @@ describe("EmojiPicker", function () { const ep = new EmojiPicker({ onChoose: (str: string) => false, onFinished: jest.fn() }); //@ts-ignore private access - ep.onChangeFilter("heart"); + act(() => ep.onChangeFilter("heart")); //@ts-ignore private access expect(ep.memoizedDataByCategory["people"][0].shortcodes[0]).toEqual("heart"); diff --git a/test/unit-tests/components/views/location/LocationShareMenu-test.tsx b/test/unit-tests/components/views/location/LocationShareMenu-test.tsx index 672580e952..84c5e91ea0 100644 --- a/test/unit-tests/components/views/location/LocationShareMenu-test.tsx +++ b/test/unit-tests/components/views/location/LocationShareMenu-test.tsx @@ -139,7 +139,7 @@ describe("", () => { const [, onGeolocateCallback] = mocked(mockGeolocate.on).mock.calls.find(([event]) => event === "geolocate")!; // set the location - onGeolocateCallback(position); + act(() => onGeolocateCallback(position)); }; const setLocationClick = () => { @@ -151,7 +151,7 @@ describe("", () => { lngLat: { lng: position.coords.longitude, lat: position.coords.latitude }, } as unknown as maplibregl.MapMouseEvent; // set the location - onMapClickCallback(event); + act(() => onMapClickCallback(event)); }; const shareTypeLabels: Record = { diff --git a/test/unit-tests/components/views/messages/DateSeparator-test.tsx b/test/unit-tests/components/views/messages/DateSeparator-test.tsx index 0c953a1738..aade46a2e2 100644 --- a/test/unit-tests/components/views/messages/DateSeparator-test.tsx +++ b/test/unit-tests/components/views/messages/DateSeparator-test.tsx @@ -48,6 +48,7 @@ describe("DateSeparator", () => { , + { legacyRoot: true }, ); type TestCase = [string, number, string]; @@ -264,10 +265,12 @@ describe("DateSeparator", () => { fireEvent.click(jumpToLastWeekButton); // Expect error to be shown. We have to wait for the UI to transition. - expect(await screen.findByTestId("jump-to-date-error-content")).toBeInTheDocument(); + await expect(screen.findByTestId("jump-to-date-error-content")).resolves.toBeInTheDocument(); // Expect an option to submit debug logs to be shown when a non-network error occurs - expect(await screen.findByTestId("jump-to-date-error-submit-debug-logs-button")).toBeInTheDocument(); + await expect( + screen.findByTestId("jump-to-date-error-submit-debug-logs-button"), + ).resolves.toBeInTheDocument(); }); [ @@ -280,19 +283,20 @@ describe("DateSeparator", () => { ), ].forEach((fakeError) => { it(`should show error dialog without submit debug logs option when networking error (${fakeError.name}) occurs`, async () => { + // Try to jump to "last week" but we want a network error to occur + mockClient.timestampToEvent.mockRejectedValue(fakeError); + // Render the component getComponent(); // Open the jump to date context menu fireEvent.click(screen.getByTestId("jump-to-date-separator-button")); - // Try to jump to "last week" but we want a network error to occur - mockClient.timestampToEvent.mockRejectedValue(fakeError); const jumpToLastWeekButton = await screen.findByTestId("jump-to-date-last-week"); fireEvent.click(jumpToLastWeekButton); // Expect error to be shown. We have to wait for the UI to transition. - expect(await screen.findByTestId("jump-to-date-error-content")).toBeInTheDocument(); + await expect(screen.findByTestId("jump-to-date-error-content")).resolves.toBeInTheDocument(); // The submit debug logs option should *NOT* be shown for network errors. // diff --git a/test/unit-tests/components/views/messages/EncryptionEvent-test.tsx b/test/unit-tests/components/views/messages/EncryptionEvent-test.tsx index ca5f3d04b9..5788daebc0 100644 --- a/test/unit-tests/components/views/messages/EncryptionEvent-test.tsx +++ b/test/unit-tests/components/views/messages/EncryptionEvent-test.tsx @@ -27,9 +27,9 @@ const renderEncryptionEvent = (client: MatrixClient, event: MatrixEvent) => { ); }; -const checkTexts = (title: string, subTitle: string) => { - screen.getByText(title); - screen.getByText(subTitle); +const checkTexts = async (title: string, subTitle: string) => { + await screen.findByText(title); + await screen.findByText(subTitle); }; describe("EncryptionEvent", () => { @@ -120,9 +120,9 @@ describe("EncryptionEvent", () => { renderEncryptionEvent(client, event); }); - it("should show the expected texts", () => { + it("should show the expected texts", async () => { expect(client.getCrypto()!.isEncryptionEnabledInRoom).toHaveBeenCalledWith(roomId); - checkTexts("Encryption enabled", "Messages in this chat will be end-to-end encrypted."); + await checkTexts("Encryption enabled", "Messages in this chat will be end-to-end encrypted."); }); }); }); diff --git a/test/unit-tests/components/views/messages/MPollBody-test.tsx b/test/unit-tests/components/views/messages/MPollBody-test.tsx index 598542d297..982fadad20 100644 --- a/test/unit-tests/components/views/messages/MPollBody-test.tsx +++ b/test/unit-tests/components/views/messages/MPollBody-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { fireEvent, render, RenderResult, waitFor } from "jest-matrix-react"; +import { act, fireEvent, render, RenderResult, waitForElementToBeRemoved, waitFor } from "jest-matrix-react"; import { MatrixEvent, Relations, @@ -226,7 +226,7 @@ describe("MPollBody", () => { clickOption(renderResult, "pizza"); // When a new vote from me comes in - await room.processPollEvents([responseEvent("@me:example.com", "wings", 101)]); + await act(() => room.processPollEvents([responseEvent("@me:example.com", "wings", 101)])); // Then the new vote is counted, not the old one expect(votesCount(renderResult, "pizza")).toBe("0 votes"); @@ -255,7 +255,7 @@ describe("MPollBody", () => { clickOption(renderResult, "pizza"); // When a new vote from someone else comes in - await room.processPollEvents([responseEvent("@xx:example.com", "wings", 101)]); + await act(() => room.processPollEvents([responseEvent("@xx:example.com", "wings", 101)])); // Then my vote is still for pizza // NOTE: the new event does not affect the counts for other people - @@ -596,11 +596,13 @@ describe("MPollBody", () => { ]; const renderResult = await newMPollBody(votes, ends); - expect(endedVotesCount(renderResult, "pizza")).toBe("2 votes"); - expect(endedVotesCount(renderResult, "poutine")).toBe("0 votes"); - expect(endedVotesCount(renderResult, "italian")).toBe("0 votes"); - expect(endedVotesCount(renderResult, "wings")).toBe('
3 votes'); - expect(renderResult.getByTestId("totalVotes").innerHTML).toBe("Final result based on 5 votes"); + await waitFor(() => { + expect(endedVotesCount(renderResult, "pizza")).toBe("2 votes"); + expect(endedVotesCount(renderResult, "poutine")).toBe("0 votes"); + expect(endedVotesCount(renderResult, "italian")).toBe("0 votes"); + expect(endedVotesCount(renderResult, "wings")).toBe('
3 votes'); + expect(renderResult.getByTestId("totalVotes").innerHTML).toBe("Final result based on 5 votes"); + }); }); it("ignores votes that arrived after the first end poll event", async () => { @@ -890,12 +892,14 @@ async function newMPollBody( room_id: "#myroom:example.com", content: newPollStart(answers, undefined, disclosed), }); - const result = newMPollBodyFromEvent(mxEvent, relationEvents, endEvents); - // flush promises from loading relations + const prom = newMPollBodyFromEvent(mxEvent, relationEvents, endEvents); if (waitForResponsesLoad) { - await flushPromises(); + const result = await prom; + if (result.queryByTestId("spinner")) { + await waitForElementToBeRemoved(() => result.getByTestId("spinner")); + } } - return result; + return prom; } function getMPollBodyPropsFromEvent(mxEvent: MatrixEvent): IBodyProps { diff --git a/test/unit-tests/components/views/messages/MPollEndBody-test.tsx b/test/unit-tests/components/views/messages/MPollEndBody-test.tsx index e3883b7033..5bf7ab55ea 100644 --- a/test/unit-tests/components/views/messages/MPollEndBody-test.tsx +++ b/test/unit-tests/components/views/messages/MPollEndBody-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { render, waitFor } from "jest-matrix-react"; +import { render, waitFor, waitForElementToBeRemoved } from "jest-matrix-react"; import { EventTimeline, MatrixEvent, Room, M_TEXT } from "matrix-js-sdk/src/matrix"; import { logger } from "matrix-js-sdk/src/logger"; @@ -127,6 +127,7 @@ describe("", () => { expect(container).toMatchSnapshot(); await waitFor(() => expect(getByRole("progressbar")).toBeInTheDocument()); + await waitForElementToBeRemoved(() => getByRole("progressbar")); expect(mockClient.fetchRoomEvent).toHaveBeenCalledWith(roomId, pollStartEvent.getId()); diff --git a/test/unit-tests/components/views/polls/pollHistory/PollHistory-test.tsx b/test/unit-tests/components/views/polls/pollHistory/PollHistory-test.tsx index 96aeffb03c..1e0f0a658c 100644 --- a/test/unit-tests/components/views/polls/pollHistory/PollHistory-test.tsx +++ b/test/unit-tests/components/views/polls/pollHistory/PollHistory-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { act, fireEvent, render } from "jest-matrix-react"; +import { fireEvent, render } from "jest-matrix-react"; import { Filter, EventTimeline, Room, MatrixEvent, M_POLL_START } from "matrix-js-sdk/src/matrix"; import { PollHistory } from "../../../../../../src/components/views/polls/pollHistory/PollHistory"; @@ -110,7 +110,7 @@ describe("", () => { expect(getByText("Loading polls")).toBeInTheDocument(); // flush filter creation request - await act(flushPromises); + await flushPromises(); expect(liveTimeline.getPaginationToken).toHaveBeenCalledWith(EventTimeline.BACKWARDS); expect(mockClient.paginateEventTimeline).toHaveBeenCalledWith(liveTimeline, { backwards: true }); @@ -140,7 +140,7 @@ describe("", () => { ); // flush filter creation request - await act(flushPromises); + await flushPromises(); // once per page expect(mockClient.paginateEventTimeline).toHaveBeenCalledTimes(3); @@ -175,7 +175,7 @@ describe("", () => { it("renders a no polls message when there are no active polls in the room", async () => { const { getByText } = getComponent(); - await act(flushPromises); + await flushPromises(); expect(getByText("There are no active polls in this room")).toBeTruthy(); }); @@ -199,7 +199,7 @@ describe("", () => { .mockReturnValueOnce("test-pagination-token-3"); const { getByText } = getComponent(); - await act(flushPromises); + await flushPromises(); expect(mockClient.paginateEventTimeline).toHaveBeenCalledTimes(1); @@ -212,7 +212,7 @@ describe("", () => { // load more polls button still in UI, with loader expect(getByText("Load more polls")).toMatchSnapshot(); - await act(flushPromises); + await flushPromises(); // no more spinner expect(getByText("Load more polls")).toMatchSnapshot(); diff --git a/test/unit-tests/components/views/polls/pollHistory/__snapshots__/PollHistory-test.tsx.snap b/test/unit-tests/components/views/polls/pollHistory/__snapshots__/PollHistory-test.tsx.snap index b6bd7b72d8..360eeda061 100644 --- a/test/unit-tests/components/views/polls/pollHistory/__snapshots__/PollHistory-test.tsx.snap +++ b/test/unit-tests/components/views/polls/pollHistory/__snapshots__/PollHistory-test.tsx.snap @@ -91,7 +91,7 @@ exports[` renders a list of active polls when there are polls in tabindex="0" >
@@ -116,7 +116,7 @@ exports[` renders a list of active polls when there are polls in tabindex="0" >
diff --git a/test/unit-tests/components/views/right_panel/UserInfo-test.tsx b/test/unit-tests/components/views/right_panel/UserInfo-test.tsx index dbf5645ca8..441afec700 100644 --- a/test/unit-tests/components/views/right_panel/UserInfo-test.tsx +++ b/test/unit-tests/components/views/right_panel/UserInfo-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { fireEvent, render, screen, waitFor, cleanup, act, within } from "jest-matrix-react"; +import { fireEvent, render, screen, cleanup, act, within } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { Mocked, mocked } from "jest-mock"; import { Room, User, MatrixClient, RoomMember, MatrixEvent, EventType, Device } from "matrix-js-sdk/src/matrix"; @@ -199,6 +199,7 @@ describe("", () => { return render(, { wrapper: Wrapper, + legacyRoot: true, }); }; @@ -439,7 +440,7 @@ describe("", () => { it("renders a device list which can be expanded", async () => { renderComponent(); - await act(flushPromises); + await flushPromises(); // check the button exists with the expected text const devicesButton = screen.getByRole("button", { name: "1 session" }); @@ -459,9 +460,9 @@ describe("", () => { verificationRequest, room: mockRoom, }); - await act(flushPromises); + await flushPromises(); - await waitFor(() => expect(screen.getByRole("button", { name: "Verify" })).toBeInTheDocument()); + await expect(screen.findByRole("button", { name: "Verify" })).resolves.toBeInTheDocument(); expect(container).toMatchSnapshot(); }); @@ -490,7 +491,7 @@ describe("", () => { mockCrypto.getUserDeviceInfo.mockResolvedValue(userDeviceMap); renderComponent({ room: mockRoom }); - await act(flushPromises); + await flushPromises(); // check the button exists with the expected text (the dehydrated device shouldn't be counted) const devicesButton = screen.getByRole("button", { name: "1 session" }); @@ -538,7 +539,7 @@ describe("", () => { } as DeviceVerificationStatus); renderComponent({ room: mockRoom }); - await act(flushPromises); + await flushPromises(); // check the button exists with the expected text (the dehydrated device shouldn't be counted) const devicesButton = screen.getByRole("button", { name: "1 verified session" }); @@ -583,7 +584,7 @@ describe("", () => { mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(true, true, true)); renderComponent({ room: mockRoom }); - await act(flushPromises); + await flushPromises(); // the dehydrated device should be shown as an unverified device, which means // there should now be a button with the device id ... @@ -618,7 +619,7 @@ describe("", () => { mockCrypto.getUserDeviceInfo.mockResolvedValue(userDeviceMap); renderComponent({ room: mockRoom }); - await act(flushPromises); + await flushPromises(); // check the button exists with the expected text (the dehydrated device shouldn't be counted) const devicesButton = screen.getByRole("button", { name: "2 sessions" }); @@ -653,7 +654,7 @@ describe("", () => { room: mockRoom, }); - await waitFor(() => expect(screen.getByRole("button", { name: "Deactivate user" })).toBeInTheDocument()); + await expect(screen.findByRole("button", { name: "Deactivate user" })).resolves.toBeInTheDocument(); expect(container).toMatchSnapshot(); }); }); @@ -666,7 +667,7 @@ describe("", () => { it("renders unverified user info", async () => { mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(false, false, false)); renderComponent({ room: mockRoom }); - await act(flushPromises); + await flushPromises(); const userHeading = screen.getByRole("heading", { name: /@user:example.com/ }); @@ -677,7 +678,7 @@ describe("", () => { it("renders verified user info", async () => { mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(true, false, false)); renderComponent({ room: mockRoom }); - await act(flushPromises); + await flushPromises(); const userHeading = screen.getByRole("heading", { name: /@user:example.com/ }); @@ -768,7 +769,7 @@ describe("", () => { it("with unverified user and device, displays button without a label", async () => { renderComponent(); - await act(flushPromises); + await flushPromises(); expect(screen.getByRole("button", { name: device.displayName! })).toBeInTheDocument(); expect(screen.queryByText(/trusted/i)).not.toBeInTheDocument(); @@ -776,7 +777,7 @@ describe("", () => { it("with verified user only, displays button with a 'Not trusted' label", async () => { renderComponent({ isUserVerified: true }); - await act(flushPromises); + await flushPromises(); const button = screen.getByRole("button", { name: device.displayName }); expect(button).toHaveTextContent(`${device.displayName}Not trusted`); @@ -785,7 +786,7 @@ describe("", () => { it("with verified device only, displays no button without a label", async () => { setMockDeviceTrust(true); renderComponent(); - await act(flushPromises); + await flushPromises(); expect(screen.getByText(device.displayName!)).toBeInTheDocument(); expect(screen.queryByText(/trusted/)).not.toBeInTheDocument(); @@ -798,7 +799,7 @@ describe("", () => { mockClient.getSafeUserId.mockReturnValueOnce(defaultUserId); mockClient.getUserId.mockReturnValueOnce(defaultUserId); renderComponent(); - await act(flushPromises); + await flushPromises(); // set trust to be false for isVerified, true for isCrossSigningVerified deferred.resolve({ @@ -814,7 +815,7 @@ describe("", () => { it("with verified user and device, displays no button and a 'Trusted' label", async () => { setMockDeviceTrust(true); renderComponent({ isUserVerified: true }); - await act(flushPromises); + await flushPromises(); expect(screen.queryByRole("button")).not.toBeInTheDocument(); expect(screen.getByText(device.displayName!)).toBeInTheDocument(); @@ -824,7 +825,7 @@ describe("", () => { it("does not call verifyDevice if client.getUser returns null", async () => { mockClient.getUser.mockReturnValueOnce(null); renderComponent(); - await act(flushPromises); + await flushPromises(); const button = screen.getByRole("button", { name: device.displayName! }); expect(button).toBeInTheDocument(); @@ -839,7 +840,7 @@ describe("", () => { // even more mocking mockClient.isGuest.mockReturnValueOnce(true); renderComponent(); - await act(flushPromises); + await flushPromises(); const button = screen.getByRole("button", { name: device.displayName! }); expect(button).toBeInTheDocument(); @@ -851,7 +852,7 @@ describe("", () => { it("with display name", async () => { const { container } = renderComponent(); - await act(flushPromises); + await flushPromises(); expect(container).toMatchSnapshot(); }); @@ -859,7 +860,7 @@ describe("", () => { it("without display name", async () => { const device = { deviceId: "deviceId" } as Device; const { container } = renderComponent({ device, userId: defaultUserId }); - await act(flushPromises); + await flushPromises(); expect(container).toMatchSnapshot(); }); @@ -867,7 +868,7 @@ describe("", () => { it("ambiguous display name", async () => { const device = { deviceId: "deviceId", ambiguous: true, displayName: "my display name" }; const { container } = renderComponent({ device, userId: defaultUserId }); - await act(flushPromises); + await flushPromises(); expect(container).toMatchSnapshot(); }); @@ -1033,9 +1034,7 @@ describe("", () => { expect(inviteSpy).toHaveBeenCalledWith([member.userId]); // check that the test error message is displayed - await waitFor(() => { - expect(screen.getByText(mockErrorMessage.message)).toBeInTheDocument(); - }); + await expect(screen.findByText(mockErrorMessage.message)).resolves.toBeInTheDocument(); }); it("if calling .invite throws something strange, show default error message", async () => { @@ -1048,9 +1047,7 @@ describe("", () => { await userEvent.click(inviteButton); // check that the default test error message is displayed - await waitFor(() => { - expect(screen.getByText(/operation failed/i)).toBeInTheDocument(); - }); + await expect(screen.findByText(/operation failed/i)).resolves.toBeInTheDocument(); }); it.each([ diff --git a/test/unit-tests/components/views/rooms/EventTile-test.tsx b/test/unit-tests/components/views/rooms/EventTile-test.tsx index b2835d15c0..4cb2296760 100644 --- a/test/unit-tests/components/views/rooms/EventTile-test.tsx +++ b/test/unit-tests/components/views/rooms/EventTile-test.tsx @@ -260,7 +260,7 @@ describe("EventTile", () => { } as EventEncryptionInfo); const { container } = getComponent(); - await act(flushPromises); + await flushPromises(); const eventTiles = container.getElementsByClassName("mx_EventTile"); expect(eventTiles).toHaveLength(1); @@ -285,7 +285,7 @@ describe("EventTile", () => { } as EventEncryptionInfo); const { container } = getComponent(); - await act(flushPromises); + await flushPromises(); const eventTiles = container.getElementsByClassName("mx_EventTile"); expect(eventTiles).toHaveLength(1); @@ -314,7 +314,7 @@ describe("EventTile", () => { } as EventEncryptionInfo); const { container } = getComponent(); - await act(flushPromises); + await flushPromises(); const e2eIcons = container.getElementsByClassName("mx_EventTile_e2eIcon"); expect(e2eIcons).toHaveLength(1); @@ -346,7 +346,7 @@ describe("EventTile", () => { await mxEvent.attemptDecryption(mockCrypto); const { container } = getComponent(); - await act(flushPromises); + await flushPromises(); const eventTiles = container.getElementsByClassName("mx_EventTile"); expect(eventTiles).toHaveLength(1); @@ -400,7 +400,7 @@ describe("EventTile", () => { const roomContext = getRoomContext(room, {}); const { container, rerender } = render(); - await act(flushPromises); + await flushPromises(); const eventTiles = container.getElementsByClassName("mx_EventTile"); expect(eventTiles).toHaveLength(1); @@ -451,7 +451,7 @@ describe("EventTile", () => { const roomContext = getRoomContext(room, {}); const { container, rerender } = render(); - await act(flushPromises); + await flushPromises(); const eventTiles = container.getElementsByClassName("mx_EventTile"); expect(eventTiles).toHaveLength(1); diff --git a/test/unit-tests/components/views/rooms/MemberList-test.tsx b/test/unit-tests/components/views/rooms/MemberList-test.tsx index 3e17f7ce86..34c37d2ba5 100644 --- a/test/unit-tests/components/views/rooms/MemberList-test.tsx +++ b/test/unit-tests/components/views/rooms/MemberList-test.tsx @@ -8,7 +8,16 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { act, fireEvent, render, RenderResult, screen, waitFor, waitForElementToBeRemoved } from "jest-matrix-react"; +import { + act, + fireEvent, + render, + RenderResult, + screen, + waitFor, + waitForElementToBeRemoved, + cleanup, +} from "jest-matrix-react"; import { Room, MatrixClient, RoomState, RoomMember, User, MatrixEvent } from "matrix-js-sdk/src/matrix"; import { KnownMembership } from "matrix-js-sdk/src/types"; import { mocked, MockedObject } from "jest-mock"; @@ -361,6 +370,7 @@ describe("MemberList", () => { afterEach(() => { jest.restoreAllMocks(); + cleanup(); }); const renderComponent = () => { @@ -397,21 +407,22 @@ describe("MemberList", () => { jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join); jest.spyOn(room, "canInvite").mockReturnValue(false); - renderComponent(); - await flushPromises(); + const { findByLabelText } = renderComponent(); // button rendered but disabled - expect(screen.getByText("Invite to this room")).toHaveAttribute("aria-disabled", "true"); + await expect(findByLabelText("You do not have permission to invite users")).resolves.toHaveAttribute( + "aria-disabled", + "true", + ); }); it("renders enabled invite button when current user is a member and has rights to invite", async () => { jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join); jest.spyOn(room, "canInvite").mockReturnValue(true); - renderComponent(); - await flushPromises(); + const { findByText } = renderComponent(); - expect(screen.getByText("Invite to this room")).not.toBeDisabled(); + await expect(findByText("Invite to this room")).resolves.not.toBeDisabled(); }); it("opens room inviter on button click", async () => { diff --git a/test/unit-tests/components/views/rooms/MessageComposer-test.tsx b/test/unit-tests/components/views/rooms/MessageComposer-test.tsx index c2e0c4848e..7d8112c2f8 100644 --- a/test/unit-tests/components/views/rooms/MessageComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/MessageComposer-test.tsx @@ -42,17 +42,13 @@ import { mkVoiceBroadcastInfoStateEvent } from "../../../voice-broadcast/utils/t import { SdkContextClass } from "../../../../../src/contexts/SDKContext"; const openStickerPicker = async (): Promise => { - await act(async () => { - await userEvent.click(screen.getByLabelText("More options")); - await userEvent.click(screen.getByLabelText("Sticker")); - }); + await userEvent.click(screen.getByLabelText("More options")); + await userEvent.click(screen.getByLabelText("Sticker")); }; const startVoiceMessage = async (): Promise => { - await act(async () => { - await userEvent.click(screen.getByLabelText("More options")); - await userEvent.click(screen.getByLabelText("Voice Message")); - }); + await userEvent.click(screen.getByLabelText("More options")); + await userEvent.click(screen.getByLabelText("Voice Message")); }; const setCurrentBroadcastRecording = (room: Room, state: VoiceBroadcastInfoState): void => { @@ -61,7 +57,7 @@ const setCurrentBroadcastRecording = (room: Room, state: VoiceBroadcastInfoState MatrixClientPeg.safeGet(), state, ); - SdkContextClass.instance.voiceBroadcastRecordingsStore.setCurrent(recording); + act(() => SdkContextClass.instance.voiceBroadcastRecordingsStore.setCurrent(recording)); }; const expectVoiceMessageRecordingTriggered = (): void => { @@ -97,6 +93,45 @@ describe("MessageComposer", () => { }); }); + it("wysiwyg correctly persists state to and from localStorage", async () => { + const room = mkStubRoom("!roomId:server", "Room 1", cli); + const messageText = "Test Text"; + await SettingsStore.setValue("feature_wysiwyg_composer", null, SettingLevel.DEVICE, true); + const { renderResult, rawComponent } = wrapAndRender({ room }); + const { unmount } = renderResult; + + await flushPromises(); + + const key = `mx_wysiwyg_state_${room.roomId}`; + + await userEvent.click(screen.getByRole("textbox")); + fireEvent.input(screen.getByRole("textbox"), { + data: messageText, + inputType: "insertText", + }); + + await waitFor(() => expect(screen.getByRole("textbox")).toHaveTextContent(messageText)); + + // Wait for event dispatch to happen + await flushPromises(); + + // assert there is state persisted + expect(localStorage.getItem(key)).toBeNull(); + + // ensure the right state was persisted to localStorage + unmount(); + + // assert the persisted state + expect(JSON.parse(localStorage.getItem(key)!)).toStrictEqual({ + content: messageText, + isRichText: true, + }); + + // ensure the correct state is re-loaded + render(rawComponent); + await waitFor(() => expect(screen.getByRole("textbox")).toHaveTextContent(messageText)); + }, 10000); + describe("for a Room", () => { const room = mkStubRoom("!roomId:server", "Room 1", cli); @@ -185,14 +220,12 @@ describe("MessageComposer", () => { [true, false].forEach((value: boolean) => { describe(`when ${setting} = ${value}`, () => { beforeEach(async () => { - SettingsStore.setValue(setting, null, SettingLevel.DEVICE, value); + await act(() => SettingsStore.setValue(setting, null, SettingLevel.DEVICE, value)); wrapAndRender({ room }); - await act(async () => { - await userEvent.click(screen.getByLabelText("More options")); - }); + await userEvent.click(screen.getByLabelText("More options")); }); - it(`should${value || "not"} display the button`, () => { + it(`should${value ? "" : " not"} display the button`, () => { if (value) { // eslint-disable-next-line jest/no-conditional-expect expect(screen.getByLabelText(buttonLabel)).toBeInTheDocument(); @@ -205,15 +238,17 @@ describe("MessageComposer", () => { describe(`and setting ${setting} to ${!value}`, () => { beforeEach(async () => { // simulate settings update - await SettingsStore.setValue(setting, null, SettingLevel.DEVICE, !value); - dis.dispatch( - { - action: Action.SettingUpdated, - settingName: setting, - newValue: !value, - }, - true, - ); + await act(async () => { + await SettingsStore.setValue(setting, null, SettingLevel.DEVICE, !value); + dis.dispatch( + { + action: Action.SettingUpdated, + settingName: setting, + newValue: !value, + }, + true, + ); + }); }); it(`should${!value || "not"} display the button`, () => { @@ -273,7 +308,7 @@ describe("MessageComposer", () => { beforeEach(async () => { wrapAndRender({ room }, true, true); await openStickerPicker(); - resizeCallback(UI_EVENTS.Resize, {}); + act(() => resizeCallback(UI_EVENTS.Resize, {})); }); it("should close the menu", () => { @@ -295,7 +330,7 @@ describe("MessageComposer", () => { beforeEach(async () => { wrapAndRender({ room }, true, false); await openStickerPicker(); - resizeCallback(UI_EVENTS.Resize, {}); + act(() => resizeCallback(UI_EVENTS.Resize, {})); }); it("should close the menu", () => { @@ -443,51 +478,6 @@ describe("MessageComposer", () => { expect(screen.queryByLabelText("Sticker")).not.toBeInTheDocument(); }); }); - - it("wysiwyg correctly persists state to and from localStorage", async () => { - const room = mkStubRoom("!roomId:server", "Room 1", cli); - const messageText = "Test Text"; - await SettingsStore.setValue("feature_wysiwyg_composer", null, SettingLevel.DEVICE, true); - const { renderResult, rawComponent } = wrapAndRender({ room }); - const { unmount, rerender } = renderResult; - - await act(async () => { - await flushPromises(); - }); - - const key = `mx_wysiwyg_state_${room.roomId}`; - - await act(async () => { - await userEvent.click(screen.getByRole("textbox")); - }); - fireEvent.input(screen.getByRole("textbox"), { - data: messageText, - inputType: "insertText", - }); - - await waitFor(() => expect(screen.getByRole("textbox")).toHaveTextContent(messageText)); - - // Wait for event dispatch to happen - await act(async () => { - await flushPromises(); - }); - - // assert there is state persisted - expect(localStorage.getItem(key)).toBeNull(); - - // ensure the right state was persisted to localStorage - unmount(); - - // assert the persisted state - expect(JSON.parse(localStorage.getItem(key)!)).toStrictEqual({ - content: messageText, - isRichText: true, - }); - - // ensure the correct state is re-loaded - rerender(rawComponent); - await waitFor(() => expect(screen.getByRole("textbox")).toHaveTextContent(messageText)); - }, 10000); }); function wrapAndRender( @@ -529,7 +519,7 @@ function wrapAndRender( ); return { rawComponent: getRawComponent(props, roomContext, mockClient), - renderResult: render(getRawComponent(props, roomContext, mockClient)), + renderResult: render(getRawComponent(props, roomContext, mockClient), { legacyRoot: true }), roomContext, }; } diff --git a/test/unit-tests/components/views/rooms/SendMessageComposer-test.tsx b/test/unit-tests/components/views/rooms/SendMessageComposer-test.tsx index e423d03ea9..f3a0168833 100644 --- a/test/unit-tests/components/views/rooms/SendMessageComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/SendMessageComposer-test.tsx @@ -385,7 +385,7 @@ describe("", () => { it("correctly persists state to and from localStorage", () => { const props = { replyToEvent: mockEvent }; - const { container, unmount, rerender } = getComponent(props); + let { container, unmount } = getComponent(props); addTextToComposer(container, "Test Text"); @@ -402,7 +402,7 @@ describe("", () => { }); // ensure the correct model is re-loaded - rerender(getRawComponent(props)); + ({ container, unmount } = getComponent(props)); expect(container.textContent).toBe("Test Text"); expect(spyDispatcher).toHaveBeenCalledWith({ action: "reply_to_event", @@ -413,7 +413,7 @@ describe("", () => { // now try with localStorage wiped out unmount(); localStorage.removeItem(key); - rerender(getRawComponent(props)); + ({ container } = getComponent(props)); expect(container.textContent).toBe(""); }); diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx b/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx index 23384d8a43..5d3c455288 100644 --- a/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx @@ -8,7 +8,7 @@ Please see LICENSE files in the repository root for full details. import "@testing-library/jest-dom"; import React from "react"; -import { act, fireEvent, render, screen, waitFor } from "jest-matrix-react"; +import { fireEvent, render, screen, waitFor } from "jest-matrix-react"; import MatrixClientContext from "../../../../../../src/contexts/MatrixClientContext"; import RoomContext from "../../../../../../src/contexts/RoomContext"; @@ -253,9 +253,7 @@ describe("EditWysiwygComposer", () => { }); // Wait for event dispatch to happen - await act(async () => { - await flushPromises(); - }); + await flushPromises(); // Then we don't get it because we are disabled expect(screen.getByRole("textbox")).not.toHaveFocus(); diff --git a/test/unit-tests/components/views/settings/AddRemoveThreepids-test.tsx b/test/unit-tests/components/views/settings/AddRemoveThreepids-test.tsx index 7fa6619a99..a285a98f3b 100644 --- a/test/unit-tests/components/views/settings/AddRemoveThreepids-test.tsx +++ b/test/unit-tests/components/views/settings/AddRemoveThreepids-test.tsx @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import { render, screen, waitFor } from "jest-matrix-react"; +import { render, screen, waitFor, cleanup } from "jest-matrix-react"; import { MatrixClient, MatrixError, ThreepidMedium } from "matrix-js-sdk/src/matrix"; import React from "react"; import userEvent from "@testing-library/user-event"; @@ -48,54 +48,13 @@ describe("AddRemoveThreepids", () => { afterEach(() => { jest.restoreAllMocks(); clearAllModals(); + cleanup(); }); const clientProviderWrapper: React.FC = ({ children }: React.PropsWithChildren) => ( {children} ); - it("should render a loader while loading", async () => { - render( - {}} - />, - ); - - expect(screen.getByLabelText("Loading…")).toBeInTheDocument(); - }); - - it("should render email addresses", async () => { - const { container } = render( - {}} - />, - ); - - expect(container).toMatchSnapshot(); - }); - - it("should render phone numbers", async () => { - const { container } = render( - {}} - />, - ); - - expect(container).toMatchSnapshot(); - }); - it("should handle no email addresses", async () => { const { container } = render( { />, ); + await expect(screen.findByText("Email Address")).resolves.toBeVisible(); expect(container).toMatchSnapshot(); }); @@ -127,7 +87,7 @@ describe("AddRemoveThreepids", () => { }, ); - const input = screen.getByRole("textbox", { name: "Email Address" }); + const input = await screen.findByRole("textbox", { name: "Email Address" }); await userEvent.type(input, EMAIL1.address); const addButton = screen.getByRole("button", { name: "Add" }); await userEvent.click(addButton); @@ -166,7 +126,7 @@ describe("AddRemoveThreepids", () => { }, ); - const input = screen.getByRole("textbox", { name: "Email Address" }); + const input = await screen.findByRole("textbox", { name: "Email Address" }); await userEvent.type(input, EMAIL1.address); const addButton = screen.getByRole("button", { name: "Add" }); await userEvent.click(addButton); @@ -210,7 +170,7 @@ describe("AddRemoveThreepids", () => { }, ); - const countryDropdown = screen.getByRole("button", { name: /Country Dropdown/ }); + const countryDropdown = await screen.findByRole("button", { name: /Country Dropdown/ }); await userEvent.click(countryDropdown); const gbOption = screen.getByRole("option", { name: "🇬🇧 United Kingdom (+44)" }); await userEvent.click(gbOption); @@ -270,7 +230,7 @@ describe("AddRemoveThreepids", () => { }, ); - const removeButton = screen.getByRole("button", { name: /Remove/ }); + const removeButton = await screen.findByRole("button", { name: /Remove/ }); await userEvent.click(removeButton); expect(screen.getByText(`Remove ${EMAIL1.address}?`)).toBeVisible(); @@ -297,7 +257,7 @@ describe("AddRemoveThreepids", () => { }, ); - const removeButton = screen.getByRole("button", { name: /Remove/ }); + const removeButton = await screen.findByRole("button", { name: /Remove/ }); await userEvent.click(removeButton); expect(screen.getByText(`Remove ${EMAIL1.address}?`)).toBeVisible(); @@ -326,7 +286,7 @@ describe("AddRemoveThreepids", () => { }, ); - const removeButton = screen.getByRole("button", { name: /Remove/ }); + const removeButton = await screen.findByRole("button", { name: /Remove/ }); await userEvent.click(removeButton); expect(screen.getByText(`Remove ${PHONE1.address}?`)).toBeVisible(); @@ -357,7 +317,7 @@ describe("AddRemoveThreepids", () => { }, ); - expect(screen.getByText(EMAIL1.address)).toBeVisible(); + await expect(screen.findByText(EMAIL1.address)).resolves.toBeVisible(); const shareButton = screen.getByRole("button", { name: /Share/ }); await userEvent.click(shareButton); @@ -408,7 +368,7 @@ describe("AddRemoveThreepids", () => { }, ); - expect(screen.getByText(PHONE1.address)).toBeVisible(); + await expect(screen.findByText(PHONE1.address)).resolves.toBeVisible(); const shareButton = screen.getByRole("button", { name: /Share/ }); await userEvent.click(shareButton); @@ -452,7 +412,7 @@ describe("AddRemoveThreepids", () => { }, ); - expect(screen.getByText(EMAIL1.address)).toBeVisible(); + await expect(screen.findByText(EMAIL1.address)).resolves.toBeVisible(); const revokeButton = screen.getByRole("button", { name: /Revoke/ }); await userEvent.click(revokeButton); @@ -475,7 +435,7 @@ describe("AddRemoveThreepids", () => { }, ); - expect(screen.getByText(PHONE1.address)).toBeVisible(); + await expect(screen.findByText(PHONE1.address)).resolves.toBeVisible(); const revokeButton = screen.getByRole("button", { name: /Revoke/ }); await userEvent.click(revokeButton); @@ -596,4 +556,48 @@ describe("AddRemoveThreepids", () => { }), ); }); + + it("should render a loader while loading", async () => { + render( + {}} + />, + ); + + expect(screen.getByLabelText("Loading…")).toBeInTheDocument(); + }); + + it("should render email addresses", async () => { + const { container } = render( + {}} + />, + ); + + await expect(screen.findByText(EMAIL1.address)).resolves.toBeVisible(); + expect(container).toMatchSnapshot(); + }); + + it("should render phone numbers", async () => { + const { container } = render( + {}} + />, + ); + + await expect(screen.findByText(PHONE1.address)).resolves.toBeVisible(); + expect(container).toMatchSnapshot(); + }); }); diff --git a/test/unit-tests/components/views/settings/__snapshots__/AddRemoveThreepids-test.tsx.snap b/test/unit-tests/components/views/settings/__snapshots__/AddRemoveThreepids-test.tsx.snap index 52e754d691..0258ce7092 100644 --- a/test/unit-tests/components/views/settings/__snapshots__/AddRemoveThreepids-test.tsx.snap +++ b/test/unit-tests/components/views/settings/__snapshots__/AddRemoveThreepids-test.tsx.snap @@ -11,14 +11,14 @@ exports[`AddRemoveThreepids should handle no email addresses 1`] = ` > @@ -61,14 +61,14 @@ exports[`AddRemoveThreepids should render email addresses 1`] = ` > @@ -148,14 +148,14 @@ exports[`AddRemoveThreepids should render phone numbers 1`] = ` diff --git a/test/unit-tests/components/views/settings/devices/LoginWithQR-test.tsx b/test/unit-tests/components/views/settings/devices/LoginWithQR-test.tsx index 218e43ac1f..98a0657eae 100644 --- a/test/unit-tests/components/views/settings/devices/LoginWithQR-test.tsx +++ b/test/unit-tests/components/views/settings/devices/LoginWithQR-test.tsx @@ -79,9 +79,7 @@ describe("", () => { describe("MSC4108", () => { const getComponent = (props: { client: MatrixClient; onFinished?: () => void }) => ( - - - + ); test("render QR then back", async () => { diff --git a/test/unit-tests/components/views/settings/tabs/user/SessionManagerTab-test.tsx b/test/unit-tests/components/views/settings/tabs/user/SessionManagerTab-test.tsx index 52c9d3aaa9..87411e18a1 100644 --- a/test/unit-tests/components/views/settings/tabs/user/SessionManagerTab-test.tsx +++ b/test/unit-tests/components/views/settings/tabs/user/SessionManagerTab-test.tsx @@ -277,9 +277,7 @@ describe("", () => { mockClient.getDevices.mockRejectedValue({ httpStatus: 404 }); const { container } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); expect(container.getElementsByClassName("mx_Spinner").length).toBeFalsy(); }); @@ -302,9 +300,7 @@ describe("", () => { const { getByTestId } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); expect(mockCrypto.getDeviceVerificationStatus).toHaveBeenCalledTimes(3); expect( @@ -337,9 +333,7 @@ describe("", () => { const { getByTestId } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); // twice for each device expect(mockClient.getAccountData).toHaveBeenCalledTimes(4); @@ -356,9 +350,7 @@ describe("", () => { const { getByTestId, queryByTestId } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); toggleDeviceDetails(getByTestId, alicesDevice.device_id); // application metadata section not rendered @@ -369,9 +361,7 @@ describe("", () => { mockClient.getDevices.mockResolvedValue({ devices: [alicesDevice] }); const { queryByTestId } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); expect(queryByTestId("other-sessions-section")).toBeFalsy(); }); @@ -382,9 +372,7 @@ describe("", () => { }); const { getByTestId } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); expect(getByTestId("other-sessions-section")).toBeTruthy(); }); @@ -395,9 +383,7 @@ describe("", () => { }); const { getByTestId, container } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); fireEvent.click(getByTestId("unverified-devices-cta")); @@ -908,7 +894,8 @@ describe("", () => { }); it("deletes a device when interactive auth is not required", async () => { - mockClient.deleteMultipleDevices.mockResolvedValue({}); + const deferredDeleteMultipleDevices = defer<{}>(); + mockClient.deleteMultipleDevices.mockReturnValue(deferredDeleteMultipleDevices.promise); mockClient.getDevices.mockResolvedValue({ devices: [alicesDevice, alicesMobileDevice, alicesOlderMobileDevice], }); @@ -933,6 +920,7 @@ describe("", () => { fireEvent.click(signOutButton); await confirmSignout(getByTestId); await prom; + deferredDeleteMultipleDevices.resolve({}); // delete called expect(mockClient.deleteMultipleDevices).toHaveBeenCalledWith( @@ -991,7 +979,7 @@ describe("", () => { const { getByTestId, getByLabelText } = render(getComponent()); - await act(flushPromises); + await flushPromises(); // reset mock count after initial load mockClient.getDevices.mockClear(); @@ -1025,7 +1013,7 @@ describe("", () => { fireEvent.submit(getByLabelText("Password")); }); - await act(flushPromises); + await flushPromises(); // called again with auth expect(mockClient.deleteMultipleDevices).toHaveBeenCalledWith([alicesMobileDevice.device_id], { @@ -1551,7 +1539,7 @@ describe("", () => { }); const { getByTestId, container } = render(getComponent()); - await act(flushPromises); + await flushPromises(); // filter for inactive sessions await setFilter(container, DeviceSecurityVariation.Inactive); @@ -1577,9 +1565,7 @@ describe("", () => { it("lets you change the pusher state", async () => { const { getByTestId } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); toggleDeviceDetails(getByTestId, alicesMobileDevice.device_id); @@ -1598,9 +1584,7 @@ describe("", () => { it("lets you change the local notification settings state", async () => { const { getByTestId } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); toggleDeviceDetails(getByTestId, alicesDevice.device_id); @@ -1621,9 +1605,7 @@ describe("", () => { it("updates the UI when another session changes the local notifications", async () => { const { getByTestId } = render(getComponent()); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); toggleDeviceDetails(getByTestId, alicesDevice.device_id); diff --git a/test/unit-tests/components/views/settings/tabs/user/__snapshots__/AccountUserSettingsTab-test.tsx.snap b/test/unit-tests/components/views/settings/tabs/user/__snapshots__/AccountUserSettingsTab-test.tsx.snap index 6c51cc41ab..5c6a8ac8ee 100644 --- a/test/unit-tests/components/views/settings/tabs/user/__snapshots__/AccountUserSettingsTab-test.tsx.snap +++ b/test/unit-tests/components/views/settings/tabs/user/__snapshots__/AccountUserSettingsTab-test.tsx.snap @@ -42,14 +42,14 @@ exports[` 3pids should display 3pid email addresses an > @@ -145,14 +145,14 @@ exports[` 3pids should display 3pid email addresses an diff --git a/test/unit-tests/components/views/settings/tabs/user/__snapshots__/SessionManagerTab-test.tsx.snap b/test/unit-tests/components/views/settings/tabs/user/__snapshots__/SessionManagerTab-test.tsx.snap index 38f9e483c8..72f94d29c6 100644 --- a/test/unit-tests/components/views/settings/tabs/user/__snapshots__/SessionManagerTab-test.tsx.snap +++ b/test/unit-tests/components/views/settings/tabs/user/__snapshots__/SessionManagerTab-test.tsx.snap @@ -388,7 +388,7 @@ exports[` goes to filtered list from security recommendatio > { otherDeviceId, }); const result = renderComponent({ request }); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); expect(result.container).toMatchSnapshot(); }); @@ -76,9 +74,7 @@ describe("VerificationRequestToast", () => { otherUserId, }); const result = renderComponent({ request }); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); expect(result.container).toMatchSnapshot(); }); @@ -89,9 +85,7 @@ describe("VerificationRequestToast", () => { otherUserId, }); renderComponent({ request, toastKey: "testKey" }); - await act(async () => { - await flushPromises(); - }); + await flushPromises(); const dismiss = jest.spyOn(ToastStore.sharedInstance(), "dismissToast"); Object.defineProperty(request, "accepting", { value: true }); diff --git a/test/unit-tests/toasts/UnverifiedSessionToast-test.tsx b/test/unit-tests/toasts/UnverifiedSessionToast-test.tsx index c7df2a0e6e..8b68b3e378 100644 --- a/test/unit-tests/toasts/UnverifiedSessionToast-test.tsx +++ b/test/unit-tests/toasts/UnverifiedSessionToast-test.tsx @@ -65,7 +65,8 @@ describe("UnverifiedSessionToast", () => { }); }; - it("should render as expected", () => { + it("should render as expected", async () => { + await expect(screen.findByText("New login. Was this you?")).resolves.toBeInTheDocument(); expect(renderResult.baseElement).toMatchSnapshot(); }); diff --git a/test/unit-tests/utils/media/requestMediaPermissions-test.tsx b/test/unit-tests/utils/media/requestMediaPermissions-test.tsx index 14dfa15505..0683ad1b67 100644 --- a/test/unit-tests/utils/media/requestMediaPermissions-test.tsx +++ b/test/unit-tests/utils/media/requestMediaPermissions-test.tsx @@ -21,7 +21,7 @@ describe("requestMediaPermissions", () => { const itShouldLogTheErrorAndShowTheNoMediaPermissionsModal = () => { it("should log the error and show the »No media permissions« modal", async () => { expect(logger.log).toHaveBeenCalledWith("Failed to list userMedia devices", error); - await screen.findByText("No media permissions"); + await expect(screen.findByText("No media permissions")).resolves.toBeInTheDocument(); }); }; diff --git a/test/unit-tests/vector/__snapshots__/init-test.ts.snap b/test/unit-tests/vector/__snapshots__/init-test.ts.snap index eeb5e5967c..4fd8e03459 100644 --- a/test/unit-tests/vector/__snapshots__/init-test.ts.snap +++ b/test/unit-tests/vector/__snapshots__/init-test.ts.snap @@ -103,6 +103,7 @@ exports[`showIncompatibleBrowser should match snapshot 1`] = `

+
+
+ ); +}; + +function substituteATag(sub: string): React.ReactNode { + return ( + + {sub} + + ); +} + +function substituteBTag(sub: string): React.ReactNode { + return {sub}; +} diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 3b4765b0ad..66428300a0 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -905,6 +905,8 @@ "warning": "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings." }, "not_supported": "", + "pinned_identity_changed": "%(displayName)s's (%(userId)s) identity appears to have changed. Learn more", + "pinned_identity_changed_no_displayname": "%(userId)s's identity appears to have changed. Learn more", "recovery_method_removed": { "description_1": "This session has detected that your Security Phrase and key for Secure Messages have been removed.", "description_2": "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.", diff --git a/test/unit-tests/components/views/rooms/UserIdentityWarning-test.tsx b/test/unit-tests/components/views/rooms/UserIdentityWarning-test.tsx new file mode 100644 index 0000000000..9a70a88768 --- /dev/null +++ b/test/unit-tests/components/views/rooms/UserIdentityWarning-test.tsx @@ -0,0 +1,534 @@ +/* +Copyright 2024 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import React from "react"; +import { sleep } from "matrix-js-sdk/src/utils"; +import { + EventType, + MatrixClient, + MatrixEvent, + Room, + RoomState, + RoomStateEvent, + RoomMember, +} from "matrix-js-sdk/src/matrix"; +import { CryptoEvent, UserVerificationStatus } from "matrix-js-sdk/src/crypto-api"; +import { act, render, screen, waitFor } from "jest-matrix-react"; +import userEvent from "@testing-library/user-event"; + +import { stubClient } from "../../../../test-utils"; +import { UserIdentityWarning } from "../../../../../src/components/views/rooms/UserIdentityWarning"; +import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; + +const ROOM_ID = "!room:id"; + +function mockRoom(): Room { + const room = { + getEncryptionTargetMembers: jest.fn(async () => []), + getMember: jest.fn((userId) => {}), + roomId: ROOM_ID, + shouldEncryptForInvitedMembers: jest.fn(() => true), + } as unknown as Room; + + return room; +} + +function mockRoomMember(userId: string, name?: string): RoomMember { + return { + userId, + name: name ?? userId, + rawDisplayName: name ?? userId, + roomId: ROOM_ID, + getMxcAvatarUrl: jest.fn(), + } as unknown as RoomMember; +} + +function dummyRoomState(): RoomState { + return new RoomState(ROOM_ID); +} + +/** + * Get the warning element, given the warning text (excluding the "Learn more" + * link). This is needed because the warning text contains a `` tag, so the + * normal `getByText` doesn't work. + */ +function getWarningByText(text: string): Element { + return screen.getByText((content?: string, element?: Element | null): boolean => { + return ( + !!element && + element.classList.contains("mx_UserIdentityWarning_main") && + element.textContent === text + " Learn more" + ); + }); +} + +function renderComponent(client: MatrixClient, room: Room) { + return render(, { + wrapper: ({ ...rest }) => , + }); +} + +describe("UserIdentityWarning", () => { + let client: MatrixClient; + let room: Room; + + beforeEach(async () => { + client = stubClient(); + room = mockRoom(); + jest.spyOn(client.getCrypto()!, "isEncryptionEnabledInRoom").mockResolvedValue(true); + }); + + afterEach(() => { + jest.restoreAllMocks(); + }); + + // This tests the basic functionality of the component. If we have a room + // member whose identity needs accepting, we should display a warning. When + // the "OK" button gets pressed, it should call `pinCurrentUserIdentity`. + it("displays a warning when a user's identity needs approval", async () => { + jest.spyOn(room, "getEncryptionTargetMembers").mockResolvedValue([ + mockRoomMember("@alice:example.org", "Alice"), + ]); + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false, true), + ); + crypto.pinCurrentUserIdentity = jest.fn(); + renderComponent(client, room); + + await waitFor(() => + expect( + getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), + ).toBeInTheDocument(), + ); + await userEvent.click(screen.getByRole("button")!); + await waitFor(() => expect(crypto.pinCurrentUserIdentity).toHaveBeenCalledWith("@alice:example.org")); + }); + + // We don't display warnings in non-encrypted rooms, but if encryption is + // enabled, then we should display a warning if there are any users whose + // identity need accepting. + it("displays pending warnings when encryption is enabled", async () => { + jest.spyOn(room, "getEncryptionTargetMembers").mockResolvedValue([ + mockRoomMember("@alice:example.org", "Alice"), + ]); + // Start the room off unencrypted. We shouldn't display anything. + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "isEncryptionEnabledInRoom").mockResolvedValue(false); + jest.spyOn(crypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false, true), + ); + + renderComponent(client, room); + await sleep(10); // give it some time to finish initialising + expect(() => getWarningByText("Alice's (@alice:example.org) identity appears to have changed.")).toThrow(); + + // Encryption gets enabled in the room. We should now warn that Alice's + // identity changed. + jest.spyOn(crypto, "isEncryptionEnabledInRoom").mockResolvedValue(true); + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomEncryption, + state_key: "", + content: { + algorithm: "m.megolm.v1.aes-sha2", + }, + room_id: ROOM_ID, + sender: "@alice:example.org", + }), + dummyRoomState(), + null, + ); + await waitFor(() => + expect( + getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), + ).toBeInTheDocument(), + ); + }); + + // When a user's identity needs approval, or has been approved, the display + // should update appropriately. + it("updates the display when identity changes", async () => { + jest.spyOn(room, "getEncryptionTargetMembers").mockResolvedValue([ + mockRoomMember("@alice:example.org", "Alice"), + ]); + jest.spyOn(room, "getMember").mockReturnValue(mockRoomMember("@alice:example.org", "Alice")); + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false, false), + ); + renderComponent(client, room); + await sleep(10); // give it some time to finish initialising + expect(() => getWarningByText("Alice's (@alice:example.org) identity appears to have changed.")).toThrow(); + + // The user changes their identity, so we should show the warning. + act(() => { + client.emit( + CryptoEvent.UserTrustStatusChanged, + "@alice:example.org", + new UserVerificationStatus(false, false, false, true), + ); + }); + await waitFor(() => + expect( + getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), + ).toBeInTheDocument(), + ); + + // Simulate the user's new identity having been approved, so we no + // longer show the warning. + act(() => { + client.emit( + CryptoEvent.UserTrustStatusChanged, + "@alice:example.org", + new UserVerificationStatus(false, false, false, false), + ); + }); + await waitFor(() => + expect(() => getWarningByText("Alice's (@alice:example.org) identity appears to have changed.")).toThrow(), + ); + }); + + // We only display warnings about users in the room. When someone + // joins/leaves, we should update the warning appropriately. + describe("updates the display when a member joins/leaves", () => { + it("when invited users can see encrypted messages", async () => { + // Nobody in the room yet + jest.spyOn(room, "getEncryptionTargetMembers").mockResolvedValue([]); + jest.spyOn(room, "getMember").mockImplementation((userId) => mockRoomMember(userId)); + jest.spyOn(room, "shouldEncryptForInvitedMembers").mockReturnValue(true); + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false, true), + ); + renderComponent(client, room); + await sleep(10); // give it some time to finish initialising + + // Alice joins. Her identity needs approval, so we should show a warning. + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomMember, + state_key: "@alice:example.org", + content: { + membership: "join", + }, + room_id: ROOM_ID, + sender: "@alice:example.org", + }), + dummyRoomState(), + null, + ); + await waitFor(() => + expect(getWarningByText("@alice:example.org's identity appears to have changed.")).toBeInTheDocument(), + ); + + // Bob is invited. His identity needs approval, so we should show a + // warning for him after Alice's warning is resolved by her leaving. + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomMember, + state_key: "@bob:example.org", + content: { + membership: "invite", + }, + room_id: ROOM_ID, + sender: "@carol:example.org", + }), + dummyRoomState(), + null, + ); + + // Alice leaves, so we no longer show her warning, but we will show + // a warning for Bob. + act(() => { + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomMember, + state_key: "@alice:example.org", + content: { + membership: "leave", + }, + room_id: ROOM_ID, + sender: "@alice:example.org", + }), + dummyRoomState(), + null, + ); + }); + await waitFor(() => + expect(() => getWarningByText("@alice:example.org's identity appears to have changed.")).toThrow(), + ); + await waitFor(() => + expect(getWarningByText("@bob:example.org's identity appears to have changed.")).toBeInTheDocument(), + ); + }); + + it("when invited users cannot see encrypted messages", async () => { + // Nobody in the room yet + jest.spyOn(room, "getEncryptionTargetMembers").mockResolvedValue([]); + jest.spyOn(room, "getMember").mockImplementation((userId) => mockRoomMember(userId)); + jest.spyOn(room, "shouldEncryptForInvitedMembers").mockReturnValue(false); + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false, true), + ); + renderComponent(client, room); + await sleep(10); // give it some time to finish initialising + + // Alice joins. Her identity needs approval, so we should show a warning. + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomMember, + state_key: "@alice:example.org", + content: { + membership: "join", + }, + room_id: ROOM_ID, + sender: "@alice:example.org", + }), + dummyRoomState(), + null, + ); + await waitFor(() => + expect(getWarningByText("@alice:example.org's identity appears to have changed.")).toBeInTheDocument(), + ); + + // Bob is invited. His identity needs approval, but we don't encrypt + // to him, so we won't show a warning. (When Alice leaves, the + // display won't be updated to show a warningfor Bob.) + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomMember, + state_key: "@bob:example.org", + content: { + membership: "invite", + }, + room_id: ROOM_ID, + sender: "@carol:example.org", + }), + dummyRoomState(), + null, + ); + + // Alice leaves, so we no longer show her warning, and we don't show + // a warning for Bob. + act(() => { + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomMember, + state_key: "@alice:example.org", + content: { + membership: "leave", + }, + room_id: ROOM_ID, + sender: "@alice:example.org", + }), + dummyRoomState(), + null, + ); + }); + await waitFor(() => + expect(() => getWarningByText("@alice:example.org's identity appears to have changed.")).toThrow(), + ); + await waitFor(() => + expect(() => getWarningByText("@bob:example.org's identity appears to have changed.")).toThrow(), + ); + }); + + it("when member leaves immediately after component is loaded", async () => { + jest.spyOn(room, "getEncryptionTargetMembers").mockImplementation(async () => { + setTimeout(() => { + // Alice immediately leaves after we get the room + // membership, so we shouldn't show the warning any more + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomMember, + state_key: "@alice:example.org", + content: { + membership: "leave", + }, + room_id: ROOM_ID, + sender: "@alice:example.org", + }), + dummyRoomState(), + null, + ); + }); + return [mockRoomMember("@alice:example.org")]; + }); + jest.spyOn(room, "getMember").mockImplementation((userId) => mockRoomMember(userId)); + jest.spyOn(room, "shouldEncryptForInvitedMembers").mockReturnValue(false); + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false, true), + ); + renderComponent(client, room); + + await sleep(10); + expect(() => getWarningByText("@alice:example.org's identity appears to have changed.")).toThrow(); + }); + + it("when member leaves immediately after joining", async () => { + // Nobody in the room yet + jest.spyOn(room, "getEncryptionTargetMembers").mockResolvedValue([]); + jest.spyOn(room, "getMember").mockImplementation((userId) => mockRoomMember(userId)); + jest.spyOn(room, "shouldEncryptForInvitedMembers").mockReturnValue(false); + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false, true), + ); + renderComponent(client, room); + await sleep(10); // give it some time to finish initialising + + // Alice joins. Her identity needs approval, so we should show a warning. + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomMember, + state_key: "@alice:example.org", + content: { + membership: "join", + }, + room_id: ROOM_ID, + sender: "@alice:example.org", + }), + dummyRoomState(), + null, + ); + // ... but she immediately leaves, so we shouldn't show the warning any more + client.emit( + RoomStateEvent.Events, + new MatrixEvent({ + event_id: "$event_id", + type: EventType.RoomMember, + state_key: "@alice:example.org", + content: { + membership: "leave", + }, + room_id: ROOM_ID, + sender: "@alice:example.org", + }), + dummyRoomState(), + null, + ); + await sleep(10); // give it some time to finish + expect(() => getWarningByText("@alice:example.org's identity appears to have changed.")).toThrow(); + }); + }); + + // When we have multiple users whose identity needs approval, one user's + // identity no longer needs approval (e.g. their identity was approved), + // then we show the next one. + it("displays the next user when the current user's identity is approved", async () => { + jest.spyOn(room, "getEncryptionTargetMembers").mockResolvedValue([ + mockRoomMember("@alice:example.org", "Alice"), + mockRoomMember("@bob:example.org"), + ]); + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false, true), + ); + + renderComponent(client, room); + // We should warn about Alice's identity first. + await waitFor(() => + expect( + getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), + ).toBeInTheDocument(), + ); + + // Simulate Alice's new identity having been approved, so now we warn + // about Bob's identity. + act(() => { + client.emit( + CryptoEvent.UserTrustStatusChanged, + "@alice:example.org", + new UserVerificationStatus(false, false, false, false), + ); + }); + await waitFor(() => + expect(getWarningByText("@bob:example.org's identity appears to have changed.")).toBeInTheDocument(), + ); + }); + + // If we get an update for a user's verification status while we're fetching + // that user's verification status, we should display based on the updated + // value. + describe("handles races between fetching verification status and receiving updates", () => { + // First case: check that if the update says that the user identity + // needs approval, but the fetch says it doesn't, we show the warning. + it("update says identity needs approval", async () => { + jest.spyOn(room, "getEncryptionTargetMembers").mockResolvedValue([ + mockRoomMember("@alice:example.org", "Alice"), + ]); + jest.spyOn(room, "getMember").mockReturnValue(mockRoomMember("@alice:example.org", "Alice")); + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "getUserVerificationStatus").mockImplementation(async () => { + act(() => { + client.emit( + CryptoEvent.UserTrustStatusChanged, + "@alice:example.org", + new UserVerificationStatus(false, false, false, true), + ); + }); + return Promise.resolve(new UserVerificationStatus(false, false, false, false)); + }); + renderComponent(client, room); + await sleep(10); // give it some time to finish initialising + await waitFor(() => + expect( + getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), + ).toBeInTheDocument(), + ); + }); + + // Second case: check that if the update says that the user identity + // doesn't needs approval, but the fetch says it does, we don't show the + // warning. + it("update says identity doesn't need approval", async () => { + jest.spyOn(room, "getEncryptionTargetMembers").mockResolvedValue([ + mockRoomMember("@alice:example.org", "Alice"), + ]); + jest.spyOn(room, "getMember").mockReturnValue(mockRoomMember("@alice:example.org", "Alice")); + const crypto = client.getCrypto()!; + jest.spyOn(crypto, "getUserVerificationStatus").mockImplementation(async () => { + act(() => { + client.emit( + CryptoEvent.UserTrustStatusChanged, + "@alice:example.org", + new UserVerificationStatus(false, false, false, false), + ); + }); + return Promise.resolve(new UserVerificationStatus(false, false, false, true)); + }); + renderComponent(client, room); + await sleep(10); // give it some time to finish initialising + await waitFor(() => + expect(() => + getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), + ).toThrow(), + ); + }); + }); +}); From 8df26a54cf437318ba1bfc467b43437c51512799 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 22 Nov 2024 10:24:59 +0000 Subject: [PATCH 28/78] Fix getOidcCallbackUrl for Element Desktop (#28521) Got broken by a Chrome change Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/vector/platform/ElectronPlatform.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/vector/platform/ElectronPlatform.tsx b/src/vector/platform/ElectronPlatform.tsx index d7ebd94bb2..ac6e7a7feb 100644 --- a/src/vector/platform/ElectronPlatform.tsx +++ b/src/vector/platform/ElectronPlatform.tsx @@ -474,10 +474,8 @@ export default class ElectronPlatform extends BasePlatform { const url = super.getOidcCallbackUrl(); url.protocol = "io.element.desktop"; // Trim the double slash into a single slash to comply with https://datatracker.ietf.org/doc/html/rfc8252#section-7.1 - // Chrome seems to have a strange issue where non-standard protocols prevent URL object mutations on pathname - // field, so we cannot mutate `pathname` reliably and instead have to rewrite the href manually. - if (url.pathname.startsWith("//")) { - url.href = url.href.replace(url.pathname, url.pathname.slice(1)); + if (url.href.startsWith(`${url.protocol}://`)) { + url.href = url.href.replace("://", ":/"); } return url; } From e0e522a0e9e39c7da323c1501264fd7e5cac49c5 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 22 Nov 2024 11:52:24 +0000 Subject: [PATCH 29/78] Fix permissions in build_develop.yml Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_develop.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_develop.yml b/.github/workflows/build_develop.yml index c21ab831e6..8bbcfe726f 100644 --- a/.github/workflows/build_develop.yml +++ b/.github/workflows/build_develop.yml @@ -20,6 +20,7 @@ jobs: permissions: checks: read pages: write + deployments: write env: R2_BUCKET: "element-web-develop" R2_URL: ${{ vars.CF_R2_S3_API }} From 3d6664109b7a1717c02be8a48ad354ac637fc27d Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 22 Nov 2024 13:58:37 +0000 Subject: [PATCH 30/78] Send and respect MSC4230 is_animated flag (#28513) * PoC implementation for is_animated m.image flag Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update MSC reference Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/@types/matrix-js-sdk.d.ts | 7 +++++++ src/ContentMessages.ts | 8 +++++++- src/components/views/messages/MImageBody.tsx | 13 ++++++++++--- src/utils/image-media.ts | 16 ++-------------- 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/src/@types/matrix-js-sdk.d.ts b/src/@types/matrix-js-sdk.d.ts index dcef9c2eb9..73366f2fee 100644 --- a/src/@types/matrix-js-sdk.d.ts +++ b/src/@types/matrix-js-sdk.d.ts @@ -22,6 +22,13 @@ declare module "matrix-js-sdk/src/types" { [BLURHASH_FIELD]?: string; } + export interface ImageInfo { + /** + * @see https://github.com/matrix-org/matrix-spec-proposals/pull/4230 + */ + "org.matrix.msc4230.is_animated"?: boolean; + } + export interface StateEvents { // Jitsi-backed video room state events [JitsiCallMemberEventType]: JitsiCallMemberContent; diff --git a/src/ContentMessages.ts b/src/ContentMessages.ts index 895e168f3b..344a2f112c 100644 --- a/src/ContentMessages.ts +++ b/src/ContentMessages.ts @@ -56,6 +56,7 @@ import { createThumbnail } from "./utils/image-media"; import { attachMentions, attachRelation } from "./components/views/rooms/SendMessageComposer"; import { doMaybeLocalRoomAction } from "./utils/local-room"; import { SdkContextClass } from "./contexts/SDKContext"; +import { blobIsAnimated } from "./utils/Image.ts"; // scraped out of a macOS hidpi (5660ppm) screenshot png // 5669 px (x-axis) , 5669 px (y-axis) , per metre @@ -150,15 +151,20 @@ async function infoForImageFile(matrixClient: MatrixClient, roomId: string, imag thumbnailType = "image/jpeg"; } + // We don't await this immediately so it can happen in the background + const isAnimatedPromise = blobIsAnimated(imageFile.type, imageFile); + const imageElement = await loadImageElement(imageFile); const result = await createThumbnail(imageElement.img, imageElement.width, imageElement.height, thumbnailType); const imageInfo = result.info; + imageInfo["org.matrix.msc4230.is_animated"] = await isAnimatedPromise; + // For lesser supported image types, always include the thumbnail even if it is larger if (!ALWAYS_INCLUDE_THUMBNAIL.includes(imageFile.type)) { // we do all sizing checks here because we still rely on thumbnail generation for making a blurhash from. - const sizeDifference = imageFile.size - imageInfo.thumbnail_info!.size; + const sizeDifference = imageFile.size - imageInfo.thumbnail_info!.size!; if ( // image is small enough already imageFile.size <= IMAGE_SIZE_THRESHOLD_THUMBNAIL || diff --git a/src/components/views/messages/MImageBody.tsx b/src/components/views/messages/MImageBody.tsx index d8cac8e28b..7d45e71a4b 100644 --- a/src/components/views/messages/MImageBody.tsx +++ b/src/components/views/messages/MImageBody.tsx @@ -275,7 +275,7 @@ export default class MImageBody extends React.Component { } const content = this.props.mxEvent.getContent(); - let isAnimated = mayBeAnimated(content.info?.mimetype); + let isAnimated = content.info?.["org.matrix.msc4230.is_animated"] ?? mayBeAnimated(content.info?.mimetype); // If there is no included non-animated thumbnail then we will generate our own, we can't depend on the server // because 1. encryption and 2. we can't ask the server specifically for a non-animated thumbnail. @@ -298,8 +298,15 @@ export default class MImageBody extends React.Component { } try { - const blob = await this.props.mediaEventHelper!.sourceBlob.value; - if (!(await blobIsAnimated(content.info?.mimetype, blob))) { + // If we didn't receive the MSC4230 is_animated flag + // then we need to check if the image is animated by downloading it. + if ( + content.info?.["org.matrix.msc4230.is_animated"] === false || + !(await blobIsAnimated( + content.info?.mimetype, + await this.props.mediaEventHelper!.sourceBlob.value, + )) + ) { isAnimated = false; } diff --git a/src/utils/image-media.ts b/src/utils/image-media.ts index 5e0fb07678..5c013c7b1a 100644 --- a/src/utils/image-media.ts +++ b/src/utils/image-media.ts @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import { EncryptedFile } from "matrix-js-sdk/src/types"; +import { ImageInfo } from "matrix-js-sdk/src/types"; import { BlurhashEncoder } from "../BlurhashEncoder"; @@ -15,19 +15,7 @@ type ThumbnailableElement = HTMLImageElement | HTMLVideoElement; export const BLURHASH_FIELD = "xyz.amorgan.blurhash"; // MSC2448 interface IThumbnail { - info: { - thumbnail_info?: { - w: number; - h: number; - mimetype: string; - size: number; - }; - w: number; - h: number; - [BLURHASH_FIELD]?: string; - thumbnail_url?: string; - thumbnail_file?: EncryptedFile; - }; + info: ImageInfo; thumbnail: Blob; } From fd7c50f61d4339f13975b8b7ebc009f8488e0115 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Sat, 23 Nov 2024 06:21:36 +0000 Subject: [PATCH 31/78] [create-pull-request] automated change (#28528) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- playwright/plugins/homeserver/synapse/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright/plugins/homeserver/synapse/index.ts b/playwright/plugins/homeserver/synapse/index.ts index 0a14950b1f..7ccbd7def3 100644 --- a/playwright/plugins/homeserver/synapse/index.ts +++ b/playwright/plugins/homeserver/synapse/index.ts @@ -20,7 +20,7 @@ import { randB64Bytes } from "../../utils/rand"; // Docker tag to use for synapse docker image. // We target a specific digest as every now and then a Synapse update will break our CI. // This digest is updated by the playwright-image-updates.yaml workflow periodically. -const DOCKER_TAG = "develop@sha256:127c68d4468019ce363c8b2fd7a42a3ef50710eb3aaf288a2295dd4623ce9f54"; +const DOCKER_TAG = "develop@sha256:34da08a44994e0ad2def7ed5f28c3cc7a2f7ead9722f4ae87b23030f59384ea5"; async function cfgDirFromTemplate(opts: StartHomeserverOpts): Promise> { const templateDir = path.join(__dirname, "templates", opts.template); From ede91bf9218b9d8152fd9bd3e80717f5ac8aaf3c Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 25 Nov 2024 10:30:42 +0100 Subject: [PATCH 32/78] Use `CryptoApi.getKeyBackupInfo` instead of deprecated `MatrixClient.getKeyBackupVersion` (#28450) * Use `CryptoApi.getKeyBackupInfo` instead of deprecated `MatrixClient.getKeyBackupVersion` * Review changes --------- Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> --- src/DeviceListener.ts | 5 ++++- .../security/CreateSecretStorageDialog.tsx | 2 +- src/components/structures/MatrixChat.tsx | 2 +- src/components/views/dialogs/LogoutDialog.tsx | 2 +- .../security/RestoreKeyBackupDialog.tsx | 2 +- .../views/settings/SecureBackupPanel.tsx | 11 ++++------- src/stores/SetupEncryptionStore.ts | 2 +- test/test-utils/client.ts | 2 +- test/test-utils/test-utils.ts | 2 +- test/unit-tests/DeviceListener-test.ts | 10 +++++----- .../components/structures/MatrixChat-test.tsx | 2 +- .../views/dialogs/LogoutDialog-test.tsx | 7 +++---- .../CreateSecretStorageDialog-test.tsx | 4 ++-- .../security/RestoreKeyBackupDialog-test.tsx | 4 ++-- .../views/settings/SecureBackupPanel-test.tsx | 18 ++++++++---------- .../tabs/user/SecurityUserSettingsTab-test.tsx | 1 - .../stores/SetupEncryptionStore-test.ts | 1 + 17 files changed, 37 insertions(+), 40 deletions(-) diff --git a/src/DeviceListener.ts b/src/DeviceListener.ts index 4f47cd7eac..84d83827da 100644 --- a/src/DeviceListener.ts +++ b/src/DeviceListener.ts @@ -230,12 +230,15 @@ export default class DeviceListener { private async getKeyBackupInfo(): Promise { if (!this.client) return null; const now = new Date().getTime(); + const crypto = this.client.getCrypto(); + if (!crypto) return null; + if ( !this.keyBackupInfo || !this.keyBackupFetchedAt || this.keyBackupFetchedAt < now - KEY_BACKUP_POLL_INTERVAL ) { - this.keyBackupInfo = await this.client.getKeyBackupVersion(); + this.keyBackupInfo = await crypto.getKeyBackupInfo(); this.keyBackupFetchedAt = now; } return this.keyBackupInfo; diff --git a/src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx b/src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx index 1258bde2ca..932f6d7fcf 100644 --- a/src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx +++ b/src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx @@ -279,7 +279,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent { } else { // otherwise check the server to see if there's a new one try { - newVersionInfo = await cli.getKeyBackupVersion(); + newVersionInfo = (await cli.getCrypto()?.getKeyBackupInfo()) ?? null; if (newVersionInfo !== null) haveNewVersion = true; } catch (e) { logger.error("Saw key backup error but failed to check backup version!", e); diff --git a/src/components/views/dialogs/LogoutDialog.tsx b/src/components/views/dialogs/LogoutDialog.tsx index cdfaf0e89b..4731c593bc 100644 --- a/src/components/views/dialogs/LogoutDialog.tsx +++ b/src/components/views/dialogs/LogoutDialog.tsx @@ -109,7 +109,7 @@ export default class LogoutDialog extends React.Component { } // backup is not active. see if there is a backup version on the server we ought to back up to. - const backupInfo = await client.getKeyBackupVersion(); + const backupInfo = await crypto.getKeyBackupInfo(); this.setState({ backupStatus: backupInfo ? BackupStatus.SERVER_BACKUP_BUT_DISABLED : BackupStatus.NO_BACKUP }); } diff --git a/src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx b/src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx index ec85e72ac9..fddba10948 100644 --- a/src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx +++ b/src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx @@ -258,7 +258,7 @@ export default class RestoreKeyBackupDialog extends React.PureComponent { this.getUpdatedDiagnostics(); try { const cli = MatrixClientPeg.safeGet(); - const backupInfo = await cli.getKeyBackupVersion(); + const backupInfo = (await cli.getCrypto()?.getKeyBackupInfo()) ?? null; const backupTrustInfo = backupInfo ? await cli.getCrypto()?.isKeyBackupTrusted(backupInfo) : undefined; const activeBackupVersion = (await cli.getCrypto()?.getActiveSessionBackupVersion()) ?? null; @@ -192,12 +192,9 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { if (!proceed) return; this.setState({ loading: true }); const versionToDelete = this.state.backupInfo!.version!; - MatrixClientPeg.safeGet() - .getCrypto() - ?.deleteKeyBackupVersion(versionToDelete) - .then(() => { - this.loadBackupStatus(); - }); + // deleteKeyBackupVersion fires a key backup status event + // which will update the UI + MatrixClientPeg.safeGet().getCrypto()?.deleteKeyBackupVersion(versionToDelete); }, }); }; diff --git a/src/stores/SetupEncryptionStore.ts b/src/stores/SetupEncryptionStore.ts index 2fb9c6a9ca..70c721b1ca 100644 --- a/src/stores/SetupEncryptionStore.ts +++ b/src/stores/SetupEncryptionStore.ts @@ -125,7 +125,7 @@ export class SetupEncryptionStore extends EventEmitter { this.emit("update"); try { const cli = MatrixClientPeg.safeGet(); - const backupInfo = await cli.getKeyBackupVersion(); + const backupInfo = (await cli.getCrypto()?.getKeyBackupInfo()) ?? null; this.backupInfo = backupInfo; this.emit("update"); diff --git a/test/test-utils/client.ts b/test/test-utils/client.ts index 7842afbfe5..a2347f9058 100644 --- a/test/test-utils/client.ts +++ b/test/test-utils/client.ts @@ -143,7 +143,6 @@ export const mockClientMethodsCrypto = (): Partial< > => ({ isKeyBackupKeyStored: jest.fn(), getCrossSigningCacheCallbacks: jest.fn().mockReturnValue({ getCrossSigningKeyCache: jest.fn() }), - getKeyBackupVersion: jest.fn().mockResolvedValue(null), secretStorage: { hasKey: jest.fn() }, getCrypto: jest.fn().mockReturnValue({ getUserDeviceInfo: jest.fn(), @@ -163,6 +162,7 @@ export const mockClientMethodsCrypto = (): Partial< getOwnDeviceKeys: jest.fn().mockReturnValue(new Promise(() => {})), getCrossSigningKeyId: jest.fn(), isEncryptionEnabledInRoom: jest.fn().mockResolvedValue(false), + getKeyBackupInfo: jest.fn().mockResolvedValue(null), }), }); diff --git a/test/test-utils/test-utils.ts b/test/test-utils/test-utils.ts index 78481c2fd0..9af2ffa340 100644 --- a/test/test-utils/test-utils.ts +++ b/test/test-utils/test-utils.ts @@ -99,7 +99,6 @@ export function createTestClient(): MatrixClient { getDevices: jest.fn().mockResolvedValue({ devices: [{ device_id: "ABCDEFGHI" }] }), getSessionId: jest.fn().mockReturnValue("iaszphgvfku"), credentials: { userId: "@userId:matrix.org" }, - getKeyBackupVersion: jest.fn(), secretStorage: { get: jest.fn(), @@ -135,6 +134,7 @@ export function createTestClient(): MatrixClient { restoreKeyBackupWithPassphrase: jest.fn(), loadSessionBackupPrivateKeyFromSecretStorage: jest.fn(), storeSessionBackupPrivateKey: jest.fn(), + getKeyBackupInfo: jest.fn().mockResolvedValue(null), }), getPushActionsForEvent: jest.fn(), diff --git a/test/unit-tests/DeviceListener-test.ts b/test/unit-tests/DeviceListener-test.ts index 906826e456..ad7f14e119 100644 --- a/test/unit-tests/DeviceListener-test.ts +++ b/test/unit-tests/DeviceListener-test.ts @@ -96,12 +96,12 @@ describe("DeviceListener", () => { }), getSessionBackupPrivateKey: jest.fn(), isEncryptionEnabledInRoom: jest.fn(), + getKeyBackupInfo: jest.fn().mockResolvedValue(null), } as unknown as Mocked; mockClient = getMockClientWithEventEmitter({ isGuest: jest.fn(), getUserId: jest.fn().mockReturnValue(userId), getSafeUserId: jest.fn().mockReturnValue(userId), - getKeyBackupVersion: jest.fn().mockResolvedValue(undefined), getRooms: jest.fn().mockReturnValue([]), isVersionSupported: jest.fn().mockResolvedValue(true), isInitialSyncComplete: jest.fn().mockReturnValue(true), @@ -354,7 +354,7 @@ describe("DeviceListener", () => { it("shows set up encryption toast when user has a key backup available", async () => { // non falsy response - mockClient!.getKeyBackupVersion.mockResolvedValue({} as unknown as KeyBackupInfo); + mockCrypto.getKeyBackupInfo.mockResolvedValue({} as unknown as KeyBackupInfo); await createAndStart(); expect(SetupEncryptionToast.showToast).toHaveBeenCalledWith( @@ -673,7 +673,7 @@ describe("DeviceListener", () => { describe("When Room Key Backup is not enabled", () => { beforeEach(() => { // no backup - mockClient.getKeyBackupVersion.mockResolvedValue(null); + mockCrypto.getKeyBackupInfo.mockResolvedValue(null); }); it("Should report recovery state as Enabled", async () => { @@ -722,7 +722,7 @@ describe("DeviceListener", () => { }); // no backup - mockClient.getKeyBackupVersion.mockResolvedValue(null); + mockCrypto.getKeyBackupInfo.mockResolvedValue(null); await createAndStart(); @@ -872,7 +872,7 @@ describe("DeviceListener", () => { describe("When Room Key Backup is enabled", () => { beforeEach(() => { // backup enabled - just need a mock object - mockClient.getKeyBackupVersion.mockResolvedValue({} as KeyBackupInfo); + mockCrypto.getKeyBackupInfo.mockResolvedValue({} as KeyBackupInfo); }); const testCases = [ diff --git a/test/unit-tests/components/structures/MatrixChat-test.tsx b/test/unit-tests/components/structures/MatrixChat-test.tsx index 5cee50ef29..28bf99fa97 100644 --- a/test/unit-tests/components/structures/MatrixChat-test.tsx +++ b/test/unit-tests/components/structures/MatrixChat-test.tsx @@ -139,6 +139,7 @@ describe("", () => { globalBlacklistUnverifiedDevices: false, // This needs to not finish immediately because we need to test the screen appears bootstrapCrossSigning: jest.fn().mockImplementation(() => bootstrapDeferred.promise), + getKeyBackupInfo: jest.fn().mockResolvedValue(null), }), secretStorage: { isStored: jest.fn().mockReturnValue(null), @@ -148,7 +149,6 @@ describe("", () => { whoami: jest.fn(), logout: jest.fn(), getDeviceId: jest.fn(), - getKeyBackupVersion: jest.fn().mockResolvedValue(null), }); let mockClient: Mocked; const serverConfig = { diff --git a/test/unit-tests/components/views/dialogs/LogoutDialog-test.tsx b/test/unit-tests/components/views/dialogs/LogoutDialog-test.tsx index 46fe519b47..0557e538d0 100644 --- a/test/unit-tests/components/views/dialogs/LogoutDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/LogoutDialog-test.tsx @@ -22,7 +22,6 @@ describe("LogoutDialog", () => { beforeEach(() => { mockClient = getMockClientWithEventEmitter({ ...mockClientMethodsCrypto(), - getKeyBackupVersion: jest.fn(), }); mockCrypto = mocked(mockClient.getCrypto()!); @@ -50,14 +49,14 @@ describe("LogoutDialog", () => { }); it("Prompts user to connect backup if there is a backup on the server", async () => { - mockClient.getKeyBackupVersion.mockResolvedValue({} as KeyBackupInfo); + mockCrypto.getKeyBackupInfo.mockResolvedValue({} as KeyBackupInfo); const rendered = renderComponent(); await rendered.findByText("Connect this session to Key Backup"); expect(rendered.container).toMatchSnapshot(); }); it("Prompts user to set up backup if there is no backup on the server", async () => { - mockClient.getKeyBackupVersion.mockResolvedValue(null); + mockCrypto.getKeyBackupInfo.mockResolvedValue(null); const rendered = renderComponent(); await rendered.findByText("Start using Key Backup"); expect(rendered.container).toMatchSnapshot(); @@ -69,7 +68,7 @@ describe("LogoutDialog", () => { describe("when there is an error fetching backups", () => { filterConsole("Unable to fetch key backup status"); it("prompts user to set up backup", async () => { - mockClient.getKeyBackupVersion.mockImplementation(async () => { + mockCrypto.getKeyBackupInfo.mockImplementation(async () => { throw new Error("beep"); }); const rendered = renderComponent(); diff --git a/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx b/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx index 9e792a48f3..814fe8a954 100644 --- a/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx @@ -77,7 +77,7 @@ describe("CreateSecretStorageDialog", () => { filterConsole("Error fetching backup data from server"); it("shows an error", async () => { - mockClient.getKeyBackupVersion.mockImplementation(async () => { + jest.spyOn(mockClient.getCrypto()!, "getKeyBackupInfo").mockImplementation(async () => { throw new Error("bleh bleh"); }); @@ -92,7 +92,7 @@ describe("CreateSecretStorageDialog", () => { expect(result.container).toMatchSnapshot(); // Now we can get the backup and we retry - mockClient.getKeyBackupVersion.mockRestore(); + jest.spyOn(mockClient.getCrypto()!, "getKeyBackupInfo").mockRestore(); await userEvent.click(screen.getByRole("button", { name: "Retry" })); await screen.findByText("Your keys are now being backed up from this device."); }); diff --git a/test/unit-tests/components/views/dialogs/security/RestoreKeyBackupDialog-test.tsx b/test/unit-tests/components/views/dialogs/security/RestoreKeyBackupDialog-test.tsx index 4cfa74073b..c19010a089 100644 --- a/test/unit-tests/components/views/dialogs/security/RestoreKeyBackupDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/security/RestoreKeyBackupDialog-test.tsx @@ -28,7 +28,7 @@ describe("", () => { beforeEach(() => { matrixClient = stubClient(); jest.spyOn(recoveryKeyModule, "decodeRecoveryKey").mockReturnValue(new Uint8Array(32)); - jest.spyOn(matrixClient, "getKeyBackupVersion").mockResolvedValue({ version: "1" } as KeyBackupInfo); + jest.spyOn(matrixClient.getCrypto()!, "getKeyBackupInfo").mockResolvedValue({ version: "1" } as KeyBackupInfo); }); it("should render", async () => { @@ -99,7 +99,7 @@ describe("", () => { test("should restore key backup when passphrase is filled", async () => { // Determine that the passphrase is required - jest.spyOn(matrixClient, "getKeyBackupVersion").mockResolvedValue({ + jest.spyOn(matrixClient.getCrypto()!, "getKeyBackupInfo").mockResolvedValue({ version: "1", auth_data: { private_key_salt: "salt", diff --git a/test/unit-tests/components/views/settings/SecureBackupPanel-test.tsx b/test/unit-tests/components/views/settings/SecureBackupPanel-test.tsx index f2aa15f355..63490bf915 100644 --- a/test/unit-tests/components/views/settings/SecureBackupPanel-test.tsx +++ b/test/unit-tests/components/views/settings/SecureBackupPanel-test.tsx @@ -28,14 +28,13 @@ describe("", () => { const client = getMockClientWithEventEmitter({ ...mockClientMethodsUser(userId), ...mockClientMethodsCrypto(), - getKeyBackupVersion: jest.fn().mockReturnValue("1"), getClientWellKnown: jest.fn(), }); const getComponent = () => render(); beforeEach(() => { - client.getKeyBackupVersion.mockResolvedValue({ + jest.spyOn(client.getCrypto()!, "getKeyBackupInfo").mockResolvedValue({ version: "1", algorithm: "test", auth_data: { @@ -52,7 +51,6 @@ describe("", () => { }); mocked(client.secretStorage.hasKey).mockClear().mockResolvedValue(false); - client.getKeyBackupVersion.mockClear(); mocked(accessSecretStorage).mockClear().mockResolvedValue(); }); @@ -65,8 +63,8 @@ describe("", () => { }); it("handles error fetching backup", async () => { - // getKeyBackupVersion can fail for various reasons - client.getKeyBackupVersion.mockImplementation(async () => { + // getKeyBackupInfo can fail for various reasons + jest.spyOn(client.getCrypto()!, "getKeyBackupInfo").mockImplementation(async () => { throw new Error("beep beep"); }); const renderResult = getComponent(); @@ -75,9 +73,9 @@ describe("", () => { }); it("handles absence of backup", async () => { - client.getKeyBackupVersion.mockResolvedValue(null); + jest.spyOn(client.getCrypto()!, "getKeyBackupInfo").mockResolvedValue(null); getComponent(); - // flush getKeyBackupVersion promise + // flush getKeyBackupInfo promise await flushPromises(); expect(screen.getByText("Back up your keys before signing out to avoid losing them.")).toBeInTheDocument(); }); @@ -120,7 +118,7 @@ describe("", () => { }); it("deletes backup after confirmation", async () => { - client.getKeyBackupVersion + jest.spyOn(client.getCrypto()!, "getKeyBackupInfo") .mockResolvedValueOnce({ version: "1", algorithm: "test", @@ -157,7 +155,7 @@ describe("", () => { // flush checkKeyBackup promise await flushPromises(); - client.getKeyBackupVersion.mockClear(); + jest.spyOn(client.getCrypto()!, "getKeyBackupInfo").mockClear(); mocked(client.getCrypto()!).isKeyBackupTrusted.mockClear(); fireEvent.click(screen.getByText("Reset")); @@ -167,7 +165,7 @@ describe("", () => { await flushPromises(); // backup status refreshed - expect(client.getKeyBackupVersion).toHaveBeenCalled(); + expect(client.getCrypto()!.getKeyBackupInfo).toHaveBeenCalled(); expect(client.getCrypto()!.isKeyBackupTrusted).toHaveBeenCalled(); }); }); diff --git a/test/unit-tests/components/views/settings/tabs/user/SecurityUserSettingsTab-test.tsx b/test/unit-tests/components/views/settings/tabs/user/SecurityUserSettingsTab-test.tsx index 0ee882767b..27403919b6 100644 --- a/test/unit-tests/components/views/settings/tabs/user/SecurityUserSettingsTab-test.tsx +++ b/test/unit-tests/components/views/settings/tabs/user/SecurityUserSettingsTab-test.tsx @@ -34,7 +34,6 @@ describe("", () => { ...mockClientMethodsCrypto(), getRooms: jest.fn().mockReturnValue([]), getIgnoredUsers: jest.fn(), - getKeyBackupVersion: jest.fn(), }); const sdkContext = new SdkContextClass(); diff --git a/test/unit-tests/stores/SetupEncryptionStore-test.ts b/test/unit-tests/stores/SetupEncryptionStore-test.ts index b9ab29b94b..d3d0300a21 100644 --- a/test/unit-tests/stores/SetupEncryptionStore-test.ts +++ b/test/unit-tests/stores/SetupEncryptionStore-test.ts @@ -37,6 +37,7 @@ describe("SetupEncryptionStore", () => { getDeviceVerificationStatus: jest.fn(), isDehydrationSupported: jest.fn().mockResolvedValue(false), startDehydration: jest.fn(), + getKeyBackupInfo: jest.fn().mockResolvedValue(null), } as unknown as Mocked; client.getCrypto.mockReturnValue(mockCrypto); From a2a066d8b4270bd4c1502a0531bd626cb75a6c25 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 25 Nov 2024 10:41:04 +0000 Subject: [PATCH 33/78] Deploy app.element.io & staging.element.io via Github Actions (#28525) * Deploy app.element.io & staging.element.io via Github Actions Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Simplify - this check is done by the Environment protection Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../action.yml | 33 +++++++ .github/workflows/deploy.yml | 88 +++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 .github/actions/download-verify-element-tarball/action.yml create mode 100644 .github/workflows/deploy.yml diff --git a/.github/actions/download-verify-element-tarball/action.yml b/.github/actions/download-verify-element-tarball/action.yml new file mode 100644 index 0000000000..978b27bae4 --- /dev/null +++ b/.github/actions/download-verify-element-tarball/action.yml @@ -0,0 +1,33 @@ +name: Upload release assets +description: Uploads assets to an existing release and optionally signs them +inputs: + tag: + description: GitHub release tag to fetch assets from. + required: true + out-file-path: + description: Path to where the webapp should be extracted to. + required: true +runs: + using: composite + steps: + - name: Download current version for its old bundles + id: current_download + uses: robinraju/release-downloader@a96f54c1b5f5e09e47d9504526e96febd949d4c2 # v1 + with: + tag: steps.current_version.outputs.version + fileName: element-*.tar.gz* + out-file-path: ${{ runner.temp }}/download-verify-element-tarball + + - name: Verify tarball + run: gpg --verify element-*.tar.gz.asc element-*.tar.gz + working-directory: ${{ runner.temp }}/download-verify-element-tarball + + - name: Extract tarball + run: tar xvzf element-*.tar.gz -C webapp --strip-components=1 + working-directory: ${{ runner.temp }}/download-verify-element-tarball + + - name: Move webapp to out-file-path + run: mv ${{ runner.temp }}/download-verify-element-tarball/webapp ${{ inputs.out-file-path }} + + - name: Clean up temp directory + run: rm -R ${{ runner.temp }}/download-verify-element-tarball diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000000..a41a4dcec7 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,88 @@ +# Manual deploy workflow for deploying to app.element.io & staging.element.io +# Runs automatically for staging.element.io when an RC or Release is published +# Note: Does *NOT* run automatically for app.element.io so that it gets tested on staging.element.io beforehand +name: Build and Deploy ${{ inputs.site || 'staging.element.io' }} +on: + release: + types: [published] + workflow_dispatch: + inputs: + site: + description: Which site to deploy to + required: true + default: staging.element.io + type: choice + options: + - staging.element.io + - app.element.io +concurrency: ${{ inputs.site || 'staging.element.io' }} +permissions: {} +jobs: + deploy: + name: "Deploy to Cloudflare Pages" + runs-on: ubuntu-24.04 + environment: ${{ inputs.site || 'staging.element.io' }} + permissions: + checks: read + deployments: write + env: + SITE: ${{ inputs.site || 'staging.element.io' }} + steps: + - name: Load GPG key + run: | + curl https://packages.element.io/element-release-key.gpg | gpg --import + gpg -k "$GPG_FINGERPRINT" + env: + GPG_FINGERPRINT: ${{ secrets.GPG_FINGERPRINT }} + + - name: Check current version on deployment + id: current_version + run: | + echo "version=$(curl -s https://$SITE/version)" >> $GITHUB_OUTPUT + + # The current version bundle melding dance is skipped if the version we're deploying is the same + # as then we're just doing a re-deploy of the same version with potentially different configs. + - name: Download current version for its old bundles + id: current_download + if: steps.current_version.outputs.version != github.ref_name + uses: element-hq/element-web/.github/actions/download-verify-element-tarball@${{ github.ref_name }} + with: + tag: steps.current_version.outputs.version + out-file-path: current_version + + - name: Download target version + uses: element-hq/element-web/.github/actions/download-verify-element-tarball@${{ github.ref_name }} + with: + tag: ${{ github.ref_name }} + out-file-path: _deploy + + - name: Merge current bundles into target + if: steps.current_download.outcome == 'success' + run: cp -vnpr current_version/bundles/* _deploy/bundles/ + + - name: Copy config + run: cp element.io/app/config.json _deploy/config.json + + - name: Populate 404.html + run: echo "404 Not Found" > _deploy/404.html + + - name: Populate _headers + run: cp .github/cfp_headers _deploy/_headers + + - name: Wait for other steps to succeed + uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork + with: + ref: ${{ github.sha }} + running-workflow-name: "Build and Deploy ${{ env.SITE }}" + repo-token: ${{ secrets.GITHUB_TOKEN }} + wait-interval: 10 + check-regexp: ^((?!SonarCloud|SonarQube|issue|board|label|Release|prepare|GitHub Pages).)*$ + + - name: Deploy to Cloudflare Pages + uses: cloudflare/pages-action@f0a1cd58cd66095dee69bfa18fa5efd1dde93bca # v1 + with: + apiToken: ${{ secrets.CF_PAGES_TOKEN }} + accountId: ${{ secrets.CF_PAGES_ACCOUNT_ID }} + projectName: ${{ env.SITE == 'staging.element.io' && 'element-web-staging' || 'element-web' }} + directory: _deploy + gitHubToken: ${{ secrets.GITHUB_TOKEN }} From 3f221891f73bcee5e82105fe51dc5e61c8af1323 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 25 Nov 2024 17:29:32 +0000 Subject: [PATCH 34/78] Remove space-specific right panel store handling This is no longer needed as the right panel always corresponds to the currently viewed room/space only. Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/RightPanel.tsx | 25 ++++--------------- src/components/structures/RoomView.tsx | 8 +++--- src/components/structures/SpaceRoomView.tsx | 4 +-- src/components/structures/UserView.tsx | 2 +- .../views/right_panel/RoomSummaryCard.tsx | 2 +- src/components/views/right_panel/UserInfo.tsx | 11 +++----- src/components/views/rooms/RoomHeader.tsx | 2 +- src/components/views/rooms/RoomInfoLine.tsx | 2 +- .../views/toasts/VerificationRequestToast.tsx | 2 +- src/stores/right-panel/RightPanelStore.ts | 13 +++++----- .../right-panel/RightPanelStoreIPanelState.ts | 4 --- .../right-panel/RightPanelStorePhases.ts | 16 +++++------- .../action-handlers/View3pidInvite.ts | 4 +-- src/verification.ts | 2 +- .../components/structures/RightPanel-test.tsx | 4 +-- .../right_panel/RoomSummaryCard-test.tsx | 5 +--- .../views/right_panel/UserInfo-test.tsx | 6 ++--- .../views/rooms/PinnedMessageBanner-test.tsx | 2 +- .../views/rooms/RoomHeader-test.tsx | 2 +- .../right-panel/RightPanelStore-test.ts | 16 ++++++------ .../action-handlers/View3pidInvite-test.ts | 4 +-- 21 files changed, 53 insertions(+), 83 deletions(-) diff --git a/src/components/structures/RightPanel.tsx b/src/components/structures/RightPanel.tsx index 9a9f29f82e..8acff9ae44 100644 --- a/src/components/structures/RightPanel.tsx +++ b/src/components/structures/RightPanel.tsx @@ -109,10 +109,10 @@ export default class RightPanel extends React.Component { } // redraw the badge on the membership list - if (this.state.phase === RightPanelPhases.RoomMemberList) { + if (this.state.phase === RightPanelPhases.MemberList) { this.delayedUpdate(); } else if ( - this.state.phase === RightPanelPhases.RoomMemberInfo && + this.state.phase === RightPanelPhases.MemberInfo && member.userId === this.state.cardState?.member?.userId ) { // refresh the member info (e.g. new power level) @@ -157,7 +157,7 @@ export default class RightPanel extends React.Component { const phase = this.props.overwriteCard?.phase ?? this.state.phase; const cardState = this.props.overwriteCard?.state ?? this.state.cardState; switch (phase) { - case RightPanelPhases.RoomMemberList: + case RightPanelPhases.MemberList: if (!!roomId) { card = ( { ); } break; - case RightPanelPhases.SpaceMemberList: - if (!!cardState?.spaceId || !!roomId) { - card = ( - - ); - } - break; - case RightPanelPhases.RoomMemberInfo: - case RightPanelPhases.SpaceMemberInfo: + case RightPanelPhases.MemberInfo: case RightPanelPhases.EncryptionPanel: { if (!!cardState?.member) { const roomMember = cardState.member instanceof RoomMember ? cardState.member : undefined; @@ -203,8 +189,7 @@ export default class RightPanel extends React.Component { } break; } - case RightPanelPhases.Room3pidMemberInfo: - case RightPanelPhases.Space3pidMemberInfo: + case RightPanelPhases.ThreePidMemberInfo: if (!!cardState?.memberInfoEvent) { card = ( diff --git a/src/components/structures/RoomView.tsx b/src/components/structures/RoomView.tsx index 470b73de7c..af37226d7d 100644 --- a/src/components/structures/RoomView.tsx +++ b/src/components/structures/RoomView.tsx @@ -1214,18 +1214,18 @@ export class RoomView extends React.Component { if (payload.member) { if (payload.push) { RightPanelStore.instance.pushCard({ - phase: RightPanelPhases.RoomMemberInfo, + phase: RightPanelPhases.MemberInfo, state: { member: payload.member }, }); } else { RightPanelStore.instance.setCards([ { phase: RightPanelPhases.RoomSummary }, - { phase: RightPanelPhases.RoomMemberList }, - { phase: RightPanelPhases.RoomMemberInfo, state: { member: payload.member } }, + { phase: RightPanelPhases.MemberList }, + { phase: RightPanelPhases.MemberInfo, state: { member: payload.member } }, ]); } } else { - RightPanelStore.instance.showOrHidePhase(RightPanelPhases.RoomMemberList); + RightPanelStore.instance.showOrHidePhase(RightPanelPhases.MemberList); } break; case Action.View3pidInvite: diff --git a/src/components/structures/SpaceRoomView.tsx b/src/components/structures/SpaceRoomView.tsx index 3ea2a03c1a..6afa7dfdf0 100644 --- a/src/components/structures/SpaceRoomView.tsx +++ b/src/components/structures/SpaceRoomView.tsx @@ -208,7 +208,7 @@ const SpaceLanding: React.FC<{ space: Room }> = ({ space }) => { const storeIsShowingSpaceMembers = useCallback( () => RightPanelStore.instance.isOpenForRoom(space.roomId) && - RightPanelStore.instance.currentCardForRoom(space.roomId)?.phase === RightPanelPhases.SpaceMemberList, + RightPanelStore.instance.currentCardForRoom(space.roomId)?.phase === RightPanelPhases.MemberList, [space.roomId], ); const isShowingMembers = useEventEmitterState(RightPanelStore.instance, UPDATE_EVENT, storeIsShowingSpaceMembers); @@ -251,7 +251,7 @@ const SpaceLanding: React.FC<{ space: Room }> = ({ space }) => { } const onMembersClick = (): void => { - RightPanelStore.instance.setCard({ phase: RightPanelPhases.SpaceMemberList }); + RightPanelStore.instance.setCard({ phase: RightPanelPhases.MemberList }); }; return ( diff --git a/src/components/structures/UserView.tsx b/src/components/structures/UserView.tsx index 635115877e..66fefbc320 100644 --- a/src/components/structures/UserView.tsx +++ b/src/components/structures/UserView.tsx @@ -82,7 +82,7 @@ export default class UserView extends React.Component { } else if (this.state.member) { const panel = ( ); diff --git a/src/components/views/right_panel/RoomSummaryCard.tsx b/src/components/views/right_panel/RoomSummaryCard.tsx index 664977bbe2..e4ab5bcf3d 100644 --- a/src/components/views/right_panel/RoomSummaryCard.tsx +++ b/src/components/views/right_panel/RoomSummaryCard.tsx @@ -86,7 +86,7 @@ interface IProps { } const onRoomMembersClick = (): void => { - RightPanelStore.instance.pushCard({ phase: RightPanelPhases.RoomMemberList }, true); + RightPanelStore.instance.pushCard({ phase: RightPanelPhases.MemberList }, true); }; const onRoomThreadsClick = (): void => { diff --git a/src/components/views/right_panel/UserInfo.tsx b/src/components/views/right_panel/UserInfo.tsx index d07b3566e2..0005e2efce 100644 --- a/src/components/views/right_panel/UserInfo.tsx +++ b/src/components/views/right_panel/UserInfo.tsx @@ -1739,13 +1739,13 @@ export const UserInfoHeader: React.FC<{ interface IProps { user: Member; room?: Room; - phase: RightPanelPhases.RoomMemberInfo | RightPanelPhases.SpaceMemberInfo | RightPanelPhases.EncryptionPanel; + phase: RightPanelPhases.MemberInfo | RightPanelPhases.MemberInfo | RightPanelPhases.EncryptionPanel; onClose(): void; verificationRequest?: VerificationRequest; verificationRequestPromise?: Promise; } -const UserInfo: React.FC = ({ user, room, onClose, phase = RightPanelPhases.RoomMemberInfo, ...props }) => { +const UserInfo: React.FC = ({ user, room, onClose, phase = RightPanelPhases.MemberInfo, ...props }) => { const cli = useContext(MatrixClientContext); // fetch latest room member if we have a room, so we don't show historical information, falling back to user @@ -1767,8 +1767,6 @@ const UserInfo: React.FC = ({ user, room, onClose, phase = RightPanelPha // We have no previousPhase for when viewing a UserInfo without a Room at this time if (room && phase === RightPanelPhases.EncryptionPanel) { cardState = { member }; - } else if (room?.isSpaceRoom()) { - cardState = { spaceId: room.roomId }; } const onEncryptionPanelClose = (): void => { @@ -1777,8 +1775,7 @@ const UserInfo: React.FC = ({ user, room, onClose, phase = RightPanelPha let content: JSX.Element | undefined; switch (phase) { - case RightPanelPhases.RoomMemberInfo: - case RightPanelPhases.SpaceMemberInfo: + case RightPanelPhases.MemberInfo: content = ( = ({ user, room, onClose, phase = RightPanelPha closeLabel={closeLabel} cardState={cardState} onBack={(ev: ButtonEvent) => { - if (RightPanelStore.instance.previousCard.phase === RightPanelPhases.RoomMemberList) { + if (RightPanelStore.instance.previousCard.phase === RightPanelPhases.MemberList) { PosthogTrackers.trackInteraction("WebRightPanelRoomUserInfoBackButton", ev); } }} diff --git a/src/components/views/rooms/RoomHeader.tsx b/src/components/views/rooms/RoomHeader.tsx index c2642ea733..70002259de 100644 --- a/src/components/views/rooms/RoomHeader.tsx +++ b/src/components/views/rooms/RoomHeader.tsx @@ -392,7 +392,7 @@ export default function RoomHeader({ viewUserOnClick={false} tooltipLabel={_t("room|header_face_pile_tooltip")} onClick={(e: ButtonEvent) => { - RightPanelStore.instance.showOrHidePhase(RightPanelPhases.RoomMemberList); + RightPanelStore.instance.showOrHidePhase(RightPanelPhases.MemberList); e.stopPropagation(); }} aria-label={_t("common|n_members", { count: memberCount })} diff --git a/src/components/views/rooms/RoomInfoLine.tsx b/src/components/views/rooms/RoomInfoLine.tsx index 710ef61758..1487bfe15b 100644 --- a/src/components/views/rooms/RoomInfoLine.tsx +++ b/src/components/views/rooms/RoomInfoLine.tsx @@ -64,7 +64,7 @@ const RoomInfoLine: FC = ({ room }) => { // summary is not still loading const viewMembers = (): void => RightPanelStore.instance.setCard({ - phase: room.isSpaceRoom() ? RightPanelPhases.SpaceMemberList : RightPanelPhases.RoomMemberList, + phase: RightPanelPhases.MemberList, }); members = ( diff --git a/src/components/views/toasts/VerificationRequestToast.tsx b/src/components/views/toasts/VerificationRequestToast.tsx index 54932a12ed..7d31aa6764 100644 --- a/src/components/views/toasts/VerificationRequestToast.tsx +++ b/src/components/views/toasts/VerificationRequestToast.tsx @@ -117,7 +117,7 @@ export default class VerificationRequestToast extends React.PureComponent needs to be changed to RightPanelPhases.EncryptionPanel if there is a pending verification request const { member } = card.state; const pendingRequest = member @@ -385,8 +385,7 @@ export default class RightPanelStore extends ReadyWatchingStore { if (panel?.history) { panel.history = panel.history.filter( (card: IRightPanelCard) => - card.phase != RightPanelPhases.RoomMemberInfo && - card.phase != RightPanelPhases.Room3pidMemberInfo, + card.phase != RightPanelPhases.MemberInfo && card.phase != RightPanelPhases.ThreePidMemberInfo, ); } } diff --git a/src/stores/right-panel/RightPanelStoreIPanelState.ts b/src/stores/right-panel/RightPanelStoreIPanelState.ts index afb7442563..0d205abd2f 100644 --- a/src/stores/right-panel/RightPanelStoreIPanelState.ts +++ b/src/stores/right-panel/RightPanelStoreIPanelState.ts @@ -16,7 +16,6 @@ export interface IRightPanelCardState { verificationRequest?: VerificationRequest; verificationRequestPromise?: Promise; widgetId?: string; - spaceId?: string; // Room3pidMemberInfo, Space3pidMemberInfo, memberInfoEvent?: MatrixEvent; // threads @@ -32,7 +31,6 @@ export interface IRightPanelCardStateStored { memberId?: string; // we do not store the things associated with verification widgetId?: string; - spaceId?: string; // 3pidMemberInfo memberInfoEventId?: string; // threads @@ -80,7 +78,6 @@ export function convertCardToStore(panelState: IRightPanelCard): IRightPanelCard const state = panelState.state ?? {}; const stateStored: IRightPanelCardStateStored = { widgetId: state.widgetId, - spaceId: state.spaceId, isInitialEventHighlighted: state.isInitialEventHighlighted, initialEventScrollIntoView: state.initialEventScrollIntoView, threadHeadEventId: !!state?.threadHeadEvent?.getId() ? state.threadHeadEvent.getId() : undefined, @@ -97,7 +94,6 @@ function convertStoreToCard(panelStateStore: IRightPanelCardStored, room: Room): const stateStored = panelStateStore.state ?? {}; const state: IRightPanelCardState = { widgetId: stateStored.widgetId, - spaceId: stateStored.spaceId, isInitialEventHighlighted: stateStored.isInitialEventHighlighted, initialEventScrollIntoView: stateStored.initialEventScrollIntoView, threadHeadEvent: !!stateStored?.threadHeadEventId diff --git a/src/stores/right-panel/RightPanelStorePhases.ts b/src/stores/right-panel/RightPanelStorePhases.ts index 60b9e50baf..9e7a5697bf 100644 --- a/src/stores/right-panel/RightPanelStorePhases.ts +++ b/src/stores/right-panel/RightPanelStorePhases.ts @@ -10,11 +10,14 @@ import { _t } from "../../languageHandler"; // These are in their own file because of circular imports being a problem. export enum RightPanelPhases { + // Room & Space stuff + MemberList = "MemberList", + MemberInfo = "MemberInfo", + ThreePidMemberInfo = "ThreePidMemberInfo", + // Room stuff - RoomMemberList = "RoomMemberList", FilePanel = "FilePanel", NotificationPanel = "NotificationPanel", - RoomMemberInfo = "RoomMemberInfo", EncryptionPanel = "EncryptionPanel", RoomSummary = "RoomSummary", Widget = "Widget", @@ -22,13 +25,6 @@ export enum RightPanelPhases { Timeline = "Timeline", Extensions = "Extensions", - Room3pidMemberInfo = "Room3pidMemberInfo", - - // Space stuff - SpaceMemberList = "SpaceMemberList", - SpaceMemberInfo = "SpaceMemberInfo", - Space3pidMemberInfo = "Space3pidMemberInfo", - // Thread stuff ThreadView = "ThreadView", ThreadPanel = "ThreadPanel", @@ -42,7 +38,7 @@ export function backLabelForPhase(phase: RightPanelPhases | null): string | null return _t("chat_card_back_action_label"); case RightPanelPhases.RoomSummary: return _t("room_summary_card_back_action_label"); - case RightPanelPhases.RoomMemberList: + case RightPanelPhases.MemberList: return _t("member_list_back_action_label"); case RightPanelPhases.ThreadView: return _t("thread_view_back_action_label"); diff --git a/src/stores/right-panel/action-handlers/View3pidInvite.ts b/src/stores/right-panel/action-handlers/View3pidInvite.ts index e2aa191acb..0f6661819f 100644 --- a/src/stores/right-panel/action-handlers/View3pidInvite.ts +++ b/src/stores/right-panel/action-handlers/View3pidInvite.ts @@ -20,10 +20,10 @@ import { RightPanelPhases } from "../RightPanelStorePhases"; export const onView3pidInvite = (payload: ActionPayload, rightPanelStore: RightPanelStore): void => { if (payload.event) { rightPanelStore.pushCard({ - phase: RightPanelPhases.Room3pidMemberInfo, + phase: RightPanelPhases.ThreePidMemberInfo, state: { memberInfoEvent: payload.event }, }); } else { - rightPanelStore.showOrHidePhase(RightPanelPhases.RoomMemberList); + rightPanelStore.showOrHidePhase(RightPanelPhases.MemberList); } }; diff --git a/src/verification.ts b/src/verification.ts index e446186f80..9c14a64c51 100644 --- a/src/verification.ts +++ b/src/verification.ts @@ -81,7 +81,7 @@ function setRightPanel(state: IRightPanelCardState): void { } else { RightPanelStore.instance.setCards([ { phase: RightPanelPhases.RoomSummary }, - { phase: RightPanelPhases.RoomMemberInfo, state: { member: state.member } }, + { phase: RightPanelPhases.MemberInfo, state: { member: state.member } }, { phase: RightPanelPhases.EncryptionPanel, state }, ]); } diff --git a/test/unit-tests/components/structures/RightPanel-test.tsx b/test/unit-tests/components/structures/RightPanel-test.tsx index e569369db5..ad29791ee9 100644 --- a/test/unit-tests/components/structures/RightPanel-test.tsx +++ b/test/unit-tests/components/structures/RightPanel-test.tsx @@ -91,7 +91,7 @@ describe("RightPanel", () => { if (name !== "RightPanel.phases") return realGetValue(name, roomId); if (roomId === "r1") { return { - history: [{ phase: RightPanelPhases.RoomMemberList }], + history: [{ phase: RightPanelPhases.MemberList }], isOpen: true, }; } @@ -123,7 +123,7 @@ describe("RightPanel", () => { await rpsUpdated; await waitFor(() => expect(screen.queryByTestId("spinner")).not.toBeInTheDocument()); - // room one will be in the RoomMemberList phase - confirm this is rendered + // room one will be in the MemberList phase - confirm this is rendered expect(container.getElementsByClassName("mx_MemberList")).toHaveLength(1); // wait for RPS room 2 updates to fire, then rerender diff --git a/test/unit-tests/components/views/right_panel/RoomSummaryCard-test.tsx b/test/unit-tests/components/views/right_panel/RoomSummaryCard-test.tsx index 4026149f98..d31fc6ed8c 100644 --- a/test/unit-tests/components/views/right_panel/RoomSummaryCard-test.tsx +++ b/test/unit-tests/components/views/right_panel/RoomSummaryCard-test.tsx @@ -254,10 +254,7 @@ describe("", () => { fireEvent.click(getByText("People")); - expect(RightPanelStore.instance.pushCard).toHaveBeenCalledWith( - { phase: RightPanelPhases.RoomMemberList }, - true, - ); + expect(RightPanelStore.instance.pushCard).toHaveBeenCalledWith({ phase: RightPanelPhases.MemberList }, true); }); it("opens room threads list on button click", () => { diff --git a/test/unit-tests/components/views/right_panel/UserInfo-test.tsx b/test/unit-tests/components/views/right_panel/UserInfo-test.tsx index 7e23679fc2..38d38e2a32 100644 --- a/test/unit-tests/components/views/right_panel/UserInfo-test.tsx +++ b/test/unit-tests/components/views/right_panel/UserInfo-test.tsx @@ -188,7 +188,7 @@ describe("", () => { const defaultProps = { user: defaultUser, // idk what is wrong with this type - phase: RightPanelPhases.RoomMemberInfo as RightPanelPhases.RoomMemberInfo, + phase: RightPanelPhases.MemberInfo as RightPanelPhases.MemberInfo, onClose: jest.fn(), }; @@ -455,7 +455,7 @@ describe("", () => { mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(false, false, false)); const { container } = renderComponent({ - phase: RightPanelPhases.SpaceMemberInfo, + phase: RightPanelPhases.MemberInfo, verificationRequest, room: mockRoom, }); @@ -649,7 +649,7 @@ describe("", () => { mockClient.getDomain.mockReturnValue("example.com"); const { container } = renderComponent({ - phase: RightPanelPhases.RoomMemberInfo, + phase: RightPanelPhases.MemberInfo, room: mockRoom, }); diff --git a/test/unit-tests/components/views/rooms/PinnedMessageBanner-test.tsx b/test/unit-tests/components/views/rooms/PinnedMessageBanner-test.tsx index f59b9f3a9f..8d380c76bb 100644 --- a/test/unit-tests/components/views/rooms/PinnedMessageBanner-test.tsx +++ b/test/unit-tests/components/views/rooms/PinnedMessageBanner-test.tsx @@ -224,7 +224,7 @@ describe("", () => { // The Right panel is opened on another card jest.spyOn(RightPanelStore.instance, "isOpenForRoom").mockReturnValue(true); jest.spyOn(RightPanelStore.instance, "currentCard", "get").mockReturnValue({ - phase: RightPanelPhases.RoomMemberList, + phase: RightPanelPhases.MemberList, }); renderBanner(); diff --git a/test/unit-tests/components/views/rooms/RoomHeader-test.tsx b/test/unit-tests/components/views/rooms/RoomHeader-test.tsx index 1be9c77713..26ef7ec4fb 100644 --- a/test/unit-tests/components/views/rooms/RoomHeader-test.tsx +++ b/test/unit-tests/components/views/rooms/RoomHeader-test.tsx @@ -158,7 +158,7 @@ describe("RoomHeader", () => { fireEvent.click(facePile); - expect(setCardSpy).toHaveBeenCalledWith({ phase: RightPanelPhases.RoomMemberList }); + expect(setCardSpy).toHaveBeenCalledWith({ phase: RightPanelPhases.MemberList }); }); it("has room info icon that opens the room info panel", async () => { diff --git a/test/unit-tests/stores/right-panel/RightPanelStore-test.ts b/test/unit-tests/stores/right-panel/RightPanelStore-test.ts index 92299426ba..7fb32bcd6e 100644 --- a/test/unit-tests/stores/right-panel/RightPanelStore-test.ts +++ b/test/unit-tests/stores/right-panel/RightPanelStore-test.ts @@ -97,7 +97,7 @@ describe("RightPanelStore", () => { it("does nothing if given an invalid state", async () => { await viewRoom("!1:example.org"); // Needs a member specified to be valid - store.setCard({ phase: RightPanelPhases.RoomMemberInfo }, true, "!1:example.org"); + store.setCard({ phase: RightPanelPhases.MemberInfo }, true, "!1:example.org"); expect(store.roomPhaseHistory).toEqual([]); }); it("only creates a single history entry if given the same card twice", async () => { @@ -114,15 +114,15 @@ describe("RightPanelStore", () => { it("overwrites history if changing the phase", async () => { await viewRoom("!1:example.org"); store.setCard({ phase: RightPanelPhases.RoomSummary }, true, "!1:example.org"); - store.setCard({ phase: RightPanelPhases.RoomMemberList }, true, "!1:example.org"); - expect(store.roomPhaseHistory).toEqual([{ phase: RightPanelPhases.RoomMemberList, state: {} }]); + store.setCard({ phase: RightPanelPhases.MemberList }, true, "!1:example.org"); + expect(store.roomPhaseHistory).toEqual([{ phase: RightPanelPhases.MemberList, state: {} }]); }); }); describe("setCards", () => { it("overwrites history", async () => { await viewRoom("!1:example.org"); - store.setCard({ phase: RightPanelPhases.RoomMemberList }, true, "!1:example.org"); + store.setCard({ phase: RightPanelPhases.MemberList }, true, "!1:example.org"); store.setCards( [{ phase: RightPanelPhases.RoomSummary }, { phase: RightPanelPhases.PinnedMessages }], true, @@ -200,21 +200,21 @@ describe("RightPanelStore", () => { store.setCards( [ { - phase: RightPanelPhases.RoomMemberList, + phase: RightPanelPhases.MemberList, }, { - phase: RightPanelPhases.RoomMemberInfo, + phase: RightPanelPhases.MemberInfo, state: { member: new RoomMember("!1:example.org", "@alice:example.org") }, }, ], true, "!1:example.org", ); - expect(store.currentCardForRoom("!1:example.org").phase).toEqual(RightPanelPhases.RoomMemberInfo); + expect(store.currentCardForRoom("!1:example.org").phase).toEqual(RightPanelPhases.MemberInfo); // Switch away and back await viewRoom("!2:example.org"); await viewRoom("!1:example.org"); - expect(store.currentCardForRoom("!1:example.org").phase).toEqual(RightPanelPhases.RoomMemberList); + expect(store.currentCardForRoom("!1:example.org").phase).toEqual(RightPanelPhases.MemberList); }); }); diff --git a/test/unit-tests/stores/right-panel/action-handlers/View3pidInvite-test.ts b/test/unit-tests/stores/right-panel/action-handlers/View3pidInvite-test.ts index d0b721243f..9503bb4ae3 100644 --- a/test/unit-tests/stores/right-panel/action-handlers/View3pidInvite-test.ts +++ b/test/unit-tests/stores/right-panel/action-handlers/View3pidInvite-test.ts @@ -30,7 +30,7 @@ describe("onView3pidInvite()", () => { }; onView3pidInvite(payload, rightPanelStore); - expect(rightPanelStore.showOrHidePhase).toHaveBeenCalledWith(RightPanelPhases.RoomMemberList); + expect(rightPanelStore.showOrHidePhase).toHaveBeenCalledWith(RightPanelPhases.MemberList); expect(rightPanelStore.pushCard).not.toHaveBeenCalled(); }); @@ -43,7 +43,7 @@ describe("onView3pidInvite()", () => { expect(rightPanelStore.showOrHidePhase).not.toHaveBeenCalled(); expect(rightPanelStore.pushCard).toHaveBeenCalledWith({ - phase: RightPanelPhases.Room3pidMemberInfo, + phase: RightPanelPhases.ThreePidMemberInfo, state: { memberInfoEvent: payload.event }, }); }); From a478463b751fe6ee44293a0351e44f2a967864b0 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 25 Nov 2024 17:43:09 +0000 Subject: [PATCH 35/78] Remove duplicates Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/right_panel/UserInfo.tsx | 2 +- src/stores/right-panel/RightPanelStore.ts | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/components/views/right_panel/UserInfo.tsx b/src/components/views/right_panel/UserInfo.tsx index 0005e2efce..b4a775367c 100644 --- a/src/components/views/right_panel/UserInfo.tsx +++ b/src/components/views/right_panel/UserInfo.tsx @@ -1739,7 +1739,7 @@ export const UserInfoHeader: React.FC<{ interface IProps { user: Member; room?: Room; - phase: RightPanelPhases.MemberInfo | RightPanelPhases.MemberInfo | RightPanelPhases.EncryptionPanel; + phase: RightPanelPhases.MemberInfo | RightPanelPhases.EncryptionPanel; onClose(): void; verificationRequest?: VerificationRequest; verificationRequestPromise?: Promise; diff --git a/src/stores/right-panel/RightPanelStore.ts b/src/stores/right-panel/RightPanelStore.ts index ea74aaa3ae..99b2d7fe50 100644 --- a/src/stores/right-panel/RightPanelStore.ts +++ b/src/stores/right-panel/RightPanelStore.ts @@ -305,13 +305,11 @@ export default class RightPanelStore extends ReadyWatchingStore { } return !!card.state?.threadHeadEvent; case RightPanelPhases.MemberInfo: - case RightPanelPhases.MemberInfo: case RightPanelPhases.EncryptionPanel: if (!card.state?.member) { logger.warn("removed card from right panel because of missing member in card state"); } return !!card.state?.member; - case RightPanelPhases.ThreePidMemberInfo: case RightPanelPhases.ThreePidMemberInfo: if (!card.state?.memberInfoEvent) { logger.warn("removed card from right panel because of missing memberInfoEvent in card state"); From 2ac2bae4fa703640ace5c1c165f0ed666edbb234 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 26 Nov 2024 10:43:21 +0100 Subject: [PATCH 36/78] Add spinner when room encryption is loading in room settings (#28535) --- .../tabs/room/SecurityRoomSettingsTab.tsx | 31 ++++++++++++------- .../room/SecurityRoomSettingsTab-test.tsx | 10 +++--- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 1ade503bb2..7d9f75f828 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -17,6 +17,7 @@ import { EventType, } from "matrix-js-sdk/src/matrix"; import { logger } from "matrix-js-sdk/src/logger"; +import { InlineSpinner } from "@vector-im/compound-web"; import { Icon as WarningIcon } from "../../../../../../res/img/warning.svg"; import { _t } from "../../../../../languageHandler"; @@ -53,7 +54,7 @@ interface IState { guestAccess: GuestAccess; history: HistoryVisibility; hasAliases: boolean; - encrypted: boolean; + encrypted: boolean | null; showAdvancedSection: boolean; } @@ -78,7 +79,7 @@ export default class SecurityRoomSettingsTab extends React.Component - - {isEncryptionForceDisabled && !isEncrypted && ( - {_t("room_settings|security|encryption_forced")} + {isEncryptionLoading ? ( + + ) : ( + <> + + {isEncryptionForceDisabled && !isEncrypted && ( + {_t("room_settings|security|encryption_forced")} + )} + {encryptionSettings} + )} - {encryptionSettings} - {this.renderJoinRule()} {historySection} diff --git a/test/unit-tests/components/views/settings/tabs/room/SecurityRoomSettingsTab-test.tsx b/test/unit-tests/components/views/settings/tabs/room/SecurityRoomSettingsTab-test.tsx index 6534a34004..5fc10714e6 100644 --- a/test/unit-tests/components/views/settings/tabs/room/SecurityRoomSettingsTab-test.tsx +++ b/test/unit-tests/components/views/settings/tabs/room/SecurityRoomSettingsTab-test.tsx @@ -75,7 +75,7 @@ describe("", () => { beforeEach(async () => { client.sendStateEvent.mockReset().mockResolvedValue({ event_id: "test" }); - client.isRoomEncrypted.mockReturnValue(false); + jest.spyOn(client.getCrypto()!, "isEncryptionEnabledInRoom").mockResolvedValue(false); client.getClientWellKnown.mockReturnValue(undefined); jest.spyOn(SettingsStore, "getValue").mockRestore(); @@ -313,7 +313,7 @@ describe("", () => { setRoomStateEvents(room); getComponent(room); - expect(screen.getByLabelText("Encrypted")).not.toBeChecked(); + await waitFor(() => expect(screen.getByLabelText("Encrypted")).not.toBeChecked()); fireEvent.click(screen.getByLabelText("Encrypted")); @@ -330,7 +330,7 @@ describe("", () => { setRoomStateEvents(room); getComponent(room); - expect(screen.getByLabelText("Encrypted")).not.toBeChecked(); + await waitFor(() => expect(screen.getByLabelText("Encrypted")).not.toBeChecked()); fireEvent.click(screen.getByLabelText("Encrypted")); @@ -416,12 +416,12 @@ describe("", () => { expect(screen.getByText("Once enabled, encryption cannot be disabled.")).toBeInTheDocument(); }); - it("displays unencrypted rooms with toggle disabled", () => { + it("displays unencrypted rooms with toggle disabled", async () => { const room = new Room(roomId, client, userId); setRoomStateEvents(room); getComponent(room); - expect(screen.getByLabelText("Encrypted")).not.toBeChecked(); + await waitFor(() => expect(screen.getByLabelText("Encrypted")).not.toBeChecked()); expect(screen.getByLabelText("Encrypted").getAttribute("aria-disabled")).toEqual("true"); expect(screen.queryByText("Once enabled, encryption cannot be disabled.")).not.toBeInTheDocument(); expect(screen.getByText("Your server requires encryption to be disabled.")).toBeInTheDocument(); From c74f9159adbcde2ed95abd330f28c7dd122228f2 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Tue, 26 Nov 2024 11:54:21 +0000 Subject: [PATCH 37/78] [create-pull-request] automated change (#28544) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- playwright/plugins/homeserver/synapse/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright/plugins/homeserver/synapse/index.ts b/playwright/plugins/homeserver/synapse/index.ts index 7ccbd7def3..f11d94a703 100644 --- a/playwright/plugins/homeserver/synapse/index.ts +++ b/playwright/plugins/homeserver/synapse/index.ts @@ -20,7 +20,7 @@ import { randB64Bytes } from "../../utils/rand"; // Docker tag to use for synapse docker image. // We target a specific digest as every now and then a Synapse update will break our CI. // This digest is updated by the playwright-image-updates.yaml workflow periodically. -const DOCKER_TAG = "develop@sha256:34da08a44994e0ad2def7ed5f28c3cc7a2f7ead9722f4ae87b23030f59384ea5"; +const DOCKER_TAG = "develop@sha256:e163b15bf4905e4067dece856cca00e6ac8d1d655f4f1307978eee256b3ea775"; async function cfgDirFromTemplate(opts: StartHomeserverOpts): Promise> { const templateDir = path.join(__dirname, "templates", opts.template); From 15bd59b81ac7b59e72d9c0953df952f7db49205b Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 26 Nov 2024 13:41:15 +0000 Subject: [PATCH 38/78] Fix release workflow permissions Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2ecc4a4662..019bc1b9ce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,6 +18,7 @@ jobs: permissions: contents: write issues: write + pull-requests: read secrets: ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} From 0333cba258543dbb28da73aa3b11bcf3c3b88e0e Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Tue, 26 Nov 2024 09:16:20 -0500 Subject: [PATCH 39/78] temporarily add a default branch to handle unknown shield codes (#28543) --- src/components/views/rooms/EventTile.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/views/rooms/EventTile.tsx b/src/components/views/rooms/EventTile.tsx index 22da73bef7..8b07368859 100644 --- a/src/components/views/rooms/EventTile.tsx +++ b/src/components/views/rooms/EventTile.tsx @@ -757,6 +757,9 @@ export class UnwrappedEventTile extends React.Component case EventShieldReason.MISMATCHED_SENDER_KEY: shieldReasonMessage = _t("encryption|event_shield_reason_mismatched_sender_key"); break; + + default: + shieldReasonMessage = _t("error|unknown"); } if (this.state.shieldColour === EventShieldColour.GREY) { From de820e11fc2bc20eb608055205e1e44d11f2c740 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 26 Nov 2024 14:20:15 +0000 Subject: [PATCH 40/78] Remove Twemoji SBIX font in favour of COLRv0 (#28549) * Remove Twemoji SBIX font in favour of COLRv0 as it is supported everywhere we need it Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Remove unused mock Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- __mocks__/FontManager.js | 6 - jest.config.ts | 1 - .../Twemoji_Mozilla/TwemojiMozilla-sbix.woff2 | Bin 2899752 -> 0 bytes res/themes/light/css/_fonts.pcss | 18 +++ src/components/structures/LoggedInView.tsx | 3 - .../verification/VerificationShowSas.tsx | 6 - src/utils/FontManager.ts | 124 ------------------ 7 files changed, 18 insertions(+), 140 deletions(-) delete mode 100644 __mocks__/FontManager.js delete mode 100644 res/fonts/Twemoji_Mozilla/TwemojiMozilla-sbix.woff2 delete mode 100644 src/utils/FontManager.ts diff --git a/__mocks__/FontManager.js b/__mocks__/FontManager.js deleted file mode 100644 index 41eab4bf94..0000000000 --- a/__mocks__/FontManager.js +++ /dev/null @@ -1,6 +0,0 @@ -// Stub out FontManager for tests as it doesn't validate anything we don't already know given -// our fixed test environment and it requires the installation of node-canvas. - -module.exports = { - fixupColorFonts: () => Promise.resolve(), -}; diff --git a/jest.config.ts b/jest.config.ts index 04f1a91e77..326f2040d9 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -32,7 +32,6 @@ const config: Config = { "decoderWorker\\.min\\.wasm": "/__mocks__/empty.js", "waveWorker\\.min\\.js": "/__mocks__/empty.js", "context-filter-polyfill": "/__mocks__/empty.js", - "FontManager.ts": "/__mocks__/FontManager.js", "workers/(.+)Factory": "/__mocks__/workerFactoryMock.js", "^!!raw-loader!.*": "jest-raw-loader", "recorderWorkletFactory": "/__mocks__/empty.js", diff --git a/res/fonts/Twemoji_Mozilla/TwemojiMozilla-sbix.woff2 b/res/fonts/Twemoji_Mozilla/TwemojiMozilla-sbix.woff2 deleted file mode 100644 index 90f444b1a10bd00eceade0ef24b88fd57efb7528..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2899752 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�W+flOrX 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

3kq*i9V1 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�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�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�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

MWHF@M- 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

s(-m3xmvse3WAGBTNT-+0>XgIoGhQ4mkjHliD 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 z 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

ix@1SR}tc?>MyE@I_^I)*sn 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 z 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�wvJ;o} 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

^h@d$e@++b7zi##wlHsB)BAr7CWG*EvRu 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

;Fd^Sw-vY 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 J=vjVyaSkjdNa_Fp diff --git a/res/themes/light/css/_fonts.pcss b/res/themes/light/css/_fonts.pcss index 62613fcee5..a9d31f2b2b 100644 --- a/res/themes/light/css/_fonts.pcss +++ b/res/themes/light/css/_fonts.pcss @@ -143,3 +143,21 @@ $inter-unicode-range: U+0000-20e2, U+20e4-23ce, U+23d0-24c1, U+24c3-259f, U+25c2 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } + +/* Twemoji COLR */ +@font-face { + font-family: "Twemoji"; + font-weight: 400; + src: url("$(res)/fonts/Twemoji_Mozilla/TwemojiMozilla-colr.woff2") format("woff2"); +} +/* For at least Chrome on Windows 10, we have to explictly add extra weights for the emoji to appear in bold messages, etc. */ +@font-face { + font-family: "Twemoji"; + font-weight: 600; + src: url("$(res)/fonts/Twemoji_Mozilla/TwemojiMozilla-colr.woff2") format("woff2"); +} +@font-face { + font-family: "Twemoji"; + font-weight: 700; + src: url("$(res)/fonts/Twemoji_Mozilla/TwemojiMozilla-colr.woff2") format("woff2"); +} diff --git a/src/components/structures/LoggedInView.tsx b/src/components/structures/LoggedInView.tsx index 0042169f45..019f9cd1a8 100644 --- a/src/components/structures/LoggedInView.tsx +++ b/src/components/structures/LoggedInView.tsx @@ -23,7 +23,6 @@ import classNames from "classnames"; import { isOnlyCtrlOrCmdKeyEvent, Key } from "../../Keyboard"; import PageTypes from "../../PageTypes"; import MediaDeviceHandler from "../../MediaDeviceHandler"; -import { fixupColorFonts } from "../../utils/FontManager"; import dis from "../../dispatcher/dispatcher"; import { IMatrixClientCreds } from "../../MatrixClientPeg"; import SettingsStore from "../../settings/SettingsStore"; @@ -149,8 +148,6 @@ class LoggedInView extends React.Component { MediaDeviceHandler.loadDevices(); - fixupColorFonts(); - this._roomView = React.createRef(); this._resizeContainer = React.createRef(); this.resizeHandler = React.createRef(); diff --git a/src/components/views/verification/VerificationShowSas.tsx b/src/components/views/verification/VerificationShowSas.tsx index 139c5f7286..1e053a7e99 100644 --- a/src/components/views/verification/VerificationShowSas.tsx +++ b/src/components/views/verification/VerificationShowSas.tsx @@ -14,7 +14,6 @@ import SasEmoji from "@matrix-org/spec/sas-emoji.json"; import { _t, getNormalizedLanguageKeys, getUserLanguage } from "../../../languageHandler"; import { PendingActionSpinner } from "../right_panel/EncryptionInfo"; import AccessibleButton from "../elements/AccessibleButton"; -import { fixupColorFonts } from "../../../utils/FontManager"; interface IProps { pending?: boolean; @@ -88,11 +87,6 @@ export default class VerificationShowSas extends React.Component this.state = { pending: false, }; - - // As this component is also used before login (during complete security), - // also make sure we have a working emoji font to display the SAS emojis here. - // This is also done from LoggedInView. - fixupColorFonts(); } private onMatchClick = (): void => { diff --git a/src/utils/FontManager.ts b/src/utils/FontManager.ts deleted file mode 100644 index 1ffa653a27..0000000000 --- a/src/utils/FontManager.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2019-2021 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -/* - * Based on... - * ChromaCheck 1.16 - * author Roel Nieskens, https://pixelambacht.nl - * MIT license - */ -import { logger } from "matrix-js-sdk/src/logger"; - -function safariVersionCheck(ua: string): boolean { - logger.log("Browser is Safari - checking version for COLR support"); - try { - const safariVersionMatch = ua.match(/Mac OS X ([\d|_]+).*Version\/([\d|.]+).*Safari/); - if (safariVersionMatch) { - const macOSVersionStr = safariVersionMatch[1]; - const safariVersionStr = safariVersionMatch[2]; - const macOSVersion = macOSVersionStr.split("_").map((n) => parseInt(n, 10)); - const safariVersion = safariVersionStr.split(".").map((n) => parseInt(n, 10)); - const colrFontSupported = - macOSVersion[0] >= 10 && macOSVersion[1] >= 14 && safariVersion[0] >= 12 && safariVersion[0] < 17; - // https://www.colorfonts.wtf/ states Safari supports COLR fonts from this version on but Safari 17 breaks it - logger.log( - `COLR support on Safari requires macOS 10.14 and Safari 12-16, ` + - `detected Safari ${safariVersionStr} on macOS ${macOSVersionStr}, ` + - `COLR supported: ${colrFontSupported}`, - ); - return colrFontSupported; - } - } catch (err) { - logger.error("Error in Safari COLR version check", err); - } - logger.warn("Couldn't determine Safari version to check COLR font support, assuming no."); - return false; -} - -async function isColrFontSupported(): Promise { - logger.log("Checking for COLR support"); - - const { userAgent } = navigator; - // Firefox has supported COLR fonts since version 26 - // but doesn't support the check below without - // "Extract canvas data" permissions - // when content blocking is enabled. - if (userAgent.includes("Firefox")) { - logger.log("Browser is Firefox - assuming COLR is supported"); - return true; - } - // Safari doesn't wait for the font to load (if it doesn't have it in cache) - // to emit the load event on the image, so there is no way to not make the check - // reliable. Instead sniff the version. - // Excluding "Chrome", as it's user agent unhelpfully also contains Safari... - if (!userAgent.includes("Chrome") && userAgent.includes("Safari")) { - return safariVersionCheck(userAgent); - } - - try { - const canvas = document.createElement("canvas"); - const context = canvas.getContext("2d")!; - const img = new Image(); - // eslint-disable-next-line - const fontCOLR = - "d09GRgABAAAAAAKAAAwAAAAAAowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDT0xSAAACVAAAABYAAAAYAAIAJUNQQUwAAAJsAAAAEgAAABLJAAAQT1MvMgAAAYAAAAA6AAAAYBfxJ0pjbWFwAAABxAAAACcAAAAsAAzpM2dseWYAAAH0AAAAGgAAABoNIh0kaGVhZAAAARwAAAAvAAAANgxLumdoaGVhAAABTAAAABUAAAAkCAEEAmhtdHgAAAG8AAAABgAAAAYEAAAAbG9jYQAAAewAAAAGAAAABgANAABtYXhwAAABZAAAABsAAAAgAg4AHW5hbWUAAAIQAAAAOAAAAD4C5wsecG9zdAAAAkgAAAAMAAAAIAADAAB4AWNgZGAAYQ5+qdB4fpuvDNIsDCBwaQGTAIi+VlscBaJZGMDiHAxMIAoAtjIF/QB4AWNgZGBgYQACOAkUQQWMAAGRABAAAAB4AWNgZGBgYGJgAdMMUJILJMQgAWICAAH3AC4AeAFjYGFhYJzAwMrAwDST6QwDA0M/hGZ8zWDMyMmAChgFkDgKQMBw4CXDSwYWEBdIYgAFBgYA/8sIdAAABAAAAAAAAAB4AWNgYGBkYAZiBgYeBhYGBSDNAoRA/kuG//8hpDgjWJ4BAFVMBiYAAAAAAAANAAAAAQAAAAAEAAQAAAMAABEhESEEAPwABAD8AAAAeAEtxgUNgAAAAMHHIQTShTlOAty9/4bf7AARCwlBNhBw4L/43qXjYGUmf19TMuLcj/BJL3XfBg54AWNgZsALAAB9AAR4AWNgYGAEYj4gFgGygGwICQACOwAoAAAAAAABAAEAAQAAAA4AAAAAyP8AAA=="; - const svg = ` - - - - - - `; - canvas.width = 20; - canvas.height = 100; - - img.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(svg); - - logger.log("Waiting for COLR SVG to load"); - await new Promise((resolve) => (img.onload = resolve)); - logger.log("Drawing canvas to detect COLR support"); - context.drawImage(img, 0, 0); - const colrFontSupported = context.getImageData(10, 10, 1, 1).data[0] === 200; - logger.log("Canvas check revealed COLR is supported? " + colrFontSupported); - return colrFontSupported; - } catch (e) { - logger.error("Couldn't load COLR font", e); - return false; - } -} - -let colrFontCheckStarted = false; -export async function fixupColorFonts(): Promise { - if (colrFontCheckStarted) { - return; - } - colrFontCheckStarted = true; - - if (await isColrFontSupported()) { - // eslint-disable-next-line @typescript-eslint/no-require-imports - const path = `url('${require("../../res/fonts/Twemoji_Mozilla/TwemojiMozilla-colr.woff2")}')`; - document.fonts.add(new FontFace("Twemoji", path, {})); - // For at least Chrome on Windows 10, we have to explictly add extra - // weights for the emoji to appear in bold messages, etc. - document.fonts.add(new FontFace("Twemoji", path, { weight: "600" })); - document.fonts.add(new FontFace("Twemoji", path, { weight: "700" })); - } else { - // fall back to SBIX, generated via https://github.com/matrix-org/twemoji-colr/tree/matthew/sbix - // eslint-disable-next-line @typescript-eslint/no-require-imports - const path = `url('${require("../../res/fonts/Twemoji_Mozilla/TwemojiMozilla-sbix.woff2")}')`; - document.fonts.add(new FontFace("Twemoji", path, {})); - document.fonts.add(new FontFace("Twemoji", path, { weight: "600" })); - document.fonts.add(new FontFace("Twemoji", path, { weight: "700" })); - } - // ...and if SBIX is not supported, the browser will fall back to one of the native fonts specified. -} From 85711be352be993347ccd4836ba5387c45bd3c69 Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Tue, 26 Nov 2024 11:00:52 -0500 Subject: [PATCH 41/78] Show the correct shield status in tooltip for more conditions (#28476) * Add support for new shield codes in JS SDK * change string used for shield message * fix test --- playwright/e2e/crypto/event-shields.spec.ts | 26 +++++++++++++++++++ src/components/views/rooms/EventTile.tsx | 9 +++++-- .../components/views/rooms/EventTile-test.tsx | 2 ++ 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/playwright/e2e/crypto/event-shields.spec.ts b/playwright/e2e/crypto/event-shields.spec.ts index b5d3790aaa..c6382f1d72 100644 --- a/playwright/e2e/crypto/event-shields.spec.ts +++ b/playwright/e2e/crypto/event-shields.spec.ts @@ -16,6 +16,7 @@ import { logOutOfElement, verify, } from "./utils"; +import { bootstrapCrossSigningForClient } from "../../pages/client.ts"; test.describe("Cryptography", function () { test.use({ @@ -307,5 +308,30 @@ test.describe("Cryptography", function () { const penultimate = page.locator(".mx_EventTile").filter({ hasText: "test encrypted from verified" }); await expect(penultimate.locator(".mx_EventTile_e2eIcon")).not.toBeVisible(); }); + + test("should show correct shields on events sent by users with changed identity", async ({ + page, + app, + bot: bob, + homeserver, + }) => { + // Verify Bob + await verify(app, bob); + + // Bob logs in a new device and resets cross-signing + const bobSecondDevice = await createSecondBotDevice(page, homeserver, bob); + await bootstrapCrossSigningForClient(await bobSecondDevice.prepareClient(), bob.credentials, true); + + /* should show an error for a message from a previously verified device */ + await bobSecondDevice.sendMessage(testRoomId, "test encrypted from user that was previously verified"); + const last = page.locator(".mx_EventTile_last"); + await expect(last).toContainText("test encrypted from user that was previously verified"); + const lastE2eIcon = last.locator(".mx_EventTile_e2eIcon"); + await expect(lastE2eIcon).toHaveClass(/mx_EventTile_e2eIcon_warning/); + await lastE2eIcon.focus(); + await expect(await app.getTooltipForElement(lastE2eIcon)).toContainText( + "Sender's verified identity has changed", + ); + }); }); }); diff --git a/src/components/views/rooms/EventTile.tsx b/src/components/views/rooms/EventTile.tsx index 8b07368859..78d0ca5b28 100644 --- a/src/components/views/rooms/EventTile.tsx +++ b/src/components/views/rooms/EventTile.tsx @@ -758,8 +758,13 @@ export class UnwrappedEventTile extends React.Component shieldReasonMessage = _t("encryption|event_shield_reason_mismatched_sender_key"); break; - default: - shieldReasonMessage = _t("error|unknown"); + case EventShieldReason.SENT_IN_CLEAR: + shieldReasonMessage = _t("common|unencrypted"); + break; + + case EventShieldReason.VERIFICATION_VIOLATION: + shieldReasonMessage = _t("timeline|decryption_failure|sender_identity_previously_verified"); + break; } if (this.state.shieldColour === EventShieldColour.GREY) { diff --git a/test/unit-tests/components/views/rooms/EventTile-test.tsx b/test/unit-tests/components/views/rooms/EventTile-test.tsx index 4cb2296760..e57514904a 100644 --- a/test/unit-tests/components/views/rooms/EventTile-test.tsx +++ b/test/unit-tests/components/views/rooms/EventTile-test.tsx @@ -301,6 +301,8 @@ describe("EventTile", () => { [EventShieldReason.UNKNOWN_DEVICE, "unknown or deleted device"], [EventShieldReason.AUTHENTICITY_NOT_GUARANTEED, "can't be guaranteed"], [EventShieldReason.MISMATCHED_SENDER_KEY, "Encrypted by an unverified session"], + [EventShieldReason.SENT_IN_CLEAR, "Not encrypted"], + [EventShieldReason.VERIFICATION_VIOLATION, "Sender's verified identity has changed"], ])("shows the correct reason code for %i (%s)", async (reasonCode: EventShieldReason, expectedText: string) => { mxEvent = await mkEncryptedMatrixEvent({ plainContent: { msgtype: "m.text", body: "msg1" }, From 5f4d78925913bda5a0d15d07793bc0dff3188ffa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:14:36 +0000 Subject: [PATCH 42/78] Update dependency @formatjs/intl-segmenter to v11.7.4 (#28558) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/yarn.lock b/yarn.lock index a2bf286f1b..edf2b0acc4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1585,13 +1585,13 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62" integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== -"@formatjs/ecma402-abstract@2.2.3": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz#dc5a032e1971c709b32b9ab511fa35504a7d3bc9" - integrity sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ== +"@formatjs/ecma402-abstract@2.2.4": + version "2.2.4" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.4.tgz#355e42d375678229d46dc8ad7a7139520dd03e7b" + integrity sha512-lFyiQDVvSbQOpU+WFd//ILolGj4UgA/qXrKeZxdV14uKiAUiPAtX6XAn7WBCRi7Mx6I7EybM9E5yYn4BIpZWYg== dependencies: "@formatjs/fast-memoize" "2.2.3" - "@formatjs/intl-localematcher" "0.5.7" + "@formatjs/intl-localematcher" "0.5.8" tslib "2" "@formatjs/fast-memoize@2.2.3": @@ -1601,20 +1601,20 @@ dependencies: tslib "2" -"@formatjs/intl-localematcher@0.5.7": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz#f889d076881b785d11ff993b966f527d199436d0" - integrity sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA== +"@formatjs/intl-localematcher@0.5.8": + version "0.5.8" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.8.tgz#b11bbd04bd3551f7cadcb1ef1e231822d0e3c97e" + integrity sha512-I+WDNWWJFZie+jkfkiK5Mp4hEDyRSEvmyfYadflOno/mmKJKcB17fEpEH0oJu/OWhhCJ8kJBDz2YMd/6cDl7Mg== dependencies: tslib "2" "@formatjs/intl-segmenter@^11.5.7": - version "11.7.3" - resolved "https://registry.yarnpkg.com/@formatjs/intl-segmenter/-/intl-segmenter-11.7.3.tgz#aeb49c33c81fec68419922c64c72188b659eaa5a" - integrity sha512-IvEDQRe0t0ouqaqZK2KobGt/+BhwDHdtbS8GWhdl+fjmWbhXMz2mHihu5fAYkYChum5eNfGhEF5P+bLCeYq67w== + version "11.7.4" + resolved "https://registry.yarnpkg.com/@formatjs/intl-segmenter/-/intl-segmenter-11.7.4.tgz#f99d87ee3f98515069285438a4913681fc243252" + integrity sha512-pyHgFO86/CReKl20oK9jgaTMzSaG/nIMteMW8YuwUcS22EoMI1qbGTZ65oQ38KMT05SiHiMee2CP3WZvCi8YSQ== dependencies: - "@formatjs/ecma402-abstract" "2.2.3" - "@formatjs/intl-localematcher" "0.5.7" + "@formatjs/ecma402-abstract" "2.2.4" + "@formatjs/intl-localematcher" "0.5.8" tslib "2" "@humanwhocodes/config-array@^0.13.0": From b8c178d1336be36637f6bbdac7f68bde20c704fe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:14:41 +0000 Subject: [PATCH 43/78] Update dependency @vector-im/compound-design-tokens to v2.1.0 (#28563) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index edf2b0acc4..1260ab26c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3415,9 +3415,9 @@ integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== "@vector-im/compound-design-tokens@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@vector-im/compound-design-tokens/-/compound-design-tokens-2.0.1.tgz#add14494caab16cdbe98f2bdabe726908739def4" - integrity sha512-4nkPcrPII+sejispn+UkWZYFN7LecN39e4WGBupdceiMq0NJrfXrnVtJ9/6BDLgSqHInb6R/IWQkIbPbzfqRMg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/@vector-im/compound-design-tokens/-/compound-design-tokens-2.1.1.tgz#d6175a99fe4b97688464126f255386990f3048d6" + integrity sha512-QnUi2K14D9KTXxcLQKUU3V75cforZLMwhaaJDNftT8F5mG86950hAM+qhgDNEpEU+pkTffQj0/g/5859YmqWzQ== "@vector-im/compound-web@^7.4.0": version "7.4.0" From 80cd93678a45eec3d26a4a0d2b87e0f985d442d6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:15:04 +0000 Subject: [PATCH 44/78] Update docker (#28554) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/dockerhub.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dockerhub.yaml b/.github/workflows/dockerhub.yaml index 7911cf794a..8dae6cf5ab 100644 --- a/.github/workflows/dockerhub.yaml +++ b/.github/workflows/dockerhub.yaml @@ -39,7 +39,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5 + uses: docker/metadata-action@369eb591f429131d6889c46b94e711f089e6ca96 # v5 with: images: | vectorim/element-web @@ -51,7 +51,7 @@ jobs: - name: Build and push id: build-and-push - uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6 + uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6 with: context: . push: true From 77962005623a46b67f000601475dd436ca5da627 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:31:10 +0000 Subject: [PATCH 45/78] Update playwright to v1.49.0 (#28566) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- playwright/Dockerfile | 2 +- yarn.lock | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/playwright/Dockerfile b/playwright/Dockerfile index 9d478ff231..2b30c416f7 100644 --- a/playwright/Dockerfile +++ b/playwright/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/playwright:v1.48.2-jammy +FROM mcr.microsoft.com/playwright:v1.49.0-jammy WORKDIR /work diff --git a/yarn.lock b/yarn.lock index 1260ab26c2..7b8611f876 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2073,11 +2073,11 @@ webcrypto-core "^1.8.0" "@playwright/test@^1.40.1": - version "1.48.2" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.48.2.tgz#87dd40633f980872283404c8142a65744d3f13d6" - integrity sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw== + version "1.49.0" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.49.0.tgz#74227385b58317ee076b86b56d0e1e1b25cff01e" + integrity sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw== dependencies: - playwright "1.48.2" + playwright "1.49.0" "@polka/url@^1.0.0-next.24": version "1.0.0-next.28" @@ -9163,17 +9163,17 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" -playwright-core@1.48.2, playwright-core@^1.45.1: - version "1.48.2" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.48.2.tgz#cd76ed8af61690edef5c05c64721c26a8db2f3d7" - integrity sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA== +playwright-core@1.49.0, playwright-core@^1.45.1: + version "1.49.0" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.49.0.tgz#8e69ffed3f41855b854982f3632f2922c890afcb" + integrity sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA== -playwright@1.48.2: - version "1.48.2" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.48.2.tgz#fca45ae8abdc34835c715718072aaff7e305167e" - integrity sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ== +playwright@1.49.0: + version "1.49.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.49.0.tgz#df6b9e05423377a99658202844a294a8afb95d0a" + integrity sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A== dependencies: - playwright-core "1.48.2" + playwright-core "1.49.0" optionalDependencies: fsevents "2.3.2" From 8a7cdaa3ef855f86e27748326565a87b14863da8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:33:45 +0000 Subject: [PATCH 46/78] Update dependency stylelint-scss to v6.10.0 (#28564) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7b8611f876..65ba575402 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11114,9 +11114,9 @@ stylelint-config-standard@^36.0.0: stylelint-config-recommended "^14.0.1" stylelint-scss@^6.0.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-6.9.0.tgz#a5ab9b2a8ed7e0a9c113558fdbd1b66ad673b259" - integrity sha512-oWOR+g6ccagfrENecImGmorWWjVyWpt2R8bmkhOW8FkNNPGStZPQMqb8QWMW4Lwu9TyPqmyjHkkAsy3weqsnNw== + version "6.10.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-6.10.0.tgz#ba5b807793e145421e9879dd15ae672af6820a45" + integrity sha512-y03if6Qw9xBMoVaf7tzp5BbnYhYvudIKzURkhSHzcHG0bW0fAYvQpTUVJOe7DyhHaxeThBil4ObEMvGbV7+M+w== dependencies: css-tree "^3.0.1" is-plain-object "^5.0.0" @@ -11124,7 +11124,7 @@ stylelint-scss@^6.0.0: mdn-data "^2.12.2" postcss-media-query-parser "^0.2.3" postcss-resolve-nested-selector "^0.1.6" - postcss-selector-parser "^6.1.2" + postcss-selector-parser "^7.0.0" postcss-value-parser "^4.2.0" stylelint-value-no-unknown-custom-properties@^6.0.1: From bda045fad0aa9493abaa158073e6f7ed1a13d8f5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:34:01 +0000 Subject: [PATCH 47/78] Update dependency @stylistic/eslint-plugin to v2.11.0 (#28562) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 61 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 65ba575402..9f1995c865 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2562,11 +2562,11 @@ p-map "^4.0.0" "@stylistic/eslint-plugin@^2.9.0": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-2.10.1.tgz#809924752a1a13ebff2b0b6d7884fd61d389a907" - integrity sha512-U+4yzNXElTf9q0kEfnloI9XbOyD4cnEQCxjUI94q0+W++0GAEQvJ/slwEj9lwjDHfGADRSr+Tco/z0XJvmDfCQ== + version "2.11.0" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-2.11.0.tgz#50d0289f36f7201055b7fa1729fdc1d8c46e93fa" + integrity sha512-PNRHbydNG5EH8NK4c+izdJlxajIR6GxcUhzsYNRsn6Myep4dsZt0qFCz3rCPnkvgO5FYibDcMqgNHUT+zvjYZw== dependencies: - "@typescript-eslint/utils" "^8.12.2" + "@typescript-eslint/utils" "^8.13.0" eslint-visitor-keys "^4.2.0" espree "^10.3.0" estraverse "^5.3.0" @@ -3317,6 +3317,14 @@ "@typescript-eslint/types" "8.14.0" "@typescript-eslint/visitor-keys" "8.14.0" +"@typescript-eslint/scope-manager@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.16.0.tgz#ebc9a3b399a69a6052f3d88174456dd399ef5905" + integrity sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg== + dependencies: + "@typescript-eslint/types" "8.16.0" + "@typescript-eslint/visitor-keys" "8.16.0" + "@typescript-eslint/scope-manager@8.9.0": version "8.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.9.0.tgz#c98fef0c4a82a484e6a1eb610a55b154d14d46f3" @@ -3340,6 +3348,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.14.0.tgz#0d33d8d0b08479c424e7d654855fddf2c71e4021" integrity sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g== +"@typescript-eslint/types@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.16.0.tgz#49c92ae1b57942458ab83d9ec7ccab3005e64737" + integrity sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ== + "@typescript-eslint/types@8.9.0": version "8.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.9.0.tgz#b733af07fb340b32e962c6c63b1062aec2dc0fe6" @@ -3359,6 +3372,20 @@ semver "^7.6.0" ts-api-utils "^1.3.0" +"@typescript-eslint/typescript-estree@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.16.0.tgz#9d741e56e5b13469b5190e763432ce5551a9300c" + integrity sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw== + dependencies: + "@typescript-eslint/types" "8.16.0" + "@typescript-eslint/visitor-keys" "8.16.0" + debug "^4.3.4" + fast-glob "^3.3.2" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + "@typescript-eslint/typescript-estree@8.9.0": version "8.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.9.0.tgz#1714f167e9063062dc0df49c1d25afcbc7a96199" @@ -3373,7 +3400,7 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@8.14.0", "@typescript-eslint/utils@^8.12.2": +"@typescript-eslint/utils@8.14.0": version "8.14.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.14.0.tgz#ac2506875e03aba24e602364e43b2dfa45529dbd" integrity sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA== @@ -3393,6 +3420,16 @@ "@typescript-eslint/types" "8.9.0" "@typescript-eslint/typescript-estree" "8.9.0" +"@typescript-eslint/utils@^8.13.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.16.0.tgz#c71264c437157feaa97842809836254a6fc833c3" + integrity sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.16.0" + "@typescript-eslint/types" "8.16.0" + "@typescript-eslint/typescript-estree" "8.16.0" + "@typescript-eslint/visitor-keys@8.14.0": version "8.14.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz#2418d5a54669af9658986ade4e6cfb7767d815ad" @@ -3401,6 +3438,14 @@ "@typescript-eslint/types" "8.14.0" eslint-visitor-keys "^3.4.3" +"@typescript-eslint/visitor-keys@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.16.0.tgz#d5086afc060b01ff7a4ecab8d49d13d5a7b07705" + integrity sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ== + dependencies: + "@typescript-eslint/types" "8.16.0" + eslint-visitor-keys "^4.2.0" + "@typescript-eslint/visitor-keys@8.9.0": version "8.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.9.0.tgz#5f11f4d9db913f37da42776893ffe0dd1ae78f78" @@ -11438,9 +11483,9 @@ truncate-utf8-bytes@^1.0.0: utf8-byte-length "^1.0.1" ts-api-utils@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.0.tgz#709c6f2076e511a81557f3d07a0cbd566ae8195c" - integrity sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ== + version "1.4.2" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.2.tgz#a6a6dff26117ac7965624fc118525971edc6a82a" + integrity sha512-ZF5gQIQa/UmzfvxbHZI3JXN0/Jt+vnAfAviNRAMc491laiK6YCLpCW9ft8oaCRFOTxCZtUTE6XB0ZQAe3olntw== ts-morph@^13.0.1: version "13.0.3" From fe7ac684786d567ae2e364833bc383667ae649ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:34:29 +0000 Subject: [PATCH 48/78] Update definitelyTyped (#28557) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9f1995c865..a2f1f6c2bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2836,9 +2836,9 @@ integrity sha512-aqBg5oAGo/qh/+wxUfuMadDu2WO0MEWOblyzwaM1Ske2xilUxBfgPqapAFVAfrVTDMVwa0UMarzGot8m64IAzA== "@types/css-tree@^2.3.8": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@types/css-tree/-/css-tree-2.3.8.tgz#0eabc115e45051b2f7abe51ee1531074b234ed19" - integrity sha512-zABG3nI2UENsx7AQv63tI5/ptoAG/7kQR1H0OvG+WTWYHOR5pfAT3cGgC8SdyCrgX/TTxJBZNmx82IjCXs1juQ== + version "2.3.9" + resolved "https://registry.yarnpkg.com/@types/css-tree/-/css-tree-2.3.9.tgz#54c404e0a803e7e660fdc08c84fe73ee5266cece" + integrity sha512-g1FE6xkPDP4tsccmTd6jIugjKZdxIDqAf9h2pc+4LsGgYbOyfa9phNjBHYbm6FtwIlNfT1NBx3f2zSeqO7aRAw== "@types/diff-match-patch@^1.0.32": version "1.0.36" @@ -2861,9 +2861,9 @@ integrity sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz#91f06cda1049e8f17eeab364798ed79c97488a1c" - integrity sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw== + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz#812d2871e5eea17fb0bd5214dda7a7b748c0e12a" + integrity sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg== dependencies: "@types/node" "*" "@types/qs" "*" @@ -3065,9 +3065,9 @@ integrity sha512-yslwR0zZ3zAT1qXcCPxIcD23CZ6W6nKsl6JufSJHAmdwOBuYwCVJkaMsEo9yzxGV7ATfoX8S+RgtnajOEtKxYA== "@types/node-fetch@^2.6.2": - version "2.6.11" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" - integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== + version "2.6.12" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.12.tgz#8ab5c3ef8330f13100a7479e2cd56d3386830a03" + integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== dependencies: "@types/node" "*" form-data "^4.0.0" @@ -3080,16 +3080,16 @@ "@types/node" "*" "@types/node@*": - version "22.7.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.6.tgz#3ec3e2b071e136cd11093c19128405e1d1f92f33" - integrity sha512-/d7Rnj0/ExXDMcioS78/kf1lMzYk4BZV8MZGTBKzTGZ6/406ukkbYlIsZmMPhcR5KlkunDHQLrtAVmSq7r+mSw== + version "22.10.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.0.tgz#89bfc9e82496b9c7edea3382583fa94f75896e81" + integrity sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA== dependencies: - undici-types "~6.19.2" + undici-types "~6.20.0" "@types/node@18": - version "18.19.64" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.64.tgz#122897fb79f2a9ec9c979bded01c11461b2b1478" - integrity sha512-955mDqvO2vFf/oL7V3WiUtiz+BugyX8uVbaT2H8oj3+8dRyH2FLiNdowe7eNqRM7IOIZvzDH76EoAT+gwm6aIQ== + version "18.19.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.66.tgz#0937a47904ceba5994eedf5cf4b6d503d8d6136c" + integrity sha512-14HmtUdGxFUalGRfLLn9Gc1oNWvWh5zNbsyOLo5JV6WARSeN1QcEBKRnZm9QqNfrutgsl/hY4eJW63aZ44aBCg== dependencies: undici-types "~5.26.4" @@ -11670,10 +11670,10 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici-types@~6.19.2: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== unhomoglyph@^1.0.6: version "1.0.6" From df7703a4a5ed885e86f7d46c7685cc9c96de82d6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 18:11:39 +0000 Subject: [PATCH 49/78] Update linkify to v4.1.4 (#28560) * Update linkify to v4.1.4 * Fix types Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> --- package.json | 8 +++---- test/unit-tests/linkify-matrix-test.ts | 4 ++-- yarn.lock | 32 +++++++++++++------------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index a48284bb97..2ef4a6f170 100644 --- a/package.json +++ b/package.json @@ -114,10 +114,10 @@ "jsrsasign": "^11.0.0", "jszip": "^3.7.0", "katex": "^0.16.0", - "linkify-element": "4.1.3", - "linkify-react": "4.1.3", - "linkify-string": "4.1.3", - "linkifyjs": "4.1.3", + "linkify-element": "4.1.4", + "linkify-react": "4.1.4", + "linkify-string": "4.1.4", + "linkifyjs": "4.1.4", "lodash": "^4.17.21", "maplibre-gl": "^4.0.0", "matrix-encrypt-attachment": "^1.0.3", diff --git a/test/unit-tests/linkify-matrix-test.ts b/test/unit-tests/linkify-matrix-test.ts index 97548c62d4..50edff2535 100644 --- a/test/unit-tests/linkify-matrix-test.ts +++ b/test/unit-tests/linkify-matrix-test.ts @@ -332,7 +332,7 @@ describe("linkify-matrix", () => { const event = new MouseEvent("mousedown"); event.preventDefault = jest.fn(); - handlers.click(event); + handlers!.click(event); expect(event.preventDefault).toHaveBeenCalled(); expect(dispatchSpy).toHaveBeenCalledWith( expect.objectContaining({ @@ -372,7 +372,7 @@ describe("linkify-matrix", () => { const event = new MouseEvent("mousedown"); event.preventDefault = jest.fn(); - handlers.click(event); + handlers!.click(event); expect(event.preventDefault).toHaveBeenCalled(); expect(dispatchSpy).toHaveBeenCalledWith( expect.objectContaining({ diff --git a/yarn.lock b/yarn.lock index a2f1f6c2bb..72e2d74710 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8109,10 +8109,10 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -linkify-element@4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/linkify-element/-/linkify-element-4.1.3.tgz#c0de98f2a36683bf3a4bfa28eaa23c4c917bd546" - integrity sha512-oUoG7BWaR3Q6kAKdlLi8slsu5rkVRxbiDVVlkpoL7vtidY5THggLzRHIBtmcj+tvMpcAUQomJApDxg0ub0qpdA== +linkify-element@4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/linkify-element/-/linkify-element-4.1.4.tgz#d4050b41fb47c44871e5eed93bc11865e403cc90" + integrity sha512-XhSTTF7b7OoX4KIkwVG8MET5DSFEHohT0Gp5pjmsByYp+JCyZq5rSZGsar5dYzeuKUV6TqTSLtsH/NzBBwBxgQ== linkify-it@^4.0.1: version "4.0.1" @@ -8121,20 +8121,20 @@ linkify-it@^4.0.1: dependencies: uc.micro "^1.0.1" -linkify-react@4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/linkify-react/-/linkify-react-4.1.3.tgz#461d348b4bdab3fcd0452ae1b5bbc22536395b97" - integrity sha512-rhI3zM/fxn5BfRPHfi4r9N7zgac4vOIxub1wHIWXLA5ENTMs+BGaIaFO1D1PhmxgwhIKmJz3H7uCP0Dg5JwSlA== +linkify-react@4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/linkify-react/-/linkify-react-4.1.4.tgz#6c709f3f96543914874982f4b0b00f9c9270ce93" + integrity sha512-UI9nqHtFzHYRUvVRrYeua5GIXkc0Jy3RpLsJBWEht7HwqjAa2qSaIksGmNSLqclNpO/5AkwaxUJv71I/pQsk9Q== -linkify-string@4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/linkify-string/-/linkify-string-4.1.3.tgz#a47dbbf64c9fbd2f6ae5e26cd41ec2e5748a54d1" - integrity sha512-6dAgx4MiTcvEX87OS5aNpAioO7cSELUXp61k7azOvMYOLSmREx0w4yM1Uf0+O3JLC08YdkUyZhAX+YkasRt/mw== +linkify-string@4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/linkify-string/-/linkify-string-4.1.4.tgz#89fb814e05c5b22f76d2a2a640bc8b1db4c6694f" + integrity sha512-4z2UEzEi4SxnhWMzzZ8Pa8vIOwX/2U0XWxk/0UIA7lI+Dn0ZRKqTE9ildnO6Jl6K5hqVuLKTeMD8p4bdFW6P8g== -linkifyjs@4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/linkifyjs/-/linkifyjs-4.1.3.tgz#0edbc346428a7390a23ea2e5939f76112c9ae07f" - integrity sha512-auMesunaJ8yfkHvK4gfg1K0SaKX/6Wn9g2Aac/NwX+l5VdmFZzo/hdPGxEOETj+ryRa4/fiOPjeeKURSAJx1sg== +linkifyjs@4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/linkifyjs/-/linkifyjs-4.1.4.tgz#2766605a20078d50c90f35af22275a42dfb7dfc4" + integrity sha512-0/NxkHNpiJ0k9VrYCkAn9OtU1eu8xEr1tCCpDtSsVRm/SF0xAak2Gzv3QimSfgUgqLBCDlfhMbu73XvaEHUTPQ== lint-staged@^15.0.2: version "15.2.10" From 8d28dd3784d3c6e429d2c6efa78a583a04e5fd95 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 18:14:00 +0000 Subject: [PATCH 50/78] Update dependency @sentry/browser to v8.40.0 (#28561) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 101 ++++++++++++++++++++++++------------------------------ 1 file changed, 44 insertions(+), 57 deletions(-) diff --git a/yarn.lock b/yarn.lock index 72e2d74710..0432b5f0f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2375,43 +2375,39 @@ resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@sentry-internal/browser-utils@8.37.1": - version "8.37.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.37.1.tgz#374028d8e37047aeda14b226707e6601de65996e" - integrity sha512-OSR/V5GCsSCG7iapWtXCT/y22uo3HlawdEgfM1NIKk1mkP15UyGQtGEzZDdih2H+SNuX1mp9jQLTjr5FFp1A5w== +"@sentry-internal/browser-utils@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.40.0.tgz#972925a9d600723dd1a022297100e97e92f4c903" + integrity sha512-tx7gb/PWMbTEyil/XPETVeRUeS3nKHIvQY2omyebw30TbhyLnibPZsUmXJiaIysL5PcY3k9maub3W/o0Y37T7Q== dependencies: - "@sentry/core" "8.37.1" - "@sentry/types" "8.37.1" - "@sentry/utils" "8.37.1" + "@sentry/core" "8.40.0" + "@sentry/types" "8.40.0" -"@sentry-internal/feedback@8.37.1": - version "8.37.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.37.1.tgz#e2d5fc934ca3b4925a5f5d0e63549830a1cf147e" - integrity sha512-Se25NXbSapgS2S+JssR5YZ48b3OY4UGmAuBOafgnMW91LXMxRNWRbehZuNUmjjHwuywABMxjgu+Yp5uJDATX+g== +"@sentry-internal/feedback@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.40.0.tgz#5549f73d32b9a2509ffb0a07bf462ed8085178ec" + integrity sha512-1O9F3z80HNE0VfepKS+v+dixdatNqWlrlwgvvWl4BGzzoA+XhqvZo+HWxiOt7yx7+k1TuZNrB6Gy3u/QvpozXA== dependencies: - "@sentry/core" "8.37.1" - "@sentry/types" "8.37.1" - "@sentry/utils" "8.37.1" + "@sentry/core" "8.40.0" + "@sentry/types" "8.40.0" -"@sentry-internal/replay-canvas@8.37.1": - version "8.37.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.37.1.tgz#e8a5e350e486b16938b3dd99886be23b7b6eff18" - integrity sha512-1JLAaPtn1VL5vblB0BMELFV0D+KUm/iMGsrl4/JpRm0Ws5ESzQl33DhXVv1IX/ZAbx9i14EjR7MG9+Hj70tieQ== +"@sentry-internal/replay-canvas@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.40.0.tgz#6de0d67ee2fe3e503c6f85faeefab5df742a3ebe" + integrity sha512-Zr+m/le0SH4RowZB7rBCM0aRnvH3wZTaOFhwUk03/oGf2BRcgKuDCUMjnXKC9MyOpmey7UYXkzb8ro+81R6Q8w== dependencies: - "@sentry-internal/replay" "8.37.1" - "@sentry/core" "8.37.1" - "@sentry/types" "8.37.1" - "@sentry/utils" "8.37.1" + "@sentry-internal/replay" "8.40.0" + "@sentry/core" "8.40.0" + "@sentry/types" "8.40.0" -"@sentry-internal/replay@8.37.1": - version "8.37.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.37.1.tgz#6dc2e3955879f6e7ab830db1ddee54e0a9b401f3" - integrity sha512-E/Plhisk/pXJjOdOU12sg8m/APTXTA21iEniidP6jW3/+O0tD/H/UovEqa4odNTqxPMa798xHQSQNt5loYiaLA== +"@sentry-internal/replay@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.40.0.tgz#54c7f1e3d115f9324f34e1b8875a95463a23049f" + integrity sha512-0SaDsBCSWxNVgNmPKu23frrHEXzN/MKl0hIkfuO55vL5TgjLTwpgkf0Ne4rNvaZQ5omIKk9Qd63HuQP3PHAMaw== dependencies: - "@sentry-internal/browser-utils" "8.37.1" - "@sentry/core" "8.37.1" - "@sentry/types" "8.37.1" - "@sentry/utils" "8.37.1" + "@sentry-internal/browser-utils" "8.40.0" + "@sentry/core" "8.40.0" + "@sentry/types" "8.40.0" "@sentry/babel-plugin-component-annotate@2.22.5": version "2.22.5" @@ -2419,17 +2415,16 @@ integrity sha512-+93qwB9vTX1nj4hD8AMWowXZsZVkvmP9OwTqSh5d4kOeiJ+dZftUk4+FKeKkAX9lvY2reyHV8Gms5mo67c27RQ== "@sentry/browser@^8.0.0": - version "8.37.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.37.1.tgz#2e6e4accc395ad9e6313e07b09415370c71e5874" - integrity sha512-5ym+iGiIpjIKKpMWi9S3/tXh9xneS+jqxwRTJqed3cb8i4ydfMAAP8sM3U8xMCWWABpWyIUW+fpewC0tkhE1aQ== + version "8.40.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.40.0.tgz#de7b4531be2ac4667755e9e1b5da3808851392ae" + integrity sha512-m/Yor6IDBeDHtQochu8n6z4HXrXkrPhu6+o5Ouve0Zi3ptthSoK1FOGvJxVBat3nRq0ydQyuuPuTB6WfdWbwHQ== dependencies: - "@sentry-internal/browser-utils" "8.37.1" - "@sentry-internal/feedback" "8.37.1" - "@sentry-internal/replay" "8.37.1" - "@sentry-internal/replay-canvas" "8.37.1" - "@sentry/core" "8.37.1" - "@sentry/types" "8.37.1" - "@sentry/utils" "8.37.1" + "@sentry-internal/browser-utils" "8.40.0" + "@sentry-internal/feedback" "8.40.0" + "@sentry-internal/replay" "8.40.0" + "@sentry-internal/replay-canvas" "8.40.0" + "@sentry/core" "8.40.0" + "@sentry/types" "8.40.0" "@sentry/bundler-plugin-core@2.22.5": version "2.22.5" @@ -2499,25 +2494,17 @@ "@sentry/cli-win32-i686" "2.37.0" "@sentry/cli-win32-x64" "2.37.0" -"@sentry/core@8.37.1": - version "8.37.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.37.1.tgz#4bafb25c762ec8680874056f6160df276c1cc7c6" - integrity sha512-82csXby589iDupM3VgCHJeWZagUyEEaDnbFcoZ/Z91QX2Sjq8FcF5OsforoXjw09i0XTFqlkFAnQVpDBmMXcpQ== +"@sentry/core@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.40.0.tgz#cb5c02d12e29070bf88692c64cfd7db7700be4ea" + integrity sha512-u/U2CJpG/+SmTR2bPM4ZZoPYTJAOUuxzj/0IURnvI0v9+rNu939J/fzrO9huA5IJVxS5TiYykhQm7o6I3Zuo3Q== dependencies: - "@sentry/types" "8.37.1" - "@sentry/utils" "8.37.1" + "@sentry/types" "8.40.0" -"@sentry/types@8.37.1": - version "8.37.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.37.1.tgz#e92a7d346cfa29116568f4ffb58f65caedee0149" - integrity sha512-ryMOTROLSLINKFEbHWvi7GigNrsQhsaScw2NddybJGztJQ5UhxIGESnxGxWCufBmWFDwd7+5u0jDPCVUJybp7w== - -"@sentry/utils@8.37.1": - version "8.37.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.37.1.tgz#6e020cd222d56d79953ea9d4630d91b3e323ceda" - integrity sha512-Qtn2IfpII12K17txG/ZtTci35XYjYi4CxbQ3j7nXY7toGv/+MqPXwV5q2i9g94XaSXlE5Wy9/hoCZoZpZs/djA== - dependencies: - "@sentry/types" "8.37.1" +"@sentry/types@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.40.0.tgz#a98d2bcc48adbc066b403713688ded3ac5eb1cec" + integrity sha512-nuCf3U3deolPM9BjNnwCc33UtFl9ec15/r74ngAkNccn+A2JXdIAsDkGJMO/9mgSFykLe1QyeJ0pQFRisCGOiA== "@sentry/webpack-plugin@^2.7.1": version "2.22.5" From de5ddcf6f785debb85a0bd0f4bc1ab9682ffefe3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 18:23:13 +0000 Subject: [PATCH 51/78] Update guibranco/github-status-action-v2 digest to 66088c4 (#28555) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 14fd5ffd64..0c531f89b4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -104,7 +104,7 @@ jobs: - name: Skip SonarCloud in merge queue if: github.event_name == 'merge_group' || inputs.disable_coverage == 'true' - uses: guibranco/github-status-action-v2@1f26a0237cd1a57626fbb5a0eb2494c9b8797d07 + uses: guibranco/github-status-action-v2@66088c44e212a906c32a047529a213d81809ec1c with: authToken: ${{ secrets.GITHUB_TOKEN }} state: success From af846f8be99ca65a1c7368b28cb38152734999f5 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 26 Nov 2024 22:34:32 +0100 Subject: [PATCH 52/78] Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in RoomView (#28278) * Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in RoomView * Add `isRoomEncrypted` to room * Update e2eStatus and urlPreview when isRoomEncrypted is computed * Fix e2e test * Add tests when user verification change * Reduced abusive timeout in e2e test --- .../decryption-failure-messages.spec.ts | 3 + src/components/structures/RoomView.tsx | 163 +++-- src/contexts/RoomContext.ts | 1 + test/test-utils/room.ts | 2 +- test/test-utils/test-utils.ts | 2 +- .../components/structures/RoomView-test.tsx | 90 ++- .../__snapshots__/RoomView-test.tsx.snap | 619 +++++++++++++++++- .../views/rooms/SendMessageComposer-test.tsx | 1 + 8 files changed, 775 insertions(+), 106 deletions(-) diff --git a/playwright/e2e/crypto/decryption-failure-messages.spec.ts b/playwright/e2e/crypto/decryption-failure-messages.spec.ts index ce7ca34d8e..b2a1209a70 100644 --- a/playwright/e2e/crypto/decryption-failure-messages.spec.ts +++ b/playwright/e2e/crypto/decryption-failure-messages.spec.ts @@ -67,6 +67,9 @@ test.describe("Cryptography", function () { await page.locator(".mx_AuthPage").getByRole("button", { name: "I'll verify later" }).click(); await app.viewRoomByName("Test room"); + // In this case, the call to cryptoApi.isEncryptionEnabledInRoom is taking a long time to resolve + await page.waitForTimeout(1000); + // There should be two historical events in the timeline const tiles = await page.locator(".mx_EventTile").all(); expect(tiles.length).toBeGreaterThanOrEqual(2); diff --git a/src/components/structures/RoomView.tsx b/src/components/structures/RoomView.tsx index 470b73de7c..58e37606b2 100644 --- a/src/components/structures/RoomView.tsx +++ b/src/components/structures/RoomView.tsx @@ -9,7 +9,16 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import React, { ChangeEvent, ComponentProps, createRef, ReactElement, ReactNode, RefObject, useContext } from "react"; +import React, { + ChangeEvent, + ComponentProps, + createRef, + ReactElement, + ReactNode, + RefObject, + useContext, + JSX, +} from "react"; import classNames from "classnames"; import { IRecommendedVersion, @@ -29,6 +38,7 @@ import { MatrixError, ISearchResults, THREAD_RELATION_TYPE, + MatrixClient, } from "matrix-js-sdk/src/matrix"; import { KnownMembership } from "matrix-js-sdk/src/types"; import { logger } from "matrix-js-sdk/src/logger"; @@ -233,6 +243,11 @@ export interface IRoomState { liveTimeline?: EventTimeline; narrow: boolean; msc3946ProcessDynamicPredecessor: boolean; + /** + * Whether the room is encrypted or not. + * If null, we are still determining the encryption status. + */ + isRoomEncrypted: boolean | null; canAskToJoin: boolean; promptAskToJoin: boolean; @@ -417,6 +432,7 @@ export class RoomView extends React.Component { canAskToJoin: this.askToJoinEnabled, promptAskToJoin: false, viewRoomOpts: { buttons: [] }, + isRoomEncrypted: null, }; } @@ -847,7 +863,7 @@ export class RoomView extends React.Component { return isManuallyShown && widgets.length > 0; } - public componentDidMount(): void { + public async componentDidMount(): Promise { this.unmounted = false; this.dispatcherRef = defaultDispatcher.register(this.onAction); @@ -1342,13 +1358,12 @@ export class RoomView extends React.Component { this.context.widgetLayoutStore.on(WidgetLayoutStore.emissionForRoom(room), this.onWidgetLayoutChange); this.calculatePeekRules(room); - this.updatePreviewUrlVisibility(room); this.loadMembersIfJoined(room); this.calculateRecommendedVersion(room); - this.updateE2EStatus(room); this.updatePermissions(room); this.checkWidgets(room); this.loadVirtualRoom(room); + this.updateRoomEncrypted(room); if ( this.getMainSplitContentType(room) !== MainSplitContentType.Timeline && @@ -1377,6 +1392,13 @@ export class RoomView extends React.Component { return room?.currentState.getStateEvents(EventType.RoomTombstone, "") ?? undefined; } + private async getIsRoomEncrypted(roomId = this.state.roomId): Promise { + const crypto = this.context.client?.getCrypto(); + if (!crypto || !roomId) return false; + + return await crypto.isEncryptionEnabledInRoom(roomId); + } + private async calculateRecommendedVersion(room: Room): Promise { const upgradeRecommendation = await room.getRecommendedVersion(); if (this.unmounted) return; @@ -1409,12 +1431,15 @@ export class RoomView extends React.Component { }); } - private updatePreviewUrlVisibility({ roomId }: Room): void { - // URL Previews in E2EE rooms can be a privacy leak so use a different setting which is per-room explicit - const key = this.context.client?.isRoomEncrypted(roomId) ? "urlPreviewsEnabled_e2ee" : "urlPreviewsEnabled"; - this.setState({ - showUrlPreview: SettingsStore.getValue(key, roomId), - }); + private updatePreviewUrlVisibility(room: Room): void { + this.setState(({ isRoomEncrypted }) => ({ + showUrlPreview: this.getPreviewUrlVisibility(room, isRoomEncrypted), + })); + } + + private getPreviewUrlVisibility({ roomId }: Room, isRoomEncrypted: boolean | null): boolean { + const key = isRoomEncrypted ? "urlPreviewsEnabled_e2ee" : "urlPreviewsEnabled"; + return SettingsStore.getValue(key, roomId); } private onRoom = (room: Room): void => { @@ -1456,7 +1481,7 @@ export class RoomView extends React.Component { }; private async updateE2EStatus(room: Room): Promise { - if (!this.context.client?.isRoomEncrypted(room.roomId)) return; + if (!this.context.client || !this.state.isRoomEncrypted) return; // If crypto is not currently enabled, we aren't tracking devices at all, // so we don't know what the answer is. Let's error on the safe side and show @@ -1467,33 +1492,54 @@ export class RoomView extends React.Component { if (this.context.client.getCrypto()) { /* At this point, the user has encryption on and cross-signing on */ - e2eStatus = await shieldStatusForRoom(this.context.client, room); - RoomView.e2eStatusCache.set(room.roomId, e2eStatus); + e2eStatus = await this.cacheAndGetE2EStatus(room, this.context.client); if (this.unmounted) return; this.setState({ e2eStatus }); } } + private async cacheAndGetE2EStatus(room: Room, client: MatrixClient): Promise { + const e2eStatus = await shieldStatusForRoom(client, room); + RoomView.e2eStatusCache.set(room.roomId, e2eStatus); + return e2eStatus; + } + private onUrlPreviewsEnabledChange = (): void => { if (this.state.room) { this.updatePreviewUrlVisibility(this.state.room); } }; - private onRoomStateEvents = (ev: MatrixEvent, state: RoomState): void => { + private onRoomStateEvents = async (ev: MatrixEvent, state: RoomState): Promise => { // ignore if we don't have a room yet - if (!this.state.room || this.state.room.roomId !== state.roomId) return; + if (!this.state.room || this.state.room.roomId !== state.roomId || !this.context.client) return; switch (ev.getType()) { case EventType.RoomTombstone: this.setState({ tombstone: this.getRoomTombstone() }); break; - + case EventType.RoomEncryption: { + await this.updateRoomEncrypted(); + break; + } default: this.updatePermissions(this.state.room); } }; + private async updateRoomEncrypted(room = this.state.room): Promise { + if (!room || !this.context.client) return; + + const isRoomEncrypted = await this.getIsRoomEncrypted(room.roomId); + const newE2EStatus = isRoomEncrypted ? await this.cacheAndGetE2EStatus(room, this.context.client) : null; + + this.setState({ + isRoomEncrypted, + showUrlPreview: this.getPreviewUrlVisibility(room, isRoomEncrypted), + ...(newE2EStatus && { e2eStatus: newE2EStatus }), + }); + } + private onRoomStateUpdate = (state: RoomState): void => { // ignore members in other rooms if (state.roomId !== this.state.room?.roomId) { @@ -2027,6 +2073,8 @@ export class RoomView extends React.Component { public render(): ReactNode { if (!this.context.client) return null; + const { isRoomEncrypted } = this.state; + const isRoomEncryptionLoading = isRoomEncrypted === null; if (this.state.room instanceof LocalRoom) { if (this.state.room.state === LocalRoomState.CREATING) { @@ -2242,14 +2290,16 @@ export class RoomView extends React.Component { let aux: JSX.Element | undefined; let previewBar; if (this.state.timelineRenderingType === TimelineRenderingType.Search) { - aux = ( - - ); + if (!isRoomEncryptionLoading) { + aux = ( + + ); + } } else if (showRoomUpgradeBar) { aux = ; } else if (myMembership !== KnownMembership.Join) { @@ -2325,8 +2375,10 @@ export class RoomView extends React.Component { let messageComposer; const showComposer = + !isRoomEncryptionLoading && // joined and not showing search results - myMembership === KnownMembership.Join && !this.state.search; + myMembership === KnownMembership.Join && + !this.state.search; if (showComposer) { messageComposer = ( { highlightedEventId = this.state.initialEventId; } - const messagePanel = ( -

`; +exports[`RoomView should not display the timeline when the room encryption is loading 1`] = ` + +
+
+
+
+ + +
+ + + + +
+
+
+
+ 0 +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +`; + +exports[`RoomView should not display the timeline when the room encryption is loading 2`] = ` + +
+
+
+
+ + +
+ + + + +
+
+
+
+ 0 +
+
+
+
+
+
+
+
+
+
    +
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ +`; + exports[`RoomView should show error view if failed to look up room alias 1`] = `
- !10:example.org + !12:example.org
@@ -1370,7 +1935,7 @@ exports[`RoomView video rooms should render joined video room view 1`] = ` >
.", @@ -2519,12 +2657,15 @@ "code_blocks_heading": "Quelltextblöcke", "compact_modern": "Modernes kompaktes Layout verwenden", "composer_heading": "Nachrichteneingabe", + "default_timezone": "Browser-Standard (%(timezone)s )", + "dialog_title": "Einstellungen: Präferenzen", "enable_hardware_acceleration": "Aktiviere die Hardwarebeschleunigung", "enable_tray_icon": "Fenster beim Schließen in die Symbolleiste minimieren", "keyboard_heading": "Tastenkombinationen", "keyboard_view_shortcuts_button": "Um alle Tastenkombinationen anzuzeigen, klicke hier.", "media_heading": "Mediendateien", "presence_description": "Teile anderen deine Aktivität und deinen Status mit.", + "publish_timezone": "Zeitzone auf öffentlichem Profil anzeigen lassen", "rm_lifetime": "Gültigkeitsdauer der Gelesen-Markierung (ms)", "rm_lifetime_offscreen": "Gültigkeitsdauer der Gelesen-Markierung außerhalb des Bildschirms (ms)", "room_directory_heading": "Raumverzeichnis", @@ -2533,7 +2674,8 @@ "show_checklist_shortcuts": "Verknüpfung zu ersten Schritten (Willkommen) anzeigen", "show_polls_button": "Zeige Pol button", "surround_text": "Sonderzeichen automatisch vor und hinter Textauswahl setzen", - "time_heading": "Zeitanzeige" + "time_heading": "Zeitanzeige", + "user_timezone": "Zeitzone festlegen" }, "prompt_invite": "Warnen, bevor du Einladungen zu ungültigen Matrix-IDs sendest", "replace_plain_emoji": "Klartext-Emoji automatisch ersetzen", @@ -2564,14 +2706,16 @@ "cross_signing_self_signing_private_key": "Selbst signierter privater Schlüssel:", "cross_signing_user_signing_private_key": "Privater Benutzerschlüssel:", "cryptography_section": "Verschlüsselung", + "dehydrated_device_description": "Die Offline-Gerätefunktion ermöglicht es Ihnen, verschlüsselte Nachrichten zu empfangen, auch wenn Sie an keinem Gerät angemeldet sind", + "dehydrated_device_enabled": "Offline-Gerät aktiviert", "delete_backup": "Lösche Sicherung", "delete_backup_confirm_description": "Bist du sicher? Du wirst alle deine verschlüsselten Nachrichten verlieren, wenn deine Schlüssel nicht gut gesichert sind.", + "dialog_title": "Einstellungen Sicherheit & Datenschutz", "e2ee_default_disabled_warning": "Deine Server-Administration hat die Ende-zu-Ende-Verschlüsselung für private Räume und Direktnachrichten standardmäßig deaktiviert.", "enable_message_search": "Nachrichtensuche in verschlüsselten Räumen aktivieren", "encryption_section": "Verschlüsselung", "error_loading_key_backup_status": "Konnte Status der Schlüsselsicherung nicht laden", "export_megolm_keys": "E2E-Raumschlüssel exportieren", - "ignore_users_empty": "Du ignorierst keine Benutzer.", "ignore_users_section": "Blockierte Benutzer", "import_megolm_keys": "E2E-Raumschlüssel importieren", "key_backup_active": "Diese Sitzung sichert deine Schlüssel.", @@ -2682,9 +2826,9 @@ "security_recommendations_description": "Verbessere deine Kontosicherheit, indem du diese Empfehlungen beherzigst.", "session_id": "Sitzungs-ID", "show_details": "Details anzeigen", - "sign_in_with_qr": "Mit QR-Code anmelden", + "sign_in_with_qr": "Neues Gerät verknüpfen", "sign_in_with_qr_button": "QR-Code anzeigen", - "sign_in_with_qr_description": "Du kannst dieses Gerät verwenden, um ein neues Gerät per QR-Code anzumelden. Dazu musst du den auf diesem Gerät angezeigten QR-Code mit deinem nicht angemeldeten Gerät einlesen.", + "sign_in_with_qr_unsupported": "Nicht unterstützt von deinem Kontoanbieter", "sign_out": "Von dieser Sitzung abmelden", "sign_out_all_other_sessions": "Von allen anderen Sitzungen abmelden (%(otherSessionsCount)s)", "sign_out_confirm_description": { @@ -2724,7 +2868,9 @@ "show_redaction_placeholder": "Platzhalter für gelöschte Nachrichten", "show_stickers_button": "Sticker-Schaltfläche", "show_typing_notifications": "Tippbenachrichtigungen anzeigen", + "showbold": "Alle Aktivitäten in Raumliste anzeigen (Punkt oder Anzahl ungelesener Nachrichten)", "sidebar": { + "dialog_title": "Einstellungen: Seitenleiste", "metaspaces_favourites_description": "Gruppiere all deine favorisierten Unterhaltungen an einem Ort.", "metaspaces_home_all_rooms": "Alle Räume anzeigen", "metaspaces_home_all_rooms_description": "Alle Räume auf der Startseite anzeigen, auch wenn sie Teil eines Space sind.", @@ -2733,10 +2879,12 @@ "metaspaces_orphans_description": "Gruppiere all deine Räume, die nicht Teil eines Spaces sind, an einem Ort.", "metaspaces_people_description": "Gruppiere all deine Direktnachrichten an einem Ort.", "metaspaces_subsection": "Anzuzeigende Spaces", - "spaces_explainer": "Räume sind Möglichkeiten, Personen zu gruppieren. Neben den Räumen, in denen du dich befindest, kannst du auch einige vorgefertigte verwenden.", + "metaspaces_video_rooms": "Videoräume und -konferenzen", + "metaspaces_video_rooms_description": "Gruppiere alle privaten Videoräume und -konferenzen.", "title": "Seitenleiste" }, "start_automatically": "Nach Systemstart automatisch starten", + "tac_only_notifications": "Benachrichtigungen nur im Thread Aktivitätszentrum anzeigen", "use_12_hour_format": "Uhrzeiten im 12-Stundenformat (z. B. 2:30 p. m.)", "use_command_enter_send_message": "Benutze Betriebssystemtaste + Eingabe um eine Nachricht zu senden", "use_command_f_search": "Nutze Command + F um den Verlauf zu durchsuchen", @@ -2750,6 +2898,7 @@ "audio_output_empty": "Keine Audioausgabe erkannt", "auto_gain_control": "Automatische Lautstärkeregelung", "connection_section": "Verbindung", + "dialog_title": "Einstellungen: Anrufe", "echo_cancellation": "Echounterdrückung", "enable_fallback_ice_server": "Ersatz-Anrufassistenz-Server erlauben (%(server)s)", "enable_fallback_ice_server_description": "Dieser wird nur verwendet, sollte dein Heim-Server keinen bieten. Deine IP-Adresse würde während eines Anrufs geteilt werden.", @@ -2771,6 +2920,9 @@ "link_title": "Link zum Raum", "permalink_message": "Link zur ausgewählten Nachricht", "permalink_most_recent": "Link zur aktuellsten Nachricht", + "share_call": "Konferenzeinladungslink", + "share_call_subtitle": "Link für externe Benutzer, um dem Anruf ohne Matrixkonto beizutreten:", + "title_link": "Link teilen", "title_message": "Raumnachricht teilen", "title_room": "Raum teilen", "title_user": "Teile Benutzer" @@ -2803,7 +2955,7 @@ "help_dialog_title": "Befehl Hilfe", "holdcall": "Den aktuellen Anruf halten", "html": "Sendet eine Nachricht als HTML, ohne sie als Markdown darzustellen", - "ignore": "Nutzer blockieren und dessen Nachrichten ausblenden", + "ignore": "Benutzer blockieren und dessen Nachrichten ausblenden", "ignore_dialog_description": "%(userId)s ist jetzt blockiert", "ignore_dialog_title": "Benutzer blockiert", "invite": "Lädt den Benutzer mit der angegebenen ID in den aktuellen Raum ein", @@ -2846,7 +2998,7 @@ "unban": "Entbannt den Benutzer mit der angegebenen ID", "unflip": "Stellt ┬──┬ ノ( ゜-゜ノ) einer Klartextnachricht voran", "unholdcall": "Beendet das Halten des Anrufs", - "unignore": "Benutzer nicht mehr ignorieren und neue Nachrichten wieder anzeigen", + "unignore": "Benutzer freigeben und ihre neuen Nachrichten wieder anzeigen", "unignore_dialog_description": "%(userId)s wird nicht mehr blockiert", "unignore_dialog_title": "Benutzer nicht mehr blockiert", "unknown_command": "Unbekannter Befehl", @@ -2971,7 +3123,7 @@ "heading_with_query": "Nutze \"%(query)s\" zum Suchen", "heading_without_query": "Suche nach", "join_button_text": "%(roomAddress)s betreten", - "keyboard_scroll_hint": "Benutze zum scrollen", + "keyboard_scroll_hint": "Benutze zum Scrollen", "message_search_section_title": "Andere Suchen", "other_rooms_in_space": "Andere Räume in %(spaceName)s", "public_rooms_label": "Öffentliche Räume", @@ -3019,12 +3171,22 @@ "one": "%(count)s Antwort", "other": "%(count)s Antworten" }, + "empty_description": "Verwende \"%(replyInThread)s\" beim Hovern über eine Nachricht.", + "empty_title": "Threads helfen dir, deine Unterhaltungen zu einem Thema leichter zu verfolgen.", "error_start_thread_existing_relation": "Du kannst keinen Thread in einem Thread starten", + "mark_all_read": "Alle als gelesen markieren", "my_threads": "Meine Threads", "my_threads_description": "Zeigt alle Threads, an denen du teilgenommen hast", "open_thread": "Thread anzeigen", "show_thread_filter": "Zeige:" }, + "threads_activity_centre": { + "header": "Thread-Aktivität", + "no_rooms_with_threads_notifs": "Sie haben noch keine Räume mit Thread-Benachrichtigungen.", + "no_rooms_with_unread_threads": "Sie haben noch keine Räume mit ungelesenen Threads.", + "release_announcement_description": "Die Thread-Benachrichtigungen wurden verschoben. Sie finden sie ab sofort hier.", + "release_announcement_header": "Thread Aktivitätszentrum" + }, "time": { "about_day_ago": "vor etwa einem Tag", "about_hour_ago": "vor etwa einer Stunde", @@ -3066,9 +3228,19 @@ }, "creation_summary_dm": "%(creator)s hat diese Direktnachricht erstellt.", "creation_summary_room": "%(creator)s hat den Raum erstellt und konfiguriert.", + "decryption_failure": { + "historical_event_no_key_backup": "Der historische Nachrichtenverlauf ist auf diesem Gerät nicht verfügbar.", + "historical_event_unverified_device": "Du musst dieses Gerät verifizieren, um auf den Nachrichtenverlauf zugreifen zu können", + "historical_event_user_not_joined": "Du hast keinen Zugriff auf diese Nachricht", + "sender_identity_previously_verified": "Die verifizierte Identität des Absenders hat sich geändert", + "sender_unsigned_device": "Von einem unsicheren Gerät verschickt.", + "unable_to_decrypt": "Entschlüsselung der Nachricht nicht möglich" + }, "disambiguated_profile": "%(displayName)s (%(matrixId)s)", "download_action_decrypting": "Entschlüsseln", "download_action_downloading": "Herunterladen", + "download_failed": "Herunterladen fehlgeschlagen", + "download_failed_description": "Beim Herunterladen dieser Datei ist ein Fehler aufgetreten", "e2e_state": "Status der Ende zu Ende Verschlüssellung", "edits": { "tooltip_label": "Am %(date)s geändert. Klicke, um Änderungen anzuzeigen.", @@ -3127,7 +3299,7 @@ }, "m.file": { "error_decrypting": "Fehler beim Entschlüsseln des Anhangs", - "error_invalid": "Ungültige Datei%(extra)s" + "error_invalid": "Ungültige Datei" }, "m.image": { "error": "Kann Bild aufgrund eines Fehlers nicht anzeigen", @@ -3242,12 +3414,12 @@ "set": "%(senderDisplayName)s hat den Raumnamen geändert zu %(roomName)s." }, "m.room.pinned_events": { - "changed": "%(senderName)s hat die angehefteten Nachrichten für diesen Raum geändert.", - "changed_link": "%(senderName)s hat die angehefteten Nachrichten geändert.", - "pinned": "%(senderName)s hat eine Nachricht angeheftet. Alle angehefteten Nachrichten anzeigen.", - "pinned_link": "%(senderName)s hat eine Nachricht angeheftet. Alle angehefteten Nachrichten anzeigen.", - "unpinned": "%(senderName)s hat eine Nachricht losgelöst. Alle angepinnten Nachrichten anzeigen.", - "unpinned_link": "%(senderName)s hat eine Nachricht losgeheftet. Alle angehefteten Nachrichten anzeigen." + "changed": "%(senderName)s hat die fixierte Nachrichten für diesen Chatroom geändert.", + "changed_link": "%(senderName)s hat die fixierten Nachrichten geändert.", + "pinned": "%(senderName)s hat eine Nachricht fixiert. Alle fixierten Nachrichten anzeigen.", + "pinned_link": "%(senderName)s hat eine Nachricht fixiert. Alle fixierten Nachrichten anzeigen.", + "unpinned": "%(senderName)s hat eine Nachricht losgelöst. Alle fixierten Nachrichten anzeigen.", + "unpinned_link": "%(senderName)s hat eine Nachricht gelöst. Alle fixierten Nachrichten anzeigen." }, "m.room.power_levels": { "changed": "%(senderName)s hat das Berechtigungslevel von %(powerLevelDiffText)s geändert.", @@ -3314,7 +3486,8 @@ "reactions": { "add_reaction_prompt": "Reaktion hinzufügen", "custom_reaction_fallback_label": "Benutzerdefinierte Reaktion", - "label": "%(reactors)s hat mit %(content)s reagiert" + "label": "%(reactors)s hat mit %(content)s reagiert", + "tooltip_caption": "hat reagiert mit %(shortName)s" }, "read_receipt_title": { "one": "Von %(count)s Person gesehen", @@ -3499,6 +3672,9 @@ "truncated_list_n_more": { "other": "Und %(count)s weitere …" }, + "unsupported_browser": { + "description": "Wenn Sie fortfahren, funktionieren einige Funktionen möglicherweise nicht mehr und es besteht das Risiko, dass Sie in Zukunft Daten verlieren. Aktualisieren Sie Ihren Browser, um die Nutzung von %(brand)s fortzusetzen." + }, "unsupported_server_description": "Dieser Server nutzt eine ältere Matrix-Version. Aktualisiere auf Matrix %(version)s, um %(brand)s fehlerfrei nutzen zu können.", "unsupported_server_title": "Dein Server wird nicht unterstützt", "update": { @@ -3516,6 +3692,10 @@ "toast_title": "Aktualisiere %(brand)s", "unavailable": "Nicht verfügbar" }, + "update_room_access_modal": { + "no_change": "Ich möchte die Zugriffsebene nicht ändern.", + "title": "Ändern Sie die Zugriffsebene des Raums" + }, "upload_failed_generic": "Die Datei „%(fileName)s“ konnte nicht hochgeladen werden.", "upload_failed_size": "Die Datei „%(fileName)s“ überschreitet das Hochladelimit deines Heim-Servers", "upload_failed_title": "Hochladen fehlgeschlagen", @@ -3525,6 +3705,7 @@ "error_files_too_large": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s.", "error_some_files_too_large": "Einige Dateien sind zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s.", "error_title": "Fehler beim Hochladen", + "not_image": "Die von dir ausgewählte Datei ist keine gültige Bilddatei.", "title": "Dateien hochladen", "title_progress": "Dateien hochladen (%(current)s von %(total)s)", "upload_all_button": "Alle hochladen", @@ -3551,6 +3732,7 @@ "deactivate_confirm_action": "Konto deaktivieren", "deactivate_confirm_description": "Beim Deaktivieren wirst du abgemeldet und ein erneutes Anmelden verhindert. Zusätzlich wirst du aus allen Räumen entfernt. Diese Aktion kann nicht rückgängig gemacht werden. Bist du sicher, dass du dieses Konto deaktivieren willst?", "deactivate_confirm_title": "Konto deaktivieren?", + "dehydrated_device_enabled": "Offline-Gerät aktiviert", "demote_button": "Zurückstufen", "demote_self_confirm_description_space": "Das Entfernen von Rechten kann nicht rückgängig gemacht werden. Falls sie dir niemand anderer zurückgeben kann, kannst du sie nie wieder erhalten.", "demote_self_confirm_room": "Du wirst nicht in der Lage sein, die Änderung zurückzusetzen, da du dich degradierst. Wenn du der letze Nutzer mit Berechtigungen bist, wird es unmöglich sein die Privilegien zurückzubekommen.", @@ -3567,6 +3749,7 @@ "error_revoke_3pid_invite_title": "Einladung konnte nicht zurückgezogen werden", "hide_sessions": "Sitzungen ausblenden", "hide_verified_sessions": "Verifizierte Sitzungen ausblenden", + "ignore_button": "Blockieren", "ignore_confirm_description": "Alle Nachrichten und Einladungen der Person werden verborgen. Bist du sicher, dass du sie ignorieren möchtest?", "ignore_confirm_title": "%(user)s ignorieren", "invited_by": "%(sender)s eingeladen", @@ -3594,23 +3777,26 @@ "no_recent_messages_description": "Versuche nach oben zu scrollen, um zu sehen ob sich dort frühere Nachrichten befinden.", "no_recent_messages_title": "Keine neuen Nachrichten von %(user)s gefunden" }, - "redact_button": "Kürzlich gesendete Nachrichten entfernen", + "redact_button": "Nachrichten entfernen", "revoke_invite": "Einladung zurückziehen", "room_encrypted": "Nachrichten in diesem Raum sind Ende-zu-Ende verschlüsselt.", "room_encrypted_detail": "Diese Nachricht ist verschlüsselt. Nur Sie und der Empfänger haben den Schlüssel, um die Nachricht zu entschlüsseln.", "room_unencrypted": "Nachrichten in diesem Raum sind nicht Ende-zu-Ende verschlüsselt.", "room_unencrypted_detail": "Nachrichten in verschlüsselten Räumen können nur von dir und vom Empfänger gelesen werden.", - "share_button": "Link zu Benutzer teilen", + "send_message": "Nachricht senden", + "share_button": "Profil teilen", "unban_button_room": "Entbannen", "unban_button_space": "Entbannen", "unban_room_confirm_title": "Von %(roomName)s entbannen", "unban_space_everything": "Überall wo ich die Rechte dazu habe, entbannen", "unban_space_specific": "In ausgewählten Räumen und Spaces entbannen", "unban_space_warning": "Die Person wird keinen Zutritt zu Bereichen haben, in denen du nicht administrierst.", + "unignore_button": "Nicht mehr ignorieren", "verify_button": "Nutzer verifizieren", "verify_explainer": "Für zusätzliche Sicherheit, verifiziere diesen Nutzer, durch Vergleichen eines Einmal-Codes auf euren beiden Geräten." }, "user_menu": { + "link_new_device": "Neues Gerät verknüpfen", "settings": "Alle Einstellungen", "switch_theme_dark": "Zum dunklen Thema wechseln", "switch_theme_light": "Zum hellen Thema wechseln" @@ -3667,9 +3853,9 @@ "camera_enabled": "Deine Kamera ist noch aktiv", "cannot_call_yourself_description": "Du kannst keinen Anruf mit dir selbst starten.", "change_input_device": "Eingabegerät wechseln", + "close_lobby": "Lobby schließen", "connecting": "Verbinden", "connection_lost": "Verbindung zum Server unterbrochen", - "connection_lost_description": "Sie können keine Anrufe starten ohne Verbindung zum Server.", "consulting": "%(transferTarget)s wird angefragt. Übertragung zu %(transferee)s", "default_device": "Standardgerät", "dial": "Wählen", @@ -3680,17 +3866,26 @@ "disabled_no_perms_start_video_call": "Dir fehlt die Berechtigung, um Videoanrufe zu beginnen", "disabled_no_perms_start_voice_call": "Dir fehlt die Berechtigung, um Audioanrufe zu beginnen", "disabled_ongoing_call": "laufender Anruf", + "element_call": "Element Anruf", "enable_camera": "Kamera aktivieren", "enable_microphone": "Mikrofon aktivieren", "expand": "Zurück zum Anruf", "failed_call_live_broadcast_description": "Du kannst keinen Anruf beginnen, da du im Moment eine Sprachübertragung aufzeichnest. Bitte beende deine Sprachübertragung, um ein Gespräch zu beginnen.", "failed_call_live_broadcast_title": "Kann keinen Anruf beginnen", + "get_call_link": "Anruflink teilen", "hangup": "Auflegen", "hide_sidebar_button": "Seitenleiste verbergen", "input_devices": "Eingabegeräte", + "jitsi_call": "Jitsi-Konferenz", "join_button_tooltip_call_full": "Entschuldigung — dieser Anruf ist aktuell besetzt", "join_button_tooltip_connecting": "Verbinden", + "legacy_call": "Legacy-Anruf", "maximise": "Bildschirm füllen", + "maximise_call": "Anruf maximieren", + "metaspace_video_rooms": { + "conference_room_section": "Konferenzen" + }, + "minimise_call": "Anruf minimieren", "misconfigured_server": "Anruf aufgrund eines falsch konfigurierten Servers fehlgeschlagen", "misconfigured_server_description": "Bitte frage die Administration deines Heim-Servers (%(homeserverDomain)s) darum, einen TURN-Server einzurichten, damit Anrufe zuverlässig funktionieren.", "misconfigured_server_fallback": "Alternativ kannst du versuchen, den öffentlichen Server unter zu verwenden. Dieser wird nicht so zuverlässig sein und deine IP-Adresse wird mit ihm geteilt. Du kannst dies auch in den Einstellungen konfigurieren.", @@ -3732,12 +3927,13 @@ "unknown_person": "unbekannte Person", "unsilence": "Ton an", "unsupported": "Anrufe werden nicht unterstützt", - "unsupported_browser": "Sie können in diesem Browser keien Anrufe durchführen.", + "unsupported_browser": "Du kannst in diesem Browser keine Anrufe tätigen.", "user_busy": "Person beschäftigt", "user_busy_description": "Die angerufene Person ist momentan beschäftigt.", "user_is_presenting": "%(sharerName)s präsentiert", "video_call": "Videoanruf", "video_call_started": "Videoanruf hat begonnen", + "video_call_using": "Videoanruf mit:", "voice_call": "Sprachanruf", "you_are_presenting": "Du präsentierst" }, @@ -3846,7 +4042,7 @@ "title": "Erlaube diesem Widget deine Identität zu überprüfen" }, "popout": "Widget in eigenem Fenster öffnen", - "set_room_layout": "Dein Raumlayout für alle setzen", + "set_room_layout": "Layout für alle festlegen", "shared_data_avatar": "Deine Profilbild-URL", "shared_data_device_id": "Deine Geräte-ID", "shared_data_lang": "Deine Sprache", @@ -3872,7 +4068,6 @@ "l33t": "Vorhersagbare Ersetzungen wie „@“ anstelle von „a“ helfen nicht besonders", "longerKeyboardPattern": "Nutze ein längeres Tastaturmuster mit mehr Abwechslung", "noNeed": "Kein Bedarf an Symbolen, Zahlen oder Großbuchstaben", - "pwned": "Wenn Sie dieses Passwort woanders verwenden, sollten Sie es ändern.", "recentYears": "Vermeide die letzten Jahre", "repeated": "Vermeide wiederholte Worte und Zeichen", "reverseWords": "Umgedrehte Worte sind nicht schwerer zu erraten", From b87437d439b6132fc5fe08a1248ade0c3921a98c Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 2 Dec 2024 09:49:52 +0000 Subject: [PATCH 70/78] Improve performance of RoomContext in RoomHeader (#28574) * Improve performance of RoomContext in RoomHeader This allows a component to subscribe to only part of the RoomContext so they do not need to re-render on every single change Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Prettier Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Add comment Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/FilePanel.tsx | 22 ++---- .../structures/NotificationPanel.tsx | 13 ++-- src/components/structures/RoomSearchView.tsx | 4 +- src/components/structures/RoomView.tsx | 42 +++++----- src/components/structures/ThreadPanel.tsx | 19 +++-- src/components/structures/ThreadView.tsx | 17 ++-- .../WaitingForThirdPartyRoomView.tsx | 4 +- src/components/views/avatars/BaseAvatar.tsx | 6 +- .../views/context_menus/WidgetContextMenu.tsx | 4 +- .../views/elements/MiniAvatarUploader.tsx | 4 +- .../views/messages/RoomPredecessorTile.tsx | 6 +- .../views/right_panel/PinnedMessagesCard.tsx | 16 ++-- .../views/right_panel/RoomSummaryCard.tsx | 5 +- .../views/right_panel/TimelineCard.tsx | 15 ++-- src/components/views/rooms/HistoryTile.tsx | 6 +- .../views/rooms/MessageComposerButtons.tsx | 6 +- src/components/views/rooms/NewRoomIntro.tsx | 4 +- src/components/views/rooms/RoomHeader.tsx | 6 +- src/components/views/rooms/ThreadSummary.tsx | 4 +- .../wysiwyg_composer/components/Emoji.tsx | 4 +- .../components/WysiwygAutocomplete.tsx | 4 +- .../components/WysiwygComposer.tsx | 4 +- .../wysiwyg_composer/hooks/useEditing.ts | 4 +- .../hooks/useInitialContent.ts | 10 +-- .../hooks/useInputEventProcessor.ts | 8 +- .../hooks/usePlainTextListeners.ts | 4 +- .../hooks/useWysiwygEditActionHandler.ts | 5 +- .../hooks/useWysiwygSendActionHandler.ts | 5 +- .../rooms/wysiwyg_composer/hooks/utils.ts | 4 +- .../rooms/wysiwyg_composer/utils/editing.ts | 2 +- .../rooms/wysiwyg_composer/utils/event.ts | 4 +- .../rooms/wysiwyg_composer/utils/message.ts | 4 +- src/contexts/RoomContext.ts | 5 +- src/contexts/ScopedRoomContext.tsx | 78 +++++++++++++++++++ src/hooks/room/useRoomMemberProfile.ts | 7 +- .../structures/MessagePanel-test.tsx | 5 +- .../structures/ThreadPanel-test.tsx | 12 +-- .../components/structures/ThreadView-test.tsx | 8 +- .../audio_messages/RecordingPlayback-test.tsx | 7 +- .../views/avatars/MemberAvatar-test.tsx | 6 +- .../context_menus/MessageContextMenu-test.tsx | 7 +- .../views/messages/MFileBody-test.tsx | 7 +- .../views/messages/MessageActionBar-test.tsx | 5 +- .../messages/RoomPredecessorTile-test.tsx | 6 +- .../right_panel/RoomSummaryCard-test.tsx | 11 +-- .../views/rooms/EditMessageComposer-test.tsx | 4 +- .../components/views/rooms/EventTile-test.tsx | 7 +- .../views/rooms/MessageComposer-test.tsx | 6 +- .../rooms/MessageComposerButtons-test.tsx | 4 +- .../views/rooms/NewRoomIntro-test.tsx | 6 +- .../views/rooms/SendMessageComposer-test.tsx | 7 +- .../EditWysiwygComposer-test.tsx | 14 ++-- .../SendWysiwygComposer-test.tsx | 6 +- .../components/PlainTextComposer-test.tsx | 6 +- .../components/WysiwygAutocomplete-test.tsx | 6 +- .../components/WysiwygComposer-test.tsx | 10 +-- 56 files changed, 289 insertions(+), 216 deletions(-) create mode 100644 src/contexts/ScopedRoomContext.tsx diff --git a/src/components/structures/FilePanel.tsx b/src/components/structures/FilePanel.tsx index 2a82352447..4c580cb9fe 100644 --- a/src/components/structures/FilePanel.tsx +++ b/src/components/structures/FilePanel.tsx @@ -34,6 +34,7 @@ import { Layout } from "../../settings/enums/Layout"; import RoomContext, { TimelineRenderingType } from "../../contexts/RoomContext"; import Measured from "../views/elements/Measured"; import EmptyState from "../views/right_panel/EmptyState"; +import { ScopedRoomContextProvider } from "../../contexts/ScopedRoomContext.tsx"; interface IProps { roomId: string; @@ -273,12 +274,10 @@ class FilePanel extends React.Component { if (this.state.timelineSet) { return ( - { layout={Layout.Group} /> - + ); } else { return ( - + { > - + ); } } diff --git a/src/components/structures/NotificationPanel.tsx b/src/components/structures/NotificationPanel.tsx index d0460412db..236da25409 100644 --- a/src/components/structures/NotificationPanel.tsx +++ b/src/components/structures/NotificationPanel.tsx @@ -19,6 +19,7 @@ import { Layout } from "../../settings/enums/Layout"; import RoomContext, { TimelineRenderingType } from "../../contexts/RoomContext"; import Measured from "../views/elements/Measured"; import EmptyState from "../views/right_panel/EmptyState"; +import { ScopedRoomContextProvider } from "../../contexts/ScopedRoomContext.tsx"; interface IProps { onClose(): void; @@ -79,12 +80,10 @@ export default class NotificationPanel extends React.PureComponent } {content} - + ); } } diff --git a/src/components/structures/RoomSearchView.tsx b/src/components/structures/RoomSearchView.tsx index de2d9d2198..82146bcc5e 100644 --- a/src/components/structures/RoomSearchView.tsx +++ b/src/components/structures/RoomSearchView.tsx @@ -26,7 +26,7 @@ import ErrorDialog from "../views/dialogs/ErrorDialog"; import ResizeNotifier from "../../utils/ResizeNotifier"; import MatrixClientContext from "../../contexts/MatrixClientContext"; import { RoomPermalinkCreator } from "../../utils/permalinks/Permalinks"; -import RoomContext from "../../contexts/RoomContext"; +import { useScopedRoomContext } from "../../contexts/ScopedRoomContext.tsx"; const DEBUG = false; let debuglog = function (msg: string): void {}; @@ -53,7 +53,7 @@ interface Props { export const RoomSearchView = forwardRef( ({ term, scope, promise, abortController, resizeNotifier, className, onUpdate, inProgress }: Props, ref) => { const client = useContext(MatrixClientContext); - const roomContext = useContext(RoomContext); + const roomContext = useScopedRoomContext("showHiddenEvents"); const [highlights, setHighlights] = useState(null); const [results, setResults] = useState(null); const aborted = useRef(false); diff --git a/src/components/structures/RoomView.tsx b/src/components/structures/RoomView.tsx index c87580490e..86f2acb154 100644 --- a/src/components/structures/RoomView.tsx +++ b/src/components/structures/RoomView.tsx @@ -9,16 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import React, { - ChangeEvent, - ComponentProps, - createRef, - ReactElement, - ReactNode, - RefObject, - useContext, - JSX, -} from "react"; +import React, { ChangeEvent, ComponentProps, createRef, ReactElement, ReactNode, RefObject, JSX } from "react"; import classNames from "classnames"; import { IRecommendedVersion, @@ -64,7 +55,7 @@ import WidgetEchoStore from "../../stores/WidgetEchoStore"; import SettingsStore from "../../settings/SettingsStore"; import { Layout } from "../../settings/enums/Layout"; import AccessibleButton, { ButtonEvent } from "../views/elements/AccessibleButton"; -import RoomContext, { TimelineRenderingType, MainSplitContentType } from "../../contexts/RoomContext"; +import { TimelineRenderingType, MainSplitContentType } from "../../contexts/RoomContext"; import { E2EStatus, shieldStatusForRoom } from "../../utils/ShieldUtils"; import { Action } from "../../dispatcher/actions"; import { IMatrixClientCreds } from "../../MatrixClientPeg"; @@ -136,6 +127,7 @@ import RightPanelStore from "../../stores/right-panel/RightPanelStore"; import { onView3pidInvite } from "../../stores/right-panel/action-handlers"; import RoomSearchAuxPanel from "../views/rooms/RoomSearchAuxPanel"; import { PinnedMessageBanner } from "../views/rooms/PinnedMessageBanner"; +import { ScopedRoomContextProvider, useScopedRoomContext } from "../../contexts/ScopedRoomContext"; const DEBUG = false; const PREVENT_MULTIPLE_JITSI_WITHIN = 30_000; @@ -261,6 +253,7 @@ interface LocalRoomViewProps { permalinkCreator: RoomPermalinkCreator; roomView: RefObject; onFileDrop: (dataTransfer: DataTransfer) => Promise; + mainSplitContentType: MainSplitContentType; } /** @@ -270,7 +263,7 @@ interface LocalRoomViewProps { * @returns {ReactElement} */ function LocalRoomView(props: LocalRoomViewProps): ReactElement { - const context = useContext(RoomContext); + const context = useScopedRoomContext("room"); const room = context.room as LocalRoom; const encryptionEvent = props.localRoom.currentState.getStateEvents(EventType.RoomEncryption)[0]; let encryptionTile: ReactNode; @@ -338,6 +331,7 @@ interface ILocalRoomCreateLoaderProps { localRoom: LocalRoom; names: string; resizeNotifier: ResizeNotifier; + mainSplitContentType: MainSplitContentType; } /** @@ -2007,35 +2001,41 @@ export class RoomView extends React.Component { if (!this.state.room || !this.context?.client) return null; const names = this.state.room.getDefaultRoomName(this.context.client.getSafeUserId()); return ( - - - + + + ); } private renderLocalRoomView(localRoom: LocalRoom): ReactNode { return ( - + - + ); } private renderWaitingForThirdPartyRoomView(inviteEvent: MatrixEvent): ReactNode { return ( - + - + ); } @@ -2573,7 +2573,7 @@ export class RoomView extends React.Component { } return ( - +
{showChatEffects && this.roomView.current && ( @@ -2600,7 +2600,7 @@ export class RoomView extends React.Component {
-
+ ); } } diff --git a/src/components/structures/ThreadPanel.tsx b/src/components/structures/ThreadPanel.tsx index eb20b05fdc..0e82baa28b 100644 --- a/src/components/structures/ThreadPanel.tsx +++ b/src/components/structures/ThreadPanel.tsx @@ -20,7 +20,7 @@ import MatrixClientContext, { useMatrixClientContext } from "../../contexts/Matr import { _t } from "../../languageHandler"; import { ContextMenuButton } from "../../accessibility/context_menu/ContextMenuButton"; import ContextMenu, { ChevronFace, MenuItemRadio, useContextMenu } from "./ContextMenu"; -import RoomContext, { TimelineRenderingType, useRoomContext } from "../../contexts/RoomContext"; +import RoomContext, { TimelineRenderingType } from "../../contexts/RoomContext"; import TimelinePanel from "./TimelinePanel"; import { Layout } from "../../settings/enums/Layout"; import { RoomPermalinkCreator } from "../../utils/permalinks/Permalinks"; @@ -30,6 +30,7 @@ import { ButtonEvent } from "../views/elements/AccessibleButton"; import Spinner from "../views/elements/Spinner"; import { clearRoomNotification } from "../../utils/notifications"; import EmptyState from "../views/right_panel/EmptyState"; +import { ScopedRoomContextProvider, useScopedRoomContext } from "../../contexts/ScopedRoomContext.tsx"; interface IProps { roomId: string; @@ -68,7 +69,7 @@ export const ThreadPanelHeader: React.FC<{ setFilterOption: (filterOption: ThreadFilterType) => void; }> = ({ filterOption, setFilterOption }) => { const mxClient = useMatrixClientContext(); - const roomContext = useRoomContext(); + const roomContext = useScopedRoomContext("room"); const [menuDisplayed, button, openMenu, closeMenu] = useContextMenu(); const options: readonly ThreadPanelHeaderOption[] = [ { @@ -184,13 +185,11 @@ const ThreadPanel: React.FC = ({ roomId, onClose, permalinkCreator }) => }, [timelineSet, timelinePanel]); return ( - = ({ roomId, onClose, permalinkCreator }) =>
)} - + ); }; export default ThreadPanel; diff --git a/src/components/structures/ThreadView.tsx b/src/components/structures/ThreadView.tsx index a4dbd2bfe7..bc1e26d087 100644 --- a/src/components/structures/ThreadView.tsx +++ b/src/components/structures/ThreadView.tsx @@ -51,6 +51,7 @@ import { ComposerInsertPayload, ComposerType } from "../../dispatcher/payloads/C import Heading from "../views/typography/Heading"; import { SdkContextClass } from "../../contexts/SDKContext"; import { ThreadPayload } from "../../dispatcher/payloads/ThreadPayload"; +import { ScopedRoomContextProvider } from "../../contexts/ScopedRoomContext.tsx"; interface IProps { room: Room; @@ -422,14 +423,12 @@ export default class ThreadView extends React.Component { } return ( - { /> )} - + ); } } diff --git a/src/components/structures/WaitingForThirdPartyRoomView.tsx b/src/components/structures/WaitingForThirdPartyRoomView.tsx index fd9afc50f2..cabe92a53d 100644 --- a/src/components/structures/WaitingForThirdPartyRoomView.tsx +++ b/src/components/structures/WaitingForThirdPartyRoomView.tsx @@ -9,7 +9,6 @@ Please see LICENSE files in the repository root for full details. import React, { RefObject } from "react"; import { MatrixEvent } from "matrix-js-sdk/src/matrix"; -import { useRoomContext } from "../../contexts/RoomContext"; import ResizeNotifier from "../../utils/ResizeNotifier"; import ErrorBoundary from "../views/elements/ErrorBoundary"; import RoomHeader from "../views/rooms/RoomHeader"; @@ -19,6 +18,7 @@ import NewRoomIntro from "../views/rooms/NewRoomIntro"; import { UnwrappedEventTile } from "../views/rooms/EventTile"; import { _t } from "../../languageHandler"; import SdkConfig from "../../SdkConfig"; +import { useScopedRoomContext } from "../../contexts/ScopedRoomContext.tsx"; interface Props { roomView: RefObject; @@ -32,7 +32,7 @@ interface Props { * To avoid UTDs, users are shown a waiting room until the others have joined. */ export const WaitingForThirdPartyRoomView: React.FC = ({ roomView, resizeNotifier, inviteEvent }) => { - const context = useRoomContext(); + const context = useScopedRoomContext("room"); const brand = SdkConfig.get().brand; return ( diff --git a/src/components/views/avatars/BaseAvatar.tsx b/src/components/views/avatars/BaseAvatar.tsx index db74d7b95e..766eb561ec 100644 --- a/src/components/views/avatars/BaseAvatar.tsx +++ b/src/components/views/avatars/BaseAvatar.tsx @@ -16,10 +16,10 @@ import { Avatar } from "@vector-im/compound-web"; import SettingsStore from "../../../settings/SettingsStore"; import { ButtonEvent } from "../elements/AccessibleButton"; -import RoomContext from "../../../contexts/RoomContext"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; import { useTypedEventEmitter } from "../../../hooks/useEventEmitter"; import { _t } from "../../../languageHandler"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; interface IProps { name?: React.ComponentProps["name"]; // The name (first initial used as default) @@ -57,8 +57,8 @@ const calculateUrls = (url?: string | null, urls?: string[], lowBandwidth = fals const useImageUrl = ({ url, urls }: { url?: string | null; urls?: string[] }): [string, () => void] => { // Since this is a hot code path and the settings store can be slow, we // use the cached lowBandwidth value from the room context if it exists - const roomContext = useContext(RoomContext); - const lowBandwidth = roomContext ? roomContext.lowBandwidth : SettingsStore.getValue("lowBandwidth"); + const roomContext = useScopedRoomContext("lowBandwidth"); + const lowBandwidth = roomContext?.lowBandwidth ?? SettingsStore.getValue("lowBandwidth"); const [imageUrls, setUrls] = useState(calculateUrls(url, urls, lowBandwidth)); const [urlsIndex, setIndex] = useState(0); diff --git a/src/components/views/context_menus/WidgetContextMenu.tsx b/src/components/views/context_menus/WidgetContextMenu.tsx index 21239d0fee..46052de9ff 100644 --- a/src/components/views/context_menus/WidgetContextMenu.tsx +++ b/src/components/views/context_menus/WidgetContextMenu.tsx @@ -18,7 +18,6 @@ import { _t } from "../../../languageHandler"; import { isAppWidget } from "../../../stores/WidgetStore"; import WidgetUtils from "../../../utils/WidgetUtils"; import { WidgetMessagingStore } from "../../../stores/widgets/WidgetMessagingStore"; -import RoomContext from "../../../contexts/RoomContext"; import dis from "../../../dispatcher/dispatcher"; import SettingsStore from "../../../settings/SettingsStore"; import Modal from "../../../Modal"; @@ -30,6 +29,7 @@ import { Container, WidgetLayoutStore } from "../../../stores/widgets/WidgetLayo import { getConfigLivestreamUrl, startJitsiAudioLivestream } from "../../../Livestream"; import { ModuleRunner } from "../../../modules/ModuleRunner"; import { ElementWidget } from "../../../stores/widgets/StopGapWidget"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; interface IProps extends Omit, "children"> { app: IWidget; @@ -114,7 +114,7 @@ export const WidgetContextMenu: React.FC = ({ ...props }) => { const cli = useContext(MatrixClientContext); - const { room, roomId } = useContext(RoomContext); + const { room, roomId } = useScopedRoomContext("room", "roomId"); const widgetMessaging = WidgetMessagingStore.instance.getMessagingForUid(WidgetUtils.getWidgetUid(app)); const canModify = userWidget || WidgetUtils.canUserModifyWidgets(cli, roomId); diff --git a/src/components/views/elements/MiniAvatarUploader.tsx b/src/components/views/elements/MiniAvatarUploader.tsx index cf5a239814..452b206bef 100644 --- a/src/components/views/elements/MiniAvatarUploader.tsx +++ b/src/components/views/elements/MiniAvatarUploader.tsx @@ -12,12 +12,12 @@ import React, { useContext, useRef, useState, MouseEvent, ReactNode } from "reac import { Tooltip } from "@vector-im/compound-web"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; -import RoomContext from "../../../contexts/RoomContext"; import { useTimeout } from "../../../hooks/useTimeout"; import { chromeFileInputFix } from "../../../utils/BrowserWorkarounds"; import AccessibleButton from "./AccessibleButton"; import Spinner from "./Spinner"; import { getFileChanged } from "../settings/AvatarSetting.tsx"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; export const AVATAR_SIZE = "52px"; @@ -56,7 +56,7 @@ const MiniAvatarUploader: React.FC = ({ const label = hasAvatar || busy ? hasAvatarLabel : noAvatarLabel; - const { room } = useContext(RoomContext); + const { room } = useScopedRoomContext("room"); const canSetAvatar = isUserAvatar || room?.currentState?.maySendStateEvent(EventType.RoomAvatar, cli.getSafeUserId()); if (!canSetAvatar) return {children}; diff --git a/src/components/views/messages/RoomPredecessorTile.tsx b/src/components/views/messages/RoomPredecessorTile.tsx index 2e8633febd..afc8142234 100644 --- a/src/components/views/messages/RoomPredecessorTile.tsx +++ b/src/components/views/messages/RoomPredecessorTile.tsx @@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import React, { useCallback, useContext } from "react"; +import React, { useCallback } from "react"; import { logger } from "matrix-js-sdk/src/logger"; import { MatrixEvent, Room, RoomState } from "matrix-js-sdk/src/matrix"; @@ -18,10 +18,10 @@ import { _t } from "../../../languageHandler"; import { MatrixClientPeg } from "../../../MatrixClientPeg"; import EventTileBubble from "./EventTileBubble"; import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload"; -import RoomContext from "../../../contexts/RoomContext"; import { useRoomState } from "../../../hooks/useRoomState"; import SettingsStore from "../../../settings/SettingsStore"; import MatrixToPermalinkConstructor from "../../../utils/permalinks/MatrixToPermalinkConstructor"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; interface IProps { /** The m.room.create MatrixEvent that this tile represents */ @@ -40,7 +40,7 @@ export const RoomPredecessorTile: React.FC = ({ mxEvent, timestamp }) => // the information inside mxEvent. This allows us the flexibility later to // use a different predecessor (e.g. through MSC3946) and still display it // in the timeline location of the create event. - const roomContext = useContext(RoomContext); + const roomContext = useScopedRoomContext("room"); const predecessor = useRoomState( roomContext.room, useCallback( diff --git a/src/components/views/right_panel/PinnedMessagesCard.tsx b/src/components/views/right_panel/PinnedMessagesCard.tsx index af7106f9c5..d6161e9434 100644 --- a/src/components/views/right_panel/PinnedMessagesCard.tsx +++ b/src/components/views/right_panel/PinnedMessagesCard.tsx @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import React, { useCallback, useEffect, JSX } from "react"; +import React, { useCallback, useEffect, JSX, useContext } from "react"; import { Room, MatrixEvent } from "matrix-js-sdk/src/matrix"; import { Button, Separator } from "@vector-im/compound-web"; import classNames from "classnames"; @@ -18,7 +18,7 @@ import Spinner from "../elements/Spinner"; import { useMatrixClientContext } from "../../../contexts/MatrixClientContext"; import { PinnedEventTile } from "../rooms/PinnedEventTile"; import { useRoomState } from "../../../hooks/useRoomState"; -import RoomContext, { TimelineRenderingType, useRoomContext } from "../../../contexts/RoomContext"; +import RoomContext, { TimelineRenderingType } from "../../../contexts/RoomContext"; import { ReadPinsEventId } from "./types"; import { RoomPermalinkCreator } from "../../../utils/permalinks/Permalinks"; import { filterBoolean } from "../../../utils/arrays"; @@ -27,6 +27,7 @@ import { UnpinAllDialog } from "../dialogs/UnpinAllDialog"; import EmptyState from "./EmptyState"; import { usePinnedEvents, useReadPinnedEvents, useSortedFetchedPinnedEvents } from "../../../hooks/usePinnedEvents"; import PinningUtils from "../../../utils/PinningUtils.ts"; +import { ScopedRoomContextProvider } from "../../../contexts/ScopedRoomContext.tsx"; /** * List the pinned messages in a room inside a Card. @@ -48,7 +49,7 @@ interface PinnedMessagesCardProps { export function PinnedMessagesCard({ room, onClose, permalinkCreator }: PinnedMessagesCardProps): JSX.Element { const cli = useMatrixClientContext(); - const roomContext = useRoomContext(); + const roomContext = useContext(RoomContext); const pinnedEventIds = usePinnedEvents(room); const readPinnedEvents = useReadPinnedEvents(room); const pinnedEvents = useSortedFetchedPinnedEvents(room, pinnedEventIds); @@ -89,14 +90,9 @@ export function PinnedMessagesCard({ room, onClose, permalinkCreator }: PinnedMe className="mx_PinnedMessagesCard" onClose={onClose} > - + {content} - + ); } diff --git a/src/components/views/right_panel/RoomSummaryCard.tsx b/src/components/views/right_panel/RoomSummaryCard.tsx index 664977bbe2..396b5aa591 100644 --- a/src/components/views/right_panel/RoomSummaryCard.tsx +++ b/src/components/views/right_panel/RoomSummaryCard.tsx @@ -51,7 +51,7 @@ import ShareDialog from "../dialogs/ShareDialog"; import { useEventEmitterState } from "../../../hooks/useEventEmitter"; import { E2EStatus } from "../../../utils/ShieldUtils"; import { RoomPermalinkCreator } from "../../../utils/permalinks/Permalinks"; -import RoomContext, { TimelineRenderingType } from "../../../contexts/RoomContext"; +import { TimelineRenderingType } from "../../../contexts/RoomContext"; import RoomName from "../elements/RoomName"; import ExportDialog from "../dialogs/ExportDialog"; import RightPanelStore from "../../../stores/right-panel/RightPanelStore"; @@ -76,6 +76,7 @@ import { useTransition } from "../../../hooks/useTransition"; import { isVideoRoom as calcIsVideoRoom } from "../../../utils/video-rooms"; import { usePinnedEvents } from "../../../hooks/usePinnedEvents"; import { ReleaseAnnouncement } from "../../structures/ReleaseAnnouncement.tsx"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; interface IProps { room: Room; @@ -232,7 +233,7 @@ const RoomSummaryCard: React.FC = ({ }; const isRoomEncrypted = useIsEncrypted(cli, room); - const roomContext = useContext(RoomContext); + const roomContext = useScopedRoomContext("e2eStatus", "timelineRenderingType"); const e2eStatus = roomContext.e2eStatus; const isVideoRoom = calcIsVideoRoom(room); diff --git a/src/components/views/right_panel/TimelineCard.tsx b/src/components/views/right_panel/TimelineCard.tsx index e745f7a227..f62319f3cd 100644 --- a/src/components/views/right_panel/TimelineCard.tsx +++ b/src/components/views/right_panel/TimelineCard.tsx @@ -38,6 +38,7 @@ import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload"; import Measured from "../elements/Measured"; import { UPDATE_EVENT } from "../../../stores/AsyncStore"; import { SdkContextClass } from "../../../contexts/SDKContext"; +import { ScopedRoomContextProvider } from "../../../contexts/ScopedRoomContext.tsx"; interface IProps { room: Room; @@ -199,13 +200,11 @@ export default class TimelineCard extends React.Component { const showComposer = myMembership === KnownMembership.Join; return ( - { /> )} - + ); } } diff --git a/src/components/views/rooms/HistoryTile.tsx b/src/components/views/rooms/HistoryTile.tsx index c52ab044a7..3aa74b8b0c 100644 --- a/src/components/views/rooms/HistoryTile.tsx +++ b/src/components/views/rooms/HistoryTile.tsx @@ -6,15 +6,15 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import React, { useContext } from "react"; +import React from "react"; import { EventTimeline } from "matrix-js-sdk/src/matrix"; import EventTileBubble from "../messages/EventTileBubble"; -import RoomContext from "../../../contexts/RoomContext"; import { _t } from "../../../languageHandler"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; const HistoryTile: React.FC = () => { - const { room } = useContext(RoomContext); + const { room } = useScopedRoomContext("room"); const oldState = room?.getLiveTimeline().getState(EventTimeline.BACKWARDS); const historyState = oldState?.getStateEvents("m.room.history_visibility")[0]?.getContent().history_visibility; diff --git a/src/components/views/rooms/MessageComposerButtons.tsx b/src/components/views/rooms/MessageComposerButtons.tsx index 65e53148f4..370bc0861c 100644 --- a/src/components/views/rooms/MessageComposerButtons.tsx +++ b/src/components/views/rooms/MessageComposerButtons.tsx @@ -21,7 +21,6 @@ import PollCreateDialog from "../elements/PollCreateDialog"; import { MatrixClientPeg } from "../../../MatrixClientPeg"; import ContentMessages from "../../../ContentMessages"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; -import RoomContext from "../../../contexts/RoomContext"; import { useDispatcher } from "../../../hooks/useDispatcher"; import { chromeFileInputFix } from "../../../utils/BrowserWorkarounds"; import IconizedContextMenu, { IconizedContextMenuOptionList } from "../context_menus/IconizedContextMenu"; @@ -29,6 +28,7 @@ import { EmojiButton } from "./EmojiButton"; import { filterBoolean } from "../../../utils/arrays"; import { useSettingValue } from "../../../hooks/useSettings"; import AccessibleButton, { ButtonEvent } from "../elements/AccessibleButton"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; interface IProps { addEmoji: (emoji: string) => boolean; @@ -54,7 +54,7 @@ export const OverflowMenuContext = createContext(null const MessageComposerButtons: React.FC = (props: IProps) => { const matrixClient = useContext(MatrixClientContext); - const { room, narrow } = useContext(RoomContext); + const { room, narrow } = useScopedRoomContext("room", "narrow"); const isWysiwygLabEnabled = useSettingValue("feature_wysiwyg_composer"); @@ -168,7 +168,7 @@ interface IUploadButtonProps { // We put the file input outside the UploadButton component so that it doesn't get killed when the context menu closes. const UploadButtonContextProvider: React.FC = ({ roomId, relation, children }) => { const cli = useContext(MatrixClientContext); - const roomContext = useContext(RoomContext); + const roomContext = useScopedRoomContext("timelineRenderingType"); const uploadInput = useRef(null); const onUploadClick = (): void => { diff --git a/src/components/views/rooms/NewRoomIntro.tsx b/src/components/views/rooms/NewRoomIntro.tsx index 05912c482e..a5577ee372 100644 --- a/src/components/views/rooms/NewRoomIntro.tsx +++ b/src/components/views/rooms/NewRoomIntro.tsx @@ -11,7 +11,6 @@ import { EventType, Room, User, MatrixClient } from "matrix-js-sdk/src/matrix"; import { KnownMembership } from "matrix-js-sdk/src/types"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; -import RoomContext from "../../../contexts/RoomContext"; import DMRoomMap from "../../../utils/DMRoomMap"; import { _t, _td, TranslationKey } from "../../../languageHandler"; import AccessibleButton, { ButtonEvent } from "../elements/AccessibleButton"; @@ -30,6 +29,7 @@ import { UIComponent } from "../../../settings/UIFeature"; import { privateShouldBeEncrypted } from "../../../utils/rooms"; import { LocalRoom } from "../../../models/LocalRoom"; import { shouldEncryptRoomWithSingle3rdPartyInvite } from "../../../utils/room/shouldEncryptRoomWithSingle3rdPartyInvite"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; function hasExpectedEncryptionSettings(matrixClient: MatrixClient, room: Room): boolean { const isEncrypted: boolean = matrixClient.isRoomEncrypted(room.roomId); @@ -51,7 +51,7 @@ const determineIntroMessage = (room: Room, encryptedSingle3rdPartyInvite: boolea const NewRoomIntro: React.FC = () => { const cli = useContext(MatrixClientContext); - const { room, roomId } = useContext(RoomContext); + const { room, roomId } = useScopedRoomContext("room", "roomId"); if (!room || !roomId) { throw new Error("Unable to create a NewRoomIntro without room and roomId"); diff --git a/src/components/views/rooms/RoomHeader.tsx b/src/components/views/rooms/RoomHeader.tsx index c2642ea733..b0040c45fd 100644 --- a/src/components/views/rooms/RoomHeader.tsx +++ b/src/components/views/rooms/RoomHeader.tsx @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import React, { useCallback, useContext, useMemo, useState } from "react"; +import React, { useCallback, useMemo, useState } from "react"; import { Body as BodyText, Button, IconButton, Menu, MenuItem, Tooltip } from "@vector-im/compound-web"; import VideoCallIcon from "@vector-im/compound-design-tokens/assets/web/icons/video-call-solid"; import VoiceCallIcon from "@vector-im/compound-design-tokens/assets/web/icons/voice-call"; @@ -48,10 +48,10 @@ import { CallGuestLinkButton } from "./RoomHeader/CallGuestLinkButton"; import { ButtonEvent } from "../elements/AccessibleButton"; import WithPresenceIndicator, { useDmMember } from "../avatars/WithPresenceIndicator"; import { IOOBData } from "../../../stores/ThreepidInviteStore"; -import RoomContext from "../../../contexts/RoomContext"; import { MainSplitContentType } from "../../structures/RoomView"; import defaultDispatcher from "../../../dispatcher/dispatcher.ts"; import { RoomSettingsTab } from "../dialogs/RoomSettingsDialog.tsx"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; export default function RoomHeader({ room, @@ -229,7 +229,7 @@ export default function RoomHeader({ voiceCallButton = undefined; } - const roomContext = useContext(RoomContext); + const roomContext = useScopedRoomContext("mainSplitContentType"); const isVideoRoom = calcIsVideoRoom(room); const showChatButton = isVideoRoom || diff --git a/src/components/views/rooms/ThreadSummary.tsx b/src/components/views/rooms/ThreadSummary.tsx index 4a3032d641..ac23331f66 100644 --- a/src/components/views/rooms/ThreadSummary.tsx +++ b/src/components/views/rooms/ThreadSummary.tsx @@ -16,7 +16,6 @@ import { CardContext } from "../right_panel/context"; import AccessibleButton, { ButtonEvent } from "../elements/AccessibleButton"; import PosthogTrackers from "../../../PosthogTrackers"; import { useTypedEventEmitterState } from "../../../hooks/useEventEmitter"; -import RoomContext from "../../../contexts/RoomContext"; import MemberAvatar from "../avatars/MemberAvatar"; import { Action } from "../../../dispatcher/actions"; import { ShowThreadPayload } from "../../../dispatcher/payloads/ShowThreadPayload"; @@ -24,6 +23,7 @@ import defaultDispatcher from "../../../dispatcher/dispatcher"; import { useUnreadNotifications } from "../../../hooks/useUnreadNotifications"; import { notificationLevelToIndicator } from "../../../utils/notifications"; import { EventPreviewTile, useEventPreview } from "./EventPreview.tsx"; +import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx"; interface IProps { mxEvent: MatrixEvent; @@ -31,7 +31,7 @@ interface IProps { } const ThreadSummary: React.FC = ({ mxEvent, thread, ...props }) => { - const roomContext = useContext(RoomContext); + const roomContext = useScopedRoomContext("narrow"); const cardContext = useContext(CardContext); const count = useTypedEventEmitterState(thread, ThreadEvent.Update, () => thread.length); const { level } = useUnreadNotifications(thread.room, thread.id); diff --git a/src/components/views/rooms/wysiwyg_composer/components/Emoji.tsx b/src/components/views/rooms/wysiwyg_composer/components/Emoji.tsx index b7a6d65e23..9ab3d210ab 100644 --- a/src/components/views/rooms/wysiwyg_composer/components/Emoji.tsx +++ b/src/components/views/rooms/wysiwyg_composer/components/Emoji.tsx @@ -13,14 +13,14 @@ import { EmojiButton } from "../../EmojiButton"; import dis from "../../../../../dispatcher/dispatcher"; import { ComposerInsertPayload } from "../../../../../dispatcher/payloads/ComposerInsertPayload"; import { Action } from "../../../../../dispatcher/actions"; -import { useRoomContext } from "../../../../../contexts/RoomContext"; +import { useScopedRoomContext } from "../../../../../contexts/ScopedRoomContext.tsx"; interface EmojiProps { menuPosition: MenuProps; } export function Emoji({ menuPosition }: EmojiProps): JSX.Element { - const roomContext = useRoomContext(); + const roomContext = useScopedRoomContext("timelineRenderingType"); return ( , ): JSX.Element | null => { - const { room } = useRoomContext(); + const { room } = useScopedRoomContext("room"); const client = useMatrixClientContext(); function handleConfirm(completion: ICompletion): void { diff --git a/src/components/views/rooms/wysiwyg_composer/components/WysiwygComposer.tsx b/src/components/views/rooms/wysiwyg_composer/components/WysiwygComposer.tsx index 5b6361a58e..f1e42ce091 100644 --- a/src/components/views/rooms/wysiwyg_composer/components/WysiwygComposer.tsx +++ b/src/components/views/rooms/wysiwyg_composer/components/WysiwygComposer.tsx @@ -19,12 +19,12 @@ import { Editor } from "./Editor"; import { useInputEventProcessor } from "../hooks/useInputEventProcessor"; import { useSetCursorPosition } from "../hooks/useSetCursorPosition"; import { useIsFocused } from "../hooks/useIsFocused"; -import { useRoomContext } from "../../../../../contexts/RoomContext"; import defaultDispatcher from "../../../../../dispatcher/dispatcher"; import { Action } from "../../../../../dispatcher/actions"; import { parsePermalink } from "../../../../../utils/permalinks/Permalinks"; import { isNotNull } from "../../../../../Typeguards"; import { useSettingValue } from "../../../../../hooks/useSettings"; +import { useScopedRoomContext } from "../../../../../contexts/ScopedRoomContext.tsx"; interface WysiwygComposerProps { disabled?: boolean; @@ -56,7 +56,7 @@ export const WysiwygComposer = memo(function WysiwygComposer({ children, eventRelation, }: WysiwygComposerProps) { - const { room } = useRoomContext(); + const { room } = useScopedRoomContext("room"); const autocompleteRef = useRef(null); const inputEventProcessor = useInputEventProcessor(onSend, autocompleteRef, initialContent, eventRelation); diff --git a/src/components/views/rooms/wysiwyg_composer/hooks/useEditing.ts b/src/components/views/rooms/wysiwyg_composer/hooks/useEditing.ts index 5d1c3b867e..20f394e8a3 100644 --- a/src/components/views/rooms/wysiwyg_composer/hooks/useEditing.ts +++ b/src/components/views/rooms/wysiwyg_composer/hooks/useEditing.ts @@ -10,10 +10,10 @@ import { ISendEventResponse } from "matrix-js-sdk/src/matrix"; import { useCallback, useState } from "react"; import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext"; -import { useRoomContext } from "../../../../../contexts/RoomContext"; import EditorStateTransfer from "../../../../../utils/EditorStateTransfer"; import { endEditing } from "../utils/editing"; import { editMessage } from "../utils/message"; +import { useScopedRoomContext } from "../../../../../contexts/ScopedRoomContext.tsx"; export function useEditing( editorStateTransfer: EditorStateTransfer, @@ -24,7 +24,7 @@ export function useEditing( editMessage(): Promise; endEditing(): void; } { - const roomContext = useRoomContext(); + const roomContext = useScopedRoomContext("timelineRenderingType"); const mxClient = useMatrixClientContext(); const [isSaveDisabled, setIsSaveDisabled] = useState(true); diff --git a/src/components/views/rooms/wysiwyg_composer/hooks/useInitialContent.ts b/src/components/views/rooms/wysiwyg_composer/hooks/useInitialContent.ts index 2e0ddd3ccd..3a3799496b 100644 --- a/src/components/views/rooms/wysiwyg_composer/hooks/useInitialContent.ts +++ b/src/components/views/rooms/wysiwyg_composer/hooks/useInitialContent.ts @@ -10,11 +10,11 @@ import { MatrixClient, Room } from "matrix-js-sdk/src/matrix"; import { useMemo } from "react"; import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext"; -import { useRoomContext } from "../../../../../contexts/RoomContext"; import { parseEvent } from "../../../../../editor/deserialize"; import { CommandPartCreator, Part } from "../../../../../editor/parts"; import SettingsStore from "../../../../../settings/SettingsStore"; import EditorStateTransfer from "../../../../../utils/EditorStateTransfer"; +import { useScopedRoomContext } from "../../../../../contexts/ScopedRoomContext.tsx"; function getFormattedContent(editorStateTransfer: EditorStateTransfer): string { return ( @@ -60,12 +60,12 @@ export function parseEditorStateTransfer( } export function useInitialContent(editorStateTransfer: EditorStateTransfer): string | undefined { - const roomContext = useRoomContext(); + const { room } = useScopedRoomContext("room"); const mxClient = useMatrixClientContext(); return useMemo(() => { - if (editorStateTransfer && roomContext.room && mxClient) { - return parseEditorStateTransfer(editorStateTransfer, roomContext.room, mxClient); + if (editorStateTransfer && room && mxClient) { + return parseEditorStateTransfer(editorStateTransfer, room, mxClient); } - }, [editorStateTransfer, roomContext, mxClient]); + }, [editorStateTransfer, room, mxClient]); } diff --git a/src/components/views/rooms/wysiwyg_composer/hooks/useInputEventProcessor.ts b/src/components/views/rooms/wysiwyg_composer/hooks/useInputEventProcessor.ts index 8eac63eb36..cab3bdefb8 100644 --- a/src/components/views/rooms/wysiwyg_composer/hooks/useInputEventProcessor.ts +++ b/src/components/views/rooms/wysiwyg_composer/hooks/useInputEventProcessor.ts @@ -16,7 +16,6 @@ import { KeyBindingAction } from "../../../../../accessibility/KeyboardShortcuts import { findEditableEvent } from "../../../../../utils/EventUtils"; import dis from "../../../../../dispatcher/dispatcher"; import { Action } from "../../../../../dispatcher/actions"; -import { useRoomContext } from "../../../../../contexts/RoomContext"; import { IRoomState } from "../../../../structures/RoomView"; import { ComposerContextState, useComposerContext } from "../ComposerContext"; import EditorStateTransfer from "../../../../../utils/EditorStateTransfer"; @@ -26,6 +25,7 @@ import { getEventsFromEditorStateTransfer, getEventsFromRoom } from "../utils/ev import { endEditing } from "../utils/editing"; import Autocomplete from "../../Autocomplete"; import { handleClipboardEvent, handleEventWithAutocomplete, isEventToHandleAsClipboardEvent } from "./utils"; +import { useScopedRoomContext } from "../../../../../contexts/ScopedRoomContext.tsx"; export function useInputEventProcessor( onSend: () => void, @@ -33,7 +33,7 @@ export function useInputEventProcessor( initialContent?: string, eventRelation?: IEventRelation, ): (event: WysiwygEvent, composer: Wysiwyg, editor: HTMLElement) => WysiwygEvent | null { - const roomContext = useRoomContext(); + const roomContext = useScopedRoomContext("liveTimeline", "room", "replyToEvent", "timelineRenderingType"); const composerContext = useComposerContext(); const mxClient = useMatrixClientContext(); const isCtrlEnterToSend = useSettingValue("MessageComposerInput.ctrlEnterToSend"); @@ -94,7 +94,7 @@ function handleKeyboardEvent( initialContent: string | undefined, composer: Wysiwyg, editor: HTMLElement, - roomContext: IRoomState, + roomContext: Pick, composerContext: ComposerContextState, mxClient: MatrixClient | undefined, autocompleteRef: React.RefObject, @@ -175,7 +175,7 @@ function dispatchEditEvent( isForward: boolean, editorStateTransfer: EditorStateTransfer | undefined, composerContext: ComposerContextState, - roomContext: IRoomState, + roomContext: Pick, mxClient: MatrixClient, ): boolean { const foundEvents = editorStateTransfer diff --git a/src/components/views/rooms/wysiwyg_composer/hooks/usePlainTextListeners.ts b/src/components/views/rooms/wysiwyg_composer/hooks/usePlainTextListeners.ts index 742d24fe34..1dc23cc274 100644 --- a/src/components/views/rooms/wysiwyg_composer/hooks/usePlainTextListeners.ts +++ b/src/components/views/rooms/wysiwyg_composer/hooks/usePlainTextListeners.ts @@ -16,8 +16,8 @@ import Autocomplete from "../../Autocomplete"; import { handleClipboardEvent, handleEventWithAutocomplete, isEventToHandleAsClipboardEvent } from "./utils"; import { useSuggestion } from "./useSuggestion"; import { isNotNull, isNotUndefined } from "../../../../../Typeguards"; -import { useRoomContext } from "../../../../../contexts/RoomContext"; import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext"; +import { useScopedRoomContext } from "../../../../../contexts/ScopedRoomContext.tsx"; function isDivElement(target: EventTarget): target is HTMLDivElement { return target instanceof HTMLDivElement; @@ -63,7 +63,7 @@ export function usePlainTextListeners( onSelect: (event: SyntheticEvent) => void; suggestion: MappedSuggestion | null; } { - const roomContext = useRoomContext(); + const roomContext = useScopedRoomContext("room", "timelineRenderingType", "replyToEvent"); const mxClient = useMatrixClientContext(); const ref = useRef(null); diff --git a/src/components/views/rooms/wysiwyg_composer/hooks/useWysiwygEditActionHandler.ts b/src/components/views/rooms/wysiwyg_composer/hooks/useWysiwygEditActionHandler.ts index e1e34623c8..eb76d77af5 100644 --- a/src/components/views/rooms/wysiwyg_composer/hooks/useWysiwygEditActionHandler.ts +++ b/src/components/views/rooms/wysiwyg_composer/hooks/useWysiwygEditActionHandler.ts @@ -11,20 +11,21 @@ import { RefObject, useCallback, useRef } from "react"; import defaultDispatcher from "../../../../../dispatcher/dispatcher"; import { Action } from "../../../../../dispatcher/actions"; import { ActionPayload } from "../../../../../dispatcher/payloads"; -import { TimelineRenderingType, useRoomContext } from "../../../../../contexts/RoomContext"; +import { TimelineRenderingType } from "../../../../../contexts/RoomContext"; import { useDispatcher } from "../../../../../hooks/useDispatcher"; import { focusComposer } from "./utils"; import { ComposerType } from "../../../../../dispatcher/payloads/ComposerInsertPayload"; import { ComposerFunctions } from "../types"; import { setSelection } from "../utils/selection"; import { useComposerContext } from "../ComposerContext"; +import { useScopedRoomContext } from "../../../../../contexts/ScopedRoomContext.tsx"; export function useWysiwygEditActionHandler( disabled: boolean, composerElement: RefObject, composerFunctions: ComposerFunctions, ): void { - const roomContext = useRoomContext(); + const roomContext = useScopedRoomContext("timelineRenderingType"); const composerContext = useComposerContext(); const timeoutId = useRef(null); diff --git a/src/components/views/rooms/wysiwyg_composer/hooks/useWysiwygSendActionHandler.ts b/src/components/views/rooms/wysiwyg_composer/hooks/useWysiwygSendActionHandler.ts index 16e1e608ec..d11f3498fd 100644 --- a/src/components/views/rooms/wysiwyg_composer/hooks/useWysiwygSendActionHandler.ts +++ b/src/components/views/rooms/wysiwyg_composer/hooks/useWysiwygSendActionHandler.ts @@ -11,20 +11,21 @@ import { MutableRefObject, useCallback, useRef } from "react"; import defaultDispatcher from "../../../../../dispatcher/dispatcher"; import { Action } from "../../../../../dispatcher/actions"; import { ActionPayload } from "../../../../../dispatcher/payloads"; -import { TimelineRenderingType, useRoomContext } from "../../../../../contexts/RoomContext"; +import { TimelineRenderingType } from "../../../../../contexts/RoomContext"; import { useDispatcher } from "../../../../../hooks/useDispatcher"; import { focusComposer } from "./utils"; import { ComposerFunctions } from "../types"; import { ComposerType } from "../../../../../dispatcher/payloads/ComposerInsertPayload"; import { useComposerContext } from "../ComposerContext"; import { setSelection } from "../utils/selection"; +import { useScopedRoomContext } from "../../../../../contexts/ScopedRoomContext.tsx"; export function useWysiwygSendActionHandler( disabled: boolean, composerElement: MutableRefObject, composerFunctions: ComposerFunctions, ): void { - const roomContext = useRoomContext(); + const roomContext = useScopedRoomContext("timelineRenderingType"); const composerContext = useComposerContext(); const timeoutId = useRef(null); diff --git a/src/components/views/rooms/wysiwyg_composer/hooks/utils.ts b/src/components/views/rooms/wysiwyg_composer/hooks/utils.ts index 39317ea88c..3345c9f474 100644 --- a/src/components/views/rooms/wysiwyg_composer/hooks/utils.ts +++ b/src/components/views/rooms/wysiwyg_composer/hooks/utils.ts @@ -22,7 +22,7 @@ import { isNotNull } from "../../../../../Typeguards"; export function focusComposer( composerElement: MutableRefObject, renderingType: TimelineRenderingType, - roomContext: IRoomState, + roomContext: Pick, timeoutId: MutableRefObject, ): void { if (renderingType === roomContext.timelineRenderingType) { @@ -123,7 +123,7 @@ export function handleEventWithAutocomplete( export function handleClipboardEvent( event: ClipboardEvent | InputEvent, data: DataTransfer | null, - roomContext: IRoomState, + roomContext: Pick, mxClient: MatrixClient, eventRelation?: IEventRelation, ): boolean { diff --git a/src/components/views/rooms/wysiwyg_composer/utils/editing.ts b/src/components/views/rooms/wysiwyg_composer/utils/editing.ts index 58a9e24492..462763b8f4 100644 --- a/src/components/views/rooms/wysiwyg_composer/utils/editing.ts +++ b/src/components/views/rooms/wysiwyg_composer/utils/editing.ts @@ -13,7 +13,7 @@ import dis from "../../../../../dispatcher/dispatcher"; import { Action } from "../../../../../dispatcher/actions"; import EditorStateTransfer from "../../../../../utils/EditorStateTransfer"; -export function endEditing(roomContext: IRoomState): void { +export function endEditing(roomContext: Pick): void { // todo local storage // localStorage.removeItem(this.editorRoomKey); // localStorage.removeItem(this.editorStateKey); diff --git a/src/components/views/rooms/wysiwyg_composer/utils/event.ts b/src/components/views/rooms/wysiwyg_composer/utils/event.ts index 5fd37b3665..45c6b1cac3 100644 --- a/src/components/views/rooms/wysiwyg_composer/utils/event.ts +++ b/src/components/views/rooms/wysiwyg_composer/utils/event.ts @@ -15,7 +15,7 @@ import { ComposerContextState } from "../ComposerContext"; // From EditMessageComposer private get events(): MatrixEvent[] export function getEventsFromEditorStateTransfer( editorStateTransfer: EditorStateTransfer, - roomContext: IRoomState, + roomContext: Pick, mxClient: MatrixClient, ): MatrixEvent[] | undefined { const liveTimelineEvents = roomContext.liveTimeline?.getEvents(); @@ -41,7 +41,7 @@ export function getEventsFromEditorStateTransfer( // From SendMessageComposer private onKeyDown = (event: KeyboardEvent): void export function getEventsFromRoom( composerContext: ComposerContextState, - roomContext: IRoomState, + roomContext: Pick, ): MatrixEvent[] | undefined { const isReplyingToThread = composerContext.eventRelation?.key === THREAD_RELATION_TYPE.name; return roomContext.liveTimeline diff --git a/src/components/views/rooms/wysiwyg_composer/utils/message.ts b/src/components/views/rooms/wysiwyg_composer/utils/message.ts index 44e10e3cc5..b7fca8ecb4 100644 --- a/src/components/views/rooms/wysiwyg_composer/utils/message.ts +++ b/src/components/views/rooms/wysiwyg_composer/utils/message.ts @@ -39,7 +39,7 @@ export interface SendMessageParams { mxClient: MatrixClient; relation?: IEventRelation; replyToEvent?: MatrixEvent; - roomContext: IRoomState; + roomContext: Pick; } export async function sendMessage( @@ -177,7 +177,7 @@ export async function sendMessage( interface EditMessageParams { mxClient: MatrixClient; - roomContext: IRoomState; + roomContext: Pick; editorStateTransfer: EditorStateTransfer; } diff --git a/src/contexts/RoomContext.ts b/src/contexts/RoomContext.ts index 0ec179eca4..4303c46a34 100644 --- a/src/contexts/RoomContext.ts +++ b/src/contexts/RoomContext.ts @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import { createContext, useContext } from "react"; +import { createContext } from "react"; import { IRoomState } from "../components/structures/RoomView"; import { Layout } from "../settings/enums/Layout"; @@ -79,6 +79,3 @@ const RoomContext = createContext< }); RoomContext.displayName = "RoomContext"; export default RoomContext; -export function useRoomContext(): IRoomState { - return useContext(RoomContext); -} diff --git a/src/contexts/ScopedRoomContext.tsx b/src/contexts/ScopedRoomContext.tsx new file mode 100644 index 0000000000..1222443d29 --- /dev/null +++ b/src/contexts/ScopedRoomContext.tsx @@ -0,0 +1,78 @@ +/* +Copyright 2024 New Vector Ltd. +Copyright 2019 The Matrix.org Foundation C.I.C. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import { TypedEventEmitter } from "matrix-js-sdk/src/matrix"; +import React, { ContextType, createContext, memo, ReactNode, useContext, useEffect, useRef, useState } from "react"; + +import { objectKeyChanges } from "../utils/objects.ts"; +import { useTypedEventEmitter } from "../hooks/useEventEmitter.ts"; +import RoomContext from "./RoomContext.ts"; + +// React Contexts with frequently changing values (like State where the object reference is changed on every update) +// cause performance issues by triggering a re-render on every component subscribed to that context. +// With ScopedRoomContext we're effectively setting up virtual contexts which are a subset of the overall context object +// and subscribers specify which fields they care about, and they will only be awoken on updates to those specific fields. + +type ContextValue = ContextType; + +export enum NotificationStateEvents { + Update = "update", +} + +type EventHandlerMap> = { + [NotificationStateEvents.Update]: (keys: Array) => void; +}; + +class EfficientContext> extends TypedEventEmitter< + NotificationStateEvents, + EventHandlerMap +> { + public constructor(public state: C) { + super(); + } + + public setState(state: C): void { + const changedKeys = objectKeyChanges(this.state ?? ({} as C), state); + this.state = state; + this.emit(NotificationStateEvents.Update, changedKeys); + } +} + +const ScopedRoomContext = createContext | undefined>(undefined); + +// Uses react memo and leverages splatting the value to ensure that the context is only updated when the state changes (shallow compare) +export const ScopedRoomContextProvider = memo( + ({ children, ...state }: { children: ReactNode } & ContextValue): JSX.Element => { + const contextRef = useRef(new EfficientContext(state)); + useEffect(() => { + contextRef.current.setState(state); + }, [state]); + + // Includes the legacy RoomContext provider for backwards compatibility with class components + return ( + + {children} + + ); + }, +); + +type ScopedRoomContext> = { [key in K[number]]: ContextValue[key] }; + +export function useScopedRoomContext>(...keys: K): ScopedRoomContext { + const context = useContext(ScopedRoomContext); + const [state, setState] = useState>(context?.state ?? ({} as ScopedRoomContext)); + + useTypedEventEmitter(context, NotificationStateEvents.Update, (updatedKeys: K): void => { + if (context?.state && updatedKeys.some((updatedKey) => keys.includes(updatedKey))) { + setState(context.state); + } + }); + + return state; +} diff --git a/src/hooks/room/useRoomMemberProfile.ts b/src/hooks/room/useRoomMemberProfile.ts index 57f72a722e..b8bb44c50d 100644 --- a/src/hooks/room/useRoomMemberProfile.ts +++ b/src/hooks/room/useRoomMemberProfile.ts @@ -7,10 +7,11 @@ Please see LICENSE files in the repository root for full details. */ import { RoomMember } from "matrix-js-sdk/src/matrix"; -import { useContext, useMemo } from "react"; +import { useMemo } from "react"; -import RoomContext, { TimelineRenderingType } from "../../contexts/RoomContext"; +import { TimelineRenderingType } from "../../contexts/RoomContext"; import { useSettingValue } from "../useSettings"; +import { useScopedRoomContext } from "../../contexts/ScopedRoomContext.tsx"; export function useRoomMemberProfile({ userId = "", @@ -21,7 +22,7 @@ export function useRoomMemberProfile({ member?: RoomMember | null; forceHistorical?: boolean; }): RoomMember | undefined | null { - const context = useContext(RoomContext); + const context = useScopedRoomContext("room", "timelineRenderingType"); const useOnlyCurrentProfiles = useSettingValue("useOnlyCurrentProfiles"); const member = useMemo(() => { diff --git a/test/unit-tests/components/structures/MessagePanel-test.tsx b/test/unit-tests/components/structures/MessagePanel-test.tsx index cf44716ba9..dbb83da312 100644 --- a/test/unit-tests/components/structures/MessagePanel-test.tsx +++ b/test/unit-tests/components/structures/MessagePanel-test.tsx @@ -30,6 +30,7 @@ import { import ResizeNotifier from "../../../../src/utils/ResizeNotifier"; import { IRoomState } from "../../../../src/components/structures/RoomView"; import { MatrixClientPeg } from "../../../../src/MatrixClientPeg"; +import { ScopedRoomContextProvider } from "../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("../../../../src/utils/beacon", () => ({ useBeacon: jest.fn(), @@ -91,9 +92,9 @@ describe("MessagePanel", function () { const getComponent = (props = {}, roomContext: Partial = {}) => ( - + - + ); diff --git a/test/unit-tests/components/structures/ThreadPanel-test.tsx b/test/unit-tests/components/structures/ThreadPanel-test.tsx index 909e972638..20fc708103 100644 --- a/test/unit-tests/components/structures/ThreadPanel-test.tsx +++ b/test/unit-tests/components/structures/ThreadPanel-test.tsx @@ -20,7 +20,6 @@ import { import ThreadPanel, { ThreadFilterType, ThreadPanelHeader } from "../../../../src/components/structures/ThreadPanel"; import MatrixClientContext from "../../../../src/contexts/MatrixClientContext"; -import RoomContext from "../../../../src/contexts/RoomContext"; import { _t } from "../../../../src/languageHandler"; import { MatrixClientPeg } from "../../../../src/MatrixClientPeg"; import { RoomPermalinkCreator } from "../../../../src/utils/permalinks/Permalinks"; @@ -28,6 +27,7 @@ import ResizeNotifier from "../../../../src/utils/ResizeNotifier"; import { createTestClient, getRoomContext, mkRoom, mockPlatformPeg, stubClient } from "../../../test-utils"; import { mkThread } from "../../../test-utils/threads"; import { IRoomState } from "../../../../src/components/structures/RoomView"; +import { ScopedRoomContextProvider } from "../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("../../../../src/utils/Feedback"); @@ -81,11 +81,11 @@ describe("ThreadPanel", () => { room: mockRoom, } as unknown as IRoomState; const { container } = render( - + undefined} /> - , + , ); fireEvent.click(getByRole(container, "button", { name: "Mark all as read" })); await waitFor(() => @@ -114,8 +114,8 @@ describe("ThreadPanel", () => { const TestThreadPanel = () => ( - @@ -125,7 +125,7 @@ describe("ThreadPanel", () => { resizeNotifier={new ResizeNotifier()} permalinkCreator={new RoomPermalinkCreator(room)} /> - + ); diff --git a/test/unit-tests/components/structures/ThreadView-test.tsx b/test/unit-tests/components/structures/ThreadView-test.tsx index 697fd25181..ee4afff525 100644 --- a/test/unit-tests/components/structures/ThreadView-test.tsx +++ b/test/unit-tests/components/structures/ThreadView-test.tsx @@ -23,7 +23,6 @@ import React, { useState } from "react"; import ThreadView from "../../../../src/components/structures/ThreadView"; import MatrixClientContext from "../../../../src/contexts/MatrixClientContext"; -import RoomContext from "../../../../src/contexts/RoomContext"; import { SdkContextClass } from "../../../../src/contexts/SDKContext"; import { Action } from "../../../../src/dispatcher/actions"; import dispatcher from "../../../../src/dispatcher/dispatcher"; @@ -34,6 +33,7 @@ import { mockPlatformPeg } from "../../../test-utils/platform"; import { getRoomContext } from "../../../test-utils/room"; import { mkMessage, stubClient } from "../../../test-utils/test-utils"; import { mkThread } from "../../../test-utils/threads"; +import { ScopedRoomContextProvider } from "../../../../src/contexts/ScopedRoomContext.tsx"; describe("ThreadView", () => { const ROOM_ID = "!roomId:example.org"; @@ -51,8 +51,8 @@ describe("ThreadView", () => { return ( - @@ -63,7 +63,7 @@ describe("ThreadView", () => { initialEvent={initialEvent} resizeNotifier={new ResizeNotifier()} /> - + , ); diff --git a/test/unit-tests/components/views/audio_messages/RecordingPlayback-test.tsx b/test/unit-tests/components/views/audio_messages/RecordingPlayback-test.tsx index 1f193d6883..419357e5c8 100644 --- a/test/unit-tests/components/views/audio_messages/RecordingPlayback-test.tsx +++ b/test/unit-tests/components/views/audio_messages/RecordingPlayback-test.tsx @@ -15,10 +15,11 @@ import RecordingPlayback, { PlaybackLayout, } from "../../../../../src/components/views/audio_messages/RecordingPlayback"; import { Playback } from "../../../../../src/audio/Playback"; -import RoomContext, { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; +import { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; import { createAudioContext } from "../../../../../src/audio/compat"; import { flushPromises } from "../../../../test-utils"; import { IRoomState } from "../../../../../src/components/structures/RoomView"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("../../../../../src/WorkerManager", () => ({ WorkerManager: jest.fn(() => ({ @@ -56,9 +57,9 @@ describe("", () => { const defaultRoom = { roomId: "!room:server.org", timelineRenderingType: TimelineRenderingType.File } as IRoomState; const getComponent = (props: React.ComponentProps, room = defaultRoom) => render( - + - , + , ); beforeEach(() => { diff --git a/test/unit-tests/components/views/avatars/MemberAvatar-test.tsx b/test/unit-tests/components/views/avatars/MemberAvatar-test.tsx index eaa3a308d5..1c5bf3a44f 100644 --- a/test/unit-tests/components/views/avatars/MemberAvatar-test.tsx +++ b/test/unit-tests/components/views/avatars/MemberAvatar-test.tsx @@ -12,11 +12,11 @@ import { MatrixClient, PendingEventOrdering, Room, RoomMember } from "matrix-js- import React, { ComponentProps } from "react"; import MemberAvatar from "../../../../../src/components/views/avatars/MemberAvatar"; -import RoomContext from "../../../../../src/contexts/RoomContext"; import { MatrixClientPeg } from "../../../../../src/MatrixClientPeg"; import SettingsStore from "../../../../../src/settings/SettingsStore"; import { getRoomContext } from "../../../../test-utils/room"; import { stubClient } from "../../../../test-utils/test-utils"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; describe("MemberAvatar", () => { const ROOM_ID = "roomId"; @@ -27,9 +27,9 @@ describe("MemberAvatar", () => { function getComponent(props: Partial>) { return ( - + - + ); } diff --git a/test/unit-tests/components/views/context_menus/MessageContextMenu-test.tsx b/test/unit-tests/components/views/context_menus/MessageContextMenu-test.tsx index 54e8fa434b..892ca6dbed 100644 --- a/test/unit-tests/components/views/context_menus/MessageContextMenu-test.tsx +++ b/test/unit-tests/components/views/context_menus/MessageContextMenu-test.tsx @@ -27,7 +27,7 @@ import { mocked } from "jest-mock"; import userEvent from "@testing-library/user-event"; import { MatrixClientPeg } from "../../../../../src/MatrixClientPeg"; -import RoomContext, { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; +import { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; import { IRoomState } from "../../../../../src/components/structures/RoomView"; import { canEditContent } from "../../../../../src/utils/EventUtils"; import { copyPlaintext, getSelectedText } from "../../../../../src/utils/strings"; @@ -40,6 +40,7 @@ import { Action } from "../../../../../src/dispatcher/actions"; import { mkVoiceBroadcastInfoStateEvent } from "../../../voice-broadcast/utils/test-utils"; import { VoiceBroadcastInfoState } from "../../../../../src/voice-broadcast"; import { createMessageEventContent } from "../../../../test-utils/events"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("../../../../../src/utils/strings", () => ({ copyPlaintext: jest.fn(), @@ -546,8 +547,8 @@ function createMenu( client.getRoom = jest.fn().mockReturnValue(room); return render( - + - , + , ); } diff --git a/test/unit-tests/components/views/messages/MFileBody-test.tsx b/test/unit-tests/components/views/messages/MFileBody-test.tsx index 60795babde..e124e3a2ff 100644 --- a/test/unit-tests/components/views/messages/MFileBody-test.tsx +++ b/test/unit-tests/components/views/messages/MFileBody-test.tsx @@ -20,7 +20,8 @@ import { import { MediaEventHelper } from "../../../../../src/utils/MediaEventHelper"; import SettingsStore from "../../../../../src/settings/SettingsStore"; import MFileBody from "../../../../../src/components/views/messages/MFileBody.tsx"; -import RoomContext, { TimelineRenderingType } from "../../../../../src/contexts/RoomContext.ts"; +import { TimelineRenderingType } from "../../../../../src/contexts/RoomContext.ts"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("matrix-encrypt-attachment", () => ({ decryptAttachment: jest.fn(), @@ -72,14 +73,14 @@ describe("", () => { it("should show a download button in file rendering type", async () => { const { container, getByRole } = render( - + - , + , ); expect(getByRole("link", { name: "Download" })).toBeInTheDocument(); diff --git a/test/unit-tests/components/views/messages/MessageActionBar-test.tsx b/test/unit-tests/components/views/messages/MessageActionBar-test.tsx index 8b639eb94e..dda5b348a9 100644 --- a/test/unit-tests/components/views/messages/MessageActionBar-test.tsx +++ b/test/unit-tests/components/views/messages/MessageActionBar-test.tsx @@ -35,6 +35,7 @@ import dispatcher from "../../../../../src/dispatcher/dispatcher"; import SettingsStore from "../../../../../src/settings/SettingsStore"; import { Action } from "../../../../../src/dispatcher/actions"; import PinningUtils from "../../../../../src/utils/PinningUtils"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("../../../../../src/dispatcher/dispatcher"); @@ -117,9 +118,9 @@ describe("", () => { } as unknown as IRoomState; const getComponent = (props = {}, roomContext: Partial = {}) => render( - + - , + , ); beforeEach(() => { diff --git a/test/unit-tests/components/views/messages/RoomPredecessorTile-test.tsx b/test/unit-tests/components/views/messages/RoomPredecessorTile-test.tsx index f666b13b33..3ed7d7eb2b 100644 --- a/test/unit-tests/components/views/messages/RoomPredecessorTile-test.tsx +++ b/test/unit-tests/components/views/messages/RoomPredecessorTile-test.tsx @@ -20,9 +20,9 @@ import { } from "../../../../../src/components/views/messages/RoomPredecessorTile"; import { stubClient, upsertRoomStateEvents } from "../../../../test-utils/test-utils"; import { Action } from "../../../../../src/dispatcher/actions"; -import RoomContext from "../../../../../src/contexts/RoomContext"; import { filterConsole, getRoomContext } from "../../../../test-utils"; import { MatrixClientPeg } from "../../../../../src/MatrixClientPeg"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("../../../../../src/dispatcher/dispatcher"); @@ -99,9 +99,9 @@ describe("", () => { expect(createEvent).toBeTruthy(); return render( - + - , + , ); } diff --git a/test/unit-tests/components/views/right_panel/RoomSummaryCard-test.tsx b/test/unit-tests/components/views/right_panel/RoomSummaryCard-test.tsx index 4026149f98..a2178466de 100644 --- a/test/unit-tests/components/views/right_panel/RoomSummaryCard-test.tsx +++ b/test/unit-tests/components/views/right_panel/RoomSummaryCard-test.tsx @@ -30,7 +30,8 @@ import { _t } from "../../../../../src/languageHandler"; import { tagRoom } from "../../../../../src/utils/room/tagRoom"; import { DefaultTagID } from "../../../../../src/stores/room-list/models"; import { Action } from "../../../../../src/dispatcher/actions"; -import RoomContext, { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; +import { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("../../../../../src/utils/room/tagRoom"); @@ -172,14 +173,14 @@ describe("", () => { const onSearchChange = jest.fn(); const { rerender } = render( - + - + , ); @@ -188,13 +189,13 @@ describe("", () => { rerender( - + - + , ); expect(screen.getByPlaceholderText("Search messages…")).toHaveValue(""); diff --git a/test/unit-tests/components/views/rooms/EditMessageComposer-test.tsx b/test/unit-tests/components/views/rooms/EditMessageComposer-test.tsx index a34e2e895b..0ef3dd76e5 100644 --- a/test/unit-tests/components/views/rooms/EditMessageComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/EditMessageComposer-test.tsx @@ -27,12 +27,12 @@ import { import DocumentOffset from "../../../../../src/editor/offset"; import SettingsStore from "../../../../../src/settings/SettingsStore"; import EditorStateTransfer from "../../../../../src/utils/EditorStateTransfer"; -import RoomContext from "../../../../../src/contexts/RoomContext"; import { IRoomState } from "../../../../../src/components/structures/RoomView"; import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; import Autocompleter, { IProviderCompletions } from "../../../../../src/autocomplete/Autocompleter"; import NotifProvider from "../../../../../src/autocomplete/NotifProvider"; import DMRoomMap from "../../../../../src/utils/DMRoomMap"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; describe("", () => { const userId = "@alice:server.org"; @@ -79,7 +79,7 @@ describe("", () => { render(, { wrapper: ({ children }) => ( - {children} + {children} ), }); diff --git a/test/unit-tests/components/views/rooms/EventTile-test.tsx b/test/unit-tests/components/views/rooms/EventTile-test.tsx index e57514904a..d41bc9b6f0 100644 --- a/test/unit-tests/components/views/rooms/EventTile-test.tsx +++ b/test/unit-tests/components/views/rooms/EventTile-test.tsx @@ -30,7 +30,7 @@ import { mkEncryptedMatrixEvent } from "matrix-js-sdk/src/testing"; import EventTile, { EventTileProps } from "../../../../../src/components/views/rooms/EventTile"; import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; -import RoomContext, { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; +import { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; import { MatrixClientPeg } from "../../../../../src/MatrixClientPeg"; import { filterConsole, flushPromises, getRoomContext, mkEvent, mkMessage, stubClient } from "../../../../test-utils"; import { mkThread } from "../../../../test-utils/threads"; @@ -40,6 +40,7 @@ import { Action } from "../../../../../src/dispatcher/actions"; import { IRoomState } from "../../../../../src/components/structures/RoomView"; import PinningUtils from "../../../../../src/utils/PinningUtils"; import { Layout } from "../../../../../src/settings/enums/Layout"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; describe("EventTile", () => { const ROOM_ID = "!roomId:example.org"; @@ -56,13 +57,13 @@ describe("EventTile", () => { }) { return ( - + - + ); } diff --git a/test/unit-tests/components/views/rooms/MessageComposer-test.tsx b/test/unit-tests/components/views/rooms/MessageComposer-test.tsx index 3bd9a6cf62..4ef533091a 100644 --- a/test/unit-tests/components/views/rooms/MessageComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/MessageComposer-test.tsx @@ -24,7 +24,6 @@ import { import MessageComposer from "../../../../../src/components/views/rooms/MessageComposer"; import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; import { MatrixClientPeg } from "../../../../../src/MatrixClientPeg"; -import RoomContext from "../../../../../src/contexts/RoomContext"; import { IRoomState } from "../../../../../src/components/structures/RoomView"; import ResizeNotifier from "../../../../../src/utils/ResizeNotifier"; import { RoomPermalinkCreator } from "../../../../../src/utils/permalinks/Permalinks"; @@ -40,6 +39,7 @@ import { Action } from "../../../../../src/dispatcher/actions"; import { VoiceBroadcastInfoState, VoiceBroadcastRecording } from "../../../../../src/voice-broadcast"; import { mkVoiceBroadcastInfoStateEvent } from "../../../voice-broadcast/utils/test-utils"; import { SdkContextClass } from "../../../../../src/contexts/SDKContext"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; const openStickerPicker = async (): Promise => { await userEvent.click(screen.getByLabelText("More options")); @@ -512,9 +512,9 @@ function wrapAndRender( const getRawComponent = (props = {}, context = roomContext, client = mockClient) => ( - + - + ); return { diff --git a/test/unit-tests/components/views/rooms/MessageComposerButtons-test.tsx b/test/unit-tests/components/views/rooms/MessageComposerButtons-test.tsx index a66dc0d925..08204350ca 100644 --- a/test/unit-tests/components/views/rooms/MessageComposerButtons-test.tsx +++ b/test/unit-tests/components/views/rooms/MessageComposerButtons-test.tsx @@ -10,11 +10,11 @@ import React from "react"; import { render, screen, waitFor } from "jest-matrix-react"; import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; -import RoomContext from "../../../../../src/contexts/RoomContext"; import { createTestClient, getRoomContext, mkStubRoom } from "../../../../test-utils"; import { IRoomState } from "../../../../../src/components/structures/RoomView"; import { MatrixClientPeg } from "../../../../../src/MatrixClientPeg"; import MessageComposerButtons from "../../../../../src/components/views/rooms/MessageComposerButtons"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; describe("MessageComposerButtons", () => { // @ts-ignore - we're deliberately not implementing the whole interface here, but @@ -54,7 +54,7 @@ describe("MessageComposerButtons", () => { return render( - {component} + {component} , ); } diff --git a/test/unit-tests/components/views/rooms/NewRoomIntro-test.tsx b/test/unit-tests/components/views/rooms/NewRoomIntro-test.tsx index 291d28c967..a1cd452610 100644 --- a/test/unit-tests/components/views/rooms/NewRoomIntro-test.tsx +++ b/test/unit-tests/components/views/rooms/NewRoomIntro-test.tsx @@ -13,19 +13,19 @@ import { MatrixClient, Room } from "matrix-js-sdk/src/matrix"; import { LocalRoom } from "../../../../../src/models/LocalRoom"; import { filterConsole, mkRoomMemberJoinEvent, mkThirdPartyInviteEvent, stubClient } from "../../../../test-utils"; -import RoomContext from "../../../../../src/contexts/RoomContext"; import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; import NewRoomIntro from "../../../../../src/components/views/rooms/NewRoomIntro"; import { IRoomState } from "../../../../../src/components/structures/RoomView"; import DMRoomMap from "../../../../../src/utils/DMRoomMap"; import { DirectoryMember } from "../../../../../src/utils/direct-messages"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; const renderNewRoomIntro = (client: MatrixClient, room: Room | LocalRoom) => { render( - + - + , ); }; diff --git a/test/unit-tests/components/views/rooms/SendMessageComposer-test.tsx b/test/unit-tests/components/views/rooms/SendMessageComposer-test.tsx index 9853ddb1ba..c372819ce2 100644 --- a/test/unit-tests/components/views/rooms/SendMessageComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/SendMessageComposer-test.tsx @@ -18,7 +18,7 @@ import SendMessageComposer, { isQuickReaction, } from "../../../../../src/components/views/rooms/SendMessageComposer"; import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; -import RoomContext, { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; +import { TimelineRenderingType } from "../../../../../src/contexts/RoomContext"; import EditorModel from "../../../../../src/editor/model"; import { createPartCreator } from "../../../editor/mock"; import { createTestClient, mkEvent, mkStubRoom, stubClient } from "../../../../test-utils"; @@ -30,6 +30,7 @@ import { IRoomState, MainSplitContentType } from "../../../../../src/components/ import { mockPlatformPeg } from "../../../../test-utils/platform"; import { doMaybeLocalRoomAction } from "../../../../../src/utils/local-room"; import { addTextToComposer } from "../../../../test-utils/composer"; +import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("../../../../../src/utils/local-room", () => ({ doMaybeLocalRoomAction: jest.fn(), @@ -365,9 +366,9 @@ describe("", () => { }; const getRawComponent = (props = {}, roomContext = defaultRoomContext, client = mockClient) => ( - + - + ); const getComponent = (props = {}, roomContext = defaultRoomContext, client = mockClient) => { diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx b/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx index 5d3c455288..167618e452 100644 --- a/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx @@ -11,7 +11,6 @@ import React from "react"; import { fireEvent, render, screen, waitFor } from "jest-matrix-react"; import MatrixClientContext from "../../../../../../src/contexts/MatrixClientContext"; -import RoomContext from "../../../../../../src/contexts/RoomContext"; import defaultDispatcher from "../../../../../../src/dispatcher/dispatcher"; import { Action } from "../../../../../../src/dispatcher/actions"; import { flushPromises, mkEvent } from "../../../../../test-utils"; @@ -23,6 +22,7 @@ import { ComposerInsertPayload, ComposerType } from "../../../../../../src/dispa import { ActionPayload } from "../../../../../../src/dispatcher/payloads"; import * as EmojiButton from "../../../../../../src/components/views/rooms/EmojiButton"; import { createMocks } from "./utils"; +import { ScopedRoomContextProvider } from "../../../../../../src/contexts/ScopedRoomContext.tsx"; describe("EditWysiwygComposer", () => { afterEach(() => { @@ -39,9 +39,9 @@ describe("EditWysiwygComposer", () => { ) => { return render( - + - + , ); }; @@ -64,9 +64,9 @@ describe("EditWysiwygComposer", () => { rerender( - + - + , ); @@ -275,10 +275,10 @@ describe("EditWysiwygComposer", () => { ); render( - + - + , ); // Same behavior as in RoomView.tsx diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx b/test/unit-tests/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx index 27110149f5..89415448b7 100644 --- a/test/unit-tests/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx @@ -11,7 +11,6 @@ import React from "react"; import { act, fireEvent, render, screen, waitFor } from "jest-matrix-react"; import MatrixClientContext from "../../../../../../src/contexts/MatrixClientContext"; -import RoomContext from "../../../../../../src/contexts/RoomContext"; import defaultDispatcher from "../../../../../../src/dispatcher/dispatcher"; import { Action } from "../../../../../../src/dispatcher/actions"; import { flushPromises } from "../../../../../test-utils"; @@ -20,6 +19,7 @@ import { aboveLeftOf } from "../../../../../../src/components/structures/Context import { ComposerInsertPayload, ComposerType } from "../../../../../../src/dispatcher/payloads/ComposerInsertPayload"; import { setSelection } from "../../../../../../src/components/views/rooms/wysiwyg_composer/utils/selection"; import { createMocks } from "./utils"; +import { ScopedRoomContextProvider } from "../../../../../../src/contexts/ScopedRoomContext.tsx"; jest.mock("../../../../../../src/components/views/rooms/EmojiButton", () => ({ EmojiButton: ({ addEmoji }: { addEmoji: (emoji: string) => void }) => { @@ -66,7 +66,7 @@ describe("SendWysiwygComposer", () => { ) => { return render( - + { menuPosition={aboveLeftOf({ top: 0, bottom: 0, right: 0 })} placeholder={placeholder} /> - + , ); }; diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/components/PlainTextComposer-test.tsx b/test/unit-tests/components/views/rooms/wysiwyg_composer/components/PlainTextComposer-test.tsx index 1ca6e9736c..ae37afe860 100644 --- a/test/unit-tests/components/views/rooms/wysiwyg_composer/components/PlainTextComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/components/PlainTextComposer-test.tsx @@ -14,7 +14,7 @@ import { PlainTextComposer } from "../../../../../../../src/components/views/roo import * as mockUseSettingsHook from "../../../../../../../src/hooks/useSettings"; import * as mockKeyboard from "../../../../../../../src/Keyboard"; import { createMocks } from "../utils"; -import RoomContext from "../../../../../../../src/contexts/RoomContext"; +import { ScopedRoomContextProvider } from "../../../../../../../src/contexts/ScopedRoomContext.tsx"; describe("PlainTextComposer", () => { const customRender = ( @@ -275,9 +275,9 @@ describe("PlainTextComposer", () => { const { defaultRoomContext } = createMocks(); render( - + - , + , ); expect(screen.getByTestId("autocomplete-wrapper")).toBeInTheDocument(); diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/components/WysiwygAutocomplete-test.tsx b/test/unit-tests/components/views/rooms/wysiwyg_composer/components/WysiwygAutocomplete-test.tsx index 68ce88ce0c..b0f4bbb5bd 100644 --- a/test/unit-tests/components/views/rooms/wysiwyg_composer/components/WysiwygAutocomplete-test.tsx +++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/components/WysiwygAutocomplete-test.tsx @@ -11,12 +11,12 @@ import React, { createRef } from "react"; import { render, screen, waitFor } from "jest-matrix-react"; import MatrixClientContext from "../../../../../../../src/contexts/MatrixClientContext"; -import RoomContext from "../../../../../../../src/contexts/RoomContext"; import { WysiwygAutocomplete } from "../../../../../../../src/components/views/rooms/wysiwyg_composer/components/WysiwygAutocomplete"; import { getRoomContext, mkStubRoom, stubClient } from "../../../../../../test-utils"; import Autocomplete from "../../../../../../../src/components/views/rooms/Autocomplete"; import Autocompleter, { ICompletion } from "../../../../../../../src/autocomplete/Autocompleter"; import AutocompleteProvider from "../../../../../../../src/autocomplete/AutocompleteProvider"; +import { ScopedRoomContextProvider } from "../../../../../../../src/contexts/ScopedRoomContext.tsx"; const mockCompletion: ICompletion[] = [ { @@ -71,7 +71,7 @@ describe("WysiwygAutocomplete", () => { return render( - + { handleAtRoomMention={mockHandleAtRoomMention} {...props} /> - + , ); }; diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/components/WysiwygComposer-test.tsx b/test/unit-tests/components/views/rooms/wysiwyg_composer/components/WysiwygComposer-test.tsx index adfd1412a7..c3c480eb82 100644 --- a/test/unit-tests/components/views/rooms/wysiwyg_composer/components/WysiwygComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/components/WysiwygComposer-test.tsx @@ -18,7 +18,6 @@ import defaultDispatcher from "../../../../../../../src/dispatcher/dispatcher"; import * as EventUtils from "../../../../../../../src/utils/EventUtils"; import { Action } from "../../../../../../../src/dispatcher/actions"; import MatrixClientContext from "../../../../../../../src/contexts/MatrixClientContext"; -import RoomContext from "../../../../../../../src/contexts/RoomContext"; import { ComposerContext, getDefaultContextValue, @@ -32,20 +31,21 @@ import Autocompleter, { ICompletion } from "../../../../../../../src/autocomplet import AutocompleteProvider from "../../../../../../../src/autocomplete/AutocompleteProvider"; import * as Permalinks from "../../../../../../../src/utils/permalinks/Permalinks"; import { PermalinkParts } from "../../../../../../../src/utils/permalinks/PermalinkConstructor"; +import { ScopedRoomContextProvider } from "../../../../../../../src/contexts/ScopedRoomContext.tsx"; describe("WysiwygComposer", () => { const customRender = (onChange = jest.fn(), onSend = jest.fn(), disabled = false, initialContent?: string) => { const { mockClient, defaultRoomContext } = createMocks(); return render( - + - + , ); }; @@ -523,7 +523,7 @@ describe("WysiwygComposer", () => { ) => { return render( - + @@ -537,7 +537,7 @@ describe("WysiwygComposer", () => { } /> - + , ); }; From 6d8cbf39f5cd403ea14759f0396addf0005906e7 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 2 Dec 2024 11:20:13 +0100 Subject: [PATCH 71/78] Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in `EventTile.tsx` (#28510) * Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in `EventTile.tsx` * Use `roomContext.isRoomEncrypted` --- src/components/views/rooms/EventTile.tsx | 2 +- test/test-utils/test-utils.ts | 1 + .../views/dialogs/ForwardDialog-test.tsx | 1 - .../components/views/rooms/EventTile-test.tsx | 30 +++++++++++++++++-- 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/components/views/rooms/EventTile.tsx b/src/components/views/rooms/EventTile.tsx index d66d90e0e2..8c755f00bd 100644 --- a/src/components/views/rooms/EventTile.tsx +++ b/src/components/views/rooms/EventTile.tsx @@ -775,7 +775,7 @@ export class UnwrappedEventTile extends React.Component } } - if (MatrixClientPeg.safeGet().isRoomEncrypted(ev.getRoomId()!)) { + if (this.context.isRoomEncrypted) { // else if room is encrypted // and event is being encrypted or is not_sent (Unknown Devices/Network Error) if (ev.status === EventStatus.ENCRYPTING) { diff --git a/test/test-utils/test-utils.ts b/test/test-utils/test-utils.ts index 6eae737dff..f9aee512a3 100644 --- a/test/test-utils/test-utils.ts +++ b/test/test-utils/test-utils.ts @@ -135,6 +135,7 @@ export function createTestClient(): MatrixClient { loadSessionBackupPrivateKeyFromSecretStorage: jest.fn(), storeSessionBackupPrivateKey: jest.fn(), getKeyBackupInfo: jest.fn().mockResolvedValue(null), + getEncryptionInfoForEvent: jest.fn().mockResolvedValue(null), }), getPushActionsForEvent: jest.fn(), diff --git a/test/unit-tests/components/views/dialogs/ForwardDialog-test.tsx b/test/unit-tests/components/views/dialogs/ForwardDialog-test.tsx index 6942f76cda..7307417b07 100644 --- a/test/unit-tests/components/views/dialogs/ForwardDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/ForwardDialog-test.tsx @@ -67,7 +67,6 @@ describe("ForwardDialog", () => { getAccountData: jest.fn().mockReturnValue(accountDataEvent), getPushActionsForEvent: jest.fn(), mxcUrlToHttp: jest.fn().mockReturnValue(""), - isRoomEncrypted: jest.fn().mockReturnValue(false), getProfileInfo: jest.fn().mockResolvedValue({ displayname: "Alice", }), diff --git a/test/unit-tests/components/views/rooms/EventTile-test.tsx b/test/unit-tests/components/views/rooms/EventTile-test.tsx index d41bc9b6f0..93445efbe3 100644 --- a/test/unit-tests/components/views/rooms/EventTile-test.tsx +++ b/test/unit-tests/components/views/rooms/EventTile-test.tsx @@ -71,9 +71,11 @@ describe("EventTile", () => { function getComponent( overrides: Partial = {}, renderingType: TimelineRenderingType = TimelineRenderingType.Room, + roomContext: Partial = {}, ) { const context = getRoomContext(room, { timelineRenderingType: renderingType, + ...roomContext, }); return render(); } @@ -437,8 +439,6 @@ describe("EventTile", () => { }); it("should update the warning when the event is replaced with an unencrypted one", async () => { - jest.spyOn(client, "isRoomEncrypted").mockReturnValue(true); - // we start out with an event from the trusted device mxEvent = await mkEncryptedMatrixEvent({ plainContent: { msgtype: "m.text", body: "msg1" }, @@ -452,7 +452,7 @@ describe("EventTile", () => { shieldReason: null, } as EventEncryptionInfo); - const roomContext = getRoomContext(room, {}); + const roomContext = getRoomContext(room, { isRoomEncrypted: true }); const { container, rerender } = render(); await flushPromises(); @@ -581,4 +581,28 @@ describe("EventTile", () => { }); }); }); + + it("should display the not encrypted status for an unencrypted event when the room becomes encrypted", async () => { + jest.spyOn(client.getCrypto()!, "getEncryptionInfoForEvent").mockResolvedValue({ + shieldColour: EventShieldColour.NONE, + shieldReason: null, + }); + + const { rerender } = getComponent(); + await flushPromises(); + // The room and the event are unencrypted, the tile should not show the not encrypted status + expect(screen.queryByText("Not encrypted")).toBeNull(); + + // The room is now encrypted + rerender( + , + ); + + // The event tile should now show the not encrypted status + await waitFor(() => expect(screen.getByText("Not encrypted")).toBeInTheDocument()); + }); }); From 2099aaa663ce0ac48d17934383000804966fc109 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 2 Dec 2024 10:29:04 +0000 Subject: [PATCH 72/78] Improve coverage Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../components/structures/RoomView-test.tsx | 16 +++ .../structures/SpaceRoomView-test.tsx | 117 ++++++++++++++++++ .../__snapshots__/RoomView-test.tsx.snap | 12 +- 3 files changed, 139 insertions(+), 6 deletions(-) create mode 100644 test/unit-tests/components/structures/SpaceRoomView-test.tsx diff --git a/test/unit-tests/components/structures/RoomView-test.tsx b/test/unit-tests/components/structures/RoomView-test.tsx index cdb1d17532..385204c01b 100644 --- a/test/unit-tests/components/structures/RoomView-test.tsx +++ b/test/unit-tests/components/structures/RoomView-test.tsx @@ -75,6 +75,7 @@ import { ViewRoomErrorPayload } from "../../../../src/dispatcher/payloads/ViewRo import { SearchScope } from "../../../../src/Searching"; import { MEGOLM_ENCRYPTION_ALGORITHM } from "../../../../src/utils/crypto"; import MatrixClientContext from "../../../../src/contexts/MatrixClientContext"; +import { ViewUserPayload } from "../../../../src/dispatcher/payloads/ViewUserPayload.ts"; describe("RoomView", () => { let cli: MockedObject; @@ -202,6 +203,21 @@ describe("RoomView", () => { return ref.current!; }; + it("should show member list right panel phase on Action.ViewUser without `payload.member`", async () => { + const spy = jest.spyOn(stores.rightPanelStore, "showOrHidePhase"); + await renderRoomView(false); + + defaultDispatcher.dispatch( + { + action: Action.ViewUser, + member: undefined, + }, + true, + ); + + expect(spy).toHaveBeenCalledWith(RightPanelPhases.MemberList); + }); + it("when there is no room predecessor, getHiddenHighlightCount should return 0", async () => { const instance = await getRoomViewInstance(); expect(instance.getHiddenHighlightCount()).toBe(0); diff --git a/test/unit-tests/components/structures/SpaceRoomView-test.tsx b/test/unit-tests/components/structures/SpaceRoomView-test.tsx new file mode 100644 index 0000000000..fb24603283 --- /dev/null +++ b/test/unit-tests/components/structures/SpaceRoomView-test.tsx @@ -0,0 +1,117 @@ +/* +Copyright 2024 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import React from "react"; +import { mocked, MockedObject } from "jest-mock"; +import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; +import { render, cleanup, screen, fireEvent } from "jest-matrix-react"; + +import { stubClient, mockPlatformPeg, unmockPlatformPeg, withClientContextRenderOptions } from "../../../test-utils"; +import { RightPanelPhases } from "../../../../src/stores/right-panel/RightPanelStorePhases"; +import SpaceRoomView from "../../../../src/components/structures/SpaceRoomView.tsx"; +import ResizeNotifier from "../../../../src/utils/ResizeNotifier.ts"; +import { RoomPermalinkCreator } from "../../../../src/utils/permalinks/Permalinks.ts"; +import RightPanelStore from "../../../../src/stores/right-panel/RightPanelStore.ts"; +import DMRoomMap from "../../../../src/utils/DMRoomMap.ts"; + +describe("SpaceRoomView", () => { + let cli: MockedObject; + let space: Room; + + beforeEach(() => { + mockPlatformPeg({ reload: () => {} }); + cli = mocked(stubClient()); + + space = new Room(`!space:example.org`, cli, cli.getSafeUserId()); + space.currentState.setStateEvents([ + new MatrixEvent({ + type: "m.room.create", + room_id: space.roomId, + sender: cli.getSafeUserId(), + state_key: "", + content: { + creator: cli.getSafeUserId(), + type: "m.space", + }, + }), + new MatrixEvent({ + type: "m.room.member", + room_id: space.roomId, + sender: cli.getSafeUserId(), + state_key: cli.getSafeUserId(), + content: { + membership: "join", + }, + }), + new MatrixEvent({ + type: "m.room.member", + room_id: space.roomId, + sender: "@userA:server", + state_key: "@userA:server", + content: { + membership: "join", + }, + }), + new MatrixEvent({ + type: "m.room.member", + room_id: space.roomId, + sender: "@userB:server", + state_key: "@userB:server", + content: { + membership: "join", + }, + }), + new MatrixEvent({ + type: "m.room.member", + room_id: space.roomId, + sender: "@userC:server", + state_key: "@userC:server", + content: { + membership: "join", + }, + }), + ]); + space.updateMyMembership("join"); + + DMRoomMap.makeShared(cli); + }); + + afterEach(() => { + unmockPlatformPeg(); + jest.clearAllMocks(); + cleanup(); + }); + + const renderSpaceRoomView = async (): Promise> => { + const resizeNotifier = new ResizeNotifier(); + const permalinkCreator = new RoomPermalinkCreator(space); + + const spaceRoomView = render( + , + withClientContextRenderOptions(cli), + ); + return spaceRoomView; + }; + + describe("SpaceLanding", () => { + it("should show member list right panel phase on members click on landing", async () => { + const spy = jest.spyOn(RightPanelStore.instance, "setCard"); + const { container } = await renderSpaceRoomView(); + + await expect(screen.findByText("Welcome to")).resolves.toBeVisible(); + fireEvent.click(container.querySelector(".mx_FacePile")!); + + expect(spy).toHaveBeenCalledWith({ phase: RightPanelPhases.MemberList }); + }); + }); +}); diff --git a/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap b/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap index eefca12067..1e0ed2248b 100644 --- a/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap +++ b/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap @@ -1302,7 +1302,7 @@ exports[`RoomView should not display the timeline when the room encryption is lo aria-label="Open room settings" aria-live="off" class="_avatar_mcap2_17 mx_BaseAvatar _avatar-imageless_mcap2_61" - data-color="1" + data-color="2" data-testid="avatar-img" data-type="round" role="button" @@ -1329,7 +1329,7 @@ exports[`RoomView should not display the timeline when the room encryption is lo - !5:example.org + !6:example.org
@@ -1513,7 +1513,7 @@ exports[`RoomView should not display the timeline when the room encryption is lo aria-label="Open room settings" aria-live="off" class="_avatar_mcap2_17 mx_BaseAvatar _avatar-imageless_mcap2_61" - data-color="1" + data-color="2" data-testid="avatar-img" data-type="round" role="button" @@ -1540,7 +1540,7 @@ exports[`RoomView should not display the timeline when the room encryption is lo - !5:example.org + !6:example.org
@@ -1897,7 +1897,7 @@ exports[`RoomView video rooms should render joined video room view 1`] = ` aria-label="Open room settings" aria-live="off" class="_avatar_mcap2_17 mx_BaseAvatar _avatar-imageless_mcap2_61" - data-color="5" + data-color="6" data-testid="avatar-img" data-type="round" role="button" @@ -1924,7 +1924,7 @@ exports[`RoomView video rooms should render joined video room view 1`] = ` - !12:example.org + !13:example.org
From 5d72735b1f81fcf39f6a6f0683fa1952c0858d22 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 2 Dec 2024 10:47:38 +0000 Subject: [PATCH 73/78] Fix release-checks to not use reserved name GITHUB_TOKEN Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/release_prepare.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_prepare.yml b/.github/workflows/release_prepare.yml index 2d04852258..031221041a 100644 --- a/.github/workflows/release_prepare.yml +++ b/.github/workflows/release_prepare.yml @@ -29,7 +29,7 @@ jobs: - element-hq/element-desktop uses: matrix-org/matrix-js-sdk/.github/workflows/release-checks.yml@develop secrets: - GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} + ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} with: repository: ${{ matrix.repo }} From d8ebc68aa893f7b546a298dc72c489e616b28bda Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 2 Dec 2024 10:53:27 +0000 Subject: [PATCH 74/78] Remove abandoned Voice Broadcasts labs flag (#28548) * Remove abandoned Voice Broadcasts labs flag Any existing voice broadcasts will be shown as a series of voice messages which will sequence play as normal Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Remove dead code Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update snapshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- docs/config.md | 1 - res/css/_components.pcss | 6 - res/css/structures/_UserMenu.pcss | 14 - res/css/views/rooms/_MessageComposer.pcss | 4 - res/css/voice-broadcast/atoms/_LiveBadge.pcss | 23 - .../atoms/_VoiceBroadcastControl.pcss | 28 - .../atoms/_VoiceBroadcastHeader.pcss | 60 -- ...oiceBroadcastRecordingConnectionError.pcss | 18 - .../atoms/_VoiceBroadcastRoomSubtitle.pcss | 14 - .../molecules/_VoiceBroadcastBody.pcss | 75 -- res/themes/dark/css/_dark.pcss | 5 - res/themes/legacy-dark/css/_legacy-dark.pcss | 5 - .../legacy-light/css/_legacy-light.pcss | 5 - res/themes/light/css/_light.pcss | 5 - src/@types/matrix-js-sdk.d.ts | 6 - src/IConfigOptions.ts | 7 - src/LegacyCallHandler.tsx | 11 - src/Notifier.ts | 15 - src/SdkConfig.ts | 4 - src/TextForEvent.tsx | 2 - src/components/structures/MatrixChat.tsx | 12 +- src/components/structures/PipContainer.tsx | 83 +- src/components/structures/UserMenu.tsx | 25 - .../structures/grouper/CreationGrouper.tsx | 6 - .../audio_messages/DevicesContextMenu.tsx | 45 - .../CantStartVoiceMessageBroadcastDialog.tsx | 21 - .../views/dialogs/ConfirmRedactDialog.tsx | 16 +- .../views/dialogs/DevtoolsDialog.tsx | 2 - .../views/messages/MessageActionBar.tsx | 4 +- .../views/messages/MessageEvent.tsx | 5 - .../views/rooms/MessageComposer.tsx | 34 +- .../views/rooms/MessageComposerButtons.tsx | 16 - src/components/views/rooms/RoomTile.tsx | 24 +- .../views/rooms/RoomTileSubtitle.tsx | 14 +- .../tabs/room/RolesRoomSettingsTab.tsx | 3 - src/contexts/SDKContext.ts | 29 - src/events/EventTileFactory.tsx | 22 - src/events/forward/getForwardableEvent.ts | 3 - src/hooks/useAudioDeviceSelection.ts | 76 -- src/i18n/strings/en_EN.json | 47 - src/settings/Settings.tsx | 15 - src/stores/RoomViewStore.tsx | 63 -- src/stores/room-list/MessagePreviewStore.ts | 6 - .../room-list/previews/MessageEventPreview.ts | 4 - .../previews/VoiceBroadcastPreview.ts | 23 - src/stores/widgets/StopGapWidget.ts | 4 - src/utils/EventRenderingUtils.ts | 7 +- src/utils/EventUtils.ts | 5 +- .../audio/VoiceBroadcastRecorder.ts | 181 ---- .../components/VoiceBroadcastBody.tsx | 58 -- .../components/atoms/LiveBadge.tsx | 30 - .../components/atoms/SeekButton.tsx | 25 - .../atoms/VoiceBroadcastControl.tsx | 31 - .../components/atoms/VoiceBroadcastError.tsx | 23 - .../components/atoms/VoiceBroadcastHeader.tsx | 139 --- .../atoms/VoiceBroadcastPlaybackControl.tsx | 51 - ...VoiceBroadcastRecordingConnectionError.tsx | 21 - .../atoms/VoiceBroadcastRoomSubtitle.tsx | 21 - .../ConfirmListenBroadcastStopCurrent.tsx | 38 - .../molecules/VoiceBroadcastPlaybackBody.tsx | 102 -- .../VoiceBroadcastPreRecordingPip.tsx | 82 -- .../molecules/VoiceBroadcastRecordingBody.tsx | 31 - .../molecules/VoiceBroadcastRecordingPip.tsx | 116 --- .../VoiceBroadcastSmallPlaybackBody.tsx | 44 - .../hooks/useCurrentVoiceBroadcastPlayback.ts | 32 - .../useCurrentVoiceBroadcastPreRecording.ts | 29 - .../useCurrentVoiceBroadcastRecording.ts | 28 - .../hooks/useHasRoomLiveVoiceBroadcast.ts | 39 - .../hooks/useVoiceBroadcastPlayback.ts | 90 -- .../hooks/useVoiceBroadcastRecording.tsx | 96 -- src/voice-broadcast/index.ts | 57 -- .../models/VoiceBroadcastPlayback.ts | 651 ------------- .../models/VoiceBroadcastPreRecording.ts | 48 - .../models/VoiceBroadcastRecording.ts | 441 --------- .../stores/VoiceBroadcastPlaybacksStore.ts | 113 --- .../stores/VoiceBroadcastPreRecordingStore.ts | 63 -- .../stores/VoiceBroadcastRecordingsStore.ts | 89 -- src/voice-broadcast/types.ts | 32 - .../utils/VoiceBroadcastChunkEvents.ts | 147 --- .../utils/VoiceBroadcastResumer.ts | 90 -- .../checkVoiceBroadcastPreConditions.tsx | 86 -- .../utils/cleanUpBroadcasts.ts | 20 - .../utils/determineVoiceBroadcastLiveness.ts | 20 - ...rCurrentVoiceBroadcastPlaybackIfStopped.ts | 18 - ...doMaybeSetCurrentVoiceBroadcastPlayback.ts | 56 -- ...RoomLiveVoiceBroadcastFromUserAndDevice.ts | 29 - src/voice-broadcast/utils/getChunkLength.ts | 23 - .../utils/getMaxBroadcastLength.ts | 19 - .../utils/hasRoomLiveVoiceBroadcast.ts | 57 -- .../utils/isRelatedToVoiceBroadcast.ts | 21 - .../utils/isVoiceBroadcastStartedEvent.ts | 17 - .../pauseNonLiveBroadcastFromOtherRoom.ts | 29 - .../utils/retrieveStartedInfoEvent.ts | 37 - .../utils/setUpVoiceBroadcastPreRecording.ts | 43 - ...uldDisplayAsVoiceBroadcastRecordingTile.ts | 25 - ...houldDisplayAsVoiceBroadcastStoppedText.ts | 16 - .../shouldDisplayAsVoiceBroadcastTile.ts | 15 - .../utils/showCantStartACallDialog.tsx | 21 - .../utils/startNewVoiceBroadcastRecording.ts | 92 -- .../textForVoiceBroadcastStoppedEvent.tsx | 41 - ...orVoiceBroadcastStoppedEventWithoutLink.ts | 23 - test/unit-tests/LegacyCallHandler-test.ts | 54 -- test/unit-tests/Notifier-test.ts | 43 +- test/unit-tests/SdkConfig-test.ts | 6 - test/unit-tests/TestSdkContext.ts | 8 - .../LegacyCallHandler-test.ts.snap | 24 - .../components/structures/MatrixChat-test.tsx | 12 - .../structures/PipContainer-test.tsx | 201 +--- .../components/structures/UserMenu-test.tsx | 75 +- .../__snapshots__/UserMenu-test.tsx.snap | 33 - .../context_menus/MessageContextMenu-test.tsx | 13 - .../dialogs/ConfirmRedactDialog-test.tsx | 54 +- .../DevtoolsDialog-test.tsx.snap | 27 - .../views/messages/MessageEvent-test.tsx | 26 - .../views/rooms/MessageComposer-test.tsx | 51 +- .../rooms/MessageComposerButtons-test.tsx | 23 - .../components/views/rooms/RoomTile-test.tsx | 69 +- .../tabs/room/RolesRoomSettingsTab-test.tsx | 29 - test/unit-tests/contexts/SdkContext-test.ts | 9 - .../events/EventTileFactory-test.ts | 70 +- test/unit-tests/stores/RoomViewStore-test.ts | 90 -- .../__snapshots__/RoomViewStore-test.ts.snap | 23 - .../previews/MessageEventPreview-test.ts | 13 - .../previews/VoiceBroadcastPreview-test.ts | 54 -- .../stores/widgets/StopGapWidget-test.ts | 38 - .../utils/EventRenderingUtils-test.ts | 46 - test/unit-tests/utils/EventUtils-test.ts | 18 - .../audio/VoiceBroadcastRecorder-test.ts | 251 ----- .../components/VoiceBroadcastBody-test.tsx | 171 ---- .../components/atoms/LiveBadge-test.tsx | 24 - .../atoms/VoiceBroadcastControl-test.tsx | 44 - .../atoms/VoiceBroadcastHeader-test.tsx | 89 -- .../VoiceBroadcastPlaybackControl-test.tsx | 51 - .../__snapshots__/LiveBadge-test.tsx.snap | 27 - .../VoiceBroadcastControl-test.tsx.snap | 16 - .../VoiceBroadcastHeader-test.tsx.snap | 277 ------ ...oiceBroadcastPlaybackControl-test.tsx.snap | 97 -- .../VoiceBroadcastPlaybackBody-test.tsx | 249 ----- .../VoiceBroadcastPreRecordingPip-test.tsx | 163 ---- .../VoiceBroadcastRecordingBody-test.tsx | 79 -- .../VoiceBroadcastRecordingPip-test.tsx | 217 ----- .../VoiceBroadcastSmallPlaybackBody-test.tsx | 129 --- .../VoiceBroadcastPlaybackBody-test.tsx.snap | 914 ------------------ ...oiceBroadcastPreRecordingPip-test.tsx.snap | 98 -- .../VoiceBroadcastRecordingBody-test.tsx.snap | 131 --- .../VoiceBroadcastRecordingPip-test.tsx.snap | 238 ----- ...ceBroadcastSmallPlaybackBody-test.tsx.snap | 558 ----------- .../models/VoiceBroadcastPlayback-test.tsx | 747 -------------- .../models/VoiceBroadcastPreRecording-test.ts | 68 -- .../models/VoiceBroadcastRecording-test.ts | 660 ------------- .../VoiceBroadcastPlaybacksStore-test.ts | 162 ---- .../VoiceBroadcastPreRecordingStore-test.ts | 130 --- .../VoiceBroadcastRecordingsStore-test.ts | 167 ---- .../utils/VoiceBroadcastChunkEvents-test.ts | 142 --- .../utils/VoiceBroadcastResumer-test.ts | 179 ---- ...tUpVoiceBroadcastPreRecording-test.ts.snap | 24 - ...artNewVoiceBroadcastRecording-test.ts.snap | 116 --- ...orVoiceBroadcastStoppedEvent-test.tsx.snap | 42 - .../utils/cleanUpBroadcasts-test.ts | 51 - .../determineVoiceBroadcastLiveness-test.ts | 33 - ...iveVoiceBroadcastFromUserAndDevice-test.ts | 116 --- .../utils/getChunkLength-test.ts | 63 -- .../utils/getMaxBroadcastLength-test.ts | 43 - .../utils/hasRoomLiveVoiceBroadcast-test.ts | 195 ---- .../utils/isRelatedToVoiceBroadcast-test.ts | 109 --- ...pauseNonLiveBroadcastFromOtherRoom-test.ts | 98 -- .../utils/retrieveStartedInfoEvent-test.ts | 81 -- .../setUpVoiceBroadcastPreRecording-test.ts | 123 --- ...splayAsVoiceBroadcastRecordingTile-test.ts | 72 -- .../shouldDisplayAsVoiceBroadcastTile-test.ts | 138 --- .../startNewVoiceBroadcastRecording-test.ts | 234 ----- .../voice-broadcast/utils/test-utils.ts | 131 --- ...textForVoiceBroadcastStoppedEvent-test.tsx | 90 -- ...ceBroadcastStoppedEventWithoutLink-test.ts | 47 - 174 files changed, 29 insertions(+), 13632 deletions(-) delete mode 100644 res/css/voice-broadcast/atoms/_LiveBadge.pcss delete mode 100644 res/css/voice-broadcast/atoms/_VoiceBroadcastControl.pcss delete mode 100644 res/css/voice-broadcast/atoms/_VoiceBroadcastHeader.pcss delete mode 100644 res/css/voice-broadcast/atoms/_VoiceBroadcastRecordingConnectionError.pcss delete mode 100644 res/css/voice-broadcast/atoms/_VoiceBroadcastRoomSubtitle.pcss delete mode 100644 res/css/voice-broadcast/molecules/_VoiceBroadcastBody.pcss delete mode 100644 src/components/views/audio_messages/DevicesContextMenu.tsx delete mode 100644 src/components/views/dialogs/CantStartVoiceMessageBroadcastDialog.tsx delete mode 100644 src/hooks/useAudioDeviceSelection.ts delete mode 100644 src/stores/room-list/previews/VoiceBroadcastPreview.ts delete mode 100644 src/voice-broadcast/audio/VoiceBroadcastRecorder.ts delete mode 100644 src/voice-broadcast/components/VoiceBroadcastBody.tsx delete mode 100644 src/voice-broadcast/components/atoms/LiveBadge.tsx delete mode 100644 src/voice-broadcast/components/atoms/SeekButton.tsx delete mode 100644 src/voice-broadcast/components/atoms/VoiceBroadcastControl.tsx delete mode 100644 src/voice-broadcast/components/atoms/VoiceBroadcastError.tsx delete mode 100644 src/voice-broadcast/components/atoms/VoiceBroadcastHeader.tsx delete mode 100644 src/voice-broadcast/components/atoms/VoiceBroadcastPlaybackControl.tsx delete mode 100644 src/voice-broadcast/components/atoms/VoiceBroadcastRecordingConnectionError.tsx delete mode 100644 src/voice-broadcast/components/atoms/VoiceBroadcastRoomSubtitle.tsx delete mode 100644 src/voice-broadcast/components/molecules/ConfirmListenBroadcastStopCurrent.tsx delete mode 100644 src/voice-broadcast/components/molecules/VoiceBroadcastPlaybackBody.tsx delete mode 100644 src/voice-broadcast/components/molecules/VoiceBroadcastPreRecordingPip.tsx delete mode 100644 src/voice-broadcast/components/molecules/VoiceBroadcastRecordingBody.tsx delete mode 100644 src/voice-broadcast/components/molecules/VoiceBroadcastRecordingPip.tsx delete mode 100644 src/voice-broadcast/components/molecules/VoiceBroadcastSmallPlaybackBody.tsx delete mode 100644 src/voice-broadcast/hooks/useCurrentVoiceBroadcastPlayback.ts delete mode 100644 src/voice-broadcast/hooks/useCurrentVoiceBroadcastPreRecording.ts delete mode 100644 src/voice-broadcast/hooks/useCurrentVoiceBroadcastRecording.ts delete mode 100644 src/voice-broadcast/hooks/useHasRoomLiveVoiceBroadcast.ts delete mode 100644 src/voice-broadcast/hooks/useVoiceBroadcastPlayback.ts delete mode 100644 src/voice-broadcast/hooks/useVoiceBroadcastRecording.tsx delete mode 100644 src/voice-broadcast/index.ts delete mode 100644 src/voice-broadcast/models/VoiceBroadcastPlayback.ts delete mode 100644 src/voice-broadcast/models/VoiceBroadcastPreRecording.ts delete mode 100644 src/voice-broadcast/models/VoiceBroadcastRecording.ts delete mode 100644 src/voice-broadcast/stores/VoiceBroadcastPlaybacksStore.ts delete mode 100644 src/voice-broadcast/stores/VoiceBroadcastPreRecordingStore.ts delete mode 100644 src/voice-broadcast/stores/VoiceBroadcastRecordingsStore.ts delete mode 100644 src/voice-broadcast/types.ts delete mode 100644 src/voice-broadcast/utils/VoiceBroadcastChunkEvents.ts delete mode 100644 src/voice-broadcast/utils/VoiceBroadcastResumer.ts delete mode 100644 src/voice-broadcast/utils/checkVoiceBroadcastPreConditions.tsx delete mode 100644 src/voice-broadcast/utils/cleanUpBroadcasts.ts delete mode 100644 src/voice-broadcast/utils/determineVoiceBroadcastLiveness.ts delete mode 100644 src/voice-broadcast/utils/doClearCurrentVoiceBroadcastPlaybackIfStopped.ts delete mode 100644 src/voice-broadcast/utils/doMaybeSetCurrentVoiceBroadcastPlayback.ts delete mode 100644 src/voice-broadcast/utils/findRoomLiveVoiceBroadcastFromUserAndDevice.ts delete mode 100644 src/voice-broadcast/utils/getChunkLength.ts delete mode 100644 src/voice-broadcast/utils/getMaxBroadcastLength.ts delete mode 100644 src/voice-broadcast/utils/hasRoomLiveVoiceBroadcast.ts delete mode 100644 src/voice-broadcast/utils/isRelatedToVoiceBroadcast.ts delete mode 100644 src/voice-broadcast/utils/isVoiceBroadcastStartedEvent.ts delete mode 100644 src/voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom.ts delete mode 100644 src/voice-broadcast/utils/retrieveStartedInfoEvent.ts delete mode 100644 src/voice-broadcast/utils/setUpVoiceBroadcastPreRecording.ts delete mode 100644 src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastRecordingTile.ts delete mode 100644 src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastStoppedText.ts delete mode 100644 src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastTile.ts delete mode 100644 src/voice-broadcast/utils/showCantStartACallDialog.tsx delete mode 100644 src/voice-broadcast/utils/startNewVoiceBroadcastRecording.ts delete mode 100644 src/voice-broadcast/utils/textForVoiceBroadcastStoppedEvent.tsx delete mode 100644 src/voice-broadcast/utils/textForVoiceBroadcastStoppedEventWithoutLink.ts delete mode 100644 test/unit-tests/__snapshots__/LegacyCallHandler-test.ts.snap delete mode 100644 test/unit-tests/components/structures/__snapshots__/UserMenu-test.tsx.snap delete mode 100644 test/unit-tests/stores/room-list/previews/VoiceBroadcastPreview-test.ts delete mode 100644 test/unit-tests/utils/EventRenderingUtils-test.ts delete mode 100644 test/unit-tests/voice-broadcast/audio/VoiceBroadcastRecorder-test.ts delete mode 100644 test/unit-tests/voice-broadcast/components/VoiceBroadcastBody-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/atoms/LiveBadge-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastControl-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastHeader-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastPlaybackControl-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/atoms/__snapshots__/LiveBadge-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastControl-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastHeader-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastPlaybackControl-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastPlaybackBody-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastPreRecordingPip-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastRecordingBody-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastRecordingPip-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastSmallPlaybackBody-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastPlaybackBody-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastPreRecordingPip-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastRecordingBody-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastRecordingPip-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastSmallPlaybackBody-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/models/VoiceBroadcastPlayback-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/models/VoiceBroadcastPreRecording-test.ts delete mode 100644 test/unit-tests/voice-broadcast/models/VoiceBroadcastRecording-test.ts delete mode 100644 test/unit-tests/voice-broadcast/stores/VoiceBroadcastPlaybacksStore-test.ts delete mode 100644 test/unit-tests/voice-broadcast/stores/VoiceBroadcastPreRecordingStore-test.ts delete mode 100644 test/unit-tests/voice-broadcast/stores/VoiceBroadcastRecordingsStore-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/VoiceBroadcastChunkEvents-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/VoiceBroadcastResumer-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/__snapshots__/setUpVoiceBroadcastPreRecording-test.ts.snap delete mode 100644 test/unit-tests/voice-broadcast/utils/__snapshots__/startNewVoiceBroadcastRecording-test.ts.snap delete mode 100644 test/unit-tests/voice-broadcast/utils/__snapshots__/textForVoiceBroadcastStoppedEvent-test.tsx.snap delete mode 100644 test/unit-tests/voice-broadcast/utils/cleanUpBroadcasts-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/determineVoiceBroadcastLiveness-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/findRoomLiveVoiceBroadcastFromUserAndDevice-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/getChunkLength-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/getMaxBroadcastLength-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/hasRoomLiveVoiceBroadcast-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/isRelatedToVoiceBroadcast-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/retrieveStartedInfoEvent-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/setUpVoiceBroadcastPreRecording-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastRecordingTile-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastTile-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/startNewVoiceBroadcastRecording-test.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/test-utils.ts delete mode 100644 test/unit-tests/voice-broadcast/utils/textForVoiceBroadcastStoppedEvent-test.tsx delete mode 100644 test/unit-tests/voice-broadcast/utils/textForVoiceBroadcastStoppedEventWithoutLink-test.ts diff --git a/docs/config.md b/docs/config.md index 7a5445f303..8ca4ba4eb8 100644 --- a/docs/config.md +++ b/docs/config.md @@ -592,4 +592,3 @@ The following are undocumented or intended for developer use only. 2. `sync_timeline_limit` 3. `dangerously_allow_unsafe_and_insecure_passwords` 4. `latex_maths_delims`: An optional setting to override the default delimiters used for maths parsing. See https://github.com/matrix-org/matrix-react-sdk/pull/5939 for details. Only used when `feature_latex_maths` is enabled. -5. `voice_broadcast.chunk_length`: Target chunk length in seconds for the Voice Broadcast feature currently under development. diff --git a/res/css/_components.pcss b/res/css/_components.pcss index 0fcdf6dee6..e9a53cd43c 100644 --- a/res/css/_components.pcss +++ b/res/css/_components.pcss @@ -393,9 +393,3 @@ @import "./views/voip/_LegacyCallViewHeader.pcss"; @import "./views/voip/_LegacyCallViewSidebar.pcss"; @import "./views/voip/_VideoFeed.pcss"; -@import "./voice-broadcast/atoms/_LiveBadge.pcss"; -@import "./voice-broadcast/atoms/_VoiceBroadcastControl.pcss"; -@import "./voice-broadcast/atoms/_VoiceBroadcastHeader.pcss"; -@import "./voice-broadcast/atoms/_VoiceBroadcastRecordingConnectionError.pcss"; -@import "./voice-broadcast/atoms/_VoiceBroadcastRoomSubtitle.pcss"; -@import "./voice-broadcast/molecules/_VoiceBroadcastBody.pcss"; diff --git a/res/css/structures/_UserMenu.pcss b/res/css/structures/_UserMenu.pcss index 741a4e90dc..d24a6e4ac7 100644 --- a/res/css/structures/_UserMenu.pcss +++ b/res/css/structures/_UserMenu.pcss @@ -22,20 +22,6 @@ Please see LICENSE files in the repository root for full details. pointer-events: none; /* makes the avatar non-draggable */ } } - - .mx_UserMenu_userAvatarLive { - align-items: center; - background-color: $alert; - border-radius: 6px; - color: $live-badge-color; - display: flex; - height: 12px; - justify-content: center; - left: 25px; - position: absolute; - top: 20px; - width: 12px; - } } .mx_UserMenu_contextMenuButton { diff --git a/res/css/views/rooms/_MessageComposer.pcss b/res/css/views/rooms/_MessageComposer.pcss index 3f11e9fa6c..73ac15c9c9 100644 --- a/res/css/views/rooms/_MessageComposer.pcss +++ b/res/css/views/rooms/_MessageComposer.pcss @@ -256,10 +256,6 @@ Please see LICENSE files in the repository root for full details. mask-image: url("@vector-im/compound-design-tokens/icons/mic-on-solid.svg"); } -.mx_MessageComposer_voiceBroadcast::before { - mask-image: url("$(res)/img/element-icons/live.svg"); -} - .mx_MessageComposer_plain_text::before { mask-image: url("$(res)/img/element-icons/room/composer/plain_text.svg"); } diff --git a/res/css/voice-broadcast/atoms/_LiveBadge.pcss b/res/css/voice-broadcast/atoms/_LiveBadge.pcss deleted file mode 100644 index 7d5f23819b..0000000000 --- a/res/css/voice-broadcast/atoms/_LiveBadge.pcss +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -.mx_LiveBadge { - align-items: center; - background-color: $alert; - border-radius: 2px; - color: $live-badge-color; - display: inline-flex; - font-size: $font-12px; - font-weight: var(--cpd-font-weight-semibold); - gap: $spacing-4; - padding: 2px 4px; -} - -.mx_LiveBadge--grey { - background-color: $quaternary-content; -} diff --git a/res/css/voice-broadcast/atoms/_VoiceBroadcastControl.pcss b/res/css/voice-broadcast/atoms/_VoiceBroadcastControl.pcss deleted file mode 100644 index 5bd7bfe098..0000000000 --- a/res/css/voice-broadcast/atoms/_VoiceBroadcastControl.pcss +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -.mx_VoiceBroadcastControl { - align-items: center; - background-color: $background; - border-radius: 50%; - color: $secondary-content; - display: flex; - flex: 0 0 32px; - height: 32px; - justify-content: center; - width: 32px; -} - -.mx_VoiceBroadcastControl-recording { - color: $alert; -} - -.mx_VoiceBroadcastControl-play .mx_Icon { - left: 1px; - position: relative; -} diff --git a/res/css/voice-broadcast/atoms/_VoiceBroadcastHeader.pcss b/res/css/voice-broadcast/atoms/_VoiceBroadcastHeader.pcss deleted file mode 100644 index c5e21233b7..0000000000 --- a/res/css/voice-broadcast/atoms/_VoiceBroadcastHeader.pcss +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -.mx_VoiceBroadcastHeader { - align-items: flex-start; - display: flex; - gap: $spacing-8; - line-height: 20px; - margin-bottom: $spacing-16; - min-width: 0; -} - -.mx_VoiceBroadcastHeader_content { - flex-grow: 1; - min-width: 0; -} - -.mx_VoiceBroadcastHeader_room_wrapper { - align-items: center; - display: flex; - gap: 4px; - justify-content: flex-start; -} - -.mx_VoiceBroadcastHeader_room { - font-size: $font-12px; - font-weight: var(--cpd-font-weight-semibold); - min-width: 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.mx_VoiceBroadcastHeader_line { - align-items: center; - color: $secondary-content; - font-size: $font-12px; - display: flex; - gap: $spacing-4; - - .mx_Spinner { - flex: 0 0 14px; - padding: 1px; - } - - span { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } -} - -.mx_VoiceBroadcastHeader_mic--clickable { - cursor: pointer; -} diff --git a/res/css/voice-broadcast/atoms/_VoiceBroadcastRecordingConnectionError.pcss b/res/css/voice-broadcast/atoms/_VoiceBroadcastRecordingConnectionError.pcss deleted file mode 100644 index f21c0bb733..0000000000 --- a/res/css/voice-broadcast/atoms/_VoiceBroadcastRecordingConnectionError.pcss +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -.mx_VoiceBroadcastRecordingConnectionError { - align-items: center; - color: $alert; - display: flex; - gap: $spacing-12; - - svg path { - fill: $alert; - } -} diff --git a/res/css/voice-broadcast/atoms/_VoiceBroadcastRoomSubtitle.pcss b/res/css/voice-broadcast/atoms/_VoiceBroadcastRoomSubtitle.pcss deleted file mode 100644 index e0748e7626..0000000000 --- a/res/css/voice-broadcast/atoms/_VoiceBroadcastRoomSubtitle.pcss +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -.mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_subtitle.mx_RoomTile_subtitle--voice-broadcast { - align-items: center; - color: $alert; - display: flex; - gap: $spacing-4; -} diff --git a/res/css/voice-broadcast/molecules/_VoiceBroadcastBody.pcss b/res/css/voice-broadcast/molecules/_VoiceBroadcastBody.pcss deleted file mode 100644 index 45ed0e98f9..0000000000 --- a/res/css/voice-broadcast/molecules/_VoiceBroadcastBody.pcss +++ /dev/null @@ -1,75 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -.mx_VoiceBroadcastBody { - background-color: $quinary-content; - border-radius: 8px; - color: $secondary-content; - display: inline-block; - font-size: $font-12px; - padding: $spacing-12; - width: 271px; - - .mx_Clock { - line-height: 1; - } -} - -.mx_VoiceBroadcastBody--pip { - background-color: $system; - box-shadow: 0 2px 8px 0 #0000004a; -} - -.mx_VoiceBroadcastBody--small { - display: flex; - gap: $spacing-8; - width: 192px; - - .mx_VoiceBroadcastHeader { - margin-bottom: 0; - } - - .mx_VoiceBroadcastControl { - align-self: center; - } - - .mx_LiveBadge { - margin-top: 4px; - } -} - -.mx_VoiceBroadcastBody_divider { - background-color: $quinary-content; - border: 0; - height: 1px; - margin: $spacing-12 0; -} - -.mx_VoiceBroadcastBody_controls { - align-items: center; - display: flex; - gap: $spacing-32; - justify-content: center; - margin-bottom: $spacing-8; -} - -.mx_VoiceBroadcastBody_timerow { - display: flex; - justify-content: space-between; -} - -.mx_AccessibleButton.mx_VoiceBroadcastBody_blockButton { - display: flex; - gap: $spacing-8; -} - -.mx_VoiceBroadcastBody__small-close { - right: 8px; - position: absolute; - top: 8px; -} diff --git a/res/themes/dark/css/_dark.pcss b/res/themes/dark/css/_dark.pcss index 8b0673f692..2d3ea2e4f4 100644 --- a/res/themes/dark/css/_dark.pcss +++ b/res/themes/dark/css/_dark.pcss @@ -240,11 +240,6 @@ $location-live-secondary-color: #deddfd; } /* ******************** */ -/* Voice Broadcast */ -/* ******************** */ -$live-badge-color: #ffffff; -/* ******************** */ - /* One-off colors */ /* ******************** */ $progressbar-bg-color: var(--cpd-color-gray-200); diff --git a/res/themes/legacy-dark/css/_legacy-dark.pcss b/res/themes/legacy-dark/css/_legacy-dark.pcss index 45bb1870f1..ea5228b6c7 100644 --- a/res/themes/legacy-dark/css/_legacy-dark.pcss +++ b/res/themes/legacy-dark/css/_legacy-dark.pcss @@ -226,11 +226,6 @@ $location-live-color: #5c56f5; $location-live-secondary-color: #deddfd; /* ******************** */ -/* Voice Broadcast */ -/* ******************** */ -$live-badge-color: #ffffff; -/* ******************** */ - body { color-scheme: dark; } diff --git a/res/themes/legacy-light/css/_legacy-light.pcss b/res/themes/legacy-light/css/_legacy-light.pcss index 76e0eec588..32ca7d3d1a 100644 --- a/res/themes/legacy-light/css/_legacy-light.pcss +++ b/res/themes/legacy-light/css/_legacy-light.pcss @@ -325,11 +325,6 @@ $location-live-color: #5c56f5; $location-live-secondary-color: #deddfd; /* ******************** */ -/* Voice Broadcast */ -/* ******************** */ -$live-badge-color: #ffffff; -/* ******************** */ - body { color-scheme: light; } diff --git a/res/themes/light/css/_light.pcss b/res/themes/light/css/_light.pcss index 32629a55f7..1a1705a9c1 100644 --- a/res/themes/light/css/_light.pcss +++ b/res/themes/light/css/_light.pcss @@ -355,11 +355,6 @@ $location-live-color: var(--cpd-color-purple-900); $location-live-secondary-color: var(--cpd-color-purple-600); /* ******************** */ -/* Voice Broadcast */ -/* ******************** */ -$live-badge-color: var(--cpd-color-icon-on-solid-primary); -/* ******************** */ - body { color-scheme: light; } diff --git a/src/@types/matrix-js-sdk.d.ts b/src/@types/matrix-js-sdk.d.ts index 73366f2fee..41ccfcbb3b 100644 --- a/src/@types/matrix-js-sdk.d.ts +++ b/src/@types/matrix-js-sdk.d.ts @@ -10,7 +10,6 @@ import type { IWidget } from "matrix-widget-api"; import type { BLURHASH_FIELD } from "../utils/image-media"; import type { JitsiCallMemberEventType, JitsiCallMemberContent } from "../call-types"; import type { ILayoutStateEvent, WIDGET_LAYOUT_EVENT_TYPE } from "../stores/widgets/types"; -import type { VoiceBroadcastInfoEventContent, VoiceBroadcastInfoEventType } from "../voice-broadcast/types"; import type { EncryptedFile } from "matrix-js-sdk/src/types"; // Extend Matrix JS SDK types via Typescript declaration merging to support unspecced event fields and types @@ -37,9 +36,6 @@ declare module "matrix-js-sdk/src/types" { "im.vector.modular.widgets": IWidget | {}; [WIDGET_LAYOUT_EVENT_TYPE]: ILayoutStateEvent; - // Unstable voice broadcast state events - [VoiceBroadcastInfoEventType]: VoiceBroadcastInfoEventContent; - // Element custom state events "im.vector.web.settings": Record; "org.matrix.room.preview_urls": { disable: boolean }; @@ -78,7 +74,5 @@ declare module "matrix-js-sdk/src/types" { waveform?: number[]; }; "org.matrix.msc3245.voice"?: {}; - - "io.element.voice_broadcast_chunk"?: { sequence: number }; } } diff --git a/src/IConfigOptions.ts b/src/IConfigOptions.ts index 72bee5d0ab..5dd500402d 100644 --- a/src/IConfigOptions.ts +++ b/src/IConfigOptions.ts @@ -175,13 +175,6 @@ export interface IConfigOptions { sync_timeline_limit?: number; dangerously_allow_unsafe_and_insecure_passwords?: boolean; // developer option - voice_broadcast?: { - // length per voice chunk in seconds - chunk_length?: number; - // max voice broadcast length in seconds - max_length?: number; - }; - user_notice?: { title: string; description: string; diff --git a/src/LegacyCallHandler.tsx b/src/LegacyCallHandler.tsx index a06480e9cd..b804ca0084 100644 --- a/src/LegacyCallHandler.tsx +++ b/src/LegacyCallHandler.tsx @@ -55,8 +55,6 @@ import { OpenInviteDialogPayload } from "./dispatcher/payloads/OpenInviteDialogP import { findDMForUser } from "./utils/dm/findDMForUser"; import { getJoinedNonFunctionalMembers } from "./utils/room/getJoinedNonFunctionalMembers"; import { localNotificationsAreSilenced } from "./utils/notifications"; -import { SdkContextClass } from "./contexts/SDKContext"; -import { showCantStartACallDialog } from "./voice-broadcast/utils/showCantStartACallDialog"; import { isNotNull } from "./Typeguards"; import { BackgroundAudio } from "./audio/BackgroundAudio"; import { Jitsi } from "./widgets/Jitsi.ts"; @@ -859,15 +857,6 @@ export default class LegacyCallHandler extends EventEmitter { return; } - // Pause current broadcast, if any - SdkContextClass.instance.voiceBroadcastPlaybacksStore.getCurrent()?.pause(); - - if (SdkContextClass.instance.voiceBroadcastRecordingsStore.getCurrent()) { - // Do not start a call, if recording a broadcast - showCantStartACallDialog(); - return; - } - // We might be using managed hybrid widgets if (isManagedHybridWidgetEnabled(room)) { await addManagedHybridWidget(room); diff --git a/src/Notifier.ts b/src/Notifier.ts index 961d2171a8..45e6a1195d 100644 --- a/src/Notifier.ts +++ b/src/Notifier.ts @@ -49,8 +49,6 @@ import { SdkContextClass } from "./contexts/SDKContext"; import { localNotificationsAreSilenced, createLocalNotificationSettingsIfNeeded } from "./utils/notifications"; import { getIncomingCallToastKey, IncomingCallToast } from "./toasts/IncomingCallToast"; import ToastStore from "./stores/ToastStore"; -import { VoiceBroadcastChunkEventType, VoiceBroadcastInfoEventType } from "./voice-broadcast"; -import { getSenderName } from "./utils/event/getSenderName"; import { stripPlainReply } from "./utils/Reply"; import { BackgroundAudio } from "./audio/BackgroundAudio"; @@ -81,17 +79,6 @@ const msgTypeHandlers: Record string | null> = { return TextForEvent.textForLocationEvent(event)(); }, [MsgType.Audio]: (event: MatrixEvent): string | null => { - if (event.getContent()?.[VoiceBroadcastChunkEventType]) { - if (event.getContent()?.[VoiceBroadcastChunkEventType]?.sequence === 1) { - // Show a notification for the first broadcast chunk. - // At this point a user received something to listen to. - return _t("notifier|io.element.voice_broadcast_chunk", { senderName: getSenderName(event) }); - } - - // Mute other broadcast chunks - return null; - } - return TextForEvent.textForEvent(event, MatrixClientPeg.safeGet()); }, }; @@ -460,8 +447,6 @@ class NotifierClass extends TypedEventEmitter = { logo: require("../res/img/element-desktop-logo.svg").default, url: "https://element.io/get-started", }, - voice_broadcast: { - chunk_length: 2 * 60, // two minutes - max_length: 4 * 60 * 60, // four hours - }, feedback: { existing_issues_url: diff --git a/src/TextForEvent.tsx b/src/TextForEvent.tsx index 1ffae62aea..49d8b739b7 100644 --- a/src/TextForEvent.tsx +++ b/src/TextForEvent.tsx @@ -36,7 +36,6 @@ import AccessibleButton from "./components/views/elements/AccessibleButton"; import RightPanelStore from "./stores/right-panel/RightPanelStore"; import { highlightEvent, isLocationEvent } from "./utils/EventUtils"; import { ElementCall } from "./models/Call"; -import { textForVoiceBroadcastStoppedEvent, VoiceBroadcastInfoEventType } from "./voice-broadcast"; import { getSenderName } from "./utils/event/getSenderName"; import PosthogTrackers from "./PosthogTrackers.ts"; @@ -906,7 +905,6 @@ const stateHandlers: IHandlers = { // TODO: Enable support for m.widget event type (https://github.com/vector-im/element-web/issues/13111) "im.vector.modular.widgets": textForWidgetEvent, [WIDGET_LAYOUT_EVENT_TYPE]: textForWidgetLayoutEvent, - [VoiceBroadcastInfoEventType]: textForVoiceBroadcastStoppedEvent, }; // Add all the Mjolnir stuff to the renderer diff --git a/src/components/structures/MatrixChat.tsx b/src/components/structures/MatrixChat.tsx index 9f9e225352..548dbff983 100644 --- a/src/components/structures/MatrixChat.tsx +++ b/src/components/structures/MatrixChat.tsx @@ -119,7 +119,6 @@ import { ValidatedServerConfig } from "../../utils/ValidatedServerConfig"; import { isLocalRoom } from "../../utils/localRoom/isLocalRoom"; import { SDKContext, SdkContextClass } from "../../contexts/SDKContext"; import { viewUserDeviceSettings } from "../../actions/handlers/viewUserDeviceSettings"; -import { cleanUpBroadcasts, VoiceBroadcastResumer } from "../../voice-broadcast"; import GenericToast from "../views/toasts/GenericToast"; import RovingSpotlightDialog from "../views/dialogs/spotlight/SpotlightDialog"; import { findDMForUser } from "../../utils/dm/findDMForUser"; @@ -227,7 +226,6 @@ export default class MatrixChat extends React.PureComponent { private focusNext: FocusNextType; private subTitleStatus: string; private prevWindowWidth: number; - private voiceBroadcastResumer?: VoiceBroadcastResumer; private readonly loggedInView = createRef(); private dispatcherRef?: string; @@ -501,7 +499,6 @@ export default class MatrixChat extends React.PureComponent { window.removeEventListener("resize", this.onWindowResized); this.stores.accountPasswordStore.clearPassword(); - this.voiceBroadcastResumer?.destroy(); } private onWindowResized = (): void => { @@ -651,10 +648,9 @@ export default class MatrixChat extends React.PureComponent { break; case "logout": LegacyCallHandler.instance.hangupAllCalls(); - Promise.all([ - ...[...CallStore.instance.connectedCalls].map((call) => call.disconnect()), - cleanUpBroadcasts(this.stores), - ]).finally(() => Lifecycle.logout(this.stores.oidcClientStore)); + Promise.all([...[...CallStore.instance.connectedCalls].map((call) => call.disconnect())]).finally(() => + Lifecycle.logout(this.stores.oidcClientStore), + ); break; case "require_registration": startAnyRegistrationFlow(payload as any); @@ -1679,8 +1675,6 @@ export default class MatrixChat extends React.PureComponent { }); } }); - - this.voiceBroadcastResumer = new VoiceBroadcastResumer(cli); } /** diff --git a/src/components/structures/PipContainer.tsx b/src/components/structures/PipContainer.tsx index 731e720b12..c9fabfe0c9 100644 --- a/src/components/structures/PipContainer.tsx +++ b/src/components/structures/PipContainer.tsx @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import React, { MutableRefObject, ReactNode, useContext, useRef } from "react"; +import React, { MutableRefObject, ReactNode, useRef } from "react"; import { CallEvent, CallState, MatrixCall } from "matrix-js-sdk/src/webrtc/call"; import { logger } from "matrix-js-sdk/src/logger"; import { Optional } from "matrix-events-sdk"; @@ -21,19 +21,7 @@ import { WidgetLayoutStore } from "../../stores/widgets/WidgetLayoutStore"; import ActiveWidgetStore, { ActiveWidgetStoreEvent } from "../../stores/ActiveWidgetStore"; import { ViewRoomPayload } from "../../dispatcher/payloads/ViewRoomPayload"; import { UPDATE_EVENT } from "../../stores/AsyncStore"; -import { SDKContext, SdkContextClass } from "../../contexts/SDKContext"; -import { - useCurrentVoiceBroadcastPreRecording, - useCurrentVoiceBroadcastRecording, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybackBody, - VoiceBroadcastPreRecording, - VoiceBroadcastPreRecordingPip, - VoiceBroadcastRecording, - VoiceBroadcastRecordingPip, - VoiceBroadcastSmallPlaybackBody, -} from "../../voice-broadcast"; -import { useCurrentVoiceBroadcastPlayback } from "../../voice-broadcast/hooks/useCurrentVoiceBroadcastPlayback"; +import { SdkContextClass } from "../../contexts/SDKContext"; import { WidgetPip } from "../views/pips/WidgetPip"; const SHOW_CALL_IN_STATES = [ @@ -46,9 +34,6 @@ const SHOW_CALL_IN_STATES = [ ]; interface IProps { - voiceBroadcastRecording: Optional; - voiceBroadcastPreRecording: Optional; - voiceBroadcastPlayback: Optional; movePersistedElement: MutableRefObject<(() => void) | undefined>; } @@ -245,52 +230,9 @@ class PipContainerInner extends React.Component { this.setState({ showWidgetInPip, persistentWidgetId, persistentRoomId }); } - private createVoiceBroadcastPlaybackPipContent(voiceBroadcastPlayback: VoiceBroadcastPlayback): CreatePipChildren { - const content = - this.state.viewedRoomId === voiceBroadcastPlayback.infoEvent.getRoomId() ? ( - - ) : ( - - ); - - return ({ onStartMoving }) => ( -
- {content} -
- ); - } - - private createVoiceBroadcastPreRecordingPipContent( - voiceBroadcastPreRecording: VoiceBroadcastPreRecording, - ): CreatePipChildren { - return ({ onStartMoving }) => ( -
- -
- ); - } - - private createVoiceBroadcastRecordingPipContent( - voiceBroadcastRecording: VoiceBroadcastRecording, - ): CreatePipChildren { - return ({ onStartMoving }) => ( -
- -
- ); - } - public render(): ReactNode { const pipMode = true; - let pipContent: Array = []; - - if (this.props.voiceBroadcastRecording) { - pipContent = [this.createVoiceBroadcastRecordingPipContent(this.props.voiceBroadcastRecording)]; - } else if (this.props.voiceBroadcastPreRecording) { - pipContent = [this.createVoiceBroadcastPreRecordingPipContent(this.props.voiceBroadcastPreRecording)]; - } else if (this.props.voiceBroadcastPlayback) { - pipContent = [this.createVoiceBroadcastPlaybackPipContent(this.props.voiceBroadcastPlayback)]; - } + const pipContent: Array = []; if (this.state.primaryCall) { // get a ref to call inside the current scope @@ -338,24 +280,7 @@ class PipContainerInner extends React.Component { } export const PipContainer: React.FC = () => { - const sdkContext = useContext(SDKContext); - const voiceBroadcastPreRecordingStore = sdkContext.voiceBroadcastPreRecordingStore; - const { currentVoiceBroadcastPreRecording } = useCurrentVoiceBroadcastPreRecording(voiceBroadcastPreRecordingStore); - - const voiceBroadcastRecordingsStore = sdkContext.voiceBroadcastRecordingsStore; - const { currentVoiceBroadcastRecording } = useCurrentVoiceBroadcastRecording(voiceBroadcastRecordingsStore); - - const voiceBroadcastPlaybacksStore = sdkContext.voiceBroadcastPlaybacksStore; - const { currentVoiceBroadcastPlayback } = useCurrentVoiceBroadcastPlayback(voiceBroadcastPlaybacksStore); - const movePersistedElement = useRef<() => void>(); - return ( - - ); + return ; }; diff --git a/src/components/structures/UserMenu.tsx b/src/components/structures/UserMenu.tsx index 5cd6ea7484..c5f8ef841d 100644 --- a/src/components/structures/UserMenu.tsx +++ b/src/components/structures/UserMenu.tsx @@ -40,8 +40,6 @@ import { UPDATE_SELECTED_SPACE } from "../../stores/spaces"; import UserIdentifierCustomisations from "../../customisations/UserIdentifier"; import PosthogTrackers from "../../PosthogTrackers"; import { ViewHomePagePayload } from "../../dispatcher/payloads/ViewHomePagePayload"; -import { Icon as LiveIcon } from "../../../res/img/compound/live-8px.svg"; -import { VoiceBroadcastRecording, VoiceBroadcastRecordingsStoreEvent } from "../../voice-broadcast"; import { SDKContext } from "../../contexts/SDKContext"; import { shouldShowFeedback } from "../../utils/Feedback"; import DarkLightModeSvg from "../../../res/img/element-icons/roomlist/dark-light-mode.svg"; @@ -58,7 +56,6 @@ interface IState { isDarkTheme: boolean; isHighContrast: boolean; selectedSpace?: Room | null; - showLiveAvatarAddon: boolean; } const toRightOf = (rect: PartialDOMRect): MenuProps => { @@ -94,7 +91,6 @@ export default class UserMenu extends React.Component { isDarkTheme: this.isUserOnDarkTheme(), isHighContrast: this.isUserOnHighContrastTheme(), selectedSpace: SpaceStore.instance.activeSpaceRoom, - showLiveAvatarAddon: this.context.voiceBroadcastRecordingsStore.hasCurrent(), }; } @@ -102,19 +98,9 @@ export default class UserMenu extends React.Component { return !!getHomePageUrl(SdkConfig.get(), this.context.client!); } - private onCurrentVoiceBroadcastRecordingChanged = (recording: VoiceBroadcastRecording | null): void => { - this.setState({ - showLiveAvatarAddon: recording !== null, - }); - }; - public componentDidMount(): void { OwnProfileStore.instance.on(UPDATE_EVENT, this.onProfileUpdate); SpaceStore.instance.on(UPDATE_SELECTED_SPACE, this.onSelectedSpaceUpdate); - this.context.voiceBroadcastRecordingsStore.on( - VoiceBroadcastRecordingsStoreEvent.CurrentChanged, - this.onCurrentVoiceBroadcastRecordingChanged, - ); this.dispatcherRef = defaultDispatcher.register(this.onAction); this.themeWatcherRef = SettingsStore.watchSetting("theme", null, this.onThemeChanged); } @@ -125,10 +111,6 @@ export default class UserMenu extends React.Component { defaultDispatcher.unregister(this.dispatcherRef); OwnProfileStore.instance.off(UPDATE_EVENT, this.onProfileUpdate); SpaceStore.instance.off(UPDATE_SELECTED_SPACE, this.onSelectedSpaceUpdate); - this.context.voiceBroadcastRecordingsStore.off( - VoiceBroadcastRecordingsStoreEvent.CurrentChanged, - this.onCurrentVoiceBroadcastRecordingChanged, - ); } private isUserOnDarkTheme(): boolean { @@ -435,12 +417,6 @@ export default class UserMenu extends React.Component { name =
{displayName}
; } - const liveAvatarAddon = this.state.showLiveAvatarAddon ? ( -
- -
- ) : null; - return (
{ size={avatarSize + "px"} className="mx_UserMenu_userAvatar_BaseAvatar" /> - {liveAvatarAddon}
{name} {this.renderContextMenu()} diff --git a/src/components/structures/grouper/CreationGrouper.tsx b/src/components/structures/grouper/CreationGrouper.tsx index db4542e836..84982066c3 100644 --- a/src/components/structures/grouper/CreationGrouper.tsx +++ b/src/components/structures/grouper/CreationGrouper.tsx @@ -12,7 +12,6 @@ import { KnownMembership } from "matrix-js-sdk/src/types"; import { BaseGrouper } from "./BaseGrouper"; import MessagePanel, { WrappedEvent } from "../MessagePanel"; -import { VoiceBroadcastInfoEventType } from "../../../voice-broadcast"; import DMRoomMap from "../../../utils/DMRoomMap"; import { _t } from "../../../languageHandler"; import DateSeparator from "../../views/messages/DateSeparator"; @@ -53,11 +52,6 @@ export class CreationGrouper extends BaseGrouper { return false; } - if (VoiceBroadcastInfoEventType === eventType) { - // always show voice broadcast info events in timeline - return false; - } - if (event.isState() && event.getSender() === createEvent.getSender()) { return true; } diff --git a/src/components/views/audio_messages/DevicesContextMenu.tsx b/src/components/views/audio_messages/DevicesContextMenu.tsx deleted file mode 100644 index a88a280242..0000000000 --- a/src/components/views/audio_messages/DevicesContextMenu.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022, 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React, { MutableRefObject } from "react"; - -import { toLeftOrRightOf } from "../../structures/ContextMenu"; -import IconizedContextMenu, { - IconizedContextMenuOptionList, - IconizedContextMenuRadio, -} from "../context_menus/IconizedContextMenu"; - -interface Props { - containerRef: MutableRefObject; - currentDevice: MediaDeviceInfo | null; - devices: MediaDeviceInfo[]; - onDeviceSelect: (device: MediaDeviceInfo) => void; -} - -export const DevicesContextMenu: React.FC = ({ containerRef, currentDevice, devices, onDeviceSelect }) => { - const deviceOptions = devices.map((d: MediaDeviceInfo) => { - return ( - onDeviceSelect(d)} - label={d.label} - /> - ); - }); - - return ( - {}} - {...(containerRef.current ? toLeftOrRightOf(containerRef.current.getBoundingClientRect(), 0) : {})} - > - {deviceOptions} - - ); -}; diff --git a/src/components/views/dialogs/CantStartVoiceMessageBroadcastDialog.tsx b/src/components/views/dialogs/CantStartVoiceMessageBroadcastDialog.tsx deleted file mode 100644 index eb565c0072..0000000000 --- a/src/components/views/dialogs/CantStartVoiceMessageBroadcastDialog.tsx +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; - -import { _t } from "../../../languageHandler"; -import Modal from "../../../Modal"; -import InfoDialog from "./InfoDialog"; - -export const createCantStartVoiceMessageBroadcastDialog = (): void => { - Modal.createDialog(InfoDialog, { - title: _t("voice_message|cant_start_broadcast_title"), - description:

{_t("voice_message|cant_start_broadcast_description")}

, - hasCloseButton: true, - }); -}; diff --git a/src/components/views/dialogs/ConfirmRedactDialog.tsx b/src/components/views/dialogs/ConfirmRedactDialog.tsx index 27823ec478..f4258c9d6d 100644 --- a/src/components/views/dialogs/ConfirmRedactDialog.tsx +++ b/src/components/views/dialogs/ConfirmRedactDialog.tsx @@ -6,14 +6,12 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import { Feature, ServerSupport } from "matrix-js-sdk/src/feature"; -import { IRedactOpts, MatrixEvent, RelationType } from "matrix-js-sdk/src/matrix"; +import { IRedactOpts, MatrixEvent } from "matrix-js-sdk/src/matrix"; import React from "react"; import { _t } from "../../../languageHandler"; import { MatrixClientPeg } from "../../../MatrixClientPeg"; import Modal from "../../../Modal"; -import { isVoiceBroadcastStartedEvent } from "../../../voice-broadcast/utils/isVoiceBroadcastStartedEvent"; import ErrorDialog from "./ErrorDialog"; import TextInputDialog from "./TextInputDialog"; @@ -70,18 +68,6 @@ export function createRedactEventDialog({ const cli = MatrixClientPeg.safeGet(); const withRelTypes: Pick = {}; - // redact related events if this is a voice broadcast started event and - // server has support for relation based redactions - if (isVoiceBroadcastStartedEvent(mxEvent)) { - const relationBasedRedactionsSupport = cli.canSupport.get(Feature.RelationBasedRedactions); - if ( - relationBasedRedactionsSupport && - relationBasedRedactionsSupport !== ServerSupport.Unsupported - ) { - withRelTypes.with_rel_types = [RelationType.Reference]; - } - } - try { onCloseDialog?.(); await cli.redactEvent(roomId, eventId, undefined, { diff --git a/src/components/views/dialogs/DevtoolsDialog.tsx b/src/components/views/dialogs/DevtoolsDialog.tsx index 7319685014..7dc683469a 100644 --- a/src/components/views/dialogs/DevtoolsDialog.tsx +++ b/src/components/views/dialogs/DevtoolsDialog.tsx @@ -22,7 +22,6 @@ import { AccountDataExplorer, RoomAccountDataExplorer } from "./devtools/Account import SettingsFlag from "../elements/SettingsFlag"; import { SettingLevel } from "../../../settings/SettingLevel"; import ServerInfo from "./devtools/ServerInfo"; -import { Features } from "../../../settings/Settings"; import CopyableText from "../elements/CopyableText"; import RoomNotifications from "./devtools/RoomNotifications"; @@ -100,7 +99,6 @@ const DevtoolsDialog: React.FC = ({ roomId, threadRootId, onFinished }) -
); diff --git a/src/components/views/messages/MessageActionBar.tsx b/src/components/views/messages/MessageActionBar.tsx index bf92c993c5..9d21b8fa45 100644 --- a/src/components/views/messages/MessageActionBar.tsx +++ b/src/components/views/messages/MessageActionBar.tsx @@ -58,7 +58,6 @@ import { ALTERNATE_KEY_NAME } from "../../../accessibility/KeyboardShortcuts"; import { Action } from "../../../dispatcher/actions"; import { ShowThreadPayload } from "../../../dispatcher/payloads/ShowThreadPayload"; import { GetRelationsForEvent, IEventTileType } from "../rooms/EventTile"; -import { VoiceBroadcastInfoEventType } from "../../../voice-broadcast/types"; import { ButtonEvent } from "../elements/AccessibleButton"; import PinningUtils from "../../../utils/PinningUtils"; import PosthogTrackers from "../../../PosthogTrackers.ts"; @@ -354,8 +353,7 @@ export default class MessageActionBar extends React.PureComponent { @@ -276,10 +275,6 @@ export default class MessageEvent extends React.Component implements IMe if (M_LOCATION.matches(type) || (type === EventType.RoomMessage && msgtype === MsgType.Location)) { BodyType = MLocationBody; } - - if (type === VoiceBroadcastInfoEventType && content?.state === VoiceBroadcastInfoState.Started) { - BodyType = VoiceBroadcastBody; - } } if (SettingsStore.getValue("feature_mjolnir")) { diff --git a/src/components/views/rooms/MessageComposer.tsx b/src/components/views/rooms/MessageComposer.tsx index 9dcd107fed..f5716d728b 100644 --- a/src/components/views/rooms/MessageComposer.tsx +++ b/src/components/views/rooms/MessageComposer.tsx @@ -48,14 +48,9 @@ import MessageComposerButtons from "./MessageComposerButtons"; import AccessibleButton, { ButtonEvent } from "../elements/AccessibleButton"; import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload"; import { isLocalRoom } from "../../../utils/localRoom/isLocalRoom"; -import { Features } from "../../../settings/Settings"; import { VoiceMessageRecording } from "../../../audio/VoiceMessageRecording"; import { SendWysiwygComposer, sendMessage, getConversionFunctions } from "./wysiwyg_composer/"; import { MatrixClientProps, withMatrixClientHOC } from "../../../contexts/MatrixClientContext"; -import { setUpVoiceBroadcastPreRecording } from "../../../voice-broadcast/utils/setUpVoiceBroadcastPreRecording"; -import { SdkContextClass } from "../../../contexts/SDKContext"; -import { VoiceBroadcastInfoState } from "../../../voice-broadcast"; -import { createCantStartVoiceMessageBroadcastDialog } from "../dialogs/CantStartVoiceMessageBroadcastDialog"; import { UIFeature } from "../../../settings/UIFeature"; import { formatTimeLeft } from "../../../DateUtils"; import RoomReplacedSvg from "../../../../res/img/room_replaced.svg"; @@ -101,7 +96,6 @@ interface IState { isStickerPickerOpen: boolean; showStickersButton: boolean; showPollsButton: boolean; - showVoiceBroadcastButton: boolean; isWysiwygLabEnabled: boolean; isRichTextEnabled: boolean; initialComposerContent: string; @@ -127,7 +121,6 @@ export class MessageComposer extends React.Component { public static defaultProps = { compact: false, - showVoiceBroadcastButton: false, isRichTextEnabled: true, }; @@ -155,7 +148,6 @@ export class MessageComposer extends React.Component { isStickerPickerOpen: false, showStickersButton: SettingsStore.getValue("MessageComposerInput.showStickersButton"), showPollsButton: SettingsStore.getValue("MessageComposerInput.showPollsButton"), - showVoiceBroadcastButton: SettingsStore.getValue(Features.VoiceBroadcast), isWysiwygLabEnabled: isWysiwygLabEnabled, isRichTextEnabled: isRichTextEnabled, initialComposerContent: initialComposerContent, @@ -250,7 +242,6 @@ export class MessageComposer extends React.Component { SettingsStore.monitorSetting("MessageComposerInput.showStickersButton", null); SettingsStore.monitorSetting("MessageComposerInput.showPollsButton", null); - SettingsStore.monitorSetting(Features.VoiceBroadcast, null); SettingsStore.monitorSetting("feature_wysiwyg_composer", null); this.dispatcherRef = dis.register(this.onAction); @@ -301,12 +292,6 @@ export class MessageComposer extends React.Component { } break; } - case Features.VoiceBroadcast: { - if (this.state.showVoiceBroadcastButton !== settingUpdatedPayload.newValue) { - this.setState({ showVoiceBroadcastButton: !!settingUpdatedPayload.newValue }); - } - break; - } case "feature_wysiwyg_composer": { if (this.state.isWysiwygLabEnabled !== settingUpdatedPayload.newValue) { this.setState({ isWysiwygLabEnabled: Boolean(settingUpdatedPayload.newValue) }); @@ -533,13 +518,7 @@ export class MessageComposer extends React.Component { } private onRecordStartEndClick = (): void => { - const currentBroadcastRecording = SdkContextClass.instance.voiceBroadcastRecordingsStore.getCurrent(); - - if (currentBroadcastRecording && currentBroadcastRecording.getState() !== VoiceBroadcastInfoState.Stopped) { - createCantStartVoiceMessageBroadcastDialog(); - } else { - this.voiceRecordingButton.current?.onRecordStartEndClick(); - } + this.voiceRecordingButton.current?.onRecordStartEndClick(); if (this.context.narrow) { this.toggleButtonMenu(); @@ -698,17 +677,6 @@ export class MessageComposer extends React.Component { isRichTextEnabled={this.state.isRichTextEnabled} onComposerModeClick={this.onRichTextToggle} toggleButtonMenu={this.toggleButtonMenu} - showVoiceBroadcastButton={this.state.showVoiceBroadcastButton} - onStartVoiceBroadcastClick={() => { - setUpVoiceBroadcastPreRecording( - this.props.room, - MatrixClientPeg.safeGet(), - SdkContextClass.instance.voiceBroadcastPlaybacksStore, - SdkContextClass.instance.voiceBroadcastRecordingsStore, - SdkContextClass.instance.voiceBroadcastPreRecordingStore, - ); - this.toggleButtonMenu(); - }} /> )} {showSendButton && ( diff --git a/src/components/views/rooms/MessageComposerButtons.tsx b/src/components/views/rooms/MessageComposerButtons.tsx index 370bc0861c..19b86834dd 100644 --- a/src/components/views/rooms/MessageComposerButtons.tsx +++ b/src/components/views/rooms/MessageComposerButtons.tsx @@ -43,8 +43,6 @@ interface IProps { showPollsButton: boolean; showStickersButton: boolean; toggleButtonMenu: () => void; - showVoiceBroadcastButton: boolean; - onStartVoiceBroadcastClick: () => void; isRichTextEnabled: boolean; onComposerModeClick: () => void; } @@ -80,7 +78,6 @@ const MessageComposerButtons: React.FC = (props: IProps) => { uploadButton(), // props passed via UploadButtonContext showStickersButton(props), voiceRecordingButton(props, narrow), - startVoiceBroadcastButton(props), props.showPollsButton ? pollButton(room, props.relation) : null, showLocationButton(props, room, matrixClient), ]; @@ -100,7 +97,6 @@ const MessageComposerButtons: React.FC = (props: IProps) => { moreButtons = [ showStickersButton(props), voiceRecordingButton(props, narrow), - startVoiceBroadcastButton(props), props.showPollsButton ? pollButton(room, props.relation) : null, showLocationButton(props, room, matrixClient), ]; @@ -254,18 +250,6 @@ function showStickersButton(props: IProps): ReactElement | null { ) : null; } -const startVoiceBroadcastButton: React.FC = (props: IProps): ReactElement | null => { - return props.showVoiceBroadcastButton ? ( - - ) : null; -}; - function voiceRecordingButton(props: IProps, narrow: boolean): ReactElement | null { // XXX: recording UI does not work well in narrow mode, so hide for now return narrow ? null : ( diff --git a/src/components/views/rooms/RoomTile.tsx b/src/components/views/rooms/RoomTile.tsx index 8351c176ff..7953c5068d 100644 --- a/src/components/views/rooms/RoomTile.tsx +++ b/src/components/views/rooms/RoomTile.tsx @@ -39,7 +39,6 @@ import { getKeyBindingsManager } from "../../../KeyBindingsManager"; import { RoomGeneralContextMenu } from "../context_menus/RoomGeneralContextMenu"; import { CallStore, CallStoreEvent } from "../../../stores/CallStore"; import { SdkContextClass } from "../../../contexts/SDKContext"; -import { useHasRoomLiveVoiceBroadcast } from "../../../voice-broadcast"; import { RoomTileSubtitle } from "./RoomTileSubtitle"; import { shouldShowComponent } from "../../../customisations/helpers/UIComponents"; import { UIComponent } from "../../../settings/UIFeature"; @@ -53,10 +52,6 @@ interface Props { tag: TagID; } -interface ClassProps extends Props { - hasLiveVoiceBroadcast: boolean; -} - type PartialDOMRect = Pick; interface State { @@ -77,13 +72,13 @@ export const contextMenuBelow = (elementRect: PartialDOMRect): MenuProps => { return { left, top, chevronFace }; }; -export class RoomTile extends React.PureComponent { +class RoomTile extends React.PureComponent { private dispatcherRef?: string; private roomTileRef = createRef(); private notificationState: NotificationState; private roomProps: RoomEchoChamber; - public constructor(props: ClassProps) { + public constructor(props: Props) { super(props); this.state = { @@ -370,15 +365,10 @@ export class RoomTile extends React.PureComponent { /** * RoomTile has a subtile if one of the following applies: * - there is a call - * - there is a live voice broadcast * - message previews are enabled and there is a previewable message */ private get shouldRenderSubtitle(): boolean { - return ( - !!this.state.call || - this.props.hasLiveVoiceBroadcast || - (this.props.showMessagePreview && !!this.state.messagePreview) - ); + return !!this.state.call || (this.props.showMessagePreview && !!this.state.messagePreview); } public render(): React.ReactElement { @@ -409,7 +399,6 @@ export class RoomTile extends React.PureComponent { const subtitle = this.shouldRenderSubtitle ? ( { } } -const RoomTileHOC: React.FC = (props: Props) => { - const hasLiveVoiceBroadcast = useHasRoomLiveVoiceBroadcast(props.room); - return ; -}; - -export default RoomTileHOC; +export default RoomTile; diff --git a/src/components/views/rooms/RoomTileSubtitle.tsx b/src/components/views/rooms/RoomTileSubtitle.tsx index ea4a96d259..479b9c4f71 100644 --- a/src/components/views/rooms/RoomTileSubtitle.tsx +++ b/src/components/views/rooms/RoomTileSubtitle.tsx @@ -13,11 +13,9 @@ import { ThreadsIcon } from "@vector-im/compound-design-tokens/assets/web/icons" import { MessagePreview } from "../../../stores/room-list/MessagePreviewStore"; import { Call } from "../../../models/Call"; import { RoomTileCallSummary } from "./RoomTileCallSummary"; -import { VoiceBroadcastRoomSubtitle } from "../../../voice-broadcast"; interface Props { call: Call | null; - hasLiveVoiceBroadcast: boolean; messagePreview: MessagePreview | null; roomId: string; showMessagePreview: boolean; @@ -25,13 +23,7 @@ interface Props { const messagePreviewId = (roomId: string): string => `mx_RoomTile_messagePreview_${roomId}`; -export const RoomTileSubtitle: React.FC = ({ - call, - hasLiveVoiceBroadcast, - messagePreview, - roomId, - showMessagePreview, -}) => { +export const RoomTileSubtitle: React.FC = ({ call, messagePreview, roomId, showMessagePreview }) => { if (call) { return (
@@ -40,10 +32,6 @@ export const RoomTileSubtitle: React.FC = ({ ); } - if (hasLiveVoiceBroadcast) { - return ; - } - if (showMessagePreview && messagePreview) { const className = classNames("mx_RoomTile_subtitle", { "mx_RoomTile_subtitle--thread-reply": messagePreview.isThreadReply, diff --git a/src/components/views/settings/tabs/room/RolesRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/RolesRoomSettingsTab.tsx index 5fada0b6bc..baf4b41253 100644 --- a/src/components/views/settings/tabs/room/RolesRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/RolesRoomSettingsTab.tsx @@ -19,7 +19,6 @@ import ErrorDialog from "../../../dialogs/ErrorDialog"; import PowerSelector from "../../../elements/PowerSelector"; import SettingsFieldset from "../../SettingsFieldset"; import SettingsStore from "../../../../../settings/SettingsStore"; -import { VoiceBroadcastInfoEventType } from "../../../../../voice-broadcast"; import { ElementCall } from "../../../../../models/Call"; import SdkConfig, { DEFAULTS } from "../../../../../SdkConfig"; import { AddPrivilegedUsers } from "../../AddPrivilegedUsers"; @@ -62,7 +61,6 @@ const plEventsToShow: Record = { // TODO: Enable support for m.widget event type (https://github.com/vector-im/element-web/issues/13111) "im.vector.modular.widgets": { isState: true, hideForSpace: true }, - [VoiceBroadcastInfoEventType]: { isState: true, hideForSpace: true }, }; // parse a string as an integer; if the input is undefined, or cannot be parsed @@ -289,7 +287,6 @@ export default class RolesRoomSettingsTab extends React.Component void, -): { - currentDevice: MediaDeviceInfo | null; - currentDeviceLabel: string; - devices: MediaDeviceInfo[]; - setDevice(device: MediaDeviceInfo): void; -} => { - const shouldRequestPermissionsRef = useRef(true); - const [state, setState] = useState({ - devices: [], - device: null, - }); - - if (shouldRequestPermissionsRef.current) { - shouldRequestPermissionsRef.current = false; - requestMediaPermissions(false).then((stream: MediaStream | undefined) => { - MediaDeviceHandler.getDevices().then((devices) => { - if (!devices) return; - const { audioinput } = devices; - MediaDeviceHandler.getDefaultDevice(audioinput); - const deviceFromSettings = MediaDeviceHandler.getAudioInput(); - const device = - audioinput.find((d) => { - return d.deviceId === deviceFromSettings; - }) || audioinput[0]; - setState({ - ...state, - devices: audioinput, - device, - }); - stream?.getTracks().forEach((t) => t.stop()); - }); - }); - } - - const setDevice = (device: MediaDeviceInfo): void => { - const shouldNotify = device.deviceId !== state.device?.deviceId; - MediaDeviceHandler.instance.setDevice(device.deviceId, MediaDeviceKindEnum.AudioInput); - - setState({ - ...state, - device, - }); - - if (shouldNotify) { - onDeviceChanged?.(device); - } - }; - - return { - currentDevice: state.device, - currentDeviceLabel: state.device?.label || _t("voip|default_device"), - devices: state.devices, - setDevice, - }; -}; diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 50ca4ae1e4..31a6c71c1a 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1087,10 +1087,6 @@ }, "error_user_not_logged_in": "User is not logged in", "event_preview": { - "io.element.voice_broadcast_info": { - "user": "%(senderName)s ended a voice broadcast", - "you": "You ended a voice broadcast" - }, "m.call.answer": { "dm": "Call in progress", "user": "%(senderName)s joined the call", @@ -1491,8 +1487,6 @@ "video_rooms_faq2_answer": "Yes, the chat timeline is displayed alongside the video.", "video_rooms_faq2_question": "Can I use text chat alongside the video call?", "video_rooms_feedbackSubheading": "Thank you for trying the beta, please go into as much detail as you can so we can improve it.", - "voice_broadcast": "Voice broadcast", - "voice_broadcast_force_small_chunks": "Force 15s voice broadcast chunk length", "wysiwyg_composer": "Rich text editor" }, "labs_mjolnir": { @@ -1638,7 +1632,6 @@ "mute_description": "You won't get any notifications" }, "notifier": { - "io.element.voice_broadcast_chunk": "%(senderName)s started a voice broadcast", "m.key.verification.request": "%(name)s is requesting verification" }, "onboarding": { @@ -2253,7 +2246,6 @@ "error_unbanning": "Failed to unban", "events_default": "Send messages", "invite": "Invite users", - "io.element.voice_broadcast_info": "Voice broadcasts", "kick": "Remove users", "m.call": "Start %(brand)s calls", "m.call.member": "Join %(brand)s calls", @@ -3287,10 +3279,6 @@ "error_rendering_message": "Can't load this message", "historical_messages_unavailable": "You can't see earlier messages", "in_room_name": " in %(room)s", - "io.element.voice_broadcast_info": { - "user": "%(senderName)s ended a voice broadcast", - "you": "You ended a voice broadcast" - }, "io.element.widgets.layout": "%(senderName)s has updated the room layout", "late_event_separator": "Originally sent %(dateTime)s", "load_error": { @@ -3840,38 +3828,6 @@ "switch_theme_dark": "Switch to dark mode", "switch_theme_light": "Switch to light mode" }, - "voice_broadcast": { - "30s_backward": "30s backward", - "30s_forward": "30s forward", - "action": "Voice broadcast", - "buffering": "Buffering…", - "confirm_listen_affirm": "Yes, end my recording", - "confirm_listen_description": "If you start listening to this live broadcast, your current live broadcast recording will be ended.", - "confirm_listen_title": "Listen to live broadcast?", - "confirm_stop_affirm": "Yes, stop broadcast", - "confirm_stop_description": "Are you sure you want to stop your live broadcast? This will end the broadcast and the full recording will be available in the room.", - "confirm_stop_title": "Stop live broadcasting?", - "connection_error": "Connection error - Recording paused", - "failed_already_recording_description": "You are already recording a voice broadcast. Please end your current voice broadcast to start a new one.", - "failed_already_recording_title": "Can't start a new voice broadcast", - "failed_decrypt": "Unable to decrypt voice broadcast", - "failed_generic": "Unable to play this voice broadcast", - "failed_insufficient_permission_description": "You don't have the required permissions to start a voice broadcast in this room. Contact a room administrator to upgrade your permissions.", - "failed_insufficient_permission_title": "Can't start a new voice broadcast", - "failed_no_connection_description": "Unfortunately we're unable to start a recording right now. Please try again later.", - "failed_no_connection_title": "Connection error", - "failed_others_already_recording_description": "Someone else is already recording a voice broadcast. Wait for their voice broadcast to end to start a new one.", - "failed_others_already_recording_title": "Can't start a new voice broadcast", - "go_live": "Go live", - "live": "Live", - "pause": "pause voice broadcast", - "play": "play voice broadcast", - "resume": "resume voice broadcast" - }, - "voice_message": { - "cant_start_broadcast_description": "You can't start a voice message as you are currently recording a live broadcast. Please end your live broadcast in order to start recording a voice message.", - "cant_start_broadcast_title": "Can't start voice message" - }, "voip": { "already_in_call": "Already in call", "already_in_call_person": "You're already in a call with this person.", @@ -3891,7 +3847,6 @@ "camera_disabled": "Your camera is turned off", "camera_enabled": "Your camera is still enabled", "cannot_call_yourself_description": "You cannot place a call with yourself.", - "change_input_device": "Change input device", "close_lobby": "Close lobby", "connecting": "Connecting", "connection_lost": "Connectivity to the server has been lost", @@ -3910,8 +3865,6 @@ "enable_camera": "Turn on camera", "enable_microphone": "Unmute microphone", "expand": "Return to call", - "failed_call_live_broadcast_description": "You can’t start a call as you are currently recording a live broadcast. Please end your live broadcast in order to start a call.", - "failed_call_live_broadcast_title": "Can’t start a call", "get_call_link": "Share call link", "hangup": "Hangup", "hide_sidebar_button": "Hide sidebar", diff --git a/src/settings/Settings.tsx b/src/settings/Settings.tsx index 08cff0c1bb..6cd5b15a51 100644 --- a/src/settings/Settings.tsx +++ b/src/settings/Settings.tsx @@ -85,8 +85,6 @@ export enum LabGroup { } export enum Features { - VoiceBroadcast = "feature_voice_broadcast", - VoiceBroadcastForceSmallChunks = "feature_voice_broadcast_force_small_chunks", NotificationSettings2 = "feature_notification_settings2", OidcNativeFlow = "feature_oidc_native_flow", ReleaseAnnouncement = "feature_release_announcement", @@ -440,19 +438,6 @@ export const SETTINGS: { [setting: string]: ISetting } = { shouldWarn: true, default: false, }, - [Features.VoiceBroadcast]: { - isFeature: true, - labsGroup: LabGroup.Messaging, - supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS_WITH_CONFIG_PRIORITISED, - supportedLevelsAreOrdered: true, - displayName: _td("labs|voice_broadcast"), - default: false, - }, - [Features.VoiceBroadcastForceSmallChunks]: { - supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS, - displayName: _td("labs|voice_broadcast_force_small_chunks"), - default: false, - }, [Features.OidcNativeFlow]: { isFeature: true, labsGroup: LabGroup.Developer, diff --git a/src/stores/RoomViewStore.tsx b/src/stores/RoomViewStore.tsx index 53e25736f0..66644c06a1 100644 --- a/src/stores/RoomViewStore.tsx +++ b/src/stores/RoomViewStore.tsx @@ -42,15 +42,6 @@ import { UPDATE_EVENT } from "./AsyncStore"; import { SdkContextClass } from "../contexts/SDKContext"; import { CallStore } from "./CallStore"; import { ThreadPayload } from "../dispatcher/payloads/ThreadPayload"; -import { - doClearCurrentVoiceBroadcastPlaybackIfStopped, - doMaybeSetCurrentVoiceBroadcastPlayback, - VoiceBroadcastRecording, - VoiceBroadcastRecordingsStoreEvent, -} from "../voice-broadcast"; -import { IRoomStateEventsActionPayload } from "../actions/MatrixActionCreators"; -import { showCantStartACallDialog } from "../voice-broadcast/utils/showCantStartACallDialog"; -import { pauseNonLiveBroadcastFromOtherRoom } from "../voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom"; import { ActionPayload } from "../dispatcher/payloads"; import { CancelAskToJoinPayload } from "../dispatcher/payloads/CancelAskToJoinPayload"; import { SubmitAskToJoinPayload } from "../dispatcher/payloads/SubmitAskToJoinPayload"; @@ -164,10 +155,6 @@ export class RoomViewStore extends EventEmitter { ) { super(); this.resetDispatcher(dis); - this.stores.voiceBroadcastRecordingsStore.addListener( - VoiceBroadcastRecordingsStoreEvent.CurrentChanged, - this.onCurrentBroadcastRecordingChanged, - ); } public addRoomListener(roomId: string, fn: Listener): void { @@ -182,16 +169,6 @@ export class RoomViewStore extends EventEmitter { this.emit(roomId, isActive); } - private onCurrentBroadcastRecordingChanged = (recording: VoiceBroadcastRecording | null): void => { - if (recording === null) { - const room = this.stores.client?.getRoom(this.state.roomId || undefined); - - if (room) { - this.doMaybeSetCurrentVoiceBroadcastPlayback(room); - } - } - }; - private setState(newState: Partial): void { // If values haven't changed, there's nothing to do. // This only tries a shallow comparison, so unchanged objects will slip @@ -207,16 +184,6 @@ export class RoomViewStore extends EventEmitter { return; } - if (newState.viewingCall) { - // Pause current broadcast, if any - this.stores.voiceBroadcastPlaybacksStore.getCurrent()?.pause(); - - if (this.stores.voiceBroadcastRecordingsStore.getCurrent()) { - showCantStartACallDialog(); - newState.viewingCall = false; - } - } - const lastRoomId = this.state.roomId; this.state = Object.assign(this.state, newState); if (lastRoomId !== this.state.roomId) { @@ -235,29 +202,6 @@ export class RoomViewStore extends EventEmitter { this.emit(UPDATE_EVENT); } - private doMaybeSetCurrentVoiceBroadcastPlayback(room: Room): void { - if (!this.stores.client) return; - doMaybeSetCurrentVoiceBroadcastPlayback( - room, - this.stores.client, - this.stores.voiceBroadcastPlaybacksStore, - this.stores.voiceBroadcastRecordingsStore, - ); - } - - private onRoomStateEvents(event: MatrixEvent): void { - const roomId = event.getRoomId?.(); - - // no room or not current room - if (!roomId || roomId !== this.state.roomId) return; - - const room = this.stores.client?.getRoom(roomId); - - if (room) { - this.doMaybeSetCurrentVoiceBroadcastPlayback(room); - } - } - private onDispatch(payload: ActionPayload): void { // eslint-disable-line @typescript-eslint/naming-convention switch (payload.action) { @@ -283,10 +227,6 @@ export class RoomViewStore extends EventEmitter { wasContextSwitch: false, viewingCall: false, }); - doClearCurrentVoiceBroadcastPlaybackIfStopped(this.stores.voiceBroadcastPlaybacksStore); - break; - case "MatrixActions.RoomState.events": - this.onRoomStateEvents((payload as IRoomStateEventsActionPayload).event); break; case Action.ViewRoomError: this.viewRoomError(payload as ViewRoomErrorPayload); @@ -489,9 +429,6 @@ export class RoomViewStore extends EventEmitter { } if (room) { - pauseNonLiveBroadcastFromOtherRoom(room, this.stores.voiceBroadcastPlaybacksStore); - this.doMaybeSetCurrentVoiceBroadcastPlayback(room); - await setMarkedUnreadState(room, MatrixClientPeg.safeGet(), false); } } else if (payload.room_alias) { diff --git a/src/stores/room-list/MessagePreviewStore.ts b/src/stores/room-list/MessagePreviewStore.ts index e0e06ec980..2577b2ba23 100644 --- a/src/stores/room-list/MessagePreviewStore.ts +++ b/src/stores/room-list/MessagePreviewStore.ts @@ -22,8 +22,6 @@ import { StickerEventPreview } from "./previews/StickerEventPreview"; import { ReactionEventPreview } from "./previews/ReactionEventPreview"; import { UPDATE_EVENT } from "../AsyncStore"; import { IPreview } from "./previews/IPreview"; -import { VoiceBroadcastInfoEventType } from "../../voice-broadcast"; -import { VoiceBroadcastPreview } from "./previews/VoiceBroadcastPreview"; import shouldHideEvent from "../../shouldHideEvent"; // Emitted event for when a room's preview has changed. First argument will the room for which @@ -69,10 +67,6 @@ const PREVIEWS: Record< isState: false, previewer: new PollStartEventPreview(), }, - [VoiceBroadcastInfoEventType]: { - isState: true, - previewer: new VoiceBroadcastPreview(), - }, }; // The maximum number of events we're willing to look back on to get a preview. diff --git a/src/stores/room-list/previews/MessageEventPreview.ts b/src/stores/room-list/previews/MessageEventPreview.ts index 2873320cf3..20631f1425 100644 --- a/src/stores/room-list/previews/MessageEventPreview.ts +++ b/src/stores/room-list/previews/MessageEventPreview.ts @@ -14,15 +14,11 @@ import { _t, sanitizeForTranslation } from "../../../languageHandler"; import { getSenderName, isSelf, shouldPrefixMessagesIn } from "./utils"; import { getHtmlText } from "../../../HtmlUtils"; import { stripHTMLReply, stripPlainReply } from "../../../utils/Reply"; -import { VoiceBroadcastChunkEventType } from "../../../voice-broadcast/types"; export class MessageEventPreview implements IPreview { public getTextFor(event: MatrixEvent, tagId?: TagID, isThread?: boolean): string | null { let eventContent = event.getContent(); - // no preview for broadcast chunks - if (eventContent[VoiceBroadcastChunkEventType]) return null; - if (event.isRelation(RelationType.Replace)) { // It's an edit, generate the preview on the new text eventContent = event.getContent()["m.new_content"]; diff --git a/src/stores/room-list/previews/VoiceBroadcastPreview.ts b/src/stores/room-list/previews/VoiceBroadcastPreview.ts deleted file mode 100644 index 94116692a6..0000000000 --- a/src/stores/room-list/previews/VoiceBroadcastPreview.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastInfoState } from "../../../voice-broadcast/types"; -import { textForVoiceBroadcastStoppedEventWithoutLink } from "../../../voice-broadcast/utils/textForVoiceBroadcastStoppedEventWithoutLink"; -import { IPreview } from "./IPreview"; - -export class VoiceBroadcastPreview implements IPreview { - public getTextFor(event: MatrixEvent, tagId?: string, isThread?: boolean): string | null { - if (!event.isRedacted() && event.getContent()?.state === VoiceBroadcastInfoState.Stopped) { - return textForVoiceBroadcastStoppedEventWithoutLink(event); - } - - return null; - } -} diff --git a/src/stores/widgets/StopGapWidget.ts b/src/stores/widgets/StopGapWidget.ts index 8362f1048a..0472b1664b 100644 --- a/src/stores/widgets/StopGapWidget.ts +++ b/src/stores/widgets/StopGapWidget.ts @@ -284,10 +284,6 @@ export class StopGapWidget extends EventEmitter { }); this.messaging.on("capabilitiesNotified", () => this.emit("capabilitiesNotified")); this.messaging.on(`action:${WidgetApiFromWidgetAction.OpenModalWidget}`, this.onOpenModal); - this.messaging.on(`action:${ElementWidgetActions.JoinCall}`, () => { - // pause voice broadcast recording when any widget sends a "join" - SdkContextClass.instance.voiceBroadcastRecordingsStore.getCurrent()?.pause(); - }); // Always attach a handler for ViewRoom, but permission check it internally this.messaging.on(`action:${ElementWidgetActions.ViewRoom}`, (ev: CustomEvent) => { diff --git a/src/utils/EventRenderingUtils.ts b/src/utils/EventRenderingUtils.ts index 099bf768d8..ed8d4af101 100644 --- a/src/utils/EventRenderingUtils.ts +++ b/src/utils/EventRenderingUtils.ts @@ -21,7 +21,6 @@ import SettingsStore from "../settings/SettingsStore"; import { haveRendererForEvent, JitsiEventFactory, JSONEventFactory, pickFactory } from "../events/EventTileFactory"; import { getMessageModerationState, isLocationEvent, MessageModerationState } from "./EventUtils"; import { ElementCall } from "../models/Call"; -import { VoiceBroadcastInfoEventType, VoiceBroadcastInfoState } from "../voice-broadcast"; const calcIsInfoMessage = ( eventType: EventType | string, @@ -38,8 +37,7 @@ const calcIsInfoMessage = ( eventType !== EventType.RoomCreate && !M_POLL_START.matches(eventType) && !M_POLL_END.matches(eventType) && - !M_BEACON_INFO.matches(eventType) && - !(eventType === VoiceBroadcastInfoEventType && content?.state === VoiceBroadcastInfoState.Started) + !M_BEACON_INFO.matches(eventType) ); }; @@ -91,8 +89,7 @@ export function getEventDisplayInfo( (eventType === EventType.RoomMessage && msgtype === MsgType.Emote) || M_POLL_START.matches(eventType) || M_BEACON_INFO.matches(eventType) || - isLocationEvent(mxEvent) || - eventType === VoiceBroadcastInfoEventType; + isLocationEvent(mxEvent); // If we're showing hidden events in the timeline, we should use the // source tile when there's no regular tile for an event and also for diff --git a/src/utils/EventUtils.ts b/src/utils/EventUtils.ts index 7c5b80697b..d57cefa1b5 100644 --- a/src/utils/EventUtils.ts +++ b/src/utils/EventUtils.ts @@ -30,7 +30,6 @@ import { TimelineRenderingType } from "../contexts/RoomContext"; import { launchPollEditor } from "../components/views/messages/MPollBody"; import { Action } from "../dispatcher/actions"; import { ViewRoomPayload } from "../dispatcher/payloads/ViewRoomPayload"; -import { VoiceBroadcastInfoEventType, VoiceBroadcastInfoState } from "../voice-broadcast/types"; /** * Returns whether an event should allow actions like reply, reactions, edit, etc. @@ -56,9 +55,7 @@ export function isContentActionable(mxEvent: MatrixEvent): boolean { mxEvent.getType() === "m.sticker" || M_POLL_START.matches(mxEvent.getType()) || M_POLL_END.matches(mxEvent.getType()) || - M_BEACON_INFO.matches(mxEvent.getType()) || - (mxEvent.getType() === VoiceBroadcastInfoEventType && - mxEvent.getContent()?.state === VoiceBroadcastInfoState.Started) + M_BEACON_INFO.matches(mxEvent.getType()) ) { return true; } diff --git a/src/voice-broadcast/audio/VoiceBroadcastRecorder.ts b/src/voice-broadcast/audio/VoiceBroadcastRecorder.ts deleted file mode 100644 index 8a6e17a1a5..0000000000 --- a/src/voice-broadcast/audio/VoiceBroadcastRecorder.ts +++ /dev/null @@ -1,181 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { isEqual } from "lodash"; -import { Optional } from "matrix-events-sdk"; -import { logger } from "matrix-js-sdk/src/logger"; -import { TypedEventEmitter } from "matrix-js-sdk/src/matrix"; - -import { getChunkLength } from ".."; -import { IRecordingUpdate, VoiceRecording } from "../../audio/VoiceRecording"; -import { concat } from "../../utils/arrays"; -import { IDestroyable } from "../../utils/IDestroyable"; -import { Singleflight } from "../../utils/Singleflight"; - -export enum VoiceBroadcastRecorderEvent { - ChunkRecorded = "chunk_recorded", - CurrentChunkLengthUpdated = "current_chunk_length_updated", -} - -interface EventMap { - [VoiceBroadcastRecorderEvent.ChunkRecorded]: (chunk: ChunkRecordedPayload) => void; - [VoiceBroadcastRecorderEvent.CurrentChunkLengthUpdated]: (length: number) => void; -} - -export interface ChunkRecordedPayload { - buffer: Uint8Array; - length: number; -} - -// char sequence of "OpusHead" -const OpusHead = [79, 112, 117, 115, 72, 101, 97, 100]; - -// char sequence of "OpusTags" -const OpusTags = [79, 112, 117, 115, 84, 97, 103, 115]; - -/** - * This class provides the function to seamlessly record fixed length chunks. - * Subscribe with on(VoiceBroadcastRecordingEvents.ChunkRecorded, (payload: ChunkRecordedPayload) => {}) - * to retrieve chunks while recording. - */ -export class VoiceBroadcastRecorder - extends TypedEventEmitter - implements IDestroyable -{ - private opusHead?: Uint8Array; - private opusTags?: Uint8Array; - private chunkBuffer = new Uint8Array(0); - // position of the previous chunk in seconds - private previousChunkEndTimePosition = 0; - // current chunk length in seconds - private currentChunkLength = 0; - - public constructor( - private voiceRecording: VoiceRecording, - public readonly targetChunkLength: number, - ) { - super(); - this.voiceRecording.onDataAvailable = this.onDataAvailable; - } - - public async start(): Promise { - await this.voiceRecording.start(); - this.voiceRecording.liveData.onUpdate((data: IRecordingUpdate) => { - this.setCurrentChunkLength(data.timeSeconds - this.previousChunkEndTimePosition); - }); - } - - /** - * Stops the recording and returns the remaining chunk (if any). - */ - public async stop(): Promise> { - try { - await this.voiceRecording.stop(); - } catch { - // Ignore if the recording raises any error. - } - - // forget about that call, so that we can stop it again later - Singleflight.forgetAllFor(this.voiceRecording); - const chunk = this.extractChunk(); - this.currentChunkLength = 0; - this.previousChunkEndTimePosition = 0; - return chunk; - } - - public get contentType(): string { - return this.voiceRecording.contentType; - } - - private setCurrentChunkLength(currentChunkLength: number): void { - if (this.currentChunkLength === currentChunkLength) return; - - this.currentChunkLength = currentChunkLength; - this.emit(VoiceBroadcastRecorderEvent.CurrentChunkLengthUpdated, currentChunkLength); - } - - public getCurrentChunkLength(): number { - return this.currentChunkLength; - } - - private onDataAvailable = (data: ArrayBuffer): void => { - const dataArray = new Uint8Array(data); - - // extract the part, that contains the header type info - const headerType = Array.from(dataArray.slice(28, 36)); - - if (isEqual(OpusHead, headerType)) { - // data seems to be an "OpusHead" header - this.opusHead = dataArray; - return; - } - - if (isEqual(OpusTags, headerType)) { - // data seems to be an "OpusTags" header - this.opusTags = dataArray; - return; - } - - this.setCurrentChunkLength(this.voiceRecording.recorderSeconds! - this.previousChunkEndTimePosition); - this.handleData(dataArray); - }; - - private handleData(data: Uint8Array): void { - this.chunkBuffer = concat(this.chunkBuffer, data); - this.emitChunkIfTargetLengthReached(); - } - - private emitChunkIfTargetLengthReached(): void { - if (this.getCurrentChunkLength() >= this.targetChunkLength) { - this.emitAndResetChunk(); - } - } - - /** - * Extracts the current chunk and resets the buffer. - */ - private extractChunk(): Optional { - if (this.chunkBuffer.length === 0) { - return null; - } - - if (!this.opusHead || !this.opusTags) { - logger.warn("Broadcast chunk cannot be extracted. OpusHead or OpusTags is missing."); - return null; - } - - const currentRecorderTime = this.voiceRecording.recorderSeconds!; - const payload: ChunkRecordedPayload = { - buffer: concat(this.opusHead!, this.opusTags!, this.chunkBuffer), - length: this.getCurrentChunkLength(), - }; - this.chunkBuffer = new Uint8Array(0); - this.setCurrentChunkLength(0); - this.previousChunkEndTimePosition = currentRecorderTime; - return payload; - } - - private emitAndResetChunk(): void { - if (this.chunkBuffer.length === 0) { - return; - } - - this.emit(VoiceBroadcastRecorderEvent.ChunkRecorded, this.extractChunk()!); - } - - public destroy(): void { - this.removeAllListeners(); - this.voiceRecording.destroy(); - } -} - -export const createVoiceBroadcastRecorder = (): VoiceBroadcastRecorder => { - const voiceRecording = new VoiceRecording(); - voiceRecording.disableMaxLength(); - return new VoiceBroadcastRecorder(voiceRecording, getChunkLength()); -}; diff --git a/src/voice-broadcast/components/VoiceBroadcastBody.tsx b/src/voice-broadcast/components/VoiceBroadcastBody.tsx deleted file mode 100644 index 916ee9f907..0000000000 --- a/src/voice-broadcast/components/VoiceBroadcastBody.tsx +++ /dev/null @@ -1,58 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React, { useContext, useEffect, useState } from "react"; -import { MatrixEvent, RelationType } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastRecordingBody, - shouldDisplayAsVoiceBroadcastRecordingTile, - VoiceBroadcastInfoEventType, - VoiceBroadcastPlaybackBody, - VoiceBroadcastInfoState, -} from ".."; -import { IBodyProps } from "../../components/views/messages/IBodyProps"; -import { RelationsHelper, RelationsHelperEvent } from "../../events/RelationsHelper"; -import { SDKContext } from "../../contexts/SDKContext"; -import { useMatrixClientContext } from "../../contexts/MatrixClientContext"; - -export const VoiceBroadcastBody: React.FC = ({ mxEvent }) => { - const sdkContext = useContext(SDKContext); - const client = useMatrixClientContext(); - const [infoState, setInfoState] = useState(mxEvent.getContent()?.state || VoiceBroadcastInfoState.Stopped); - - useEffect(() => { - const onInfoEvent = (event: MatrixEvent): void => { - if (event.getContent()?.state === VoiceBroadcastInfoState.Stopped) { - // only a stopped event can change the tile state - setInfoState(VoiceBroadcastInfoState.Stopped); - } - }; - - const relationsHelper = new RelationsHelper( - mxEvent, - RelationType.Reference, - VoiceBroadcastInfoEventType, - client, - ); - relationsHelper.on(RelationsHelperEvent.Add, onInfoEvent); - relationsHelper.emitCurrent(); - - return () => { - relationsHelper.destroy(); - }; - }); - - if (shouldDisplayAsVoiceBroadcastRecordingTile(infoState, client, mxEvent)) { - const recording = sdkContext.voiceBroadcastRecordingsStore.getByInfoEvent(mxEvent, client); - return ; - } - - const playback = sdkContext.voiceBroadcastPlaybacksStore.getByInfoEvent(mxEvent, client); - return ; -}; diff --git a/src/voice-broadcast/components/atoms/LiveBadge.tsx b/src/voice-broadcast/components/atoms/LiveBadge.tsx deleted file mode 100644 index 2591fee435..0000000000 --- a/src/voice-broadcast/components/atoms/LiveBadge.tsx +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import classNames from "classnames"; -import React from "react"; - -import { Icon as LiveIcon } from "../../../../res/img/compound/live-16px.svg"; -import { _t } from "../../../languageHandler"; - -interface Props { - grey?: boolean; -} - -export const LiveBadge: React.FC = ({ grey = false }) => { - const liveBadgeClasses = classNames("mx_LiveBadge", { - "mx_LiveBadge--grey": grey, - }); - - return ( -
- - {_t("voice_broadcast|live")} -
- ); -}; diff --git a/src/voice-broadcast/components/atoms/SeekButton.tsx b/src/voice-broadcast/components/atoms/SeekButton.tsx deleted file mode 100644 index 5ee0826488..0000000000 --- a/src/voice-broadcast/components/atoms/SeekButton.tsx +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; - -import AccessibleButton from "../../../components/views/elements/AccessibleButton"; - -interface Props { - icon: React.FC>; - label: string; - onClick: () => void; -} - -export const SeekButton: React.FC = ({ onClick, icon: Icon, label }) => { - return ( - - - - ); -}; diff --git a/src/voice-broadcast/components/atoms/VoiceBroadcastControl.tsx b/src/voice-broadcast/components/atoms/VoiceBroadcastControl.tsx deleted file mode 100644 index 177b8fd732..0000000000 --- a/src/voice-broadcast/components/atoms/VoiceBroadcastControl.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import classNames from "classnames"; -import React, { ReactElement } from "react"; - -import AccessibleButton from "../../../components/views/elements/AccessibleButton"; - -interface Props { - className?: string; - icon: ReactElement; - label: string; - onClick: () => void; -} - -export const VoiceBroadcastControl: React.FC = ({ className = "", icon, label, onClick }) => { - return ( - - {icon} - - ); -}; diff --git a/src/voice-broadcast/components/atoms/VoiceBroadcastError.tsx b/src/voice-broadcast/components/atoms/VoiceBroadcastError.tsx deleted file mode 100644 index d326853f4e..0000000000 --- a/src/voice-broadcast/components/atoms/VoiceBroadcastError.tsx +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { WarningIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; - -interface Props { - message: string; -} - -export const VoiceBroadcastError: React.FC = ({ message }) => { - return ( -
- - {message} -
- ); -}; diff --git a/src/voice-broadcast/components/atoms/VoiceBroadcastHeader.tsx b/src/voice-broadcast/components/atoms/VoiceBroadcastHeader.tsx deleted file mode 100644 index 52c0251c5e..0000000000 --- a/src/voice-broadcast/components/atoms/VoiceBroadcastHeader.tsx +++ /dev/null @@ -1,139 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { Room } from "matrix-js-sdk/src/matrix"; -import classNames from "classnames"; -import CloseIcon from "@vector-im/compound-design-tokens/assets/web/icons/close"; -import MicrophoneIcon from "@vector-im/compound-design-tokens/assets/web/icons/mic-on-solid"; - -import { LiveBadge, VoiceBroadcastLiveness } from "../.."; -import { Icon as LiveIcon } from "../../../../res/img/compound/live-16px.svg"; -import { Icon as TimerIcon } from "../../../../res/img/compound/timer-16px.svg"; -import { _t } from "../../../languageHandler"; -import RoomAvatar from "../../../components/views/avatars/RoomAvatar"; -import AccessibleButton, { ButtonEvent } from "../../../components/views/elements/AccessibleButton"; -import Clock from "../../../components/views/audio_messages/Clock"; -import { formatTimeLeft } from "../../../DateUtils"; -import Spinner from "../../../components/views/elements/Spinner"; -import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload"; -import { Action } from "../../../dispatcher/actions"; -import dis from "../../../dispatcher/dispatcher"; - -interface VoiceBroadcastHeaderProps { - linkToRoom?: boolean; - live?: VoiceBroadcastLiveness; - liveBadgePosition?: "middle" | "right"; - onCloseClick?: () => void; - onMicrophoneLineClick?: ((e: ButtonEvent) => void | Promise) | null; - room: Room; - microphoneLabel?: string; - showBroadcast?: boolean; - showBuffering?: boolean; - bufferingPosition?: "line" | "title"; - timeLeft?: number; - showClose?: boolean; -} - -export const VoiceBroadcastHeader: React.FC = ({ - linkToRoom = false, - live = "not-live", - liveBadgePosition = "right", - onCloseClick = (): void => {}, - onMicrophoneLineClick = null, - room, - microphoneLabel, - showBroadcast = false, - showBuffering = false, - bufferingPosition = "line", - showClose = false, - timeLeft, -}) => { - const broadcast = showBroadcast && ( -
- - {_t("voice_broadcast|action")} -
- ); - - const liveBadge = live !== "not-live" && ; - - const closeButton = showClose && ( - - - - ); - - const timeLeftLine = timeLeft && ( -
- - -
- ); - - const bufferingLine = showBuffering && bufferingPosition === "line" && ( -
- - {_t("voice_broadcast|buffering")} -
- ); - - const microphoneLineClasses = classNames({ - mx_VoiceBroadcastHeader_line: true, - ["mx_VoiceBroadcastHeader_mic--clickable"]: onMicrophoneLineClick, - }); - - const microphoneLine = microphoneLabel && ( - - - {microphoneLabel} - - ); - - const onRoomAvatarOrNameClick = (): void => { - dis.dispatch({ - action: Action.ViewRoom, - room_id: room.roomId, - metricsTrigger: undefined, // other - }); - }; - - let roomAvatar = ; - let roomName = ( -
-
{room.name}
- {showBuffering && bufferingPosition === "title" && } -
- ); - - if (linkToRoom) { - roomAvatar = {roomAvatar}; - - roomName = {roomName}; - } - - return ( -
- {roomAvatar} -
- {roomName} - {microphoneLine} - {timeLeftLine} - {broadcast} - {bufferingLine} - {liveBadgePosition === "middle" && liveBadge} -
- {liveBadgePosition === "right" && liveBadge} - {closeButton} -
- ); -}; diff --git a/src/voice-broadcast/components/atoms/VoiceBroadcastPlaybackControl.tsx b/src/voice-broadcast/components/atoms/VoiceBroadcastPlaybackControl.tsx deleted file mode 100644 index 08531b8afd..0000000000 --- a/src/voice-broadcast/components/atoms/VoiceBroadcastPlaybackControl.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022, 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React, { ReactElement } from "react"; -import PauseIcon from "@vector-im/compound-design-tokens/assets/web/icons/pause-solid"; -import PlayIcon from "@vector-im/compound-design-tokens/assets/web/icons/play-solid"; - -import { _t } from "../../../languageHandler"; -import { VoiceBroadcastControl, VoiceBroadcastPlaybackState } from "../.."; - -interface Props { - onClick: () => void; - state: VoiceBroadcastPlaybackState; -} - -export const VoiceBroadcastPlaybackControl: React.FC = ({ onClick, state }) => { - let controlIcon: ReactElement | null = null; - let controlLabel: string | null = null; - let className = ""; - - switch (state) { - case VoiceBroadcastPlaybackState.Stopped: - controlIcon = ; - className = "mx_VoiceBroadcastControl-play"; - controlLabel = _t("voice_broadcast|play"); - break; - case VoiceBroadcastPlaybackState.Paused: - controlIcon = ; - className = "mx_VoiceBroadcastControl-play"; - controlLabel = _t("voice_broadcast|resume"); - break; - case VoiceBroadcastPlaybackState.Buffering: - case VoiceBroadcastPlaybackState.Playing: - controlIcon = ; - controlLabel = _t("voice_broadcast|pause"); - break; - } - - if (controlIcon && controlLabel) { - return ( - - ); - } - - return null; -}; diff --git a/src/voice-broadcast/components/atoms/VoiceBroadcastRecordingConnectionError.tsx b/src/voice-broadcast/components/atoms/VoiceBroadcastRecordingConnectionError.tsx deleted file mode 100644 index 250d71f2f3..0000000000 --- a/src/voice-broadcast/components/atoms/VoiceBroadcastRecordingConnectionError.tsx +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { WarningIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; - -import { _t } from "../../../languageHandler"; - -export const VoiceBroadcastRecordingConnectionError: React.FC = () => { - return ( -
- - {_t("voice_broadcast|connection_error")} -
- ); -}; diff --git a/src/voice-broadcast/components/atoms/VoiceBroadcastRoomSubtitle.tsx b/src/voice-broadcast/components/atoms/VoiceBroadcastRoomSubtitle.tsx deleted file mode 100644 index 20b7379789..0000000000 --- a/src/voice-broadcast/components/atoms/VoiceBroadcastRoomSubtitle.tsx +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; - -import { Icon as LiveIcon } from "../../../../res/img/compound/live-16px.svg"; -import { _t } from "../../../languageHandler"; - -export const VoiceBroadcastRoomSubtitle: React.FC = () => { - return ( -
- - {_t("voice_broadcast|live")} -
- ); -}; diff --git a/src/voice-broadcast/components/molecules/ConfirmListenBroadcastStopCurrent.tsx b/src/voice-broadcast/components/molecules/ConfirmListenBroadcastStopCurrent.tsx deleted file mode 100644 index 3dadfeba60..0000000000 --- a/src/voice-broadcast/components/molecules/ConfirmListenBroadcastStopCurrent.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; - -import BaseDialog from "../../../components/views/dialogs/BaseDialog"; -import DialogButtons from "../../../components/views/elements/DialogButtons"; -import { _t } from "../../../languageHandler"; -import Modal from "../../../Modal"; - -interface Props { - onFinished: (confirmed?: boolean) => void; -} - -export const ConfirmListenBroadcastStopCurrentDialog: React.FC = ({ onFinished }) => { - return ( - -

{_t("voice_broadcast|confirm_listen_description")}

- onFinished(true)} - primaryButton={_t("voice_broadcast|confirm_listen_affirm")} - cancelButton={_t("action|no")} - onCancel={() => onFinished(false)} - /> -
- ); -}; - -export const showConfirmListenBroadcastStopCurrentDialog = async (): Promise => { - const { finished } = Modal.createDialog(ConfirmListenBroadcastStopCurrentDialog); - const [confirmed] = await finished; - return !!confirmed; -}; diff --git a/src/voice-broadcast/components/molecules/VoiceBroadcastPlaybackBody.tsx b/src/voice-broadcast/components/molecules/VoiceBroadcastPlaybackBody.tsx deleted file mode 100644 index 913b144960..0000000000 --- a/src/voice-broadcast/components/molecules/VoiceBroadcastPlaybackBody.tsx +++ /dev/null @@ -1,102 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React, { ReactElement } from "react"; -import classNames from "classnames"; - -import { - VoiceBroadcastError, - VoiceBroadcastHeader, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybackControl, - VoiceBroadcastPlaybackState, -} from "../.."; -import { useVoiceBroadcastPlayback } from "../../hooks/useVoiceBroadcastPlayback"; -import { Icon as Back30sIcon } from "../../../../res/img/compound/back-30s-24px.svg"; -import { Icon as Forward30sIcon } from "../../../../res/img/compound/forward-30s-24px.svg"; -import { _t } from "../../../languageHandler"; -import Clock from "../../../components/views/audio_messages/Clock"; -import SeekBar from "../../../components/views/audio_messages/SeekBar"; -import { SeekButton } from "../atoms/SeekButton"; - -const SEEK_TIME = 30; - -interface VoiceBroadcastPlaybackBodyProps { - pip?: boolean; - playback: VoiceBroadcastPlayback; -} - -export const VoiceBroadcastPlaybackBody: React.FC = ({ pip = false, playback }) => { - const { times, liveness, playbackState, room, sender, toggle } = useVoiceBroadcastPlayback(playback); - - let seekBackwardButton: ReactElement | null = null; - let seekForwardButton: ReactElement | null = null; - - if (playbackState !== VoiceBroadcastPlaybackState.Stopped) { - const onSeekBackwardButtonClick = (): void => { - playback.skipTo(Math.max(0, times.position - SEEK_TIME)); - }; - - seekBackwardButton = ( - - ); - - const onSeekForwardButtonClick = (): void => { - playback.skipTo(Math.min(times.duration, times.position + SEEK_TIME)); - }; - - seekForwardButton = ( - - ); - } - - const classes = classNames({ - mx_VoiceBroadcastBody: true, - ["mx_VoiceBroadcastBody--pip"]: pip, - }); - - const content = - playbackState === VoiceBroadcastPlaybackState.Error ? ( - - ) : ( - <> -
- {seekBackwardButton} - - {seekForwardButton} -
- -
- - -
- - ); - - return ( -
- - {content} -
- ); -}; diff --git a/src/voice-broadcast/components/molecules/VoiceBroadcastPreRecordingPip.tsx b/src/voice-broadcast/components/molecules/VoiceBroadcastPreRecordingPip.tsx deleted file mode 100644 index ac742e0fd8..0000000000 --- a/src/voice-broadcast/components/molecules/VoiceBroadcastPreRecordingPip.tsx +++ /dev/null @@ -1,82 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React, { useRef, useState } from "react"; - -import { VoiceBroadcastHeader } from "../.."; -import AccessibleButton from "../../../components/views/elements/AccessibleButton"; -import { VoiceBroadcastPreRecording } from "../../models/VoiceBroadcastPreRecording"; -import { Icon as LiveIcon } from "../../../../res/img/compound/live-16px.svg"; -import { _t } from "../../../languageHandler"; -import { useAudioDeviceSelection } from "../../../hooks/useAudioDeviceSelection"; -import { DevicesContextMenu } from "../../../components/views/audio_messages/DevicesContextMenu"; - -interface Props { - voiceBroadcastPreRecording: VoiceBroadcastPreRecording; -} - -interface State { - showDeviceSelect: boolean; - disableStartButton: boolean; -} - -export const VoiceBroadcastPreRecordingPip: React.FC = ({ voiceBroadcastPreRecording }) => { - const pipRef = useRef(null); - const { currentDevice, currentDeviceLabel, devices, setDevice } = useAudioDeviceSelection(); - const [state, setState] = useState({ - showDeviceSelect: false, - disableStartButton: false, - }); - - const onDeviceSelect = (device: MediaDeviceInfo): void => { - setState((state) => ({ - ...state, - showDeviceSelect: false, - })); - setDevice(device); - }; - - const onStartBroadcastClick = (): void => { - setState((state) => ({ - ...state, - disableStartButton: true, - })); - - voiceBroadcastPreRecording.start(); - }; - - return ( -
- setState({ ...state, showDeviceSelect: true })} - room={voiceBroadcastPreRecording.room} - microphoneLabel={currentDeviceLabel} - showClose={true} - /> - - - {_t("voice_broadcast|go_live")} - - {state.showDeviceSelect && ( - - )} -
- ); -}; diff --git a/src/voice-broadcast/components/molecules/VoiceBroadcastRecordingBody.tsx b/src/voice-broadcast/components/molecules/VoiceBroadcastRecordingBody.tsx deleted file mode 100644 index 15547792db..0000000000 --- a/src/voice-broadcast/components/molecules/VoiceBroadcastRecordingBody.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; - -import { - useVoiceBroadcastRecording, - VoiceBroadcastHeader, - VoiceBroadcastRecording, - VoiceBroadcastRecordingConnectionError, -} from "../.."; - -interface VoiceBroadcastRecordingBodyProps { - recording: VoiceBroadcastRecording; -} - -export const VoiceBroadcastRecordingBody: React.FC = ({ recording }) => { - const { live, room, sender, recordingState } = useVoiceBroadcastRecording(recording); - - return ( -
- - {recordingState === "connection_error" && } -
- ); -}; diff --git a/src/voice-broadcast/components/molecules/VoiceBroadcastRecordingPip.tsx b/src/voice-broadcast/components/molecules/VoiceBroadcastRecordingPip.tsx deleted file mode 100644 index d04132b220..0000000000 --- a/src/voice-broadcast/components/molecules/VoiceBroadcastRecordingPip.tsx +++ /dev/null @@ -1,116 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React, { useRef, useState } from "react"; -import PauseIcon from "@vector-im/compound-design-tokens/assets/web/icons/pause-solid"; -import MicrophoneIcon from "@vector-im/compound-design-tokens/assets/web/icons/mic-on-solid"; - -import { - VoiceBroadcastControl, - VoiceBroadcastInfoState, - VoiceBroadcastRecording, - VoiceBroadcastRecordingConnectionError, - VoiceBroadcastRecordingState, -} from "../.."; -import { useVoiceBroadcastRecording } from "../../hooks/useVoiceBroadcastRecording"; -import { VoiceBroadcastHeader } from "../atoms/VoiceBroadcastHeader"; -import { Icon as StopIcon } from "../../../../res/img/compound/stop-16.svg"; -import { Icon as RecordIcon } from "../../../../res/img/compound/record-10px.svg"; -import { _t } from "../../../languageHandler"; -import { useAudioDeviceSelection } from "../../../hooks/useAudioDeviceSelection"; -import { DevicesContextMenu } from "../../../components/views/audio_messages/DevicesContextMenu"; -import AccessibleButton from "../../../components/views/elements/AccessibleButton"; - -interface VoiceBroadcastRecordingPipProps { - recording: VoiceBroadcastRecording; -} - -export const VoiceBroadcastRecordingPip: React.FC = ({ recording }) => { - const pipRef = useRef(null); - const { live, timeLeft, recordingState, room, stopRecording, toggleRecording } = - useVoiceBroadcastRecording(recording); - const { currentDevice, devices, setDevice } = useAudioDeviceSelection(); - - const onDeviceSelect = async (device: MediaDeviceInfo): Promise => { - setShowDeviceSelect(false); - - if (currentDevice?.deviceId === device.deviceId) { - // device unchanged - return; - } - - setDevice(device); - - if ( - ( - [VoiceBroadcastInfoState.Paused, VoiceBroadcastInfoState.Stopped] as VoiceBroadcastRecordingState[] - ).includes(recordingState) - ) { - // Nothing to do in these cases. Resume will use the selected device. - return; - } - - // pause and resume to switch the input device - await recording.pause(); - await recording.resume(); - }; - - const [showDeviceSelect, setShowDeviceSelect] = useState(false); - - const toggleControl = - recordingState === VoiceBroadcastInfoState.Paused ? ( - } - label={_t("voice_broadcast|resume")} - /> - ) : ( - } - label={_t("voice_broadcast|pause")} - /> - ); - - const controls = - recordingState === "connection_error" ? ( - - ) : ( -
- {toggleControl} - setShowDeviceSelect(true)} - title={_t("voip|change_input_device")} - > - - - } - label="Stop Recording" - onClick={stopRecording} - /> -
- ); - - return ( -
- -
- {controls} - {showDeviceSelect && ( - - )} -
- ); -}; diff --git a/src/voice-broadcast/components/molecules/VoiceBroadcastSmallPlaybackBody.tsx b/src/voice-broadcast/components/molecules/VoiceBroadcastSmallPlaybackBody.tsx deleted file mode 100644 index a791ac75d7..0000000000 --- a/src/voice-broadcast/components/molecules/VoiceBroadcastSmallPlaybackBody.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import CloseIcon from "@vector-im/compound-design-tokens/assets/web/icons/close"; - -import { - VoiceBroadcastHeader, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybackControl, - VoiceBroadcastPlaybackState, -} from "../.."; -import AccessibleButton from "../../../components/views/elements/AccessibleButton"; -import { useVoiceBroadcastPlayback } from "../../hooks/useVoiceBroadcastPlayback"; - -interface VoiceBroadcastSmallPlaybackBodyProps { - playback: VoiceBroadcastPlayback; -} - -export const VoiceBroadcastSmallPlaybackBody: React.FC = ({ playback }) => { - const { liveness, playbackState, room, sender, toggle } = useVoiceBroadcastPlayback(playback); - return ( -
- - - playback.stop()}> - - -
- ); -}; diff --git a/src/voice-broadcast/hooks/useCurrentVoiceBroadcastPlayback.ts b/src/voice-broadcast/hooks/useCurrentVoiceBroadcastPlayback.ts deleted file mode 100644 index 3ff4081a9f..0000000000 --- a/src/voice-broadcast/hooks/useCurrentVoiceBroadcastPlayback.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { useTypedEventEmitterState } from "../../hooks/useEventEmitter"; -import { VoiceBroadcastPlayback } from "../models/VoiceBroadcastPlayback"; -import { - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPlaybacksStoreEvent, -} from "../stores/VoiceBroadcastPlaybacksStore"; - -export const useCurrentVoiceBroadcastPlayback = ( - voiceBroadcastPlaybackStore: VoiceBroadcastPlaybacksStore, -): { - currentVoiceBroadcastPlayback: VoiceBroadcastPlayback | null; -} => { - const currentVoiceBroadcastPlayback = useTypedEventEmitterState( - voiceBroadcastPlaybackStore, - VoiceBroadcastPlaybacksStoreEvent.CurrentChanged, - (playback?: VoiceBroadcastPlayback) => { - return playback ?? voiceBroadcastPlaybackStore.getCurrent(); - }, - ); - - return { - currentVoiceBroadcastPlayback, - }; -}; diff --git a/src/voice-broadcast/hooks/useCurrentVoiceBroadcastPreRecording.ts b/src/voice-broadcast/hooks/useCurrentVoiceBroadcastPreRecording.ts deleted file mode 100644 index bb14e38640..0000000000 --- a/src/voice-broadcast/hooks/useCurrentVoiceBroadcastPreRecording.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { useTypedEventEmitterState } from "../../hooks/useEventEmitter"; -import { VoiceBroadcastPreRecordingStore } from "../stores/VoiceBroadcastPreRecordingStore"; -import { VoiceBroadcastPreRecording } from "../models/VoiceBroadcastPreRecording"; - -export const useCurrentVoiceBroadcastPreRecording = ( - voiceBroadcastPreRecordingStore: VoiceBroadcastPreRecordingStore, -): { - currentVoiceBroadcastPreRecording: VoiceBroadcastPreRecording | null; -} => { - const currentVoiceBroadcastPreRecording = useTypedEventEmitterState( - voiceBroadcastPreRecordingStore, - "changed", - (preRecording?: VoiceBroadcastPreRecording) => { - return preRecording ?? voiceBroadcastPreRecordingStore.getCurrent(); - }, - ); - - return { - currentVoiceBroadcastPreRecording, - }; -}; diff --git a/src/voice-broadcast/hooks/useCurrentVoiceBroadcastRecording.ts b/src/voice-broadcast/hooks/useCurrentVoiceBroadcastRecording.ts deleted file mode 100644 index 1d4abe3f10..0000000000 --- a/src/voice-broadcast/hooks/useCurrentVoiceBroadcastRecording.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { VoiceBroadcastRecording, VoiceBroadcastRecordingsStore, VoiceBroadcastRecordingsStoreEvent } from ".."; -import { useTypedEventEmitterState } from "../../hooks/useEventEmitter"; - -export const useCurrentVoiceBroadcastRecording = ( - voiceBroadcastRecordingsStore: VoiceBroadcastRecordingsStore, -): { - currentVoiceBroadcastRecording: VoiceBroadcastRecording | null; -} => { - const currentVoiceBroadcastRecording = useTypedEventEmitterState( - voiceBroadcastRecordingsStore, - VoiceBroadcastRecordingsStoreEvent.CurrentChanged, - (recording?: VoiceBroadcastRecording) => { - return recording ?? voiceBroadcastRecordingsStore.getCurrent(); - }, - ); - - return { - currentVoiceBroadcastRecording, - }; -}; diff --git a/src/voice-broadcast/hooks/useHasRoomLiveVoiceBroadcast.ts b/src/voice-broadcast/hooks/useHasRoomLiveVoiceBroadcast.ts deleted file mode 100644 index a298f4dc83..0000000000 --- a/src/voice-broadcast/hooks/useHasRoomLiveVoiceBroadcast.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { useContext, useEffect, useMemo, useState } from "react"; -import { Room, RoomStateEvent } from "matrix-js-sdk/src/matrix"; - -import { hasRoomLiveVoiceBroadcast } from "../utils/hasRoomLiveVoiceBroadcast"; -import { useTypedEventEmitter } from "../../hooks/useEventEmitter"; -import { SDKContext } from "../../contexts/SDKContext"; - -export const useHasRoomLiveVoiceBroadcast = (room: Room): boolean => { - const sdkContext = useContext(SDKContext); - const [hasLiveVoiceBroadcast, setHasLiveVoiceBroadcast] = useState(false); - - const update = useMemo(() => { - return sdkContext?.client - ? () => { - hasRoomLiveVoiceBroadcast(sdkContext.client!, room).then( - ({ hasBroadcast }) => { - setHasLiveVoiceBroadcast(hasBroadcast); - }, - () => {}, // no update on error - ); - } - : () => {}; // noop without client - }, [room, sdkContext, setHasLiveVoiceBroadcast]); - - useEffect(() => { - update(); - }, [update]); - - useTypedEventEmitter(room.currentState, RoomStateEvent.Update, () => update()); - return hasLiveVoiceBroadcast; -}; diff --git a/src/voice-broadcast/hooks/useVoiceBroadcastPlayback.ts b/src/voice-broadcast/hooks/useVoiceBroadcastPlayback.ts deleted file mode 100644 index eb50b0de08..0000000000 --- a/src/voice-broadcast/hooks/useVoiceBroadcastPlayback.ts +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022, 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { Room, RoomMember } from "matrix-js-sdk/src/matrix"; - -import { useTypedEventEmitterState } from "../../hooks/useEventEmitter"; -import { MatrixClientPeg } from "../../MatrixClientPeg"; -import { - VoiceBroadcastLiveness, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybackEvent, - VoiceBroadcastPlaybackState, - VoiceBroadcastPlaybackTimes, -} from ".."; - -export const useVoiceBroadcastPlayback = ( - playback: VoiceBroadcastPlayback, -): { - times: { - duration: number; - position: number; - timeLeft: number; - }; - sender: RoomMember | null; - liveness: VoiceBroadcastLiveness; - playbackState: VoiceBroadcastPlaybackState; - toggle(): void; - room: Room; -} => { - const client = MatrixClientPeg.safeGet(); - const room = client.getRoom(playback.infoEvent.getRoomId()); - - if (!room) { - throw new Error(`Voice Broadcast room not found (event ${playback.infoEvent.getId()})`); - } - - const sender = playback.infoEvent.sender; - - if (!sender) { - throw new Error(`Voice Broadcast sender not found (event ${playback.infoEvent.getId()})`); - } - - const playbackToggle = (): void => { - playback.toggle(); - }; - - const playbackState = useTypedEventEmitterState( - playback, - VoiceBroadcastPlaybackEvent.StateChanged, - (state?: VoiceBroadcastPlaybackState) => { - return state ?? playback.getState(); - }, - ); - - const times = useTypedEventEmitterState( - playback, - VoiceBroadcastPlaybackEvent.TimesChanged, - (t?: VoiceBroadcastPlaybackTimes) => { - return ( - t ?? { - duration: playback.durationSeconds, - position: playback.timeSeconds, - timeLeft: playback.timeLeftSeconds, - } - ); - }, - ); - - const liveness = useTypedEventEmitterState( - playback, - VoiceBroadcastPlaybackEvent.LivenessChanged, - (l?: VoiceBroadcastLiveness) => { - return l ?? playback.getLiveness(); - }, - ); - - return { - times, - liveness: liveness, - playbackState, - room: room, - sender, - toggle: playbackToggle, - }; -}; diff --git a/src/voice-broadcast/hooks/useVoiceBroadcastRecording.tsx b/src/voice-broadcast/hooks/useVoiceBroadcastRecording.tsx deleted file mode 100644 index fa3c635bc9..0000000000 --- a/src/voice-broadcast/hooks/useVoiceBroadcastRecording.tsx +++ /dev/null @@ -1,96 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022, 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { Room, RoomMember } from "matrix-js-sdk/src/matrix"; -import React from "react"; - -import { - VoiceBroadcastInfoState, - VoiceBroadcastRecording, - VoiceBroadcastRecordingEvent, - VoiceBroadcastRecordingState, -} from ".."; -import QuestionDialog from "../../components/views/dialogs/QuestionDialog"; -import { useTypedEventEmitterState } from "../../hooks/useEventEmitter"; -import { _t } from "../../languageHandler"; -import { MatrixClientPeg } from "../../MatrixClientPeg"; -import Modal from "../../Modal"; - -const showStopBroadcastingDialog = async (): Promise => { - const { finished } = Modal.createDialog(QuestionDialog, { - title: _t("voice_broadcast|confirm_stop_title"), - description:

{_t("voice_broadcast|confirm_stop_description")}

, - button: _t("voice_broadcast|confirm_stop_affirm"), - }); - const [confirmed] = await finished; - return !!confirmed; -}; - -export const useVoiceBroadcastRecording = ( - recording: VoiceBroadcastRecording, -): { - live: boolean; - timeLeft: number; - recordingState: VoiceBroadcastRecordingState; - room: Room; - sender: RoomMember | null; - stopRecording(): void; - toggleRecording(): void; -} => { - const client = MatrixClientPeg.safeGet(); - const roomId = recording.infoEvent.getRoomId(); - const room = client.getRoom(roomId); - - if (!room) { - throw new Error("Unable to find voice broadcast room with Id: " + roomId); - } - - const sender = recording.infoEvent.sender; - - if (!sender) { - throw new Error(`Voice Broadcast sender not found (event ${recording.infoEvent.getId()})`); - } - - const stopRecording = async (): Promise => { - const confirmed = await showStopBroadcastingDialog(); - - if (confirmed) { - await recording.stop(); - } - }; - - const recordingState = useTypedEventEmitterState( - recording, - VoiceBroadcastRecordingEvent.StateChanged, - (state?: VoiceBroadcastRecordingState) => { - return state ?? recording.getState(); - }, - ); - - const timeLeft = useTypedEventEmitterState( - recording, - VoiceBroadcastRecordingEvent.TimeLeftChanged, - (t?: number) => { - return t ?? recording.getTimeLeft(); - }, - ); - - const live = ( - [VoiceBroadcastInfoState.Started, VoiceBroadcastInfoState.Resumed] as VoiceBroadcastRecordingState[] - ).includes(recordingState); - - return { - live, - timeLeft, - recordingState, - room, - sender, - stopRecording, - toggleRecording: recording.toggle, - }; -}; diff --git a/src/voice-broadcast/index.ts b/src/voice-broadcast/index.ts deleted file mode 100644 index 712c25fdc2..0000000000 --- a/src/voice-broadcast/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -/** - * Voice Broadcast module - * {@link https://github.com/vector-im/element-meta/discussions/632} - */ - -export * from "./types"; -export * from "./models/VoiceBroadcastPlayback"; -export * from "./models/VoiceBroadcastPreRecording"; -export * from "./models/VoiceBroadcastRecording"; -export * from "./audio/VoiceBroadcastRecorder"; -export * from "./components/VoiceBroadcastBody"; -export * from "./components/atoms/LiveBadge"; -export * from "./components/atoms/VoiceBroadcastControl"; -export * from "./components/atoms/VoiceBroadcastError"; -export * from "./components/atoms/VoiceBroadcastHeader"; -export * from "./components/atoms/VoiceBroadcastPlaybackControl"; -export * from "./components/atoms/VoiceBroadcastRecordingConnectionError"; -export * from "./components/atoms/VoiceBroadcastRoomSubtitle"; -export * from "./components/molecules/ConfirmListenBroadcastStopCurrent"; -export * from "./components/molecules/VoiceBroadcastPlaybackBody"; -export * from "./components/molecules/VoiceBroadcastSmallPlaybackBody"; -export * from "./components/molecules/VoiceBroadcastPreRecordingPip"; -export * from "./components/molecules/VoiceBroadcastRecordingBody"; -export * from "./components/molecules/VoiceBroadcastRecordingPip"; -export * from "./hooks/useCurrentVoiceBroadcastPreRecording"; -export * from "./hooks/useCurrentVoiceBroadcastRecording"; -export * from "./hooks/useHasRoomLiveVoiceBroadcast"; -export * from "./hooks/useVoiceBroadcastRecording"; -export * from "./stores/VoiceBroadcastPlaybacksStore"; -export * from "./stores/VoiceBroadcastPreRecordingStore"; -export * from "./stores/VoiceBroadcastRecordingsStore"; -export * from "./utils/checkVoiceBroadcastPreConditions"; -export * from "./utils/cleanUpBroadcasts"; -export * from "./utils/doClearCurrentVoiceBroadcastPlaybackIfStopped"; -export * from "./utils/doMaybeSetCurrentVoiceBroadcastPlayback"; -export * from "./utils/getChunkLength"; -export * from "./utils/getMaxBroadcastLength"; -export * from "./utils/hasRoomLiveVoiceBroadcast"; -export * from "./utils/isRelatedToVoiceBroadcast"; -export * from "./utils/isVoiceBroadcastStartedEvent"; -export * from "./utils/findRoomLiveVoiceBroadcastFromUserAndDevice"; -export * from "./utils/retrieveStartedInfoEvent"; -export * from "./utils/shouldDisplayAsVoiceBroadcastRecordingTile"; -export * from "./utils/shouldDisplayAsVoiceBroadcastTile"; -export * from "./utils/shouldDisplayAsVoiceBroadcastStoppedText"; -export * from "./utils/startNewVoiceBroadcastRecording"; -export * from "./utils/textForVoiceBroadcastStoppedEvent"; -export * from "./utils/textForVoiceBroadcastStoppedEventWithoutLink"; -export * from "./utils/VoiceBroadcastResumer"; diff --git a/src/voice-broadcast/models/VoiceBroadcastPlayback.ts b/src/voice-broadcast/models/VoiceBroadcastPlayback.ts deleted file mode 100644 index ce6215312f..0000000000 --- a/src/voice-broadcast/models/VoiceBroadcastPlayback.ts +++ /dev/null @@ -1,651 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { - EventType, - MatrixClient, - MatrixEvent, - MatrixEventEvent, - MsgType, - RelationType, - TypedEventEmitter, -} from "matrix-js-sdk/src/matrix"; -import { SimpleObservable } from "matrix-widget-api"; -import { logger } from "matrix-js-sdk/src/logger"; -import { defer, IDeferred } from "matrix-js-sdk/src/utils"; - -import { Playback, PlaybackInterface, PlaybackState } from "../../audio/Playback"; -import { PlaybackManager } from "../../audio/PlaybackManager"; -import { UPDATE_EVENT } from "../../stores/AsyncStore"; -import { MediaEventHelper } from "../../utils/MediaEventHelper"; -import { IDestroyable } from "../../utils/IDestroyable"; -import { - VoiceBroadcastLiveness, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, - VoiceBroadcastInfoEventContent, - VoiceBroadcastRecordingsStore, - showConfirmListenBroadcastStopCurrentDialog, -} from ".."; -import { RelationsHelper, RelationsHelperEvent } from "../../events/RelationsHelper"; -import { VoiceBroadcastChunkEvents } from "../utils/VoiceBroadcastChunkEvents"; -import { determineVoiceBroadcastLiveness } from "../utils/determineVoiceBroadcastLiveness"; -import { _t } from "../../languageHandler"; - -export enum VoiceBroadcastPlaybackState { - Paused = "pause", - Playing = "playing", - Stopped = "stopped", - Buffering = "buffering", - Error = "error", -} - -export enum VoiceBroadcastPlaybackEvent { - TimesChanged = "times_changed", - LivenessChanged = "liveness_changed", - StateChanged = "state_changed", - InfoStateChanged = "info_state_changed", -} - -export type VoiceBroadcastPlaybackTimes = { - duration: number; - position: number; - timeLeft: number; -}; - -interface EventMap { - [VoiceBroadcastPlaybackEvent.TimesChanged]: (times: VoiceBroadcastPlaybackTimes) => void; - [VoiceBroadcastPlaybackEvent.LivenessChanged]: (liveness: VoiceBroadcastLiveness) => void; - [VoiceBroadcastPlaybackEvent.StateChanged]: ( - state: VoiceBroadcastPlaybackState, - playback: VoiceBroadcastPlayback, - ) => void; - [VoiceBroadcastPlaybackEvent.InfoStateChanged]: (state: VoiceBroadcastInfoState) => void; -} - -export class VoiceBroadcastPlayback - extends TypedEventEmitter - implements IDestroyable, PlaybackInterface -{ - private state = VoiceBroadcastPlaybackState.Stopped; - private chunkEvents = new VoiceBroadcastChunkEvents(); - /** @var Map: event Id → undecryptable event */ - private utdChunkEvents: Map = new Map(); - private playbacks = new Map(); - private currentlyPlaying: MatrixEvent | null = null; - /** @var total duration of all chunks in milliseconds */ - private duration = 0; - /** @var current playback position in milliseconds */ - private position = 0; - public readonly liveData = new SimpleObservable(); - private liveness: VoiceBroadcastLiveness = "not-live"; - - // set via addInfoEvent() in constructor - private infoState!: VoiceBroadcastInfoState; - private lastInfoEvent!: MatrixEvent; - - // set via setUpRelationsHelper() in constructor - private chunkRelationHelper!: RelationsHelper; - private infoRelationHelper!: RelationsHelper; - - private skipToNext?: number; - private skipToDeferred?: IDeferred; - - public constructor( - public readonly infoEvent: MatrixEvent, - private client: MatrixClient, - private recordings: VoiceBroadcastRecordingsStore, - ) { - super(); - this.addInfoEvent(this.infoEvent); - this.infoEvent.on(MatrixEventEvent.BeforeRedaction, this.onBeforeRedaction); - this.setUpRelationsHelper(); - } - - private async setUpRelationsHelper(): Promise { - this.infoRelationHelper = new RelationsHelper( - this.infoEvent, - RelationType.Reference, - VoiceBroadcastInfoEventType, - this.client, - ); - this.infoRelationHelper.getCurrent().forEach(this.addInfoEvent); - - if (this.infoState !== VoiceBroadcastInfoState.Stopped) { - // Only required if not stopped. Stopped is the final state. - this.infoRelationHelper.on(RelationsHelperEvent.Add, this.addInfoEvent); - - try { - await this.infoRelationHelper.emitFetchCurrent(); - } catch (err) { - logger.warn("error fetching server side relation for voice broadcast info", err); - // fall back to local events - this.infoRelationHelper.emitCurrent(); - } - } - - this.chunkRelationHelper = new RelationsHelper( - this.infoEvent, - RelationType.Reference, - EventType.RoomMessage, - this.client, - ); - this.chunkRelationHelper.on(RelationsHelperEvent.Add, this.addChunkEvent); - - try { - // TODO Michael W: only fetch events if needed, blocked by PSF-1708 - await this.chunkRelationHelper.emitFetchCurrent(); - } catch (err) { - logger.warn("error fetching server side relation for voice broadcast chunks", err); - // fall back to local events - this.chunkRelationHelper.emitCurrent(); - } - } - - private addChunkEvent = async (event: MatrixEvent): Promise => { - if (!event.getId() && !event.getTxnId()) { - // skip events without id and txn id - return false; - } - - if (event.isDecryptionFailure()) { - this.onChunkEventDecryptionFailure(event); - return false; - } - - if (event.getContent()?.msgtype !== MsgType.Audio) { - // skip non-audio event - return false; - } - - this.chunkEvents.addEvent(event); - this.setDuration(this.chunkEvents.getLength()); - - if (this.getState() === VoiceBroadcastPlaybackState.Buffering) { - await this.startOrPlayNext(); - } - - return true; - }; - - private onChunkEventDecryptionFailure = (event: MatrixEvent): void => { - const eventId = event.getId(); - - if (!eventId) { - // This should not happen, as the existence of the Id is checked before the call. - // Log anyway and return. - logger.warn("Broadcast chunk decryption failure for event without Id", { - broadcast: this.infoEvent.getId(), - }); - return; - } - - if (!this.utdChunkEvents.has(eventId)) { - event.once(MatrixEventEvent.Decrypted, this.onChunkEventDecrypted); - } - - this.utdChunkEvents.set(eventId, event); - this.setError(); - }; - - private onChunkEventDecrypted = async (event: MatrixEvent): Promise => { - const eventId = event.getId(); - - if (!eventId) { - // This should not happen, as the existence of the Id is checked before the call. - // Log anyway and return. - logger.warn("Broadcast chunk decrypted for event without Id", { broadcast: this.infoEvent.getId() }); - return; - } - - this.utdChunkEvents.delete(eventId); - await this.addChunkEvent(event); - - if (this.utdChunkEvents.size === 0) { - // no more UTD events, recover from error to paused - this.setState(VoiceBroadcastPlaybackState.Paused); - } - }; - - private startOrPlayNext = async (): Promise => { - if (this.currentlyPlaying) { - return this.playNext(); - } - - return await this.start(); - }; - - private addInfoEvent = (event: MatrixEvent): void => { - if (this.lastInfoEvent && this.lastInfoEvent.getTs() >= event.getTs()) { - // Only handle newer events - return; - } - - const state = event.getContent()?.state; - - if (!Object.values(VoiceBroadcastInfoState).includes(state)) { - // Do not handle unknown voice broadcast states - return; - } - - this.lastInfoEvent = event; - this.setInfoState(state); - }; - - private onBeforeRedaction = (): void => { - if (this.getState() !== VoiceBroadcastPlaybackState.Stopped) { - this.stop(); - // destroy cleans up everything - this.destroy(); - } - }; - - private async tryLoadPlayback(chunkEvent: MatrixEvent): Promise { - try { - return await this.loadPlayback(chunkEvent); - } catch (err: any) { - logger.warn("Unable to load broadcast playback", { - message: err.message, - broadcastId: this.infoEvent.getId(), - chunkId: chunkEvent.getId(), - }); - this.setError(); - } - } - - private async loadPlayback(chunkEvent: MatrixEvent): Promise { - const eventId = chunkEvent.getId(); - - if (!eventId) { - throw new Error("Broadcast chunk event without Id occurred"); - } - - const helper = new MediaEventHelper(chunkEvent); - const blob = await helper.sourceBlob.value; - const buffer = await blob.arrayBuffer(); - const playback = PlaybackManager.instance.createPlaybackInstance(buffer); - await playback.prepare(); - playback.clockInfo.populatePlaceholdersFrom(chunkEvent); - this.playbacks.set(eventId, playback); - playback.on(UPDATE_EVENT, (state) => this.onPlaybackStateChange(chunkEvent, state)); - playback.clockInfo.liveData.onUpdate(([position]) => { - this.onPlaybackPositionUpdate(chunkEvent, position); - }); - } - - private unloadPlayback(event: MatrixEvent): void { - const playback = this.playbacks.get(event.getId()!); - if (!playback) return; - - playback.destroy(); - this.playbacks.delete(event.getId()!); - } - - private onPlaybackPositionUpdate = (event: MatrixEvent, position: number): void => { - if (event !== this.currentlyPlaying) return; - - const newPosition = this.chunkEvents.getLengthTo(event) + position * 1000; // observable sends seconds - - // do not jump backwards - this can happen when transiting from one to another chunk - if (newPosition < this.position) return; - - this.setPosition(newPosition); - }; - - private setDuration(duration: number): void { - if (this.duration === duration) return; - - this.duration = duration; - this.emitTimesChanged(); - this.liveData.update([this.timeSeconds, this.durationSeconds]); - } - - private setPosition(position: number): void { - if (this.position === position) return; - - this.position = position; - this.emitTimesChanged(); - this.liveData.update([this.timeSeconds, this.durationSeconds]); - } - - private emitTimesChanged(): void { - this.emit(VoiceBroadcastPlaybackEvent.TimesChanged, { - duration: this.durationSeconds, - position: this.timeSeconds, - timeLeft: this.timeLeftSeconds, - }); - } - - private onPlaybackStateChange = async (event: MatrixEvent, newState: PlaybackState): Promise => { - if (event !== this.currentlyPlaying) return; - if (newState !== PlaybackState.Stopped) return; - - await this.playNext(); - this.unloadPlayback(event); - }; - - private async playNext(): Promise { - if (!this.currentlyPlaying) return; - - const next = this.chunkEvents.getNext(this.currentlyPlaying); - - if (next) { - return this.playEvent(next); - } - - if ( - this.getInfoState() === VoiceBroadcastInfoState.Stopped && - this.chunkEvents.getSequenceForEvent(this.currentlyPlaying) === this.lastChunkSequence - ) { - this.stop(); - } else { - // No more chunks available, although the broadcast is not finished → enter buffering state. - this.setState(VoiceBroadcastPlaybackState.Buffering); - } - } - - /** - * @returns {number} The last chunk sequence from the latest info event. - * Falls back to the length of received chunks if the info event does not provide the number. - */ - private get lastChunkSequence(): number { - return ( - this.lastInfoEvent.getContent()?.last_chunk_sequence || - this.chunkEvents.getNumberOfEvents() - ); - } - - private async playEvent(event: MatrixEvent): Promise { - this.setState(VoiceBroadcastPlaybackState.Playing); - this.currentlyPlaying = event; - const playback = await this.tryGetOrLoadPlaybackForEvent(event); - playback?.play(); - } - - private async tryGetOrLoadPlaybackForEvent(event: MatrixEvent): Promise { - try { - return await this.getOrLoadPlaybackForEvent(event); - } catch (err: any) { - logger.warn("Unable to load broadcast playback", { - message: err.message, - broadcastId: this.infoEvent.getId(), - chunkId: event.getId(), - }); - this.setError(); - } - } - - private async getOrLoadPlaybackForEvent(event: MatrixEvent): Promise { - const eventId = event.getId(); - - if (!eventId) { - throw new Error("Broadcast chunk event without Id occurred"); - } - - if (!this.playbacks.has(eventId)) { - // set to buffering while loading the chunk data - const currentState = this.getState(); - this.setState(VoiceBroadcastPlaybackState.Buffering); - await this.loadPlayback(event); - this.setState(currentState); - } - - const playback = this.playbacks.get(eventId); - - if (!playback) { - throw new Error(`Unable to find playback for event ${event.getId()}`); - } - - // try to load the playback for the next event for a smooth(er) playback - const nextEvent = this.chunkEvents.getNext(event); - if (nextEvent) this.tryLoadPlayback(nextEvent); - - return playback; - } - - private getCurrentPlayback(): Playback | undefined { - if (!this.currentlyPlaying) return; - return this.playbacks.get(this.currentlyPlaying.getId()!); - } - - public getLiveness(): VoiceBroadcastLiveness { - return this.liveness; - } - - private setLiveness(liveness: VoiceBroadcastLiveness): void { - if (this.liveness === liveness) return; - - this.liveness = liveness; - this.emit(VoiceBroadcastPlaybackEvent.LivenessChanged, liveness); - } - - public get currentState(): PlaybackState { - return PlaybackState.Playing; - } - - public get timeSeconds(): number { - return this.position / 1000; - } - - public get durationSeconds(): number { - return this.duration / 1000; - } - - public get timeLeftSeconds(): number { - // Sometimes the meta data and the audio files are a little bit out of sync. - // Be sure it never returns a negative value. - return Math.max(0, Math.round(this.durationSeconds) - this.timeSeconds); - } - - public async skipTo(timeSeconds: number): Promise { - this.skipToNext = timeSeconds; - - if (this.skipToDeferred) { - // Skip to position is already in progress. Return the promise for that. - return this.skipToDeferred.promise; - } - - this.skipToDeferred = defer(); - - while (this.skipToNext !== undefined) { - // Skip to position until skipToNext is undefined. - // skipToNext can be set if skipTo is called while already skipping. - const skipToNext = this.skipToNext; - this.skipToNext = undefined; - await this.doSkipTo(skipToNext); - } - - this.skipToDeferred.resolve(); - this.skipToDeferred = undefined; - } - - private async doSkipTo(timeSeconds: number): Promise { - const time = timeSeconds * 1000; - const event = this.chunkEvents.findByTime(time); - - if (!event) { - logger.warn("voice broadcast chunk event to skip to not found"); - return; - } - - const currentPlayback = this.getCurrentPlayback(); - const skipToPlayback = await this.tryGetOrLoadPlaybackForEvent(event); - const currentPlaybackEvent = this.currentlyPlaying; - - if (!skipToPlayback) { - logger.warn("voice broadcast chunk to skip to not found", event); - return; - } - - this.currentlyPlaying = event; - - if (currentPlayback && currentPlaybackEvent && currentPlayback !== skipToPlayback) { - // only stop and unload the playback here without triggering other effects, e.g. play next - currentPlayback.off(UPDATE_EVENT, this.onPlaybackStateChange); - await currentPlayback.stop(); - currentPlayback.on(UPDATE_EVENT, this.onPlaybackStateChange); - this.unloadPlayback(currentPlaybackEvent); - } - - const offsetInChunk = time - this.chunkEvents.getLengthTo(event); - await skipToPlayback.skipTo(offsetInChunk / 1000); - - if (this.state === VoiceBroadcastPlaybackState.Playing && !skipToPlayback.isPlaying) { - await skipToPlayback.play(); - } - - this.setPosition(time); - } - - public async start(): Promise { - if (this.state === VoiceBroadcastPlaybackState.Playing) return; - - const currentRecording = this.recordings.getCurrent(); - - if (currentRecording && currentRecording.getState() !== VoiceBroadcastInfoState.Stopped) { - const shouldStopRecording = await showConfirmListenBroadcastStopCurrentDialog(); - - if (!shouldStopRecording) { - // keep recording - return; - } - - await this.recordings.getCurrent()?.stop(); - } - - const chunkEvents = this.chunkEvents.getEvents(); - - const toPlay = - this.getInfoState() === VoiceBroadcastInfoState.Stopped - ? chunkEvents[0] // start at the beginning for an ended voice broadcast - : chunkEvents[chunkEvents.length - 1]; // start at the current chunk for an ongoing voice broadcast - - if (toPlay) { - return this.playEvent(toPlay); - } - - this.setState(VoiceBroadcastPlaybackState.Buffering); - } - - public stop(): void { - // error is a final state - if (this.getState() === VoiceBroadcastPlaybackState.Error) return; - - this.setState(VoiceBroadcastPlaybackState.Stopped); - this.getCurrentPlayback()?.stop(); - this.currentlyPlaying = null; - this.setPosition(0); - } - - public pause(): void { - // error is a final state - if (this.getState() === VoiceBroadcastPlaybackState.Error) return; - - // stopped voice broadcasts cannot be paused - if (this.getState() === VoiceBroadcastPlaybackState.Stopped) return; - - this.setState(VoiceBroadcastPlaybackState.Paused); - this.getCurrentPlayback()?.pause(); - } - - public resume(): void { - // error is a final state - if (this.getState() === VoiceBroadcastPlaybackState.Error) return; - - if (!this.currentlyPlaying) { - // no playback to resume, start from the beginning - this.start(); - return; - } - - this.setState(VoiceBroadcastPlaybackState.Playing); - this.getCurrentPlayback()?.play(); - } - - /** - * Toggles the playback: - * stopped → playing - * playing → paused - * paused → playing - */ - public async toggle(): Promise { - // error is a final state - if (this.getState() === VoiceBroadcastPlaybackState.Error) return; - - if (this.state === VoiceBroadcastPlaybackState.Stopped) { - await this.start(); - return; - } - - if (this.state === VoiceBroadcastPlaybackState.Paused) { - this.resume(); - return; - } - - this.pause(); - } - - public getState(): VoiceBroadcastPlaybackState { - return this.state; - } - - private setState(state: VoiceBroadcastPlaybackState): void { - if (this.state === state) { - return; - } - - this.state = state; - this.emit(VoiceBroadcastPlaybackEvent.StateChanged, state, this); - } - - /** - * Set error state. Stop current playback, if any. - */ - private setError(): void { - this.setState(VoiceBroadcastPlaybackState.Error); - this.getCurrentPlayback()?.stop(); - this.currentlyPlaying = null; - this.setPosition(0); - } - - public getInfoState(): VoiceBroadcastInfoState { - return this.infoState; - } - - private setInfoState(state: VoiceBroadcastInfoState): void { - if (this.infoState === state) { - return; - } - - this.infoState = state; - this.emit(VoiceBroadcastPlaybackEvent.InfoStateChanged, state); - this.setLiveness(determineVoiceBroadcastLiveness(this.infoState)); - } - - public get errorMessage(): string { - if (this.getState() !== VoiceBroadcastPlaybackState.Error) return ""; - if (this.utdChunkEvents.size) return _t("voice_broadcast|failed_decrypt"); - return _t("voice_broadcast|failed_generic"); - } - - public destroy(): void { - for (const [, utdEvent] of this.utdChunkEvents) { - utdEvent.off(MatrixEventEvent.Decrypted, this.onChunkEventDecrypted); - } - - this.utdChunkEvents.clear(); - - this.chunkRelationHelper.destroy(); - this.infoRelationHelper.destroy(); - this.removeAllListeners(); - - this.chunkEvents = new VoiceBroadcastChunkEvents(); - this.playbacks.forEach((p) => p.destroy()); - this.playbacks = new Map(); - } -} diff --git a/src/voice-broadcast/models/VoiceBroadcastPreRecording.ts b/src/voice-broadcast/models/VoiceBroadcastPreRecording.ts deleted file mode 100644 index 0cf47c6f21..0000000000 --- a/src/voice-broadcast/models/VoiceBroadcastPreRecording.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, Room, RoomMember, TypedEventEmitter } from "matrix-js-sdk/src/matrix"; - -import { IDestroyable } from "../../utils/IDestroyable"; -import { VoiceBroadcastPlaybacksStore } from "../stores/VoiceBroadcastPlaybacksStore"; -import { VoiceBroadcastRecordingsStore } from "../stores/VoiceBroadcastRecordingsStore"; -import { startNewVoiceBroadcastRecording } from "../utils/startNewVoiceBroadcastRecording"; - -type VoiceBroadcastPreRecordingEvent = "dismiss"; - -interface EventMap { - dismiss: (voiceBroadcastPreRecording: VoiceBroadcastPreRecording) => void; -} - -export class VoiceBroadcastPreRecording - extends TypedEventEmitter - implements IDestroyable -{ - public constructor( - public room: Room, - public sender: RoomMember, - private client: MatrixClient, - private playbacksStore: VoiceBroadcastPlaybacksStore, - private recordingsStore: VoiceBroadcastRecordingsStore, - ) { - super(); - } - - public start = async (): Promise => { - await startNewVoiceBroadcastRecording(this.room, this.client, this.playbacksStore, this.recordingsStore); - this.emit("dismiss", this); - }; - - public cancel = (): void => { - this.emit("dismiss", this); - }; - - public destroy(): void { - this.removeAllListeners(); - } -} diff --git a/src/voice-broadcast/models/VoiceBroadcastRecording.ts b/src/voice-broadcast/models/VoiceBroadcastRecording.ts deleted file mode 100644 index ebf8ee697f..0000000000 --- a/src/voice-broadcast/models/VoiceBroadcastRecording.ts +++ /dev/null @@ -1,441 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { logger } from "matrix-js-sdk/src/logger"; -import { - ClientEvent, - ClientEventHandlerMap, - EventType, - MatrixClient, - MatrixEvent, - MatrixEventEvent, - MsgType, - RelationType, - TypedEventEmitter, -} from "matrix-js-sdk/src/matrix"; -import { AudioContent, EncryptedFile } from "matrix-js-sdk/src/types"; - -import { - ChunkRecordedPayload, - createVoiceBroadcastRecorder, - getMaxBroadcastLength, - VoiceBroadcastInfoEventContent, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, - VoiceBroadcastRecorder, - VoiceBroadcastRecorderEvent, -} from ".."; -import { uploadFile } from "../../ContentMessages"; -import { createVoiceMessageContent } from "../../utils/createVoiceMessageContent"; -import { IDestroyable } from "../../utils/IDestroyable"; -import dis from "../../dispatcher/dispatcher"; -import { ActionPayload } from "../../dispatcher/payloads"; -import { VoiceBroadcastChunkEvents } from "../utils/VoiceBroadcastChunkEvents"; -import { RelationsHelper, RelationsHelperEvent } from "../../events/RelationsHelper"; -import { createReconnectedListener } from "../../utils/connection"; -import { localNotificationsAreSilenced } from "../../utils/notifications"; -import { BackgroundAudio } from "../../audio/BackgroundAudio"; - -export enum VoiceBroadcastRecordingEvent { - StateChanged = "liveness_changed", - TimeLeftChanged = "time_left_changed", -} - -export type VoiceBroadcastRecordingState = VoiceBroadcastInfoState | "connection_error"; - -interface EventMap { - [VoiceBroadcastRecordingEvent.StateChanged]: (state: VoiceBroadcastRecordingState) => void; - [VoiceBroadcastRecordingEvent.TimeLeftChanged]: (timeLeft: number) => void; -} - -export class VoiceBroadcastRecording - extends TypedEventEmitter - implements IDestroyable -{ - private state: VoiceBroadcastRecordingState; - private recorder: VoiceBroadcastRecorder | null = null; - private dispatcherRef: string; - private chunkEvents = new VoiceBroadcastChunkEvents(); - private chunkRelationHelper: RelationsHelper; - private maxLength: number; - private timeLeft: number; - private toRetry: Array<() => Promise> = []; - private reconnectedListener: ClientEventHandlerMap[ClientEvent.Sync]; - private roomId: string; - private infoEventId: string; - private backgroundAudio = new BackgroundAudio(); - - /** - * Broadcast chunks have a sequence number to bring them in the correct order and to know if a message is missing. - * This variable holds the last sequence number. - * Starts with 0 because there is no chunk at the beginning of a broadcast. - * Will be incremented when a chunk message is created. - */ - private sequence = 0; - - public constructor( - public readonly infoEvent: MatrixEvent, - private client: MatrixClient, - initialState?: VoiceBroadcastInfoState, - ) { - super(); - this.maxLength = getMaxBroadcastLength(); - this.timeLeft = this.maxLength; - this.infoEventId = this.determineEventIdFromInfoEvent(); - this.roomId = this.determineRoomIdFromInfoEvent(); - - if (initialState) { - this.state = initialState; - } else { - this.state = this.determineInitialStateFromInfoEvent(); - } - - // TODO Michael W: listen for state updates - - this.infoEvent.on(MatrixEventEvent.BeforeRedaction, this.onBeforeRedaction); - this.dispatcherRef = dis.register(this.onAction); - this.chunkRelationHelper = this.initialiseChunkEventRelation(); - this.reconnectedListener = createReconnectedListener(this.onReconnect); - this.client.on(ClientEvent.Sync, this.reconnectedListener); - } - - private initialiseChunkEventRelation(): RelationsHelper { - const relationsHelper = new RelationsHelper( - this.infoEvent, - RelationType.Reference, - EventType.RoomMessage, - this.client, - ); - relationsHelper.on(RelationsHelperEvent.Add, this.onChunkEvent); - - relationsHelper.emitFetchCurrent().catch((err) => { - logger.warn("error fetching server side relation for voice broadcast chunks", err); - // fall back to local events - relationsHelper.emitCurrent(); - }); - - return relationsHelper; - } - - private onChunkEvent = (event: MatrixEvent): void => { - if ( - (!event.getId() && !event.getTxnId()) || - event.getContent()?.msgtype !== MsgType.Audio // don't add non-audio event - ) { - return; - } - - this.chunkEvents.addEvent(event); - }; - - private determineEventIdFromInfoEvent(): string { - const infoEventId = this.infoEvent.getId(); - - if (!infoEventId) { - throw new Error("Cannot create broadcast for info event without Id."); - } - - return infoEventId; - } - - private determineRoomIdFromInfoEvent(): string { - const roomId = this.infoEvent.getRoomId(); - - if (!roomId) { - throw new Error(`Cannot create broadcast for unknown room (info event ${this.infoEventId})`); - } - - return roomId; - } - - /** - * Determines the initial broadcast state. - * Checks all related events. If one has the "stopped" state → stopped, else started. - */ - private determineInitialStateFromInfoEvent(): VoiceBroadcastRecordingState { - const room = this.client.getRoom(this.roomId); - const relations = room - ?.getUnfilteredTimelineSet() - ?.relations?.getChildEventsForEvent(this.infoEventId, RelationType.Reference, VoiceBroadcastInfoEventType); - const relatedEvents = relations?.getRelations(); - return !relatedEvents?.find((event: MatrixEvent) => { - return event.getContent()?.state === VoiceBroadcastInfoState.Stopped; - }) - ? VoiceBroadcastInfoState.Started - : VoiceBroadcastInfoState.Stopped; - } - - public getTimeLeft(): number { - return this.timeLeft; - } - - /** - * Retries failed actions on reconnect. - */ - private onReconnect = async (): Promise => { - // Do nothing if not in connection_error state. - if (this.state !== "connection_error") return; - - // Copy the array, so that it is possible to remove elements from it while iterating over the original. - const toRetryCopy = [...this.toRetry]; - - for (const retryFn of this.toRetry) { - try { - await retryFn(); - // Successfully retried. Remove from array copy. - toRetryCopy.splice(toRetryCopy.indexOf(retryFn), 1); - } catch { - // The current retry callback failed. Stop the loop. - break; - } - } - - this.toRetry = toRetryCopy; - - if (this.toRetry.length === 0) { - // Everything has been successfully retried. Recover from error state to paused. - await this.pause(); - } - }; - - private async setTimeLeft(timeLeft: number): Promise { - if (timeLeft <= 0) { - // time is up - stop the recording - return await this.stop(); - } - - // do never increase time left; no action if equals - if (timeLeft >= this.timeLeft) return; - - this.timeLeft = timeLeft; - this.emit(VoiceBroadcastRecordingEvent.TimeLeftChanged, timeLeft); - } - - public async start(): Promise { - return this.getRecorder().start(); - } - - public async stop(): Promise { - if (this.state === VoiceBroadcastInfoState.Stopped) return; - - this.setState(VoiceBroadcastInfoState.Stopped); - await this.stopRecorder(); - await this.sendInfoStateEvent(VoiceBroadcastInfoState.Stopped); - } - - public async pause(): Promise { - // stopped or already paused recordings cannot be paused - if ( - ( - [VoiceBroadcastInfoState.Stopped, VoiceBroadcastInfoState.Paused] as VoiceBroadcastRecordingState[] - ).includes(this.state) - ) - return; - - this.setState(VoiceBroadcastInfoState.Paused); - await this.stopRecorder(); - await this.sendInfoStateEvent(VoiceBroadcastInfoState.Paused); - } - - public async resume(): Promise { - if (this.state !== VoiceBroadcastInfoState.Paused) return; - - this.setState(VoiceBroadcastInfoState.Resumed); - await this.getRecorder().start(); - await this.sendInfoStateEvent(VoiceBroadcastInfoState.Resumed); - } - - public toggle = async (): Promise => { - if (this.getState() === VoiceBroadcastInfoState.Paused) return this.resume(); - - if ( - ( - [VoiceBroadcastInfoState.Started, VoiceBroadcastInfoState.Resumed] as VoiceBroadcastRecordingState[] - ).includes(this.getState()) - ) { - return this.pause(); - } - }; - - public getState(): VoiceBroadcastRecordingState { - return this.state; - } - - private getRecorder(): VoiceBroadcastRecorder { - if (!this.recorder) { - this.recorder = createVoiceBroadcastRecorder(); - this.recorder.on(VoiceBroadcastRecorderEvent.ChunkRecorded, this.onChunkRecorded); - this.recorder.on(VoiceBroadcastRecorderEvent.CurrentChunkLengthUpdated, this.onCurrentChunkLengthUpdated); - } - - return this.recorder; - } - - public async destroy(): Promise { - if (this.recorder) { - this.recorder.stop(); - this.recorder.destroy(); - } - - this.infoEvent.off(MatrixEventEvent.BeforeRedaction, this.onBeforeRedaction); - this.removeAllListeners(); - dis.unregister(this.dispatcherRef); - this.chunkEvents = new VoiceBroadcastChunkEvents(); - this.chunkRelationHelper.destroy(); - this.client.off(ClientEvent.Sync, this.reconnectedListener); - } - - private onBeforeRedaction = (): void => { - if (this.getState() !== VoiceBroadcastInfoState.Stopped) { - this.setState(VoiceBroadcastInfoState.Stopped); - // destroy cleans up everything - this.destroy(); - } - }; - - private onAction = (payload: ActionPayload): void => { - if (payload.action !== "call_state") return; - - // pause on any call action - this.pause(); - }; - - private setState(state: VoiceBroadcastRecordingState): void { - this.state = state; - this.emit(VoiceBroadcastRecordingEvent.StateChanged, this.state); - } - - private onCurrentChunkLengthUpdated = (currentChunkLength: number): void => { - this.setTimeLeft(this.maxLength - this.chunkEvents.getLengthSeconds() - currentChunkLength); - }; - - private onChunkRecorded = async (chunk: ChunkRecordedPayload): Promise => { - const uploadAndSendFn = async (): Promise => { - const { url, file } = await this.uploadFile(chunk); - await this.sendVoiceMessage(chunk, url, file); - }; - - await this.callWithRetry(uploadAndSendFn); - }; - - /** - * This function is called on connection errors. - * It sets the connection error state and stops the recorder. - */ - private async onConnectionError(): Promise { - this.playConnectionErrorAudioNotification().catch(() => { - // Error logged in playConnectionErrorAudioNotification(). - }); - await this.stopRecorder(false); - this.setState("connection_error"); - } - - private async playConnectionErrorAudioNotification(): Promise { - if (localNotificationsAreSilenced(this.client)) { - return; - } - - await this.backgroundAudio.pickFormatAndPlay("./media/error", ["mp3", "ogg"]); - } - - private async uploadFile(chunk: ChunkRecordedPayload): ReturnType { - return uploadFile( - this.client, - this.roomId, - new Blob([chunk.buffer], { - type: this.getRecorder().contentType, - }), - ); - } - - private async sendVoiceMessage(chunk: ChunkRecordedPayload, url?: string, file?: EncryptedFile): Promise { - /** - * Increment the last sequence number and use it for this message. - * Done outside of the sendMessageFn to get a scoped value. - * Also see {@link VoiceBroadcastRecording.sequence}. - */ - const sequence = ++this.sequence; - - const sendMessageFn = async (): Promise => { - const content = createVoiceMessageContent( - url, - this.getRecorder().contentType, - Math.round(chunk.length * 1000), - chunk.buffer.length, - file, - ); - content["m.relates_to"] = { - rel_type: RelationType.Reference, - event_id: this.infoEventId, - }; - (content)["io.element.voice_broadcast_chunk"] = { - sequence, - }; - - await this.client.sendMessage(this.roomId, content); - }; - - await this.callWithRetry(sendMessageFn); - } - - /** - * Sends an info state event with given state. - * On error stores a resend function and setState(state) in {@link toRetry} and - * sets the broadcast state to connection_error. - */ - private async sendInfoStateEvent(state: VoiceBroadcastInfoState): Promise { - const sendEventFn = async (): Promise => { - await this.client.sendStateEvent( - this.roomId, - VoiceBroadcastInfoEventType, - { - device_id: this.client.getDeviceId(), - state, - last_chunk_sequence: this.sequence, - ["m.relates_to"]: { - rel_type: RelationType.Reference, - event_id: this.infoEventId, - }, - } as VoiceBroadcastInfoEventContent, - this.client.getSafeUserId(), - ); - }; - - await this.callWithRetry(sendEventFn); - } - - /** - * Calls the function. - * On failure adds it to the retry list and triggers connection error. - * {@link toRetry} - * {@link onConnectionError} - */ - private async callWithRetry(retryAbleFn: () => Promise): Promise { - try { - await retryAbleFn(); - } catch { - this.toRetry.push(retryAbleFn); - this.onConnectionError(); - } - } - - private async stopRecorder(emit = true): Promise { - if (!this.recorder) { - return; - } - - try { - const lastChunk = await this.recorder.stop(); - if (lastChunk && emit) { - await this.onChunkRecorded(lastChunk); - } - } catch (err) { - logger.warn("error stopping voice broadcast recorder", err); - } - } -} diff --git a/src/voice-broadcast/stores/VoiceBroadcastPlaybacksStore.ts b/src/voice-broadcast/stores/VoiceBroadcastPlaybacksStore.ts deleted file mode 100644 index 69b8c21d90..0000000000 --- a/src/voice-broadcast/stores/VoiceBroadcastPlaybacksStore.ts +++ /dev/null @@ -1,113 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, MatrixEvent, TypedEventEmitter } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastPlayback, - VoiceBroadcastPlaybackEvent, - VoiceBroadcastPlaybackState, - VoiceBroadcastRecordingsStore, -} from ".."; -import { IDestroyable } from "../../utils/IDestroyable"; - -export enum VoiceBroadcastPlaybacksStoreEvent { - CurrentChanged = "current_changed", -} - -interface EventMap { - [VoiceBroadcastPlaybacksStoreEvent.CurrentChanged]: (recording: VoiceBroadcastPlayback | null) => void; -} - -/** - * This store manages VoiceBroadcastPlaybacks: - * - access the currently playing voice broadcast - * - ensures that only once broadcast is playing at a time - */ -export class VoiceBroadcastPlaybacksStore - extends TypedEventEmitter - implements IDestroyable -{ - private current: VoiceBroadcastPlayback | null = null; - - /** Playbacks indexed by their info event id. */ - private playbacks = new Map(); - - public constructor(private recordings: VoiceBroadcastRecordingsStore) { - super(); - } - - public setCurrent(current: VoiceBroadcastPlayback): void { - if (this.current === current) return; - - this.current = current; - this.addPlayback(current); - this.emit(VoiceBroadcastPlaybacksStoreEvent.CurrentChanged, current); - } - - public clearCurrent(): void { - if (this.current === null) return; - - this.current = null; - this.emit(VoiceBroadcastPlaybacksStoreEvent.CurrentChanged, null); - } - - public getCurrent(): VoiceBroadcastPlayback | null { - return this.current; - } - - public getByInfoEvent(infoEvent: MatrixEvent, client: MatrixClient): VoiceBroadcastPlayback { - const infoEventId = infoEvent.getId()!; - - if (!this.playbacks.has(infoEventId)) { - this.addPlayback(new VoiceBroadcastPlayback(infoEvent, client, this.recordings)); - } - - return this.playbacks.get(infoEventId)!; - } - - private addPlayback(playback: VoiceBroadcastPlayback): void { - const infoEventId = playback.infoEvent.getId()!; - - if (this.playbacks.has(infoEventId)) return; - - this.playbacks.set(infoEventId, playback); - playback.on(VoiceBroadcastPlaybackEvent.StateChanged, this.onPlaybackStateChanged); - } - - private onPlaybackStateChanged = (state: VoiceBroadcastPlaybackState, playback: VoiceBroadcastPlayback): void => { - switch (state) { - case VoiceBroadcastPlaybackState.Buffering: - case VoiceBroadcastPlaybackState.Playing: - this.pauseExcept(playback); - this.setCurrent(playback); - break; - case VoiceBroadcastPlaybackState.Stopped: - this.clearCurrent(); - break; - } - }; - - private pauseExcept(playbackNotToPause: VoiceBroadcastPlayback): void { - for (const playback of this.playbacks.values()) { - if (playback !== playbackNotToPause) { - playback.pause(); - } - } - } - - public destroy(): void { - this.removeAllListeners(); - - for (const playback of this.playbacks.values()) { - playback.off(VoiceBroadcastPlaybackEvent.StateChanged, this.onPlaybackStateChanged); - } - - this.playbacks = new Map(); - } -} diff --git a/src/voice-broadcast/stores/VoiceBroadcastPreRecordingStore.ts b/src/voice-broadcast/stores/VoiceBroadcastPreRecordingStore.ts deleted file mode 100644 index 3552930687..0000000000 --- a/src/voice-broadcast/stores/VoiceBroadcastPreRecordingStore.ts +++ /dev/null @@ -1,63 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { TypedEventEmitter } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastPreRecording } from ".."; -import { IDestroyable } from "../../utils/IDestroyable"; - -export type VoiceBroadcastPreRecordingEvent = "changed"; - -interface EventMap { - changed: (preRecording: VoiceBroadcastPreRecording | null) => void; -} - -export class VoiceBroadcastPreRecordingStore - extends TypedEventEmitter - implements IDestroyable -{ - private current: VoiceBroadcastPreRecording | null = null; - - public setCurrent(current: VoiceBroadcastPreRecording): void { - if (this.current === current) return; - - if (this.current) { - this.current.off("dismiss", this.onCancel); - } - - this.current = current; - current.on("dismiss", this.onCancel); - this.emit("changed", current); - } - - public clearCurrent(): void { - if (this.current === null) return; - - this.current.off("dismiss", this.onCancel); - this.current = null; - this.emit("changed", null); - } - - public getCurrent(): VoiceBroadcastPreRecording | null { - return this.current; - } - - public destroy(): void { - this.removeAllListeners(); - - if (this.current) { - this.current.off("dismiss", this.onCancel); - } - } - - private onCancel = (voiceBroadcastPreRecording: VoiceBroadcastPreRecording): void => { - if (this.current === voiceBroadcastPreRecording) { - this.clearCurrent(); - } - }; -} diff --git a/src/voice-broadcast/stores/VoiceBroadcastRecordingsStore.ts b/src/voice-broadcast/stores/VoiceBroadcastRecordingsStore.ts deleted file mode 100644 index ff0f67b910..0000000000 --- a/src/voice-broadcast/stores/VoiceBroadcastRecordingsStore.ts +++ /dev/null @@ -1,89 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022, 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, MatrixEvent, TypedEventEmitter } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastInfoState, - VoiceBroadcastRecording, - VoiceBroadcastRecordingEvent, - VoiceBroadcastRecordingState, -} from ".."; - -export enum VoiceBroadcastRecordingsStoreEvent { - CurrentChanged = "current_changed", -} - -interface EventMap { - [VoiceBroadcastRecordingsStoreEvent.CurrentChanged]: (recording: VoiceBroadcastRecording | null) => void; -} - -/** - * This store provides access to the current and specific Voice Broadcast recordings. - */ -export class VoiceBroadcastRecordingsStore extends TypedEventEmitter { - private current: VoiceBroadcastRecording | null = null; - private recordings = new Map(); - - public constructor() { - super(); - } - - public setCurrent(current: VoiceBroadcastRecording): void { - if (this.current === current) return; - - const infoEventId = current.infoEvent.getId(); - - if (!infoEventId) { - throw new Error("Got broadcast info event without Id"); - } - - if (this.current) { - this.current.off(VoiceBroadcastRecordingEvent.StateChanged, this.onCurrentStateChanged); - } - - this.current = current; - this.current.on(VoiceBroadcastRecordingEvent.StateChanged, this.onCurrentStateChanged); - this.recordings.set(infoEventId, current); - this.emit(VoiceBroadcastRecordingsStoreEvent.CurrentChanged, current); - } - - public getCurrent(): VoiceBroadcastRecording | null { - return this.current; - } - - public hasCurrent(): boolean { - return this.current !== null; - } - - public clearCurrent(): void { - if (!this.current) return; - - this.current.off(VoiceBroadcastRecordingEvent.StateChanged, this.onCurrentStateChanged); - this.current = null; - this.emit(VoiceBroadcastRecordingsStoreEvent.CurrentChanged, null); - } - - public getByInfoEvent(infoEvent: MatrixEvent, client: MatrixClient): VoiceBroadcastRecording { - const infoEventId = infoEvent.getId(); - - if (!infoEventId) { - throw new Error("Got broadcast info event without Id"); - } - - const recording = this.recordings.get(infoEventId) || new VoiceBroadcastRecording(infoEvent, client); - this.recordings.set(infoEventId, recording); - return recording; - } - - private onCurrentStateChanged = (state: VoiceBroadcastRecordingState): void => { - if (state === VoiceBroadcastInfoState.Stopped) { - this.clearCurrent(); - } - }; -} diff --git a/src/voice-broadcast/types.ts b/src/voice-broadcast/types.ts deleted file mode 100644 index 8191a0be16..0000000000 --- a/src/voice-broadcast/types.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { RelationType } from "matrix-js-sdk/src/matrix"; - -export const VoiceBroadcastInfoEventType = "io.element.voice_broadcast_info"; -export const VoiceBroadcastChunkEventType = "io.element.voice_broadcast_chunk"; - -export type VoiceBroadcastLiveness = "live" | "not-live" | "grey"; - -export enum VoiceBroadcastInfoState { - Started = "started", - Paused = "paused", - Resumed = "resumed", - Stopped = "stopped", -} - -export interface VoiceBroadcastInfoEventContent { - device_id: string; - state: VoiceBroadcastInfoState; - chunk_length?: number; - last_chunk_sequence?: number; - ["m.relates_to"]?: { - rel_type: RelationType; - event_id: string; - }; -} diff --git a/src/voice-broadcast/utils/VoiceBroadcastChunkEvents.ts b/src/voice-broadcast/utils/VoiceBroadcastChunkEvents.ts deleted file mode 100644 index 039749cf8d..0000000000 --- a/src/voice-broadcast/utils/VoiceBroadcastChunkEvents.ts +++ /dev/null @@ -1,147 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastChunkEventType } from ".."; - -/** - * Voice broadcast chunk collection. - * Orders chunks by sequence (if available) or timestamp. - */ -export class VoiceBroadcastChunkEvents { - private events: MatrixEvent[] = []; - - public getEvents(): MatrixEvent[] { - return [...this.events]; - } - - public getNext(event: MatrixEvent): MatrixEvent | undefined { - return this.events[this.events.indexOf(event) + 1]; - } - - public addEvent(event: MatrixEvent): void { - if (this.addOrReplaceEvent(event)) { - this.sort(); - } - } - - public addEvents(events: MatrixEvent[]): void { - const atLeastOneNew = events.reduce((newSoFar: boolean, event: MatrixEvent): boolean => { - return this.addOrReplaceEvent(event) || newSoFar; - }, false); - - if (atLeastOneNew) { - this.sort(); - } - } - - public includes(event: MatrixEvent): boolean { - return !!this.events.find((e) => this.equalByTxnIdOrId(event, e)); - } - - /** - * @returns {number} Length in milliseconds - */ - public getLength(): number { - return this.events.reduce((length: number, event: MatrixEvent) => { - return length + this.calculateChunkLength(event); - }, 0); - } - - public getLengthSeconds(): number { - return this.getLength() / 1000; - } - - /** - * Returns the accumulated length to (excl.) a chunk event. - */ - public getLengthTo(event: MatrixEvent): number { - let length = 0; - - for (let i = 0; i < this.events.indexOf(event); i++) { - length += this.calculateChunkLength(this.events[i]); - } - - return length; - } - - public findByTime(time: number): MatrixEvent | null { - let lengthSoFar = 0; - - for (let i = 0; i < this.events.length; i++) { - lengthSoFar += this.calculateChunkLength(this.events[i]); - - if (lengthSoFar >= time) { - return this.events[i]; - } - } - - return null; - } - - public isLast(event: MatrixEvent): boolean { - return this.events.indexOf(event) >= this.events.length - 1; - } - - public getSequenceForEvent(event: MatrixEvent): number | null { - const sequence = parseInt(event.getContent()?.[VoiceBroadcastChunkEventType]?.sequence, 10); - if (!isNaN(sequence)) return sequence; - - if (this.events.includes(event)) return this.events.indexOf(event) + 1; - - return null; - } - - public getNumberOfEvents(): number { - return this.events.length; - } - - private calculateChunkLength(event: MatrixEvent): number { - return event.getContent()?.["org.matrix.msc1767.audio"]?.duration || event.getContent()?.info?.duration || 0; - } - - private addOrReplaceEvent = (event: MatrixEvent): boolean => { - this.events = this.events.filter((e) => !this.equalByTxnIdOrId(event, e)); - this.events.push(event); - return true; - }; - - private equalByTxnIdOrId(eventA: MatrixEvent, eventB: MatrixEvent): boolean { - return ( - (eventA.getTxnId() && eventB.getTxnId() && eventA.getTxnId() === eventB.getTxnId()) || - eventA.getId() === eventB.getId() - ); - } - - /** - * Sort by sequence, if available for all events. - * Else fall back to timestamp. - */ - private sort(): void { - const compareFn = this.allHaveSequence() ? this.compareBySequence : this.compareByTimestamp; - this.events.sort(compareFn); - } - - private compareBySequence = (a: MatrixEvent, b: MatrixEvent): number => { - const aSequence = a.getContent()?.[VoiceBroadcastChunkEventType]?.sequence || 0; - const bSequence = b.getContent()?.[VoiceBroadcastChunkEventType]?.sequence || 0; - return aSequence - bSequence; - }; - - private compareByTimestamp = (a: MatrixEvent, b: MatrixEvent): number => { - return a.getTs() - b.getTs(); - }; - - private allHaveSequence(): boolean { - return !this.events.some((event: MatrixEvent) => { - const sequence = event.getContent()?.[VoiceBroadcastChunkEventType]?.sequence; - return parseInt(sequence, 10) !== sequence; - }); - } -} diff --git a/src/voice-broadcast/utils/VoiceBroadcastResumer.ts b/src/voice-broadcast/utils/VoiceBroadcastResumer.ts deleted file mode 100644 index 963b6ef3a6..0000000000 --- a/src/voice-broadcast/utils/VoiceBroadcastResumer.ts +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { ClientEvent, MatrixClient, MatrixEvent, RelationType, Room, SyncState } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastInfoEventContent, VoiceBroadcastInfoEventType, VoiceBroadcastInfoState } from ".."; -import { IDestroyable } from "../../utils/IDestroyable"; -import { findRoomLiveVoiceBroadcastFromUserAndDevice } from "./findRoomLiveVoiceBroadcastFromUserAndDevice"; - -/** - * Handles voice broadcasts on app resume (after logging in, reload, crash…). - */ -export class VoiceBroadcastResumer implements IDestroyable { - public constructor(private client: MatrixClient) { - if (client.isInitialSyncComplete()) { - this.resume(); - } else { - // wait for initial sync - client.on(ClientEvent.Sync, this.onClientSync); - } - } - - private onClientSync = (): void => { - if (this.client.getSyncState() === SyncState.Syncing) { - this.client.off(ClientEvent.Sync, this.onClientSync); - this.resume(); - } - }; - - private resume(): void { - const userId = this.client.getUserId(); - const deviceId = this.client.getDeviceId(); - - if (!userId || !deviceId) { - // Resuming a voice broadcast only makes sense if there is a user. - return; - } - - this.client.getRooms().forEach((room: Room) => { - const infoEvent = findRoomLiveVoiceBroadcastFromUserAndDevice(room, userId, deviceId); - - if (infoEvent) { - // Found a live broadcast event from current device; stop it. - // Stopping it is a temporary solution (see PSF-1669). - this.sendStopVoiceBroadcastStateEvent(infoEvent); - return false; - } - }); - } - - private sendStopVoiceBroadcastStateEvent(infoEvent: MatrixEvent): void { - const userId = this.client.getUserId(); - const deviceId = this.client.getDeviceId(); - const roomId = infoEvent.getRoomId(); - - if (!userId || !deviceId || !roomId) { - // We can only send a state event if we know all the IDs. - return; - } - - const content: VoiceBroadcastInfoEventContent = { - device_id: deviceId, - state: VoiceBroadcastInfoState.Stopped, - }; - - // all events should reference the started event - const referencedEventId = - infoEvent.getContent()?.state === VoiceBroadcastInfoState.Started - ? infoEvent.getId() - : infoEvent.getContent()?.["m.relates_to"]?.event_id; - - if (referencedEventId) { - content["m.relates_to"] = { - rel_type: RelationType.Reference, - event_id: referencedEventId, - }; - } - - this.client.sendStateEvent(roomId, VoiceBroadcastInfoEventType, content, userId); - } - - public destroy(): void { - this.client.off(ClientEvent.Sync, this.onClientSync); - } -} diff --git a/src/voice-broadcast/utils/checkVoiceBroadcastPreConditions.tsx b/src/voice-broadcast/utils/checkVoiceBroadcastPreConditions.tsx deleted file mode 100644 index ae96bc0b14..0000000000 --- a/src/voice-broadcast/utils/checkVoiceBroadcastPreConditions.tsx +++ /dev/null @@ -1,86 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { MatrixClient, Room, SyncState } from "matrix-js-sdk/src/matrix"; - -import { hasRoomLiveVoiceBroadcast, VoiceBroadcastInfoEventType, VoiceBroadcastRecordingsStore } from ".."; -import InfoDialog from "../../components/views/dialogs/InfoDialog"; -import { _t } from "../../languageHandler"; -import Modal from "../../Modal"; - -const showAlreadyRecordingDialog = (): void => { - Modal.createDialog(InfoDialog, { - title: _t("voice_broadcast|failed_already_recording_title"), - description:

{_t("voice_broadcast|failed_already_recording_description")}

, - hasCloseButton: true, - }); -}; - -const showInsufficientPermissionsDialog = (): void => { - Modal.createDialog(InfoDialog, { - title: _t("voice_broadcast|failed_insufficient_permission_title"), - description:

{_t("voice_broadcast|failed_insufficient_permission_description")}

, - hasCloseButton: true, - }); -}; - -const showOthersAlreadyRecordingDialog = (): void => { - Modal.createDialog(InfoDialog, { - title: _t("voice_broadcast|failed_others_already_recording_title"), - description:

{_t("voice_broadcast|failed_others_already_recording_description")}

, - hasCloseButton: true, - }); -}; - -const showNoConnectionDialog = (): void => { - Modal.createDialog(InfoDialog, { - title: _t("voice_broadcast|failed_no_connection_title"), - description:

{_t("voice_broadcast|failed_no_connection_description")}

, - hasCloseButton: true, - }); -}; - -export const checkVoiceBroadcastPreConditions = async ( - room: Room, - client: MatrixClient, - recordingsStore: VoiceBroadcastRecordingsStore, -): Promise => { - if (recordingsStore.getCurrent()) { - showAlreadyRecordingDialog(); - return false; - } - - const currentUserId = client.getUserId(); - - if (!currentUserId) return false; - - if (!room.currentState.maySendStateEvent(VoiceBroadcastInfoEventType, currentUserId)) { - showInsufficientPermissionsDialog(); - return false; - } - - if (client.getSyncState() === SyncState.Error) { - showNoConnectionDialog(); - return false; - } - - const { hasBroadcast, startedByUser } = await hasRoomLiveVoiceBroadcast(client, room, currentUserId); - - if (hasBroadcast && startedByUser) { - showAlreadyRecordingDialog(); - return false; - } - - if (hasBroadcast) { - showOthersAlreadyRecordingDialog(); - return false; - } - - return true; -}; diff --git a/src/voice-broadcast/utils/cleanUpBroadcasts.ts b/src/voice-broadcast/utils/cleanUpBroadcasts.ts deleted file mode 100644 index 50133274b0..0000000000 --- a/src/voice-broadcast/utils/cleanUpBroadcasts.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { SdkContextClass } from "../../contexts/SDKContext"; - -export const cleanUpBroadcasts = async (stores: SdkContextClass): Promise => { - stores.voiceBroadcastPlaybacksStore.getCurrent()?.stop(); - stores.voiceBroadcastPlaybacksStore.clearCurrent(); - - await stores.voiceBroadcastRecordingsStore.getCurrent()?.stop(); - stores.voiceBroadcastRecordingsStore.clearCurrent(); - - stores.voiceBroadcastPreRecordingStore.getCurrent()?.cancel(); - stores.voiceBroadcastPreRecordingStore.clearCurrent(); -}; diff --git a/src/voice-broadcast/utils/determineVoiceBroadcastLiveness.ts b/src/voice-broadcast/utils/determineVoiceBroadcastLiveness.ts deleted file mode 100644 index 8d9660c572..0000000000 --- a/src/voice-broadcast/utils/determineVoiceBroadcastLiveness.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { VoiceBroadcastInfoState, VoiceBroadcastLiveness } from ".."; - -const stateLivenessMap: Map = new Map([ - ["started", "live"], - ["resumed", "live"], - ["paused", "grey"], - ["stopped", "not-live"], -] as Array<[VoiceBroadcastInfoState, VoiceBroadcastLiveness]>); - -export const determineVoiceBroadcastLiveness = (infoState: VoiceBroadcastInfoState): VoiceBroadcastLiveness => { - return stateLivenessMap.get(infoState) ?? "not-live"; -}; diff --git a/src/voice-broadcast/utils/doClearCurrentVoiceBroadcastPlaybackIfStopped.ts b/src/voice-broadcast/utils/doClearCurrentVoiceBroadcastPlaybackIfStopped.ts deleted file mode 100644 index ef0e1e7aed..0000000000 --- a/src/voice-broadcast/utils/doClearCurrentVoiceBroadcastPlaybackIfStopped.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { VoiceBroadcastPlaybacksStore, VoiceBroadcastPlaybackState } from ".."; - -export const doClearCurrentVoiceBroadcastPlaybackIfStopped = ( - voiceBroadcastPlaybacksStore: VoiceBroadcastPlaybacksStore, -): void => { - if (voiceBroadcastPlaybacksStore.getCurrent()?.getState() === VoiceBroadcastPlaybackState.Stopped) { - // clear current if stopped - return; - } -}; diff --git a/src/voice-broadcast/utils/doMaybeSetCurrentVoiceBroadcastPlayback.ts b/src/voice-broadcast/utils/doMaybeSetCurrentVoiceBroadcastPlayback.ts deleted file mode 100644 index 2ec4ab185d..0000000000 --- a/src/voice-broadcast/utils/doMaybeSetCurrentVoiceBroadcastPlayback.ts +++ /dev/null @@ -1,56 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, Room } from "matrix-js-sdk/src/matrix"; - -import { - hasRoomLiveVoiceBroadcast, - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPlaybackState, - VoiceBroadcastRecordingsStore, -} from ".."; - -/** - * When a live voice broadcast is in the room and - * another voice broadcast is not currently being listened to or recorded - * the live broadcast in the room is set as the current broadcast to listen to. - * When there is no live broadcast in the room: clear current broadcast. - * - * @param {Room} room The room to check for a live voice broadcast - * @param {MatrixClient} client - * @param {VoiceBroadcastPlaybacksStore} voiceBroadcastPlaybacksStore - * @param {VoiceBroadcastRecordingsStore} voiceBroadcastRecordingsStore - */ -export const doMaybeSetCurrentVoiceBroadcastPlayback = async ( - room: Room, - client: MatrixClient, - voiceBroadcastPlaybacksStore: VoiceBroadcastPlaybacksStore, - voiceBroadcastRecordingsStore: VoiceBroadcastRecordingsStore, -): Promise => { - // do not disturb the current recording - if (voiceBroadcastRecordingsStore.hasCurrent()) return; - - const currentPlayback = voiceBroadcastPlaybacksStore.getCurrent(); - - if (currentPlayback && currentPlayback.getState() !== VoiceBroadcastPlaybackState.Stopped) { - // do not disturb the current playback - return; - } - - const { infoEvent } = await hasRoomLiveVoiceBroadcast(client, room); - - if (infoEvent) { - // live broadcast in the room + no recording + not listening yet: set the current broadcast - const voiceBroadcastPlayback = voiceBroadcastPlaybacksStore.getByInfoEvent(infoEvent, client); - voiceBroadcastPlaybacksStore.setCurrent(voiceBroadcastPlayback); - return; - } - - // no broadcast; not listening: clear current - voiceBroadcastPlaybacksStore.clearCurrent(); -}; diff --git a/src/voice-broadcast/utils/findRoomLiveVoiceBroadcastFromUserAndDevice.ts b/src/voice-broadcast/utils/findRoomLiveVoiceBroadcastFromUserAndDevice.ts deleted file mode 100644 index fbd02d44fb..0000000000 --- a/src/voice-broadcast/utils/findRoomLiveVoiceBroadcastFromUserAndDevice.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastInfoEventType, VoiceBroadcastInfoState } from ".."; - -export const findRoomLiveVoiceBroadcastFromUserAndDevice = ( - room: Room, - userId: string, - deviceId: string, -): MatrixEvent | null => { - const stateEvent = room.currentState.getStateEvents(VoiceBroadcastInfoEventType, userId); - - // no broadcast from that user - if (!stateEvent) return null; - - const content = stateEvent.getContent() || {}; - - // stopped broadcast - if (content.state === VoiceBroadcastInfoState.Stopped) return null; - - return content.device_id === deviceId ? stateEvent : null; -}; diff --git a/src/voice-broadcast/utils/getChunkLength.ts b/src/voice-broadcast/utils/getChunkLength.ts deleted file mode 100644 index b3fe2f557d..0000000000 --- a/src/voice-broadcast/utils/getChunkLength.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import SdkConfig, { DEFAULTS } from "../../SdkConfig"; -import { Features } from "../../settings/Settings"; -import SettingsStore from "../../settings/SettingsStore"; - -/** - * Returns the target chunk length for voice broadcasts: - * - If {@see Features.VoiceBroadcastForceSmallChunks} is enabled uses 15s chunk length - * - Otherwise to get the value from the voice_broadcast.chunk_length config - * - If that fails from DEFAULTS - * - If that fails fall back to 120 (two minutes) - */ -export const getChunkLength = (): number => { - if (SettingsStore.getValue(Features.VoiceBroadcastForceSmallChunks)) return 15; - return SdkConfig.get("voice_broadcast")?.chunk_length || DEFAULTS.voice_broadcast?.chunk_length || 120; -}; diff --git a/src/voice-broadcast/utils/getMaxBroadcastLength.ts b/src/voice-broadcast/utils/getMaxBroadcastLength.ts deleted file mode 100644 index e5df83ef05..0000000000 --- a/src/voice-broadcast/utils/getMaxBroadcastLength.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import SdkConfig, { DEFAULTS } from "../../SdkConfig"; - -/** - * Returns the max length for voice broadcasts: - * - Tries to get the value from the voice_broadcast.max_length config - * - If that fails from DEFAULTS - * - If that fails fall back to four hours - */ -export const getMaxBroadcastLength = (): number => { - return SdkConfig.get("voice_broadcast")?.max_length || DEFAULTS.voice_broadcast?.max_length || 4 * 60 * 60; -}; diff --git a/src/voice-broadcast/utils/hasRoomLiveVoiceBroadcast.ts b/src/voice-broadcast/utils/hasRoomLiveVoiceBroadcast.ts deleted file mode 100644 index 939eb1a0c2..0000000000 --- a/src/voice-broadcast/utils/hasRoomLiveVoiceBroadcast.ts +++ /dev/null @@ -1,57 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; - -import { retrieveStartedInfoEvent, VoiceBroadcastInfoEventType, VoiceBroadcastInfoState } from ".."; -import { asyncEvery } from "../../utils/arrays"; - -interface Result { - // whether there is a live broadcast in the room - hasBroadcast: boolean; - // info event of any live broadcast in the room - infoEvent: MatrixEvent | null; - // whether the broadcast was started by the user - startedByUser: boolean; -} - -export const hasRoomLiveVoiceBroadcast = async (client: MatrixClient, room: Room, userId?: string): Promise => { - let hasBroadcast = false; - let startedByUser = false; - let infoEvent: MatrixEvent | null = null; - - const stateEvents = room.currentState.getStateEvents(VoiceBroadcastInfoEventType); - await asyncEvery(stateEvents, async (event: MatrixEvent) => { - const state = event.getContent()?.state; - - if (state && state !== VoiceBroadcastInfoState.Stopped) { - const startEvent = await retrieveStartedInfoEvent(event, client); - - // skip if started voice broadcast event is redacted - if (startEvent?.isRedacted()) return true; - - hasBroadcast = true; - infoEvent = startEvent; - - // state key = sender's MXID - if (event.getStateKey() === userId) { - startedByUser = true; - // break here, because more than true / true is not possible - return false; - } - } - - return true; - }); - - return { - hasBroadcast, - infoEvent, - startedByUser, - }; -}; diff --git a/src/voice-broadcast/utils/isRelatedToVoiceBroadcast.ts b/src/voice-broadcast/utils/isRelatedToVoiceBroadcast.ts deleted file mode 100644 index eca8f890e0..0000000000 --- a/src/voice-broadcast/utils/isRelatedToVoiceBroadcast.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, MatrixEvent, RelationType } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastInfoEventType } from "../types"; - -export const isRelatedToVoiceBroadcast = (event: MatrixEvent, client: MatrixClient): boolean => { - const relation = event.getRelation(); - - return ( - relation?.rel_type === RelationType.Reference && - !!relation.event_id && - client.getRoom(event.getRoomId())?.findEventById(relation.event_id)?.getType() === VoiceBroadcastInfoEventType - ); -}; diff --git a/src/voice-broadcast/utils/isVoiceBroadcastStartedEvent.ts b/src/voice-broadcast/utils/isVoiceBroadcastStartedEvent.ts deleted file mode 100644 index fffe45850e..0000000000 --- a/src/voice-broadcast/utils/isVoiceBroadcastStartedEvent.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastInfoEventType, VoiceBroadcastInfoState } from "../types"; - -export const isVoiceBroadcastStartedEvent = (event: MatrixEvent): boolean => { - return ( - event.getType() === VoiceBroadcastInfoEventType && event.getContent()?.state === VoiceBroadcastInfoState.Started - ); -}; diff --git a/src/voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom.ts b/src/voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom.ts deleted file mode 100644 index e854ba9bac..0000000000 --- a/src/voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { Room } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastPlaybacksStore } from ".."; - -export const pauseNonLiveBroadcastFromOtherRoom = ( - room: Room, - voiceBroadcastPlaybacksStore: VoiceBroadcastPlaybacksStore, -): void => { - const playingBroadcast = voiceBroadcastPlaybacksStore.getCurrent(); - - if ( - !playingBroadcast || - playingBroadcast?.getLiveness() === "live" || - playingBroadcast?.infoEvent.getRoomId() === room.roomId - ) { - return; - } - - voiceBroadcastPlaybacksStore.clearCurrent(); - playingBroadcast.pause(); -}; diff --git a/src/voice-broadcast/utils/retrieveStartedInfoEvent.ts b/src/voice-broadcast/utils/retrieveStartedInfoEvent.ts deleted file mode 100644 index cc5be144c9..0000000000 --- a/src/voice-broadcast/utils/retrieveStartedInfoEvent.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastInfoState } from ".."; - -export const retrieveStartedInfoEvent = async ( - event: MatrixEvent, - client: MatrixClient, -): Promise => { - // started event passed as argument - if (event.getContent()?.state === VoiceBroadcastInfoState.Started) return event; - - const relatedEventId = event.getRelation()?.event_id; - - // no related event - if (!relatedEventId) return null; - - const roomId = event.getRoomId() || ""; - const relatedEventFromRoom = client.getRoom(roomId)?.findEventById(relatedEventId); - - // event found - if (relatedEventFromRoom) return relatedEventFromRoom; - - try { - const relatedEventData = await client.fetchRoomEvent(roomId, relatedEventId); - return new MatrixEvent(relatedEventData); - } catch {} - - return null; -}; diff --git a/src/voice-broadcast/utils/setUpVoiceBroadcastPreRecording.ts b/src/voice-broadcast/utils/setUpVoiceBroadcastPreRecording.ts deleted file mode 100644 index c50607c58f..0000000000 --- a/src/voice-broadcast/utils/setUpVoiceBroadcastPreRecording.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, Room } from "matrix-js-sdk/src/matrix"; - -import { - checkVoiceBroadcastPreConditions, - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPreRecording, - VoiceBroadcastPreRecordingStore, - VoiceBroadcastRecordingsStore, -} from ".."; - -export const setUpVoiceBroadcastPreRecording = async ( - room: Room, - client: MatrixClient, - playbacksStore: VoiceBroadcastPlaybacksStore, - recordingsStore: VoiceBroadcastRecordingsStore, - preRecordingStore: VoiceBroadcastPreRecordingStore, -): Promise => { - if (!(await checkVoiceBroadcastPreConditions(room, client, recordingsStore))) { - return null; - } - - const userId = client.getUserId(); - if (!userId) return null; - - const sender = room.getMember(userId); - if (!sender) return null; - - // pause and clear current playback (if any) - playbacksStore.getCurrent()?.pause(); - playbacksStore.clearCurrent(); - - const preRecording = new VoiceBroadcastPreRecording(room, sender, client, playbacksStore, recordingsStore); - preRecordingStore.setCurrent(preRecording); - return preRecording; -}; diff --git a/src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastRecordingTile.ts b/src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastRecordingTile.ts deleted file mode 100644 index d729d9e1ca..0000000000 --- a/src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastRecordingTile.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastInfoEventContent, VoiceBroadcastInfoState } from ".."; - -export const shouldDisplayAsVoiceBroadcastRecordingTile = ( - state: VoiceBroadcastInfoState, - client: MatrixClient, - event: MatrixEvent, -): boolean => { - const userId = client.getUserId(); - return ( - !!userId && - userId === event.getSender() && - client.getDeviceId() === event.getContent()?.device_id && - state !== VoiceBroadcastInfoState.Stopped - ); -}; diff --git a/src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastStoppedText.ts b/src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastStoppedText.ts deleted file mode 100644 index 2179aff3b7..0000000000 --- a/src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastStoppedText.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastInfoEventType, VoiceBroadcastInfoState } from ".."; - -export const shouldDisplayAsVoiceBroadcastStoppedText = (event: MatrixEvent): boolean => - event.getType() === VoiceBroadcastInfoEventType && - event.getContent()?.state === VoiceBroadcastInfoState.Stopped && - !event.isRedacted(); diff --git a/src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastTile.ts b/src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastTile.ts deleted file mode 100644 index 9a51b33c9a..0000000000 --- a/src/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastTile.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastInfoEventType, VoiceBroadcastInfoState } from ".."; - -export const shouldDisplayAsVoiceBroadcastTile = (event: MatrixEvent): boolean => - event.getType?.() === VoiceBroadcastInfoEventType && - (event.getContent?.()?.state === VoiceBroadcastInfoState.Started || event.isRedacted()); diff --git a/src/voice-broadcast/utils/showCantStartACallDialog.tsx b/src/voice-broadcast/utils/showCantStartACallDialog.tsx deleted file mode 100644 index eeeb86ee07..0000000000 --- a/src/voice-broadcast/utils/showCantStartACallDialog.tsx +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; - -import InfoDialog from "../../components/views/dialogs/InfoDialog"; -import { _t } from "../../languageHandler"; -import Modal from "../../Modal"; - -export const showCantStartACallDialog = (): void => { - Modal.createDialog(InfoDialog, { - title: _t("voip|failed_call_live_broadcast_title"), - description:

{_t("voip|failed_call_live_broadcast_description")}

, - hasCloseButton: true, - }); -}; diff --git a/src/voice-broadcast/utils/startNewVoiceBroadcastRecording.ts b/src/voice-broadcast/utils/startNewVoiceBroadcastRecording.ts deleted file mode 100644 index f0c5a91932..0000000000 --- a/src/voice-broadcast/utils/startNewVoiceBroadcastRecording.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { ISendEventResponse, MatrixClient, Room, RoomStateEvent } from "matrix-js-sdk/src/matrix"; -import { defer } from "matrix-js-sdk/src/utils"; - -import { - VoiceBroadcastInfoEventContent, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, - VoiceBroadcastRecordingsStore, - VoiceBroadcastRecording, - getChunkLength, - VoiceBroadcastPlaybacksStore, -} from ".."; -import { checkVoiceBroadcastPreConditions } from "./checkVoiceBroadcastPreConditions"; - -const startBroadcast = async ( - room: Room, - client: MatrixClient, - recordingsStore: VoiceBroadcastRecordingsStore, -): Promise => { - const { promise, resolve, reject } = defer(); - - const userId = client.getUserId(); - - if (!userId) { - reject("unable to start voice broadcast if current user is unknown"); - return promise; - } - - let result: ISendEventResponse | null = null; - - const onRoomStateEvents = (): void => { - if (!result) return; - - const voiceBroadcastEvent = room.currentState.getStateEvents(VoiceBroadcastInfoEventType, userId); - - if (voiceBroadcastEvent?.getId() === result.event_id) { - room.off(RoomStateEvent.Events, onRoomStateEvents); - const recording = new VoiceBroadcastRecording(voiceBroadcastEvent, client); - recordingsStore.setCurrent(recording); - recording.start(); - resolve(recording); - } - }; - - room.on(RoomStateEvent.Events, onRoomStateEvents); - - // XXX Michael W: refactor to live event - result = await client.sendStateEvent( - room.roomId, - VoiceBroadcastInfoEventType, - { - device_id: client.getDeviceId(), - state: VoiceBroadcastInfoState.Started, - chunk_length: getChunkLength(), - } as VoiceBroadcastInfoEventContent, - userId, - ); - - return promise; -}; - -/** - * Starts a new Voice Broadcast Recording, if - * - the user has the permissions to do so in the room - * - the user is not already recording a voice broadcast - * - there is no other broadcast being recorded in the room, yet - * Sends a voice_broadcast_info state event and waits for the event to actually appear in the room state. - */ -export const startNewVoiceBroadcastRecording = async ( - room: Room, - client: MatrixClient, - playbacksStore: VoiceBroadcastPlaybacksStore, - recordingsStore: VoiceBroadcastRecordingsStore, -): Promise => { - if (!(await checkVoiceBroadcastPreConditions(room, client, recordingsStore))) { - return null; - } - - // pause and clear current playback (if any) - playbacksStore.getCurrent()?.pause(); - playbacksStore.clearCurrent(); - - return startBroadcast(room, client, recordingsStore); -}; diff --git a/src/voice-broadcast/utils/textForVoiceBroadcastStoppedEvent.tsx b/src/voice-broadcast/utils/textForVoiceBroadcastStoppedEvent.tsx deleted file mode 100644 index bc2aa412a5..0000000000 --- a/src/voice-broadcast/utils/textForVoiceBroadcastStoppedEvent.tsx +++ /dev/null @@ -1,41 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React, { ReactNode } from "react"; -import { MatrixClient, MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { MatrixClientPeg } from "../../MatrixClientPeg"; -import AccessibleButton from "../../components/views/elements/AccessibleButton"; -import { highlightEvent } from "../../utils/EventUtils"; -import { _t } from "../../languageHandler"; -import { getSenderName } from "../../utils/event/getSenderName"; - -export const textForVoiceBroadcastStoppedEvent = (event: MatrixEvent, client: MatrixClient): (() => ReactNode) => { - return (): ReactNode => { - const ownUserId = MatrixClientPeg.get()?.getUserId(); - const startEventId = event.getRelation()?.event_id; - const roomId = event.getRoomId(); - - const templateTags = { - a: (text: string) => - startEventId && roomId ? ( - highlightEvent(roomId, startEventId)}> - {text} - - ) : ( - text - ), - }; - - if (ownUserId && ownUserId === event.getSender()) { - return _t("timeline|io.element.voice_broadcast_info|you", {}, templateTags); - } - - return _t("timeline|io.element.voice_broadcast_info|user", { senderName: getSenderName(event) }, templateTags); - }; -}; diff --git a/src/voice-broadcast/utils/textForVoiceBroadcastStoppedEventWithoutLink.ts b/src/voice-broadcast/utils/textForVoiceBroadcastStoppedEventWithoutLink.ts deleted file mode 100644 index 13d7f47c48..0000000000 --- a/src/voice-broadcast/utils/textForVoiceBroadcastStoppedEventWithoutLink.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { _t } from "../../languageHandler"; -import { MatrixClientPeg } from "../../MatrixClientPeg"; -import { getSenderName } from "../../utils/event/getSenderName"; - -export const textForVoiceBroadcastStoppedEventWithoutLink = (event: MatrixEvent): string => { - const ownUserId = MatrixClientPeg.get()?.getUserId(); - - if (ownUserId && ownUserId === event.getSender()) { - return _t("event_preview|io.element.voice_broadcast_info|you", {}); - } - - return _t("event_preview|io.element.voice_broadcast_info|user", { senderName: getSenderName(event) }); -}; diff --git a/test/unit-tests/LegacyCallHandler-test.ts b/test/unit-tests/LegacyCallHandler-test.ts index c3e64dcf94..476d89a1f0 100644 --- a/test/unit-tests/LegacyCallHandler-test.ts +++ b/test/unit-tests/LegacyCallHandler-test.ts @@ -39,10 +39,6 @@ import { Action } from "../../src/dispatcher/actions"; import { getFunctionalMembers } from "../../src/utils/room/getFunctionalMembers"; import SettingsStore from "../../src/settings/SettingsStore"; import { UIFeature } from "../../src/settings/UIFeature"; -import { VoiceBroadcastInfoState, VoiceBroadcastPlayback, VoiceBroadcastRecording } from "../../src/voice-broadcast"; -import { mkVoiceBroadcastInfoStateEvent } from "./voice-broadcast/utils/test-utils"; -import { SdkContextClass } from "../../src/contexts/SDKContext"; -import Modal from "../../src/Modal"; import { createAudioContext } from "../../src/audio/compat"; import * as ManagedHybrid from "../../src/widgets/ManagedHybrid"; @@ -403,53 +399,6 @@ describe("LegacyCallHandler", () => { await callHandler.placeCall(NATIVE_ROOM_ALICE, CallType.Voice); expect(spy).toHaveBeenCalledWith(MatrixClientPeg.safeGet().getRoom(NATIVE_ROOM_ALICE)); }); - - describe("when listening to a voice broadcast", () => { - let voiceBroadcastPlayback: VoiceBroadcastPlayback; - - beforeEach(() => { - voiceBroadcastPlayback = new VoiceBroadcastPlayback( - mkVoiceBroadcastInfoStateEvent( - "!room:example.com", - VoiceBroadcastInfoState.Started, - MatrixClientPeg.safeGet().getSafeUserId(), - "d42", - ), - MatrixClientPeg.safeGet(), - SdkContextClass.instance.voiceBroadcastRecordingsStore, - ); - SdkContextClass.instance.voiceBroadcastPlaybacksStore.setCurrent(voiceBroadcastPlayback); - jest.spyOn(voiceBroadcastPlayback, "pause").mockImplementation(); - }); - - it("and placing a call should pause the broadcast", async () => { - callHandler.placeCall(NATIVE_ROOM_ALICE, CallType.Voice); - await untilCallHandlerEvent(callHandler, LegacyCallHandlerEvent.CallState); - - expect(voiceBroadcastPlayback.pause).toHaveBeenCalled(); - }); - }); - - describe("when recording a voice broadcast", () => { - beforeEach(() => { - SdkContextClass.instance.voiceBroadcastRecordingsStore.setCurrent( - new VoiceBroadcastRecording( - mkVoiceBroadcastInfoStateEvent( - "!room:example.com", - VoiceBroadcastInfoState.Started, - MatrixClientPeg.safeGet().getSafeUserId(), - "d42", - ), - MatrixClientPeg.safeGet(), - ), - ); - }); - - it("and placing a call should show the info dialog", async () => { - callHandler.placeCall(NATIVE_ROOM_ALICE, CallType.Voice); - expect(Modal.createDialog).toMatchSnapshot(); - }); - }); }); describe("LegacyCallHandler without third party protocols", () => { @@ -528,9 +477,6 @@ describe("LegacyCallHandler without third party protocols", () => { audioElement.id = "remoteAudio"; document.body.appendChild(audioElement); - SdkContextClass.instance.voiceBroadcastPlaybacksStore.clearCurrent(); - SdkContextClass.instance.voiceBroadcastRecordingsStore.clearCurrent(); - fetchMock.get( "/media/ring.mp3", { body: new Blob(["1", "2", "3", "4"], { type: "audio/mpeg" }) }, diff --git a/test/unit-tests/Notifier-test.ts b/test/unit-tests/Notifier-test.ts index 0996c625b5..f94f50724d 100644 --- a/test/unit-tests/Notifier-test.ts +++ b/test/unit-tests/Notifier-test.ts @@ -43,8 +43,6 @@ import { mkThread } from "../test-utils/threads"; import dis from "../../src/dispatcher/dispatcher"; import { ThreadPayload } from "../../src/dispatcher/payloads/ThreadPayload"; import { Action } from "../../src/dispatcher/actions"; -import { VoiceBroadcastChunkEventType, VoiceBroadcastInfoState } from "../../src/voice-broadcast"; -import { mkVoiceBroadcastInfoStateEvent } from "./voice-broadcast/utils/test-utils"; import { addReplyToMessageContent } from "../../src/utils/Reply"; jest.mock("../../src/utils/notifications", () => ({ @@ -85,16 +83,13 @@ describe("Notifier", () => { }); }; - const mkAudioEvent = (broadcastChunkContent?: object): MatrixEvent => { - const chunkContent = broadcastChunkContent ? { [VoiceBroadcastChunkEventType]: broadcastChunkContent } : {}; - + const mkAudioEvent = (): MatrixEvent => { return mkEvent({ event: true, type: EventType.RoomMessage, user: "@user:example.com", room: "!room:example.com", content: { - ...chunkContent, msgtype: MsgType.Audio, body: "test audio message", }, @@ -320,24 +315,6 @@ describe("Notifier", () => { ); }); - it("should display the expected notification for a broadcast chunk with sequence = 1", () => { - const audioEvent = mkAudioEvent({ sequence: 1 }); - Notifier.displayPopupNotification(audioEvent, testRoom); - expect(MockPlatform.displayNotification).toHaveBeenCalledWith( - "@user:example.com (!room1:server)", - "@user:example.com started a voice broadcast", - "data:image/png;base64,00", - testRoom, - audioEvent, - ); - }); - - it("should display the expected notification for a broadcast chunk with sequence = 2", () => { - const audioEvent = mkAudioEvent({ sequence: 2 }); - Notifier.displayPopupNotification(audioEvent, testRoom); - expect(MockPlatform.displayNotification).not.toHaveBeenCalled(); - }); - it("should strip reply fallback", () => { const event = mkMessage({ msg: "Test", @@ -581,24 +558,6 @@ describe("Notifier", () => { Notifier.evaluateEvent(mkAudioEvent()); expect(Notifier.displayPopupNotification).toHaveBeenCalledTimes(1); }); - - it("should not show a notification for broadcast info events in any case", () => { - // Let client decide to show a notification - mockClient.getPushActionsForEvent.mockReturnValue({ - notify: true, - tweaks: {}, - }); - - const broadcastStartedEvent = mkVoiceBroadcastInfoStateEvent( - "!other:example.org", - VoiceBroadcastInfoState.Started, - "@user:example.com", - "ABC123", - ); - - Notifier.evaluateEvent(broadcastStartedEvent); - expect(Notifier.displayPopupNotification).not.toHaveBeenCalled(); - }); }); describe("setPromptHidden", () => { diff --git a/test/unit-tests/SdkConfig-test.ts b/test/unit-tests/SdkConfig-test.ts index 4204a698fa..19d0eec9c3 100644 --- a/test/unit-tests/SdkConfig-test.ts +++ b/test/unit-tests/SdkConfig-test.ts @@ -18,10 +18,6 @@ describe("SdkConfig", () => { describe("with custom values", () => { beforeEach(() => { SdkConfig.put({ - voice_broadcast: { - chunk_length: 42, - max_length: 1337, - }, feedback: { existing_issues_url: "https://existing", } as any, @@ -30,8 +26,6 @@ describe("SdkConfig", () => { it("should return the custom config", () => { const customConfig = JSON.parse(JSON.stringify(DEFAULTS)); - customConfig.voice_broadcast.chunk_length = 42; - customConfig.voice_broadcast.max_length = 1337; customConfig.feedback.existing_issues_url = "https://existing"; expect(SdkConfig.get()).toEqual(customConfig); }); diff --git a/test/unit-tests/TestSdkContext.ts b/test/unit-tests/TestSdkContext.ts index 0d7e806514..f60b083bef 100644 --- a/test/unit-tests/TestSdkContext.ts +++ b/test/unit-tests/TestSdkContext.ts @@ -16,11 +16,6 @@ import { SpaceStoreClass } from "../../src/stores/spaces/SpaceStore"; import { WidgetLayoutStore } from "../../src/stores/widgets/WidgetLayoutStore"; import { WidgetPermissionStore } from "../../src/stores/widgets/WidgetPermissionStore"; import WidgetStore from "../../src/stores/WidgetStore"; -import { - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPreRecordingStore, - VoiceBroadcastRecordingsStore, -} from "../../src/voice-broadcast"; /** * A class which provides the same API as SdkContextClass but adds additional unsafe setters which can @@ -36,9 +31,6 @@ export class TestSdkContext extends SdkContextClass { declare public _PosthogAnalytics?: PosthogAnalytics; declare public _SlidingSyncManager?: SlidingSyncManager; declare public _SpaceStore?: SpaceStoreClass; - declare public _VoiceBroadcastRecordingsStore?: VoiceBroadcastRecordingsStore; - declare public _VoiceBroadcastPreRecordingStore?: VoiceBroadcastPreRecordingStore; - declare public _VoiceBroadcastPlaybacksStore?: VoiceBroadcastPlaybacksStore; constructor() { super(); diff --git a/test/unit-tests/__snapshots__/LegacyCallHandler-test.ts.snap b/test/unit-tests/__snapshots__/LegacyCallHandler-test.ts.snap deleted file mode 100644 index aaf4d78758..0000000000 --- a/test/unit-tests/__snapshots__/LegacyCallHandler-test.ts.snap +++ /dev/null @@ -1,24 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`LegacyCallHandler when recording a voice broadcast and placing a call should show the info dialog 1`] = ` -[MockFunction] { - "calls": [ - [ - [Function], - { - "description":

- You can’t start a call as you are currently recording a live broadcast. Please end your live broadcast in order to start a call. -

, - "hasCloseButton": true, - "title": "Can’t start a call", - }, - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], -} -`; diff --git a/test/unit-tests/components/structures/MatrixChat-test.tsx b/test/unit-tests/components/structures/MatrixChat-test.tsx index 28bf99fa97..fd17ccf583 100644 --- a/test/unit-tests/components/structures/MatrixChat-test.tsx +++ b/test/unit-tests/components/structures/MatrixChat-test.tsx @@ -44,7 +44,6 @@ import { } from "../../../test-utils"; import * as leaveRoomUtils from "../../../../src/utils/leave-behaviour"; import { OidcClientError } from "../../../../src/utils/oidc/error"; -import * as voiceBroadcastUtils from "../../../../src/voice-broadcast/utils/cleanUpBroadcasts"; import LegacyCallHandler from "../../../../src/LegacyCallHandler"; import { CallStore } from "../../../../src/stores/CallStore"; import { Call } from "../../../../src/models/Call"; @@ -811,7 +810,6 @@ describe("", () => { jest.spyOn(LegacyCallHandler.instance, "hangupAllCalls") .mockClear() .mockImplementation(() => {}); - jest.spyOn(voiceBroadcastUtils, "cleanUpBroadcasts").mockImplementation(async () => {}); jest.spyOn(PosthogAnalytics.instance, "logout").mockImplementation(() => {}); jest.spyOn(EventIndexPeg, "deleteEventIndex").mockImplementation(async () => {}); @@ -831,22 +829,12 @@ describe("", () => { jest.spyOn(logger, "warn").mockClear(); }); - afterAll(() => { - jest.spyOn(voiceBroadcastUtils, "cleanUpBroadcasts").mockRestore(); - }); - it("should hangup all legacy calls", async () => { await getComponentAndWaitForReady(); await dispatchLogoutAndWait(); expect(LegacyCallHandler.instance.hangupAllCalls).toHaveBeenCalled(); }); - it("should cleanup broadcasts", async () => { - await getComponentAndWaitForReady(); - await dispatchLogoutAndWait(); - expect(voiceBroadcastUtils.cleanUpBroadcasts).toHaveBeenCalled(); - }); - it("should disconnect all calls", async () => { await getComponentAndWaitForReady(); await dispatchLogoutAndWait(); diff --git a/test/unit-tests/components/structures/PipContainer-test.tsx b/test/unit-tests/components/structures/PipContainer-test.tsx index 446727c74e..f573b0a0cd 100644 --- a/test/unit-tests/components/structures/PipContainer-test.tsx +++ b/test/unit-tests/components/structures/PipContainer-test.tsx @@ -10,7 +10,7 @@ import React from "react"; import { mocked, Mocked } from "jest-mock"; import { screen, render, act, cleanup } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; -import { MatrixClient, PendingEventOrdering, Room, MatrixEvent, RoomStateEvent } from "matrix-js-sdk/src/matrix"; +import { MatrixClient, PendingEventOrdering, Room, RoomStateEvent } from "matrix-js-sdk/src/matrix"; import { Widget, ClientWidgetApi } from "matrix-widget-api"; import { UserEvent } from "@testing-library/user-event/dist/types/setup/setup"; @@ -26,7 +26,6 @@ import { wrapInSdkContext, mkRoomCreateEvent, mockPlatformPeg, - flushPromises, useMockMediaDevices, } from "../../../test-utils"; import { MatrixClientPeg } from "../../../../src/MatrixClientPeg"; @@ -39,17 +38,7 @@ import defaultDispatcher from "../../../../src/dispatcher/dispatcher"; import { Action } from "../../../../src/dispatcher/actions"; import { ViewRoomPayload } from "../../../../src/dispatcher/payloads/ViewRoomPayload"; import { TestSdkContext } from "../../TestSdkContext"; -import { - VoiceBroadcastInfoState, - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPreRecording, - VoiceBroadcastPreRecordingStore, - VoiceBroadcastRecording, - VoiceBroadcastRecordingsStore, -} from "../../../../src/voice-broadcast"; -import { mkVoiceBroadcastInfoStateEvent } from "../../voice-broadcast/utils/test-utils"; import { RoomViewStore } from "../../../../src/stores/RoomViewStore"; -import { IRoomStateEventsActionPayload } from "../../../../src/actions/MatrixActionCreators"; import { Container, WidgetLayoutStore } from "../../../../src/stores/widgets/WidgetLayoutStore"; import WidgetStore from "../../../../src/stores/WidgetStore"; import { WidgetType } from "../../../../src/widgets/WidgetType"; @@ -76,13 +65,6 @@ describe("PipContainer", () => { let room: Room; let room2: Room; let alice: RoomMember; - let voiceBroadcastRecordingsStore: VoiceBroadcastRecordingsStore; - let voiceBroadcastPreRecordingStore: VoiceBroadcastPreRecordingStore; - let voiceBroadcastPlaybacksStore: VoiceBroadcastPlaybacksStore; - - const actFlushPromises = async () => { - await flushPromises(); - }; beforeEach(async () => { useMockMediaDevices(); @@ -125,13 +107,7 @@ describe("PipContainer", () => { sdkContext = new TestSdkContext(); // @ts-ignore PipContainer uses SDKContext in the constructor SdkContextClass.instance = sdkContext; - voiceBroadcastRecordingsStore = new VoiceBroadcastRecordingsStore(); - voiceBroadcastPreRecordingStore = new VoiceBroadcastPreRecordingStore(); - voiceBroadcastPlaybacksStore = new VoiceBroadcastPlaybacksStore(voiceBroadcastRecordingsStore); sdkContext.client = client; - sdkContext._VoiceBroadcastRecordingsStore = voiceBroadcastRecordingsStore; - sdkContext._VoiceBroadcastPreRecordingStore = voiceBroadcastPreRecordingStore; - sdkContext._VoiceBroadcastPlaybacksStore = voiceBroadcastPlaybacksStore; }); afterEach(async () => { @@ -190,51 +166,10 @@ describe("PipContainer", () => { ActiveWidgetStore.instance.destroyPersistentWidget("1", room.roomId); }; - const makeVoiceBroadcastInfoStateEvent = (): MatrixEvent => { - return mkVoiceBroadcastInfoStateEvent( - room.roomId, - VoiceBroadcastInfoState.Started, - alice.userId, - client.getDeviceId() || "", - ); - }; - - const setUpVoiceBroadcastRecording = () => { - const infoEvent = makeVoiceBroadcastInfoStateEvent(); - const voiceBroadcastRecording = new VoiceBroadcastRecording(infoEvent, client); - voiceBroadcastRecordingsStore.setCurrent(voiceBroadcastRecording); - }; - - const setUpVoiceBroadcastPreRecording = () => { - const voiceBroadcastPreRecording = new VoiceBroadcastPreRecording( - room, - alice, - client, - voiceBroadcastPlaybacksStore, - voiceBroadcastRecordingsStore, - ); - voiceBroadcastPreRecordingStore.setCurrent(voiceBroadcastPreRecording); - }; - const setUpRoomViewStore = () => { sdkContext._RoomViewStore = new RoomViewStore(defaultDispatcher, sdkContext); }; - const mkVoiceBroadcast = (room: Room): MatrixEvent => { - const infoEvent = makeVoiceBroadcastInfoStateEvent(); - room.currentState.setStateEvents([infoEvent]); - defaultDispatcher.dispatch( - { - action: "MatrixActions.RoomState.events", - event: infoEvent, - state: room.currentState, - lastStateEvent: null, - }, - true, - ); - return infoEvent; - }; - it("hides if there's no content", () => { renderPip(); expect(screen.queryByRole("complementary")).toBeNull(); @@ -339,138 +274,4 @@ describe("PipContainer", () => { WidgetStore.instance.removeVirtualWidget("1", room.roomId); }); - - describe("when there is a voice broadcast recording and pre-recording", () => { - beforeEach(async () => { - setUpVoiceBroadcastPreRecording(); - setUpVoiceBroadcastRecording(); - renderPip(); - await actFlushPromises(); - }); - - it("should render the voice broadcast recording PiP", () => { - // check for the „Live“ badge to be present - expect(screen.queryByText("Live")).toBeInTheDocument(); - }); - - it("and a call it should show both, the call and the recording", async () => { - await withCall(async () => { - // Broadcast: Check for the „Live“ badge to be present - expect(screen.queryByText("Live")).toBeInTheDocument(); - // Call: Check for the „Leave“ button to be present - screen.getByRole("button", { name: "Leave" }); - }); - }); - }); - - describe("when there is a voice broadcast playback and pre-recording", () => { - beforeEach(async () => { - mkVoiceBroadcast(room); - setUpVoiceBroadcastPreRecording(); - renderPip(); - await actFlushPromises(); - }); - - it("should render the voice broadcast pre-recording PiP", () => { - // check for the „Go live“ button - expect(screen.queryByText("Go live")).toBeInTheDocument(); - }); - }); - - describe("when there is a voice broadcast pre-recording", () => { - beforeEach(async () => { - setUpVoiceBroadcastPreRecording(); - renderPip(); - await actFlushPromises(); - }); - - it("should render the voice broadcast pre-recording PiP", () => { - // check for the „Go live“ button - expect(screen.queryByText("Go live")).toBeInTheDocument(); - }); - }); - - describe("when listening to a voice broadcast in a room and then switching to another room", () => { - beforeEach(async () => { - setUpRoomViewStore(); - viewRoom(room.roomId); - mkVoiceBroadcast(room); - await actFlushPromises(); - - expect(voiceBroadcastPlaybacksStore.getCurrent()).toBeTruthy(); - - await voiceBroadcastPlaybacksStore.getCurrent()?.start(); - viewRoom(room2.roomId); - renderPip(); - }); - - it("should render the small voice broadcast playback PiP", () => { - // check for the „pause voice broadcast“ button - expect(screen.getByLabelText("pause voice broadcast")).toBeInTheDocument(); - // check for the absence of the „30s forward“ button - expect(screen.queryByLabelText("30s forward")).not.toBeInTheDocument(); - }); - }); - - describe("when viewing a room with a live voice broadcast", () => { - let startEvent!: MatrixEvent; - - beforeEach(async () => { - setUpRoomViewStore(); - viewRoom(room.roomId); - startEvent = mkVoiceBroadcast(room); - renderPip(); - await actFlushPromises(); - }); - - it("should render the voice broadcast playback pip", () => { - // check for the „resume voice broadcast“ button - expect(screen.queryByLabelText("play voice broadcast")).toBeInTheDocument(); - }); - - describe("and the broadcast stops", () => { - beforeEach(async () => { - const stopEvent = mkVoiceBroadcastInfoStateEvent( - room.roomId, - VoiceBroadcastInfoState.Stopped, - alice.userId, - client.getDeviceId() || "", - startEvent, - ); - - await act(async () => { - room.currentState.setStateEvents([stopEvent]); - defaultDispatcher.dispatch( - { - action: "MatrixActions.RoomState.events", - event: stopEvent, - state: room.currentState, - lastStateEvent: stopEvent, - }, - true, - ); - await flushPromises(); - }); - }); - - it("should not render the voice broadcast playback pip", () => { - // check for the „resume voice broadcast“ button - expect(screen.queryByLabelText("play voice broadcast")).not.toBeInTheDocument(); - }); - }); - - describe("and leaving the room", () => { - beforeEach(async () => { - await act(async () => { - viewRoom(room2.roomId); - await flushPromises(); - }); - }); - - it("should not render the voice broadcast playback pip", () => { - // check for the „resume voice broadcast“ button - expect(screen.queryByLabelText("play voice broadcast")).not.toBeInTheDocument(); - }); - }); - }); }); diff --git a/test/unit-tests/components/structures/UserMenu-test.tsx b/test/unit-tests/components/structures/UserMenu-test.tsx index ac76aba2ad..907bf664b7 100644 --- a/test/unit-tests/components/structures/UserMenu-test.tsx +++ b/test/unit-tests/components/structures/UserMenu-test.tsx @@ -7,20 +7,14 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { act, render, RenderResult, screen, waitFor } from "jest-matrix-react"; -import { DEVICE_CODE_SCOPE, MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; +import { render, screen, waitFor } from "jest-matrix-react"; +import { DEVICE_CODE_SCOPE, MatrixClient, Room } from "matrix-js-sdk/src/matrix"; import { CryptoApi } from "matrix-js-sdk/src/crypto-api"; import { mocked } from "jest-mock"; import fetchMock from "fetch-mock-jest"; import UnwrappedUserMenu from "../../../../src/components/structures/UserMenu"; import { stubClient, wrapInSdkContext } from "../../../test-utils"; -import { - VoiceBroadcastInfoState, - VoiceBroadcastRecording, - VoiceBroadcastRecordingsStore, -} from "../../../../src/voice-broadcast"; -import { mkVoiceBroadcastInfoStateEvent } from "../../voice-broadcast/utils/test-utils"; import { TestSdkContext } from "../../TestSdkContext"; import defaultDispatcher from "../../../../src/dispatcher/dispatcher"; import LogoutDialog from "../../../../src/components/views/dialogs/LogoutDialog"; @@ -34,71 +28,12 @@ import { UserTab } from "../../../../src/components/views/dialogs/UserTab"; describe("", () => { let client: MatrixClient; - let renderResult: RenderResult; let sdkContext: TestSdkContext; beforeEach(() => { sdkContext = new TestSdkContext(); }); - describe(" when video broadcast", () => { - let voiceBroadcastInfoEvent: MatrixEvent; - let voiceBroadcastRecording: VoiceBroadcastRecording; - let voiceBroadcastRecordingsStore: VoiceBroadcastRecordingsStore; - - beforeAll(() => { - client = stubClient(); - voiceBroadcastInfoEvent = mkVoiceBroadcastInfoStateEvent( - "!room:example.com", - VoiceBroadcastInfoState.Started, - client.getUserId() || "", - client.getDeviceId() || "", - ); - }); - - beforeEach(() => { - voiceBroadcastRecordingsStore = new VoiceBroadcastRecordingsStore(); - sdkContext._VoiceBroadcastRecordingsStore = voiceBroadcastRecordingsStore; - - voiceBroadcastRecording = new VoiceBroadcastRecording(voiceBroadcastInfoEvent, client); - }); - - describe("when rendered", () => { - beforeEach(() => { - const UserMenu = wrapInSdkContext(UnwrappedUserMenu, sdkContext); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - - describe("and a live voice broadcast starts", () => { - beforeEach(() => { - act(() => { - voiceBroadcastRecordingsStore.setCurrent(voiceBroadcastRecording); - }); - }); - - it("should render the live voice broadcast avatar addon", () => { - expect(renderResult.queryByTestId("user-menu-live-vb")).toBeInTheDocument(); - }); - - describe("and the broadcast ends", () => { - beforeEach(() => { - act(() => { - voiceBroadcastRecordingsStore.clearCurrent(); - }); - }); - - it("should not render the live voice broadcast avatar addon", () => { - expect(renderResult.queryByTestId("user-menu-live-vb")).not.toBeInTheDocument(); - }); - }); - }); - }); - }); - describe(" logout", () => { beforeEach(() => { client = stubClient(); @@ -106,7 +41,7 @@ describe("", () => { it("should logout directly if no crypto", async () => { const UserMenu = wrapInSdkContext(UnwrappedUserMenu, sdkContext); - renderResult = render(); + render(); mocked(client.getRooms).mockReturnValue([ { @@ -128,7 +63,7 @@ describe("", () => { it("should logout directly if no encrypted rooms", async () => { const UserMenu = wrapInSdkContext(UnwrappedUserMenu, sdkContext); - renderResult = render(); + render(); mocked(client.getRooms).mockReturnValue([ { @@ -152,7 +87,7 @@ describe("", () => { it("should show dialog if some encrypted rooms", async () => { const UserMenu = wrapInSdkContext(UnwrappedUserMenu, sdkContext); - renderResult = render(); + render(); mocked(client.getRooms).mockReturnValue([ { diff --git a/test/unit-tests/components/structures/__snapshots__/UserMenu-test.tsx.snap b/test/unit-tests/components/structures/__snapshots__/UserMenu-test.tsx.snap deleted file mode 100644 index 029db9bfd4..0000000000 --- a/test/unit-tests/components/structures/__snapshots__/UserMenu-test.tsx.snap +++ /dev/null @@ -1,33 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` when video broadcast when rendered should render as expected 1`] = ` -
-
- -
-
-`; diff --git a/test/unit-tests/components/views/context_menus/MessageContextMenu-test.tsx b/test/unit-tests/components/views/context_menus/MessageContextMenu-test.tsx index 892ca6dbed..142840fd5a 100644 --- a/test/unit-tests/components/views/context_menus/MessageContextMenu-test.tsx +++ b/test/unit-tests/components/views/context_menus/MessageContextMenu-test.tsx @@ -37,8 +37,6 @@ import dispatcher from "../../../../../src/dispatcher/dispatcher"; import SettingsStore from "../../../../../src/settings/SettingsStore"; import { ReadPinsEventId } from "../../../../../src/components/views/right_panel/types"; import { Action } from "../../../../../src/dispatcher/actions"; -import { mkVoiceBroadcastInfoStateEvent } from "../../../voice-broadcast/utils/test-utils"; -import { VoiceBroadcastInfoState } from "../../../../../src/voice-broadcast"; import { createMessageEventContent } from "../../../../test-utils/events"; import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; @@ -234,17 +232,6 @@ describe("MessageContextMenu", () => { expect(document.querySelector('li[aria-label="Forward"]')).toBeFalsy(); }); - it("should not allow forwarding a voice broadcast", () => { - const broadcastStartEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - "@user:example.com", - "ABC123", - ); - createMenu(broadcastStartEvent); - expect(document.querySelector('li[aria-label="Forward"]')).toBeFalsy(); - }); - describe("forwarding beacons", () => { const aliceId = "@alice:server.org"; diff --git a/test/unit-tests/components/views/dialogs/ConfirmRedactDialog-test.tsx b/test/unit-tests/components/views/dialogs/ConfirmRedactDialog-test.tsx index c648f416f9..ed5b545ed5 100644 --- a/test/unit-tests/components/views/dialogs/ConfirmRedactDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/ConfirmRedactDialog-test.tsx @@ -6,14 +6,11 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import { Feature, ServerSupport } from "matrix-js-sdk/src/feature"; -import { MatrixClient, MatrixEvent, RelationType } from "matrix-js-sdk/src/matrix"; +import { MatrixClient, MatrixEvent } from "matrix-js-sdk/src/matrix"; import { screen, act } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { flushPromises, mkEvent, stubClient } from "../../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "../../../voice-broadcast/utils/test-utils"; -import { VoiceBroadcastInfoState } from "../../../../../src/voice-broadcast"; import { createRedactEventDialog } from "../../../../../src/components/views/dialogs/ConfirmRedactDialog"; describe("ConfirmRedactDialog", () => { @@ -21,15 +18,6 @@ describe("ConfirmRedactDialog", () => { let client: MatrixClient; let mxEvent: MatrixEvent; - const setUpVoiceBroadcastStartedEvent = () => { - mxEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getUserId()!, - client.deviceId!, - ); - }; - const confirmDeleteVoiceBroadcastStartedEvent = async () => { act(() => createRedactEventDialog({ mxEvent })); // double-flush promises required for the dialog to show up @@ -68,44 +56,4 @@ describe("ConfirmRedactDialog", () => { `cannot redact event ${mxEvent.getId()} without room ID`, ); }); - - describe("when redacting a voice broadcast started event", () => { - beforeEach(() => { - setUpVoiceBroadcastStartedEvent(); - }); - - describe("and the server does not support relation based redactions", () => { - beforeEach(() => { - client.canSupport.set(Feature.RelationBasedRedactions, ServerSupport.Unsupported); - }); - - describe("and displaying and confirm the dialog for a voice broadcast", () => { - beforeEach(async () => { - await confirmDeleteVoiceBroadcastStartedEvent(); - }); - - it("should call redact without `with_rel_types`", () => { - expect(client.redactEvent).toHaveBeenCalledWith(roomId, mxEvent.getId(), undefined, {}); - }); - }); - }); - - describe("and the server supports relation based redactions", () => { - beforeEach(() => { - client.canSupport.set(Feature.RelationBasedRedactions, ServerSupport.Unstable); - }); - - describe("and displaying and confirm the dialog for a voice broadcast", () => { - beforeEach(async () => { - await confirmDeleteVoiceBroadcastStartedEvent(); - }); - - it("should call redact with `with_rel_types`", () => { - expect(client.redactEvent).toHaveBeenCalledWith(roomId, mxEvent.getId(), undefined, { - with_rel_types: [RelationType.Reference], - }); - }); - }); - }); - }); }); diff --git a/test/unit-tests/components/views/dialogs/__snapshots__/DevtoolsDialog-test.tsx.snap b/test/unit-tests/components/views/dialogs/__snapshots__/DevtoolsDialog-test.tsx.snap index 910569c112..622ed32065 100644 --- a/test/unit-tests/components/views/dialogs/__snapshots__/DevtoolsDialog-test.tsx.snap +++ b/test/unit-tests/components/views/dialogs/__snapshots__/DevtoolsDialog-test.tsx.snap @@ -185,33 +185,6 @@ exports[`DevtoolsDialog renders the devtools dialog 1`] = ` />
-
- -
-
-
-
({ default: () =>
, })); -jest.mock("../../../../../src/voice-broadcast/components/VoiceBroadcastBody", () => ({ - VoiceBroadcastBody: () =>
, -})); - jest.mock("../../../../../src/components/views/messages/MImageBody", () => ({ __esModule: true, default: () =>
, @@ -81,27 +76,6 @@ describe("MessageEvent", () => { jest.spyOn(SettingsStore, "unwatchSetting").mockImplementation(jest.fn()); }); - describe("when a voice broadcast start event occurs", () => { - let result: RenderResult; - - beforeEach(() => { - event = mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - user: client.getUserId()!, - room: room.roomId, - content: { - state: VoiceBroadcastInfoState.Started, - }, - }); - result = renderMessageEvent(); - }); - - it("should render a VoiceBroadcast component", () => { - result.getByTestId("voice-broadcast-body"); - }); - }); - describe("when an image with a caption is sent", () => { let result: RenderResult; diff --git a/test/unit-tests/components/views/rooms/MessageComposer-test.tsx b/test/unit-tests/components/views/rooms/MessageComposer-test.tsx index 4ef533091a..6849612fee 100644 --- a/test/unit-tests/components/views/rooms/MessageComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/MessageComposer-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import * as React from "react"; -import { EventType, MatrixEvent, Room, RoomMember, THREAD_RELATION_TYPE } from "matrix-js-sdk/src/matrix"; +import { EventType, MatrixEvent, RoomMember, THREAD_RELATION_TYPE } from "matrix-js-sdk/src/matrix"; import { act, fireEvent, render, screen, waitFor } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; @@ -19,7 +19,6 @@ import { mkStubRoom, mockPlatformPeg, stubClient, - waitEnoughCyclesForModal, } from "../../../../test-utils"; import MessageComposer from "../../../../../src/components/views/rooms/MessageComposer"; import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; @@ -28,7 +27,6 @@ import { IRoomState } from "../../../../../src/components/structures/RoomView"; import ResizeNotifier from "../../../../../src/utils/ResizeNotifier"; import { RoomPermalinkCreator } from "../../../../../src/utils/permalinks/Permalinks"; import { LocalRoom } from "../../../../../src/models/LocalRoom"; -import { Features } from "../../../../../src/settings/Settings"; import SettingsStore from "../../../../../src/settings/SettingsStore"; import { SettingLevel } from "../../../../../src/settings/SettingLevel"; import dis from "../../../../../src/dispatcher/dispatcher"; @@ -36,9 +34,6 @@ import { E2EStatus } from "../../../../../src/utils/ShieldUtils"; import { addTextToComposerRTL } from "../../../../test-utils/composer"; import UIStore, { UI_EVENTS } from "../../../../../src/stores/UIStore"; import { Action } from "../../../../../src/dispatcher/actions"; -import { VoiceBroadcastInfoState, VoiceBroadcastRecording } from "../../../../../src/voice-broadcast"; -import { mkVoiceBroadcastInfoStateEvent } from "../../../voice-broadcast/utils/test-utils"; -import { SdkContextClass } from "../../../../../src/contexts/SDKContext"; import { ScopedRoomContextProvider } from "../../../../../src/contexts/ScopedRoomContext.tsx"; const openStickerPicker = async (): Promise => { @@ -51,15 +46,6 @@ const startVoiceMessage = async (): Promise => { await userEvent.click(screen.getByLabelText("Voice Message")); }; -const setCurrentBroadcastRecording = (room: Room, state: VoiceBroadcastInfoState): void => { - const recording = new VoiceBroadcastRecording( - mkVoiceBroadcastInfoStateEvent(room.roomId, state, "@user:example.com", "ABC123"), - MatrixClientPeg.safeGet(), - state, - ); - act(() => SdkContextClass.instance.voiceBroadcastRecordingsStore.setCurrent(recording)); -}; - const expectVoiceMessageRecordingTriggered = (): void => { // Checking for the voice message dialog text, if no mic can be found. // By this we know at least that starting a voice message was triggered. @@ -78,14 +64,11 @@ describe("MessageComposer", () => { await clearAllModals(); jest.useRealTimers(); - SdkContextClass.instance.voiceBroadcastRecordingsStore.clearCurrent(); - // restore settings act(() => { [ "MessageComposerInput.showStickersButton", "MessageComposerInput.showPollsButton", - Features.VoiceBroadcast, "feature_wysiwyg_composer", ].forEach((setting: string): void => { SettingsStore.setValue(setting, null, SettingLevel.DEVICE, SettingsStore.getDefaultValue(setting)); @@ -212,10 +195,6 @@ describe("MessageComposer", () => { setting: "MessageComposerInput.showPollsButton", buttonLabel: "Poll", }, - { - setting: Features.VoiceBroadcast, - buttonLabel: "Voice broadcast", - }, ].forEach(({ setting, buttonLabel }) => { [true, false].forEach((value: boolean) => { describe(`when ${setting} = ${value}`, () => { @@ -437,34 +416,6 @@ describe("MessageComposer", () => { expectVoiceMessageRecordingTriggered(); }); }); - - describe("when recording a voice broadcast and trying to start a voice message", () => { - beforeEach(async () => { - setCurrentBroadcastRecording(room, VoiceBroadcastInfoState.Started); - wrapAndRender({ room }); - await startVoiceMessage(); - await waitEnoughCyclesForModal(); - }); - - it("should not start a voice message and display the info dialog", async () => { - expect(screen.queryByLabelText("Stop recording")).not.toBeInTheDocument(); - expect(screen.getByText("Can't start voice message")).toBeInTheDocument(); - }); - }); - - describe("when there is a stopped voice broadcast recording and trying to start a voice message", () => { - beforeEach(async () => { - setCurrentBroadcastRecording(room, VoiceBroadcastInfoState.Stopped); - wrapAndRender({ room }); - await startVoiceMessage(); - await waitEnoughCyclesForModal(); - }); - - it("should try to start a voice message and should not display the info dialog", async () => { - expect(screen.queryByText("Can't start voice message")).not.toBeInTheDocument(); - expectVoiceMessageRecordingTriggered(); - }); - }); }); describe("for a LocalRoom", () => { diff --git a/test/unit-tests/components/views/rooms/MessageComposerButtons-test.tsx b/test/unit-tests/components/views/rooms/MessageComposerButtons-test.tsx index 08204350ca..c2f56dc968 100644 --- a/test/unit-tests/components/views/rooms/MessageComposerButtons-test.tsx +++ b/test/unit-tests/components/views/rooms/MessageComposerButtons-test.tsx @@ -168,27 +168,4 @@ describe("MessageComposerButtons", () => { ]); }); }); - - describe("with showVoiceBroadcastButton = true", () => { - it("should render the »Voice broadcast« button", () => { - wrapAndRender( - , - false, - ); - - expect(getButtonLabels()).toEqual([ - "Emoji", - "Attachment", - "More options", - ["Sticker", "Voice Message", "Voice broadcast", "Poll", "Location"], - ]); - }); - }); }); diff --git a/test/unit-tests/components/views/rooms/RoomTile-test.tsx b/test/unit-tests/components/views/rooms/RoomTile-test.tsx index 7aa9ad8462..c14c699699 100644 --- a/test/unit-tests/components/views/rooms/RoomTile-test.tsx +++ b/test/unit-tests/components/views/rooms/RoomTile-test.tsx @@ -9,14 +9,7 @@ Please see LICENSE files in the repository root for full details. import React from "react"; import { render, screen, act, RenderResult } from "jest-matrix-react"; import { mocked, Mocked } from "jest-mock"; -import { - MatrixClient, - PendingEventOrdering, - Room, - MatrixEvent, - RoomStateEvent, - Thread, -} from "matrix-js-sdk/src/matrix"; +import { MatrixClient, PendingEventOrdering, Room, RoomStateEvent, Thread } from "matrix-js-sdk/src/matrix"; import { KnownMembership } from "matrix-js-sdk/src/types"; import { Widget } from "matrix-widget-api"; @@ -40,8 +33,6 @@ import DMRoomMap from "../../../../../src/utils/DMRoomMap"; import PlatformPeg from "../../../../../src/PlatformPeg"; import BasePlatform from "../../../../../src/BasePlatform"; import { WidgetMessagingStore } from "../../../../../src/stores/widgets/WidgetMessagingStore"; -import { VoiceBroadcastInfoState } from "../../../../../src/voice-broadcast"; -import { mkVoiceBroadcastInfoStateEvent } from "../../../voice-broadcast/utils/test-utils"; import { TestSdkContext } from "../../../TestSdkContext"; import { SDKContext } from "../../../../../src/contexts/SDKContext"; import { shouldShowComponent } from "../../../../../src/customisations/helpers/UIComponents"; @@ -61,20 +52,6 @@ describe("RoomTile", () => { } as unknown as BasePlatform); useMockedCalls(); - const setUpVoiceBroadcast = async (state: VoiceBroadcastInfoState): Promise => { - voiceBroadcastInfoEvent = mkVoiceBroadcastInfoStateEvent( - room.roomId, - state, - client.getSafeUserId(), - client.getDeviceId()!, - ); - - await act(async () => { - room.currentState.setStateEvents([voiceBroadcastInfoEvent]); - await flushPromises(); - }); - }; - const renderRoomTile = (): RenderResult => { return render( @@ -89,7 +66,6 @@ describe("RoomTile", () => { }; let client: Mocked; - let voiceBroadcastInfoEvent: MatrixEvent; let room: Room; let sdkContext: TestSdkContext; let showMessagePreview = false; @@ -303,49 +279,6 @@ describe("RoomTile", () => { }); expect(screen.queryByLabelText(/participant/)).toBe(null); }); - - describe("and a live broadcast starts", () => { - beforeEach(async () => { - renderRoomTile(); - await setUpVoiceBroadcast(VoiceBroadcastInfoState.Started); - }); - - it("should still render the call subtitle", () => { - expect(screen.queryByText("Video")).toBeInTheDocument(); - expect(screen.queryByText("Live")).not.toBeInTheDocument(); - }); - }); - }); - - describe("when a live voice broadcast starts", () => { - beforeEach(async () => { - renderRoomTile(); - await setUpVoiceBroadcast(VoiceBroadcastInfoState.Started); - }); - - it("should render the »Live« subtitle", () => { - expect(screen.queryByText("Live")).toBeInTheDocument(); - }); - - describe("and the broadcast stops", () => { - beforeEach(async () => { - const stopEvent = mkVoiceBroadcastInfoStateEvent( - room.roomId, - VoiceBroadcastInfoState.Stopped, - client.getSafeUserId(), - client.getDeviceId()!, - voiceBroadcastInfoEvent, - ); - await act(async () => { - room.currentState.setStateEvents([stopEvent]); - await flushPromises(); - }); - }); - - it("should not render the »Live« subtitle", () => { - expect(screen.queryByText("Live")).not.toBeInTheDocument(); - }); - }); }); }); diff --git a/test/unit-tests/components/views/settings/tabs/room/RolesRoomSettingsTab-test.tsx b/test/unit-tests/components/views/settings/tabs/room/RolesRoomSettingsTab-test.tsx index 000c38c771..e1a451c9d5 100644 --- a/test/unit-tests/components/views/settings/tabs/room/RolesRoomSettingsTab-test.tsx +++ b/test/unit-tests/components/views/settings/tabs/room/RolesRoomSettingsTab-test.tsx @@ -17,7 +17,6 @@ import userEvent from "@testing-library/user-event"; import RolesRoomSettingsTab from "../../../../../../../src/components/views/settings/tabs/room/RolesRoomSettingsTab"; import { mkStubRoom, withClientContextRenderOptions, stubClient } from "../../../../../../test-utils"; import { MatrixClientPeg } from "../../../../../../../src/MatrixClientPeg"; -import { VoiceBroadcastInfoEventType } from "../../../../../../../src/voice-broadcast"; import SettingsStore from "../../../../../../../src/settings/SettingsStore"; import { ElementCall } from "../../../../../../../src/models/Call"; @@ -34,14 +33,6 @@ describe("RolesRoomSettingsTab", () => { return renderResult; }; - const getVoiceBroadcastsSelect = async (): Promise => { - return (await renderTab()).container.querySelector("select[label='Voice broadcasts']")!; - }; - - const getVoiceBroadcastsSelectedOption = async (): Promise => { - return (await renderTab()).container.querySelector("select[label='Voice broadcasts'] option:checked")!; - }; - beforeEach(() => { stubClient(); cli = MatrixClientPeg.safeGet(); @@ -76,26 +67,6 @@ describe("RolesRoomSettingsTab", () => { expect(container.querySelector(`[placeholder="@admin:server"]`)).toBeDisabled(); }); - it("should initially show »Moderator« permission for »Voice broadcasts«", async () => { - expect((await getVoiceBroadcastsSelectedOption()).textContent).toBe("Moderator"); - }); - - describe("when setting »Default« permission for »Voice broadcasts«", () => { - beforeEach(async () => { - fireEvent.change(await getVoiceBroadcastsSelect(), { - target: { value: 0 }, - }); - }); - - it("should update the power levels", () => { - expect(cli.sendStateEvent).toHaveBeenCalledWith(roomId, EventType.RoomPowerLevels, { - events: { - [VoiceBroadcastInfoEventType]: 0, - }, - }); - }); - }); - describe("Element Call", () => { const setGroupCallsEnabled = (val: boolean): void => { jest.spyOn(SettingsStore, "getValue").mockImplementation((name: string) => { diff --git a/test/unit-tests/contexts/SdkContext-test.ts b/test/unit-tests/contexts/SdkContext-test.ts index 21f356ed94..340fabdd3d 100644 --- a/test/unit-tests/contexts/SdkContext-test.ts +++ b/test/unit-tests/contexts/SdkContext-test.ts @@ -11,11 +11,8 @@ import { MatrixClient } from "matrix-js-sdk/src/matrix"; import { SdkContextClass } from "../../../src/contexts/SDKContext"; import { OidcClientStore } from "../../../src/stores/oidc/OidcClientStore"; import { UserProfilesStore } from "../../../src/stores/UserProfilesStore"; -import { VoiceBroadcastPreRecordingStore } from "../../../src/voice-broadcast"; import { createTestClient } from "../../test-utils"; -jest.mock("../../../src/voice-broadcast/stores/VoiceBroadcastPreRecordingStore"); - describe("SdkContextClass", () => { let sdkContext = SdkContextClass.instance; let client: MatrixClient; @@ -33,12 +30,6 @@ describe("SdkContextClass", () => { expect(SdkContextClass.instance).toBe(globalInstance); }); - it("voiceBroadcastPreRecordingStore should always return the same VoiceBroadcastPreRecordingStore", () => { - const first = sdkContext.voiceBroadcastPreRecordingStore; - expect(first).toBeInstanceOf(VoiceBroadcastPreRecordingStore); - expect(sdkContext.voiceBroadcastPreRecordingStore).toBe(first); - }); - it("userProfilesStore should raise an error without a client", () => { expect(() => sdkContext.userProfilesStore).toThrow("Unable to create UserProfilesStore without a client"); }); diff --git a/test/unit-tests/events/EventTileFactory-test.ts b/test/unit-tests/events/EventTileFactory-test.ts index 7044a883d0..8a7d09c434 100644 --- a/test/unit-tests/events/EventTileFactory-test.ts +++ b/test/unit-tests/events/EventTileFactory-test.ts @@ -7,19 +7,16 @@ Please see LICENSE files in the repository root for full details. */ import { mocked } from "jest-mock"; -import { EventType, MatrixClient, MatrixEvent, MsgType, RelationType, Room } from "matrix-js-sdk/src/matrix"; +import { EventType, MatrixClient, MatrixEvent, MsgType, Room } from "matrix-js-sdk/src/matrix"; import { JSONEventFactory, MessageEventFactory, pickFactory, RoomCreateEventFactory, - TextualEventFactory, } from "../../../src/events/EventTileFactory"; import SettingsStore from "../../../src/settings/SettingsStore"; -import { VoiceBroadcastChunkEventType, VoiceBroadcastInfoState } from "../../../src/voice-broadcast"; import { createTestClient, mkEvent } from "../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "../voice-broadcast/utils/test-utils"; const roomId = "!room:example.com"; @@ -31,11 +28,7 @@ describe("pickFactory", () => { let createEventWithoutPredecessor: MatrixEvent; let dynamicPredecessorEvent: MatrixEvent; - let voiceBroadcastStartedEvent: MatrixEvent; - let voiceBroadcastStoppedEvent: MatrixEvent; - let voiceBroadcastChunkEvent: MatrixEvent; let utdEvent: MatrixEvent; - let utdBroadcastChunkEvent: MatrixEvent; let audioMessageEvent: MatrixEvent; beforeAll(() => { @@ -82,29 +75,6 @@ describe("pickFactory", () => { last_known_event_id: null, }, }); - voiceBroadcastStartedEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getUserId()!, - client.deviceId!, - ); - room.addLiveEvents([voiceBroadcastStartedEvent], { addToState: true }); - voiceBroadcastStoppedEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - client.getUserId()!, - client.deviceId!, - ); - voiceBroadcastChunkEvent = mkEvent({ - event: true, - type: EventType.RoomMessage, - user: client.getUserId()!, - room: roomId, - content: { - msgtype: MsgType.Audio, - [VoiceBroadcastChunkEventType]: {}, - }, - }); audioMessageEvent = mkEvent({ event: true, type: EventType.RoomMessage, @@ -123,20 +93,6 @@ describe("pickFactory", () => { msgtype: "m.bad.encrypted", }, }); - utdBroadcastChunkEvent = mkEvent({ - event: true, - type: EventType.RoomMessage, - user: client.getUserId()!, - room: roomId, - content: { - "msgtype": "m.bad.encrypted", - "m.relates_to": { - rel_type: RelationType.Reference, - event_id: voiceBroadcastStartedEvent.getId(), - }, - }, - }); - jest.spyOn(utdBroadcastChunkEvent, "isDecryptionFailure").mockReturnValue(true); }); it("should return JSONEventFactory for a no-op m.room.power_levels event", () => { @@ -151,10 +107,6 @@ describe("pickFactory", () => { }); describe("when showing hidden events", () => { - it("should return a JSONEventFactory for a voice broadcast event", () => { - expect(pickFactory(voiceBroadcastChunkEvent, client, true)).toBe(JSONEventFactory); - }); - it("should return a JSONEventFactory for a room create event without predecessor", () => { room.currentState.events.set( EventType.RoomCreate, @@ -164,17 +116,9 @@ describe("pickFactory", () => { expect(pickFactory(createEventWithoutPredecessor, client, true)).toBe(JSONEventFactory); }); - it("should return a TextualEventFactory for a voice broadcast stopped event", () => { - expect(pickFactory(voiceBroadcastStoppedEvent, client, true)).toBe(TextualEventFactory); - }); - it("should return a MessageEventFactory for an audio message event", () => { expect(pickFactory(audioMessageEvent, client, true)).toBe(MessageEventFactory); }); - - it("should return a MessageEventFactory for a UTD broadcast chunk event", () => { - expect(pickFactory(utdBroadcastChunkEvent, client, true)).toBe(MessageEventFactory); - }); }); describe("when not showing hidden events", () => { @@ -252,14 +196,6 @@ describe("pickFactory", () => { }); }); - it("should return undefined for a voice broadcast event", () => { - expect(pickFactory(voiceBroadcastChunkEvent, client, false)).toBeUndefined(); - }); - - it("should return a TextualEventFactory for a voice broadcast stopped event", () => { - expect(pickFactory(voiceBroadcastStoppedEvent, client, false)).toBe(TextualEventFactory); - }); - it("should return a MessageEventFactory for an audio message event", () => { expect(pickFactory(audioMessageEvent, client, false)).toBe(MessageEventFactory); }); @@ -267,9 +203,5 @@ describe("pickFactory", () => { it("should return a MessageEventFactory for a UTD event", () => { expect(pickFactory(utdEvent, client, false)).toBe(MessageEventFactory); }); - - it("should return undefined for a UTD broadcast chunk event", () => { - expect(pickFactory(utdBroadcastChunkEvent, client, false)).toBeUndefined(); - }); }); }); diff --git a/test/unit-tests/stores/RoomViewStore-test.ts b/test/unit-tests/stores/RoomViewStore-test.ts index 01f07e89ac..782bb79738 100644 --- a/test/unit-tests/stores/RoomViewStore-test.ts +++ b/test/unit-tests/stores/RoomViewStore-test.ts @@ -24,13 +24,6 @@ import { ActiveRoomChangedPayload } from "../../../src/dispatcher/payloads/Activ import { SpaceStoreClass } from "../../../src/stores/spaces/SpaceStore"; import { TestSdkContext } from "../TestSdkContext"; import { ViewRoomPayload } from "../../../src/dispatcher/payloads/ViewRoomPayload"; -import { - VoiceBroadcastInfoState, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybacksStore, - VoiceBroadcastRecording, -} from "../../../src/voice-broadcast"; -import { mkVoiceBroadcastInfoStateEvent } from "../voice-broadcast/utils/test-utils"; import Modal from "../../../src/Modal"; import ErrorDialog from "../../../src/components/views/dialogs/ErrorDialog"; import { CancelAskToJoinPayload } from "../../../src/dispatcher/payloads/CancelAskToJoinPayload"; @@ -160,7 +153,6 @@ describe("RoomViewStore", function () { stores._SlidingSyncManager = slidingSyncManager; stores._PosthogAnalytics = new MockPosthogAnalytics(); stores._SpaceStore = new MockSpaceStore(); - stores._VoiceBroadcastPlaybacksStore = new VoiceBroadcastPlaybacksStore(stores.voiceBroadcastRecordingsStore); roomViewStore = new RoomViewStore(dis, stores); stores._RoomViewStore = roomViewStore; }); @@ -343,88 +335,6 @@ describe("RoomViewStore", function () { }); }); - describe("when listening to a voice broadcast", () => { - let voiceBroadcastPlayback: VoiceBroadcastPlayback; - - beforeEach(() => { - voiceBroadcastPlayback = new VoiceBroadcastPlayback( - mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - mockClient.getSafeUserId(), - "d42", - ), - mockClient, - stores.voiceBroadcastRecordingsStore, - ); - stores.voiceBroadcastPlaybacksStore.setCurrent(voiceBroadcastPlayback); - jest.spyOn(voiceBroadcastPlayback, "pause").mockImplementation(); - }); - - it("and viewing a call it should pause the current broadcast", async () => { - await viewCall(); - expect(voiceBroadcastPlayback.pause).toHaveBeenCalled(); - expect(roomViewStore.isViewingCall()).toBe(true); - }); - }); - - describe("when recording a voice broadcast", () => { - beforeEach(() => { - stores.voiceBroadcastRecordingsStore.setCurrent( - new VoiceBroadcastRecording( - mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - mockClient.getSafeUserId(), - "d42", - ), - mockClient, - ), - ); - }); - - it("and trying to view a call, it should not actually view it and show the info dialog", async () => { - await viewCall(); - expect(Modal.createDialog).toMatchSnapshot(); - expect(roomViewStore.isViewingCall()).toBe(false); - }); - - describe("and viewing a room with a broadcast", () => { - beforeEach(async () => { - const broadcastEvent = mkVoiceBroadcastInfoStateEvent( - roomId2, - VoiceBroadcastInfoState.Started, - mockClient.getSafeUserId(), - "ABC123", - ); - room2.addLiveEvents([broadcastEvent], { addToState: true }); - - stores.voiceBroadcastPlaybacksStore.getByInfoEvent(broadcastEvent, mockClient); - dis.dispatch({ action: Action.ViewRoom, room_id: roomId2 }); - await untilDispatch(Action.ActiveRoomChanged, dis); - }); - - it("should continue recording", () => { - expect(stores.voiceBroadcastPlaybacksStore.getCurrent()).toBeNull(); - expect(stores.voiceBroadcastRecordingsStore.getCurrent()?.getState()).toBe( - VoiceBroadcastInfoState.Started, - ); - }); - - describe("and stopping the recording", () => { - beforeEach(async () => { - await stores.voiceBroadcastRecordingsStore.getCurrent()?.stop(); - // check test precondition - expect(stores.voiceBroadcastRecordingsStore.getCurrent()).toBeNull(); - }); - - it("should view the broadcast", () => { - expect(stores.voiceBroadcastPlaybacksStore.getCurrent()?.infoEvent.getRoomId()).toBe(roomId2); - }); - }); - }); - }); - describe("Sliding Sync", function () { beforeEach(() => { jest.spyOn(SettingsStore, "getValue").mockImplementation((settingName, roomId, value) => { diff --git a/test/unit-tests/stores/__snapshots__/RoomViewStore-test.ts.snap b/test/unit-tests/stores/__snapshots__/RoomViewStore-test.ts.snap index a6b7953697..77ee50df5b 100644 --- a/test/unit-tests/stores/__snapshots__/RoomViewStore-test.ts.snap +++ b/test/unit-tests/stores/__snapshots__/RoomViewStore-test.ts.snap @@ -18,26 +18,3 @@ exports[`RoomViewStore should display the generic error message when the roomId "title": "Failed to join", } `; - -exports[`RoomViewStore when recording a voice broadcast and trying to view a call, it should not actually view it and show the info dialog 1`] = ` -[MockFunction] { - "calls": [ - [ - [Function], - { - "description":

- You can’t start a call as you are currently recording a live broadcast. Please end your live broadcast in order to start a call. -

, - "hasCloseButton": true, - "title": "Can’t start a call", - }, - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], -} -`; diff --git a/test/unit-tests/stores/room-list/previews/MessageEventPreview-test.ts b/test/unit-tests/stores/room-list/previews/MessageEventPreview-test.ts index fd6626e6b6..ec97cdd20e 100644 --- a/test/unit-tests/stores/room-list/previews/MessageEventPreview-test.ts +++ b/test/unit-tests/stores/room-list/previews/MessageEventPreview-test.ts @@ -71,18 +71,5 @@ describe("MessageEventPreview", () => { }); expect(preview.getTextFor(event)).toBe(`${userId}: test new content body`); }); - - it("when called with a broadcast chunk event it should return null", () => { - const event = mkEvent({ - event: true, - content: { - body: "test body", - ["io.element.voice_broadcast_chunk"]: {}, - }, - user: userId, - type: "m.room.message", - }); - expect(preview.getTextFor(event)).toBeNull(); - }); }); }); diff --git a/test/unit-tests/stores/room-list/previews/VoiceBroadcastPreview-test.ts b/test/unit-tests/stores/room-list/previews/VoiceBroadcastPreview-test.ts deleted file mode 100644 index a96f3c11bd..0000000000 --- a/test/unit-tests/stores/room-list/previews/VoiceBroadcastPreview-test.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { Room } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastPreview } from "../../../../../src/stores/room-list/previews/VoiceBroadcastPreview"; -import { VoiceBroadcastInfoState } from "../../../../../src/voice-broadcast"; -import { mkEvent, stubClient } from "../../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "../../../voice-broadcast/utils/test-utils"; - -describe("VoiceBroadcastPreview.getTextFor", () => { - const roomId = "!room:example.com"; - const userId = "@user:example.com"; - const deviceId = "d42"; - let preview: VoiceBroadcastPreview; - - beforeAll(() => { - preview = new VoiceBroadcastPreview(); - }); - - it("when passing an event with empty content, it should return null", () => { - const event = mkEvent({ - event: true, - content: {}, - user: userId, - type: "m.room.message", - }); - expect(preview.getTextFor(event)).toBeNull(); - }); - - it("when passing a broadcast started event, it should return null", () => { - const event = mkVoiceBroadcastInfoStateEvent(roomId, VoiceBroadcastInfoState.Started, userId, deviceId); - expect(preview.getTextFor(event)).toBeNull(); - }); - - it("when passing a broadcast stopped event, it should return the expected text", () => { - const event = mkVoiceBroadcastInfoStateEvent(roomId, VoiceBroadcastInfoState.Stopped, userId, deviceId); - expect(preview.getTextFor(event)).toBe("@user:example.com ended a voice broadcast"); - }); - - it("when passing a redacted broadcast stopped event, it should return null", () => { - const event = mkVoiceBroadcastInfoStateEvent(roomId, VoiceBroadcastInfoState.Stopped, userId, deviceId); - event.makeRedacted( - mkEvent({ event: true, content: {}, user: userId, type: "m.room.redaction" }), - new Room(roomId, stubClient(), userId), - ); - expect(preview.getTextFor(event)).toBeNull(); - }); -}); diff --git a/test/unit-tests/stores/widgets/StopGapWidget-test.ts b/test/unit-tests/stores/widgets/StopGapWidget-test.ts index 397c289d22..1416711017 100644 --- a/test/unit-tests/stores/widgets/StopGapWidget-test.ts +++ b/test/unit-tests/stores/widgets/StopGapWidget-test.ts @@ -22,9 +22,6 @@ import { waitFor } from "jest-matrix-react"; import { stubClient, mkRoom, mkEvent } from "../../../test-utils"; import { MatrixClientPeg } from "../../../../src/MatrixClientPeg"; import { StopGapWidget } from "../../../../src/stores/widgets/StopGapWidget"; -import { ElementWidgetActions } from "../../../../src/stores/widgets/ElementWidgetActions"; -import { VoiceBroadcastInfoEventType, VoiceBroadcastRecording } from "../../../../src/voice-broadcast"; -import { SdkContextClass } from "../../../../src/contexts/SDKContext"; import ActiveWidgetStore from "../../../../src/stores/ActiveWidgetStore"; import SettingsStore from "../../../../src/settings/SettingsStore"; @@ -225,41 +222,6 @@ describe("StopGapWidget", () => { expect(messaging.feedEvent).toHaveBeenLastCalledWith(event.getEffectiveEvent(), "!1:example.org"); }); }); - - describe("when there is a voice broadcast recording", () => { - let voiceBroadcastInfoEvent: MatrixEvent; - let voiceBroadcastRecording: VoiceBroadcastRecording; - - beforeEach(() => { - voiceBroadcastInfoEvent = mkEvent({ - event: true, - room: client.getRoom("x")?.roomId, - user: client.getUserId()!, - type: VoiceBroadcastInfoEventType, - content: {}, - }); - voiceBroadcastRecording = new VoiceBroadcastRecording(voiceBroadcastInfoEvent, client); - jest.spyOn(voiceBroadcastRecording, "pause"); - jest.spyOn(SdkContextClass.instance.voiceBroadcastRecordingsStore, "getCurrent").mockReturnValue( - voiceBroadcastRecording, - ); - }); - - describe(`and receiving a action:${ElementWidgetActions.JoinCall} message`, () => { - beforeEach(async () => { - messaging.on.mock.calls.find(([event, listener]) => { - if (event === `action:${ElementWidgetActions.JoinCall}`) { - listener(); - return true; - } - }); - }); - - it("should pause the current voice broadcast recording", () => { - expect(voiceBroadcastRecording.pause).toHaveBeenCalled(); - }); - }); - }); }); describe("StopGapWidget with stickyPromise", () => { let client: MockedObject; diff --git a/test/unit-tests/utils/EventRenderingUtils-test.ts b/test/unit-tests/utils/EventRenderingUtils-test.ts deleted file mode 100644 index 8a3cfded4a..0000000000 --- a/test/unit-tests/utils/EventRenderingUtils-test.ts +++ /dev/null @@ -1,46 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { getEventDisplayInfo } from "../../../src/utils/EventRenderingUtils"; -import { VoiceBroadcastInfoState } from "../../../src/voice-broadcast"; -import { mkVoiceBroadcastInfoStateEvent } from "../voice-broadcast/utils/test-utils"; -import { createTestClient } from "../../test-utils"; - -describe("getEventDisplayInfo", () => { - const mkBroadcastInfoEvent = (state: VoiceBroadcastInfoState) => { - return mkVoiceBroadcastInfoStateEvent("!room:example.com", state, "@user:example.com", "ASD123"); - }; - - it("should return the expected value for a broadcast started event", () => { - expect(getEventDisplayInfo(createTestClient(), mkBroadcastInfoEvent(VoiceBroadcastInfoState.Started), false)) - .toMatchInlineSnapshot(` - { - "hasRenderer": true, - "isBubbleMessage": false, - "isInfoMessage": false, - "isLeftAlignedBubbleMessage": false, - "isSeeingThroughMessageHiddenForModeration": false, - "noBubbleEvent": true, - } - `); - }); - - it("should return the expected value for a broadcast stopped event", () => { - expect(getEventDisplayInfo(createTestClient(), mkBroadcastInfoEvent(VoiceBroadcastInfoState.Stopped), false)) - .toMatchInlineSnapshot(` - { - "hasRenderer": true, - "isBubbleMessage": false, - "isInfoMessage": true, - "isLeftAlignedBubbleMessage": false, - "isSeeingThroughMessageHiddenForModeration": false, - "noBubbleEvent": true, - } - `); - }); -}); diff --git a/test/unit-tests/utils/EventUtils-test.ts b/test/unit-tests/utils/EventUtils-test.ts index 2fc13b507c..c7828c3a2f 100644 --- a/test/unit-tests/utils/EventUtils-test.ts +++ b/test/unit-tests/utils/EventUtils-test.ts @@ -35,8 +35,6 @@ import { import { getMockClientWithEventEmitter, makeBeaconInfoEvent, makePollStartEvent, stubClient } from "../../test-utils"; import dis from "../../../src/dispatcher/dispatcher"; import { Action } from "../../../src/dispatcher/actions"; -import { mkVoiceBroadcastInfoStateEvent } from "../voice-broadcast/utils/test-utils"; -import { VoiceBroadcastInfoState } from "../../../src/voice-broadcast/types"; jest.mock("../../../src/dispatcher/dispatcher"); @@ -148,20 +146,6 @@ describe("EventUtils", () => { }, }); - const voiceBroadcastStart = mkVoiceBroadcastInfoStateEvent( - "!room:example.com", - VoiceBroadcastInfoState.Started, - "@user:example.com", - "ABC123", - ); - - const voiceBroadcastStop = mkVoiceBroadcastInfoStateEvent( - "!room:example.com", - VoiceBroadcastInfoState.Stopped, - "@user:example.com", - "ABC123", - ); - describe("isContentActionable()", () => { type TestCase = [string, MatrixEvent]; it.each([ @@ -172,7 +156,6 @@ describe("EventUtils", () => { ["room member event", roomMemberEvent], ["event without msgtype", noMsgType], ["event without content body property", noContentBody], - ["broadcast stop event", voiceBroadcastStop], ])("returns false for %s", (_description, event) => { expect(isContentActionable(event)).toBe(false); }); @@ -183,7 +166,6 @@ describe("EventUtils", () => { ["event with empty content body", emptyContentBody], ["event with a content body", niceTextMessage], ["beacon_info event", beaconInfoEvent], - ["broadcast start event", voiceBroadcastStart], ])("returns true for %s", (_description, event) => { expect(isContentActionable(event)).toBe(true); }); diff --git a/test/unit-tests/voice-broadcast/audio/VoiceBroadcastRecorder-test.ts b/test/unit-tests/voice-broadcast/audio/VoiceBroadcastRecorder-test.ts deleted file mode 100644 index 5718fc118c..0000000000 --- a/test/unit-tests/voice-broadcast/audio/VoiceBroadcastRecorder-test.ts +++ /dev/null @@ -1,251 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { Optional } from "matrix-events-sdk"; - -import { VoiceRecording } from "../../../../src/audio/VoiceRecording"; -import SdkConfig from "../../../../src/SdkConfig"; -import { concat } from "../../../../src/utils/arrays"; -import { - ChunkRecordedPayload, - createVoiceBroadcastRecorder, - VoiceBroadcastRecorder, - VoiceBroadcastRecorderEvent, -} from "../../../../src/voice-broadcast"; - -// mock VoiceRecording because it contains all the audio APIs -jest.mock("../../../../src/audio/VoiceRecording", () => ({ - VoiceRecording: jest.fn().mockReturnValue({ - disableMaxLength: jest.fn(), - emit: jest.fn(), - liveData: { - onUpdate: jest.fn(), - }, - start: jest.fn(), - stop: jest.fn(), - destroy: jest.fn(), - }), -})); - -jest.mock("../../../../src/settings/SettingsStore"); - -describe("VoiceBroadcastRecorder", () => { - describe("createVoiceBroadcastRecorder", () => { - beforeEach(() => { - jest.spyOn(SdkConfig, "get").mockImplementation((key: string) => { - if (key === "voice_broadcast") { - return { - chunk_length: 1337, - }; - } - }); - }); - - afterEach(() => { - mocked(SdkConfig.get).mockRestore(); - }); - - it("should return a VoiceBroadcastRecorder instance with targetChunkLength from config", () => { - const voiceBroadcastRecorder = createVoiceBroadcastRecorder(); - expect(voiceBroadcastRecorder).toBeInstanceOf(VoiceBroadcastRecorder); - expect(voiceBroadcastRecorder.targetChunkLength).toBe(1337); - }); - }); - - describe("instance", () => { - const chunkLength = 30; - // 0... OpusHead - const headers1 = new Uint8Array([...Array(28).fill(0), 79, 112, 117, 115, 72, 101, 97, 100]); - // 0... OpusTags - const headers2 = new Uint8Array([...Array(28).fill(0), 79, 112, 117, 115, 84, 97, 103, 115]); - const chunk1 = new Uint8Array([5, 6]); - const chunk2a = new Uint8Array([7, 8]); - const chunk2b = new Uint8Array([9, 10]); - const contentType = "test content type"; - - let voiceRecording: VoiceRecording; - let voiceBroadcastRecorder: VoiceBroadcastRecorder; - let onChunkRecorded: (chunk: ChunkRecordedPayload) => void; - - const simulateFirstChunk = (): void => { - // send headers in wrong order and multiple times to test robustness for that - voiceRecording.onDataAvailable!(headers2); - voiceRecording.onDataAvailable!(headers1); - voiceRecording.onDataAvailable!(headers1); - voiceRecording.onDataAvailable!(headers2); - // set recorder seconds to something greater than the test chunk length of 30 - // @ts-ignore - voiceRecording.recorderSeconds = 42; - voiceRecording.onDataAvailable!(chunk1); - voiceRecording.onDataAvailable!(headers1); - }; - - const expectOnFirstChunkRecorded = (): void => { - expect(onChunkRecorded).toHaveBeenNthCalledWith(1, { - buffer: concat(headers1, headers2, chunk1), - length: 42, - }); - }; - - const itShouldNotEmitAChunkRecordedEvent = (): void => { - it("should not emit a ChunkRecorded event", (): void => { - expect(voiceRecording.emit).not.toHaveBeenCalledWith( - VoiceBroadcastRecorderEvent.ChunkRecorded, - expect.anything(), - ); - }); - }; - - beforeEach(() => { - voiceRecording = new VoiceRecording(); - // @ts-ignore - voiceRecording.recorderSeconds = 23; - // @ts-ignore - voiceRecording.contentType = contentType; - - voiceBroadcastRecorder = new VoiceBroadcastRecorder(voiceRecording, chunkLength); - jest.spyOn(voiceBroadcastRecorder, "removeAllListeners"); - onChunkRecorded = jest.fn(); - voiceBroadcastRecorder.on(VoiceBroadcastRecorderEvent.ChunkRecorded, onChunkRecorded); - }); - - afterEach(() => { - voiceBroadcastRecorder.destroy(); - }); - - it("start should forward the call to VoiceRecording.start", async () => { - await voiceBroadcastRecorder.start(); - expect(voiceRecording.start).toHaveBeenCalled(); - }); - - describe("stop", () => { - beforeEach(async () => { - await voiceBroadcastRecorder.stop(); - }); - - it("should forward the call to VoiceRecording.stop", async () => { - expect(voiceRecording.stop).toHaveBeenCalled(); - }); - - itShouldNotEmitAChunkRecordedEvent(); - }); - - describe("when calling destroy", () => { - beforeEach(() => { - voiceBroadcastRecorder.destroy(); - }); - - it("should call VoiceRecording.destroy", () => { - expect(voiceRecording.destroy).toHaveBeenCalled(); - }); - - it("should remove all listeners", () => { - expect(voiceBroadcastRecorder.removeAllListeners).toHaveBeenCalled(); - }); - }); - - it("contentType should return the value from VoiceRecording", () => { - expect(voiceBroadcastRecorder.contentType).toBe(contentType); - }); - - describe("when the first header from recorder has been received", () => { - beforeEach(() => { - voiceRecording.onDataAvailable!(headers1); - }); - - itShouldNotEmitAChunkRecordedEvent(); - }); - - describe("when the second header from recorder has been received", () => { - beforeEach(() => { - voiceRecording.onDataAvailable!(headers1); - voiceRecording.onDataAvailable!(headers2); - }); - - itShouldNotEmitAChunkRecordedEvent(); - }); - - describe("when a third page from recorder has been received", () => { - beforeEach(() => { - voiceRecording.onDataAvailable!(headers1); - voiceRecording.onDataAvailable!(headers2); - voiceRecording.onDataAvailable!(chunk1); - }); - - itShouldNotEmitAChunkRecordedEvent(); - - describe("and calling stop", () => { - let stopPayload: Optional; - - beforeEach(async () => { - stopPayload = await voiceBroadcastRecorder.stop(); - }); - - it("should return the remaining chunk", () => { - expect(stopPayload).toEqual({ - buffer: concat(headers1, headers2, chunk1), - length: 23, - }); - }); - - describe("and calling start again and receiving some data", () => { - beforeEach(() => { - simulateFirstChunk(); - }); - - it("should emit the ChunkRecorded event for the first chunk", () => { - expectOnFirstChunkRecorded(); - }); - }); - }); - - describe("and calling stop() with recording.stop error)", () => { - let stopPayload: Optional; - - beforeEach(async () => { - mocked(voiceRecording.stop).mockRejectedValue("Error"); - stopPayload = await voiceBroadcastRecorder.stop(); - }); - - it("should return the remaining chunk", () => { - expect(stopPayload).toEqual({ - buffer: concat(headers1, headers2, chunk1), - length: 23, - }); - }); - }); - }); - - describe("when some chunks have been received", () => { - beforeEach(() => { - simulateFirstChunk(); - - // simulate a second chunk - voiceRecording.onDataAvailable!(chunk2a); - - // send headers again to test robustness for that - voiceRecording.onDataAvailable!(headers2); - - // add another 30 seconds for the next chunk - // @ts-ignore - voiceRecording.recorderSeconds = 72; - voiceRecording.onDataAvailable!(chunk2b); - }); - - it("should emit ChunkRecorded events", () => { - expectOnFirstChunkRecorded(); - - expect(onChunkRecorded).toHaveBeenNthCalledWith(2, { - buffer: concat(headers1, headers2, chunk2a, chunk2b), - length: 72 - 42, // 72 (position at second chunk) - 42 (position of first chunk) - }); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/VoiceBroadcastBody-test.tsx b/test/unit-tests/voice-broadcast/components/VoiceBroadcastBody-test.tsx deleted file mode 100644 index fd416de8ce..0000000000 --- a/test/unit-tests/voice-broadcast/components/VoiceBroadcastBody-test.tsx +++ /dev/null @@ -1,171 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React, { ReactElement } from "react"; -import { act, render, screen } from "jest-matrix-react"; -import { mocked } from "jest-mock"; -import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastBody as UnwrappedVoiceBroadcastBody, - VoiceBroadcastInfoState, - VoiceBroadcastRecordingBody, - VoiceBroadcastRecording, - VoiceBroadcastPlaybackBody, - VoiceBroadcastPlayback, - VoiceBroadcastRecordingsStore, -} from "../../../../src/voice-broadcast"; -import { withClientContextRenderOptions, stubClient, wrapInSdkContext } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "../utils/test-utils"; -import { MediaEventHelper } from "../../../../src/utils/MediaEventHelper"; -import { RoomPermalinkCreator } from "../../../../src/utils/permalinks/Permalinks"; -import { SdkContextClass } from "../../../../src/contexts/SDKContext"; - -jest.mock("../../../../src/voice-broadcast/components/molecules/VoiceBroadcastRecordingBody", () => ({ - VoiceBroadcastRecordingBody: jest.fn(), -})); - -jest.mock("../../../../src/voice-broadcast/components/molecules/VoiceBroadcastPlaybackBody", () => ({ - VoiceBroadcastPlaybackBody: jest.fn(), -})); - -jest.mock("../../../../src/utils/permalinks/Permalinks"); -jest.mock("../../../../src/utils/MediaEventHelper"); -jest.mock("../../../../src/stores/WidgetStore"); -jest.mock("../../../../src/stores/widgets/WidgetLayoutStore"); - -describe("VoiceBroadcastBody", () => { - const roomId = "!room:example.com"; - let userId: string; - let deviceId: string; - let client: MatrixClient; - let room: Room; - let infoEvent: MatrixEvent; - let stoppedEvent: MatrixEvent; - let testRecording: VoiceBroadcastRecording; - let testPlayback: VoiceBroadcastPlayback; - - const renderVoiceBroadcast = () => { - const VoiceBroadcastBody = wrapInSdkContext(UnwrappedVoiceBroadcastBody, SdkContextClass.instance); - render( - {}} - onMessageAllowed={() => {}} - permalinkCreator={new RoomPermalinkCreator(room)} - />, - withClientContextRenderOptions(client), - ); - testRecording = SdkContextClass.instance.voiceBroadcastRecordingsStore.getByInfoEvent(infoEvent, client); - }; - - beforeEach(() => { - client = stubClient(); - userId = client.getUserId() || ""; - deviceId = client.getDeviceId() || ""; - mocked(client.relations).mockClear(); - mocked(client.relations).mockResolvedValue({ events: [] }); - room = new Room(roomId, client, userId); - mocked(client.getRoom).mockImplementation((getRoomId?: string) => { - if (getRoomId === roomId) return room; - return null; - }); - - infoEvent = mkVoiceBroadcastInfoStateEvent(roomId, VoiceBroadcastInfoState.Started, userId, deviceId); - stoppedEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - userId, - deviceId, - infoEvent, - ); - room.addEventsToTimeline([infoEvent], true, true, room.getLiveTimeline()); - testRecording = new VoiceBroadcastRecording(infoEvent, client); - testPlayback = new VoiceBroadcastPlayback(infoEvent, client, new VoiceBroadcastRecordingsStore()); - mocked(VoiceBroadcastRecordingBody).mockImplementation(({ recording }): ReactElement | null => { - if (testRecording === recording) { - return
; - } - - return null; - }); - - mocked(VoiceBroadcastPlaybackBody).mockImplementation(({ playback }): ReactElement | null => { - if (testPlayback === playback) { - return
; - } - - return null; - }); - - jest.spyOn(SdkContextClass.instance.voiceBroadcastRecordingsStore, "getByInfoEvent").mockImplementation( - (getEvent: MatrixEvent, getClient: MatrixClient): VoiceBroadcastRecording => { - if (getEvent === infoEvent && getClient === client) { - return testRecording; - } - - throw new Error("unexpected event"); - }, - ); - - jest.spyOn(SdkContextClass.instance.voiceBroadcastPlaybacksStore, "getByInfoEvent").mockImplementation( - (getEvent: MatrixEvent): VoiceBroadcastPlayback => { - if (getEvent === infoEvent) { - return testPlayback; - } - - throw new Error("unexpected event"); - }, - ); - }); - - describe("when there is a stopped voice broadcast", () => { - beforeEach(() => { - room.addEventsToTimeline([stoppedEvent], true, true, room.getLiveTimeline()); - renderVoiceBroadcast(); - }); - - it("should render a voice broadcast playback body", () => { - screen.getByTestId("voice-broadcast-playback-body"); - }); - }); - - describe("when there is a started voice broadcast from the current user", () => { - beforeEach(() => { - renderVoiceBroadcast(); - }); - - it("should render a voice broadcast recording body", () => { - screen.getByTestId("voice-broadcast-recording-body"); - }); - - describe("and the recordings ends", () => { - beforeEach(() => { - act(() => { - room.addEventsToTimeline([stoppedEvent], true, true, room.getLiveTimeline()); - }); - }); - - it("should render a voice broadcast playback body", () => { - screen.getByTestId("voice-broadcast-playback-body"); - }); - }); - }); - - describe("when displaying a voice broadcast playback", () => { - beforeEach(() => { - mocked(client).getUserId.mockReturnValue("@other:example.com"); - renderVoiceBroadcast(); - }); - - it("should render a voice broadcast playback body", () => { - screen.getByTestId("voice-broadcast-playback-body"); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/atoms/LiveBadge-test.tsx b/test/unit-tests/voice-broadcast/components/atoms/LiveBadge-test.tsx deleted file mode 100644 index 2d630fca9d..0000000000 --- a/test/unit-tests/voice-broadcast/components/atoms/LiveBadge-test.tsx +++ /dev/null @@ -1,24 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { render } from "jest-matrix-react"; - -import { LiveBadge } from "../../../../../src/voice-broadcast"; - -describe("LiveBadge", () => { - it("should render as expected with default props", () => { - const { container } = render(); - expect(container).toMatchSnapshot(); - }); - - it("should render in grey as expected", () => { - const { container } = render(); - expect(container).toMatchSnapshot(); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastControl-test.tsx b/test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastControl-test.tsx deleted file mode 100644 index 8c52062b5e..0000000000 --- a/test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastControl-test.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { render, RenderResult, screen } from "jest-matrix-react"; -import userEvent from "@testing-library/user-event"; - -import { VoiceBroadcastControl } from "../../../../../src/voice-broadcast"; -import { Icon as StopIcon } from "../../../../res/img/compound/stop-16.svg"; - -describe("VoiceBroadcastControl", () => { - let result: RenderResult; - let onClick: () => void; - - beforeEach(() => { - onClick = jest.fn(); - }); - - describe("when rendering it", () => { - beforeEach(() => { - const stopIcon = ; - result = render(); - }); - - it("should render as expected", () => { - expect(result.container).toMatchSnapshot(); - }); - - describe("when clicking it", () => { - beforeEach(async () => { - await userEvent.click(screen.getByLabelText("test label")); - }); - - it("should call onClick", () => { - expect(onClick).toHaveBeenCalled(); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastHeader-test.tsx b/test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastHeader-test.tsx deleted file mode 100644 index 6a0e7190d8..0000000000 --- a/test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastHeader-test.tsx +++ /dev/null @@ -1,89 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { MatrixClient, Room, RoomMember } from "matrix-js-sdk/src/matrix"; -import { render, RenderResult } from "jest-matrix-react"; - -import { VoiceBroadcastHeader, VoiceBroadcastLiveness } from "../../../../../src/voice-broadcast"; -import { mkRoom, stubClient } from "../../../../test-utils"; - -// mock RoomAvatar, because it is doing too much fancy stuff -jest.mock("../../../../../src/components/views/avatars/RoomAvatar", () => ({ - __esModule: true, - default: jest.fn().mockImplementation(({ room }) => { - return
room avatar: {room.name}
; - }), -})); - -describe("VoiceBroadcastHeader", () => { - const userId = "@user:example.com"; - const roomId = "!room:example.com"; - let client: MatrixClient; - let room: Room; - const sender = new RoomMember(roomId, userId); - let container: RenderResult["container"]; - - const renderHeader = (live: VoiceBroadcastLiveness, showBroadcast?: boolean, buffering?: boolean): RenderResult => { - return render( - , - ); - }; - - beforeAll(() => { - client = stubClient(); - room = mkRoom(client, roomId); - sender.name = "test user"; - }); - - describe("when rendering a live broadcast header with broadcast info", () => { - beforeEach(() => { - container = renderHeader("live", true, true).container; - }); - - it("should render the header with a red live badge", () => { - expect(container).toMatchSnapshot(); - }); - }); - - describe("when rendering a buffering live broadcast header with broadcast info", () => { - beforeEach(() => { - container = renderHeader("live", true).container; - }); - - it("should render the header with a red live badge", () => { - expect(container).toMatchSnapshot(); - }); - }); - - describe("when rendering a live (grey) broadcast header with broadcast info", () => { - beforeEach(() => { - container = renderHeader("grey", true).container; - }); - - it("should render the header with a grey live badge", () => { - expect(container).toMatchSnapshot(); - }); - }); - - describe("when rendering a non-live broadcast header", () => { - beforeEach(() => { - container = renderHeader("not-live").container; - }); - - it("should render the header without a live badge", () => { - expect(container).toMatchSnapshot(); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastPlaybackControl-test.tsx b/test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastPlaybackControl-test.tsx deleted file mode 100644 index 9eef863eb4..0000000000 --- a/test/unit-tests/voice-broadcast/components/atoms/VoiceBroadcastPlaybackControl-test.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022, 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { render, RenderResult, screen } from "jest-matrix-react"; -import userEvent from "@testing-library/user-event"; - -import { VoiceBroadcastPlaybackControl, VoiceBroadcastPlaybackState } from "../../../../../src/voice-broadcast"; - -describe("", () => { - const renderControl = (state: VoiceBroadcastPlaybackState): { result: RenderResult; onClick: () => void } => { - const onClick = jest.fn(); - return { - onClick, - result: render(), - }; - }; - - it.each([ - VoiceBroadcastPlaybackState.Stopped, - VoiceBroadcastPlaybackState.Paused, - VoiceBroadcastPlaybackState.Buffering, - VoiceBroadcastPlaybackState.Playing, - ])("should render state %s as expected", (state: VoiceBroadcastPlaybackState) => { - expect(renderControl(state).result.container).toMatchSnapshot(); - }); - - it("should not render for error state", () => { - expect(renderControl(VoiceBroadcastPlaybackState.Error).result.asFragment()).toMatchInlineSnapshot( - ``, - ); - }); - - describe("when clicking the control", () => { - let onClick: () => void; - - beforeEach(async () => { - onClick = renderControl(VoiceBroadcastPlaybackState.Playing).onClick; - await userEvent.click(screen.getByLabelText("pause voice broadcast")); - }); - - it("should invoke the onClick callback", () => { - expect(onClick).toHaveBeenCalled(); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/LiveBadge-test.tsx.snap b/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/LiveBadge-test.tsx.snap deleted file mode 100644 index bd4b8d2bcc..0000000000 --- a/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/LiveBadge-test.tsx.snap +++ /dev/null @@ -1,27 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`LiveBadge should render as expected with default props 1`] = ` -
-
-
- Live -
-
-`; - -exports[`LiveBadge should render in grey as expected 1`] = ` -
-
-
- Live -
-
-`; diff --git a/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastControl-test.tsx.snap b/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastControl-test.tsx.snap deleted file mode 100644 index a28e105b4c..0000000000 --- a/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastControl-test.tsx.snap +++ /dev/null @@ -1,16 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`VoiceBroadcastControl when rendering it should render as expected 1`] = ` -
-
-
-
-
-`; diff --git a/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastHeader-test.tsx.snap b/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastHeader-test.tsx.snap deleted file mode 100644 index 0c1c966f73..0000000000 --- a/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastHeader-test.tsx.snap +++ /dev/null @@ -1,277 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`VoiceBroadcastHeader when rendering a buffering live broadcast header with broadcast info should render the header with a red live badge 1`] = ` -
-
-
- room avatar: - !room:example.com -
-
-
-
- !room:example.com -
-
-
- - - - - - test user - -
-
-
- Voice broadcast -
-
-
-
- Live -
-
-
-`; - -exports[`VoiceBroadcastHeader when rendering a live (grey) broadcast header with broadcast info should render the header with a grey live badge 1`] = ` -
-
-
- room avatar: - !room:example.com -
-
-
-
- !room:example.com -
-
-
- - - - - - test user - -
-
-
- Voice broadcast -
-
-
-
- Live -
-
-
-`; - -exports[`VoiceBroadcastHeader when rendering a live broadcast header with broadcast info should render the header with a red live badge 1`] = ` -
-
-
- room avatar: - !room:example.com -
-
-
-
- !room:example.com -
-
-
- - - - - - test user - -
-
-
- Voice broadcast -
-
-
-
-
- Buffering… -
-
-
-
- Live -
-
-
-`; - -exports[`VoiceBroadcastHeader when rendering a non-live broadcast header should render the header without a live badge 1`] = ` -
-
-
- room avatar: - !room:example.com -
-
-
-
- !room:example.com -
-
-
- - - - - - test user - -
-
-
-
-`; diff --git a/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastPlaybackControl-test.tsx.snap b/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastPlaybackControl-test.tsx.snap deleted file mode 100644 index 1ce23ca8b5..0000000000 --- a/test/unit-tests/voice-broadcast/components/atoms/__snapshots__/VoiceBroadcastPlaybackControl-test.tsx.snap +++ /dev/null @@ -1,97 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` should render state buffering as expected 1`] = ` -
-
- - - -
-
-`; - -exports[` should render state pause as expected 1`] = ` -
-
- - - -
-
-`; - -exports[` should render state playing as expected 1`] = ` -
-
- - - -
-
-`; - -exports[` should render state stopped as expected 1`] = ` -
-
- - - -
-
-`; diff --git a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastPlaybackBody-test.tsx b/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastPlaybackBody-test.tsx deleted file mode 100644 index a6dd10e5c1..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastPlaybackBody-test.tsx +++ /dev/null @@ -1,249 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022, 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { MatrixClient, MatrixEvent } from "matrix-js-sdk/src/matrix"; -import { act, render, RenderResult, screen } from "jest-matrix-react"; -import userEvent from "@testing-library/user-event"; -import { mocked } from "jest-mock"; - -import { - VoiceBroadcastInfoState, - VoiceBroadcastLiveness, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybackBody, - VoiceBroadcastPlaybackEvent, - VoiceBroadcastPlaybackState, -} from "../../../../../src/voice-broadcast"; -import { filterConsole, stubClient } from "../../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "../../utils/test-utils"; -import dis from "../../../../../src/dispatcher/dispatcher"; -import { Action } from "../../../../../src/dispatcher/actions"; -import { SdkContextClass } from "../../../../../src/contexts/SDKContext"; - -jest.mock("../../../../../src/dispatcher/dispatcher"); - -// mock RoomAvatar, because it is doing too much fancy stuff -jest.mock("../../../../../src/components/views/avatars/RoomAvatar", () => ({ - __esModule: true, - default: jest.fn().mockImplementation(({ room }) => { - return
room avatar: {room.name}
; - }), -})); - -describe("VoiceBroadcastPlaybackBody", () => { - const userId = "@user:example.com"; - const roomId = "!room:example.com"; - const duration = 23 * 60 + 42; // 23:42 - let client: MatrixClient; - let infoEvent: MatrixEvent; - let playback: VoiceBroadcastPlayback; - let renderResult: RenderResult; - - filterConsole( - // expected for some tests - "voice broadcast chunk event to skip to not found", - ); - - beforeAll(() => { - client = stubClient(); - mocked(client.relations).mockClear(); - mocked(client.relations).mockResolvedValue({ events: [] }); - - infoEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - userId, - client.getDeviceId(), - ); - }); - - beforeEach(() => { - playback = new VoiceBroadcastPlayback( - infoEvent, - client, - SdkContextClass.instance.voiceBroadcastRecordingsStore, - ); - jest.spyOn(playback, "toggle").mockImplementation(() => Promise.resolve()); - jest.spyOn(playback, "getLiveness"); - jest.spyOn(playback, "getState"); - jest.spyOn(playback, "skipTo"); - jest.spyOn(playback, "durationSeconds", "get").mockReturnValue(duration); - }); - - describe("when rendering a buffering voice broadcast", () => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(VoiceBroadcastPlaybackState.Buffering); - mocked(playback.getLiveness).mockReturnValue("live"); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - }); - - describe("when rendering a playing broadcast", () => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(VoiceBroadcastPlaybackState.Playing); - mocked(playback.getLiveness).mockReturnValue("not-live"); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - - describe("and being in the middle of the playback", () => { - beforeEach(() => { - act(() => { - playback.emit(VoiceBroadcastPlaybackEvent.TimesChanged, { - duration, - position: 10 * 60, - timeLeft: duration - 10 * 60, - }); - }); - }); - - describe("and clicking 30s backward", () => { - beforeEach(async () => { - await act(async () => { - await userEvent.click(screen.getByLabelText("30s backward")); - }); - }); - - it("should seek 30s backward", () => { - expect(playback.skipTo).toHaveBeenCalledWith(9 * 60 + 30); - }); - }); - - describe("and clicking 30s forward", () => { - beforeEach(async () => { - await act(async () => { - await userEvent.click(screen.getByLabelText("30s forward")); - }); - }); - - it("should seek 30s forward", () => { - expect(playback.skipTo).toHaveBeenCalledWith(10 * 60 + 30); - }); - }); - }); - - describe("and clicking the room name", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText("My room")); - }); - - it("should not view the room", () => { - expect(dis.dispatch).not.toHaveBeenCalled(); - }); - }); - }); - - describe("when rendering a playing broadcast in pip mode", () => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(VoiceBroadcastPlaybackState.Playing); - mocked(playback.getLiveness).mockReturnValue("not-live"); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - - describe("and clicking the room name", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText("My room")); - }); - - it("should view the room", () => { - expect(dis.dispatch).toHaveBeenCalledWith({ - action: Action.ViewRoom, - room_id: roomId, - metricsTrigger: undefined, - }); - }); - }); - }); - - describe(`when rendering a stopped broadcast`, () => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(VoiceBroadcastPlaybackState.Stopped); - mocked(playback.getLiveness).mockReturnValue("not-live"); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - - describe("and clicking the play button", () => { - beforeEach(async () => { - await userEvent.click(renderResult.getByLabelText("play voice broadcast")); - }); - - it("should toggle the recording", () => { - expect(playback.toggle).toHaveBeenCalled(); - }); - }); - - describe("and the times update", () => { - beforeEach(() => { - act(() => { - playback.emit(VoiceBroadcastPlaybackEvent.TimesChanged, { - duration, - position: 5 * 60 + 13, - timeLeft: 7 * 60 + 5, - }); - }); - }); - - it("should render the times", async () => { - expect(await screen.findByText("05:13")).toBeInTheDocument(); - expect(await screen.findByText("-07:05")).toBeInTheDocument(); - }); - }); - }); - - describe("when rendering an error broadcast", () => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(VoiceBroadcastPlaybackState.Error); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - }); - - describe.each([ - [VoiceBroadcastPlaybackState.Paused, "not-live"], - [VoiceBroadcastPlaybackState.Playing, "live"], - ] satisfies [VoiceBroadcastPlaybackState, VoiceBroadcastLiveness][])( - "when rendering a %s/%s broadcast", - (state: VoiceBroadcastPlaybackState, liveness: VoiceBroadcastLiveness) => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(state); - mocked(playback.getLiveness).mockReturnValue(liveness); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - }, - ); - - it("when there is a broadcast without sender, it should raise an error", () => { - infoEvent.sender = null; - expect(() => { - render(); - }).toThrow(`Voice Broadcast sender not found (event ${playback.infoEvent.getId()})`); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastPreRecordingPip-test.tsx b/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastPreRecordingPip-test.tsx deleted file mode 100644 index c21cc8d7e4..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastPreRecordingPip-test.tsx +++ /dev/null @@ -1,163 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { mocked } from "jest-mock"; -import { MatrixClient, Room, RoomMember } from "matrix-js-sdk/src/matrix"; -import { act, render, RenderResult, screen } from "jest-matrix-react"; -import userEvent from "@testing-library/user-event"; - -import { - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPreRecording, - VoiceBroadcastPreRecordingPip, - VoiceBroadcastRecordingsStore, -} from "../../../../../src/voice-broadcast"; -import { flushPromises, stubClient } from "../../../../test-utils"; -import { requestMediaPermissions } from "../../../../../src/utils/media/requestMediaPermissions"; -import MediaDeviceHandler, { MediaDeviceKindEnum } from "../../../../../src/MediaDeviceHandler"; -import dis from "../../../../../src/dispatcher/dispatcher"; -import { Action } from "../../../../../src/dispatcher/actions"; - -jest.mock("../../../../../src/dispatcher/dispatcher"); -jest.mock("../../../../../src/utils/media/requestMediaPermissions"); - -// mock RoomAvatar, because it is doing too much fancy stuff -jest.mock("../../../../../src/components/views/avatars/RoomAvatar", () => ({ - __esModule: true, - default: jest.fn().mockImplementation(({ room }) => { - return
room avatar: {room.name}
; - }), -})); - -describe("VoiceBroadcastPreRecordingPip", () => { - let renderResult: RenderResult; - let preRecording: VoiceBroadcastPreRecording; - let playbacksStore: VoiceBroadcastPlaybacksStore; - let recordingsStore: VoiceBroadcastRecordingsStore; - let client: MatrixClient; - let room: Room; - let sender: RoomMember; - - const itShouldShowTheBroadcastRoom = () => { - it("should show the broadcast room", () => { - expect(dis.dispatch).toHaveBeenCalledWith({ - action: Action.ViewRoom, - room_id: room.roomId, - metricsTrigger: undefined, - }); - }); - }; - - beforeEach(() => { - client = stubClient(); - room = new Room("!room@example.com", client, client.getUserId() || ""); - sender = new RoomMember(room.roomId, client.getUserId() || ""); - recordingsStore = new VoiceBroadcastRecordingsStore(); - playbacksStore = new VoiceBroadcastPlaybacksStore(recordingsStore); - mocked(requestMediaPermissions).mockResolvedValue({ - getTracks: (): Array => [], - } as unknown as MediaStream); - jest.spyOn(MediaDeviceHandler, "getDevices").mockResolvedValue({ - [MediaDeviceKindEnum.AudioInput]: [ - { - deviceId: "d1", - label: "Device 1", - } as MediaDeviceInfo, - { - deviceId: "d2", - label: "Device 2", - } as MediaDeviceInfo, - ], - [MediaDeviceKindEnum.AudioOutput]: [], - [MediaDeviceKindEnum.VideoInput]: [], - }); - jest.spyOn(MediaDeviceHandler.instance, "setDevice").mockImplementation(); - preRecording = new VoiceBroadcastPreRecording(room, sender, client, playbacksStore, recordingsStore); - jest.spyOn(preRecording, "start").mockResolvedValue(); - }); - - afterAll(() => { - jest.resetAllMocks(); - }); - - describe("when rendered", () => { - beforeEach(async () => { - renderResult = render(); - - await flushPromises(); - }); - - it("should match the snapshot", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - - describe("and double clicking »Go live«", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText("Go live")); - await userEvent.click(screen.getByText("Go live")); - }); - - it("should call start once", () => { - expect(preRecording.start).toHaveBeenCalledTimes(1); - }); - }); - - describe("and clicking the room name", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText(room.name)); - }); - - itShouldShowTheBroadcastRoom(); - }); - - describe("and clicking the room avatar", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText(`room avatar: ${room.name}`)); - }); - - itShouldShowTheBroadcastRoom(); - }); - - describe("and clicking the device label", () => { - beforeEach(async () => { - await act(async () => { - await userEvent.click(screen.getByText("Default Device")); - }); - }); - - it("should display the device selection", () => { - expect(screen.queryAllByText("Default Device").length).toBe(2); - expect(screen.queryByText("Device 1")).toBeInTheDocument(); - expect(screen.queryByText("Device 2")).toBeInTheDocument(); - }); - - describe("and selecting a device", () => { - beforeEach(async () => { - await act(async () => { - await userEvent.click(screen.getByText("Device 1")); - }); - }); - - it("should set it as current device", () => { - expect(MediaDeviceHandler.instance.setDevice).toHaveBeenCalledWith( - "d1", - MediaDeviceKindEnum.AudioInput, - ); - }); - - it("should not show the device selection", () => { - expect(screen.queryByText("Default Device")).not.toBeInTheDocument(); - // expected to be one in the document, displayed in the pip directly - expect(screen.queryByText("Device 1")).toBeInTheDocument(); - expect(screen.queryByText("Device 2")).not.toBeInTheDocument(); - }); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastRecordingBody-test.tsx b/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastRecordingBody-test.tsx deleted file mode 100644 index 6c4d035373..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastRecordingBody-test.tsx +++ /dev/null @@ -1,79 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022, 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { render, RenderResult } from "jest-matrix-react"; -import { MatrixClient, MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, - VoiceBroadcastRecording, - VoiceBroadcastRecordingBody, -} from "../../../../../src/voice-broadcast"; -import { mkEvent, stubClient } from "../../../../test-utils"; - -// mock RoomAvatar, because it is doing too much fancy stuff -jest.mock("../../../../../src/components/views/avatars/RoomAvatar", () => ({ - __esModule: true, - default: jest.fn().mockImplementation(({ room }) => { - return
room avatar: {room.name}
; - }), -})); - -describe("VoiceBroadcastRecordingBody", () => { - const userId = "@user:example.com"; - const roomId = "!room:example.com"; - let client: MatrixClient; - let infoEvent: MatrixEvent; - let recording: VoiceBroadcastRecording; - - beforeAll(() => { - client = stubClient(); - infoEvent = mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - content: {}, - room: roomId, - user: userId, - }); - recording = new VoiceBroadcastRecording(infoEvent, client, VoiceBroadcastInfoState.Resumed); - }); - - describe("when rendering a live broadcast", () => { - let renderResult: RenderResult; - - beforeEach(() => { - renderResult = render(); - }); - - it("should render with a red live badge", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - }); - - describe("when rendering a paused broadcast", () => { - let renderResult: RenderResult; - - beforeEach(async () => { - await recording.pause(); - renderResult = render(); - }); - - it("should render with a grey live badge", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - }); - - it("when there is a broadcast without sender, it should raise an error", () => { - infoEvent.sender = null; - expect(() => { - render(); - }).toThrow(`Voice Broadcast sender not found (event ${recording.infoEvent.getId()})`); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastRecordingPip-test.tsx b/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastRecordingPip-test.tsx deleted file mode 100644 index eafa0d0af6..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastRecordingPip-test.tsx +++ /dev/null @@ -1,217 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ -// - -import React from "react"; -import { render, RenderResult, screen } from "jest-matrix-react"; -import userEvent from "@testing-library/user-event"; -import { ClientEvent, MatrixClient, MatrixEvent, SyncState } from "matrix-js-sdk/src/matrix"; -import { sleep } from "matrix-js-sdk/src/utils"; -import { mocked } from "jest-mock"; - -import { - VoiceBroadcastInfoState, - VoiceBroadcastRecording, - VoiceBroadcastRecordingPip, -} from "../../../../../src/voice-broadcast"; -import { flushPromises, stubClient } from "../../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "../../utils/test-utils"; -import { requestMediaPermissions } from "../../../../../src/utils/media/requestMediaPermissions"; -import MediaDeviceHandler, { MediaDeviceKindEnum } from "../../../../../src/MediaDeviceHandler"; -import dis from "../../../../../src/dispatcher/dispatcher"; -import { Action } from "../../../../../src/dispatcher/actions"; - -jest.mock("../../../../../src/dispatcher/dispatcher"); -jest.mock("../../../../../src/utils/media/requestMediaPermissions"); - -// mock RoomAvatar, because it is doing too much fancy stuff -jest.mock("../../../../../src/components/views/avatars/RoomAvatar", () => ({ - __esModule: true, - default: jest.fn().mockImplementation(({ room }) => { - return
room avatar: {room.name}
; - }), -})); - -// mock VoiceRecording because it contains all the audio APIs -jest.mock("../../../../../src/audio/VoiceRecording", () => ({ - VoiceRecording: jest.fn().mockReturnValue({ - disableMaxLength: jest.fn(), - liveData: { - onUpdate: jest.fn(), - }, - start: jest.fn(), - }), -})); - -describe("VoiceBroadcastRecordingPip", () => { - const roomId = "!room:example.com"; - let client: MatrixClient; - let infoEvent: MatrixEvent; - let recording: VoiceBroadcastRecording; - let renderResult: RenderResult; - - const renderPip = async (state: VoiceBroadcastInfoState) => { - infoEvent = mkVoiceBroadcastInfoStateEvent(roomId, state, client.getUserId() || "", client.getDeviceId() || ""); - recording = new VoiceBroadcastRecording(infoEvent, client, state); - jest.spyOn(recording, "pause"); - jest.spyOn(recording, "resume"); - renderResult = render(); - await flushPromises(); - }; - - const itShouldShowTheBroadcastRoom = () => { - it("should show the broadcast room", () => { - expect(dis.dispatch).toHaveBeenCalledWith({ - action: Action.ViewRoom, - room_id: roomId, - metricsTrigger: undefined, - }); - }); - }; - - beforeAll(() => { - client = stubClient(); - mocked(requestMediaPermissions).mockResolvedValue({ - getTracks: (): Array => [], - } as unknown as MediaStream); - jest.spyOn(MediaDeviceHandler, "getDevices").mockResolvedValue({ - [MediaDeviceKindEnum.AudioInput]: [ - { - deviceId: "d1", - label: "Device 1", - } as MediaDeviceInfo, - { - deviceId: "d2", - label: "Device 2", - } as MediaDeviceInfo, - ], - [MediaDeviceKindEnum.AudioOutput]: [], - [MediaDeviceKindEnum.VideoInput]: [], - }); - jest.spyOn(MediaDeviceHandler.instance, "setDevice").mockImplementation(); - }); - - describe("when rendering a started recording", () => { - beforeEach(async () => { - await renderPip(VoiceBroadcastInfoState.Started); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - - describe("and selecting another input device", () => { - beforeEach(async () => { - await userEvent.click(screen.getByLabelText("Change input device")); - await userEvent.click(screen.getByText("Device 1")); - }); - - it("should select the device and pause and resume the broadcast", () => { - expect(MediaDeviceHandler.instance.setDevice).toHaveBeenCalledWith( - "d1", - MediaDeviceKindEnum.AudioInput, - ); - expect(recording.pause).toHaveBeenCalled(); - expect(recording.resume).toHaveBeenCalled(); - }); - }); - - describe("and clicking the room name", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText("My room")); - }); - - itShouldShowTheBroadcastRoom(); - }); - - describe("and clicking the room avatar", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText("room avatar: My room")); - }); - - itShouldShowTheBroadcastRoom(); - }); - - describe("and clicking the pause button", () => { - beforeEach(async () => { - await userEvent.click(screen.getByLabelText("pause voice broadcast")); - }); - - it("should pause the recording", () => { - expect(recording.getState()).toBe(VoiceBroadcastInfoState.Paused); - }); - }); - - describe("and clicking the stop button", () => { - beforeEach(async () => { - await userEvent.click(screen.getByLabelText("Stop Recording")); - await screen.findByText("Stop live broadcasting?"); - // modal rendering has some weird sleeps - await sleep(200); - }); - - it("should display the confirm end dialog", () => { - screen.getByText("Stop live broadcasting?"); - }); - - describe("and confirming the dialog", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText("Yes, stop broadcast")); - }); - - it("should end the recording", () => { - expect(recording.getState()).toBe(VoiceBroadcastInfoState.Stopped); - }); - }); - }); - - describe("and there is no connection and clicking the pause button", () => { - beforeEach(async () => { - mocked(client.sendStateEvent).mockImplementation(() => { - throw new Error(); - }); - await userEvent.click(screen.getByLabelText("pause voice broadcast")); - }); - - it("should show a connection error info", () => { - expect(screen.getByText("Connection error - Recording paused")).toBeInTheDocument(); - }); - - describe("and the connection is back", () => { - beforeEach(() => { - mocked(client.sendStateEvent).mockResolvedValue({ event_id: "e1" }); - client.emit(ClientEvent.Sync, SyncState.Catchup, SyncState.Error); - }); - - it("should render a paused recording", async () => { - await expect(screen.findByLabelText("resume voice broadcast")).resolves.toBeInTheDocument(); - }); - }); - }); - }); - - describe("when rendering a paused recording", () => { - beforeEach(async () => { - await renderPip(VoiceBroadcastInfoState.Paused); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - - describe("and clicking the resume button", () => { - beforeEach(async () => { - await userEvent.click(screen.getByLabelText("resume voice broadcast")); - }); - - it("should resume the recording", () => { - expect(recording.getState()).toBe(VoiceBroadcastInfoState.Resumed); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastSmallPlaybackBody-test.tsx b/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastSmallPlaybackBody-test.tsx deleted file mode 100644 index b65bbcf583..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/VoiceBroadcastSmallPlaybackBody-test.tsx +++ /dev/null @@ -1,129 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { MatrixClient, MatrixEvent } from "matrix-js-sdk/src/matrix"; -import { render, RenderResult } from "jest-matrix-react"; -import userEvent from "@testing-library/user-event"; -import { mocked } from "jest-mock"; - -import { - VoiceBroadcastInfoState, - VoiceBroadcastLiveness, - VoiceBroadcastPlayback, - VoiceBroadcastSmallPlaybackBody, - VoiceBroadcastPlaybackState, -} from "../../../../../src/voice-broadcast"; -import { stubClient } from "../../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "../../utils/test-utils"; -import { SdkContextClass } from "../../../../../src/contexts/SDKContext"; - -// mock RoomAvatar, because it is doing too much fancy stuff -jest.mock("../../../../../src/components/views/avatars/RoomAvatar", () => ({ - __esModule: true, - default: jest.fn().mockImplementation(({ room }) => { - return
room avatar: {room.name}
; - }), -})); - -describe("", () => { - const userId = "@user:example.com"; - const roomId = "!room:example.com"; - let client: MatrixClient; - let infoEvent: MatrixEvent; - let playback: VoiceBroadcastPlayback; - let renderResult: RenderResult; - - beforeAll(() => { - client = stubClient(); - mocked(client.relations).mockClear(); - mocked(client.relations).mockResolvedValue({ events: [] }); - - infoEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - userId, - client.getDeviceId()!, - ); - }); - - beforeEach(() => { - playback = new VoiceBroadcastPlayback( - infoEvent, - client, - SdkContextClass.instance.voiceBroadcastRecordingsStore, - ); - jest.spyOn(playback, "toggle").mockImplementation(() => Promise.resolve()); - jest.spyOn(playback, "getLiveness"); - jest.spyOn(playback, "getState"); - }); - - describe("when rendering a buffering broadcast", () => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(VoiceBroadcastPlaybackState.Buffering); - mocked(playback.getLiveness).mockReturnValue("live"); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - }); - - describe("when rendering a playing broadcast", () => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(VoiceBroadcastPlaybackState.Playing); - mocked(playback.getLiveness).mockReturnValue("not-live"); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - }); - - describe(`when rendering a stopped broadcast`, () => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(VoiceBroadcastPlaybackState.Stopped); - mocked(playback.getLiveness).mockReturnValue("not-live"); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - - describe("and clicking the play button", () => { - beforeEach(async () => { - await userEvent.click(renderResult.getByLabelText("play voice broadcast")); - }); - - it("should toggle the playback", () => { - expect(playback.toggle).toHaveBeenCalled(); - }); - }); - }); - - describe.each([ - { state: VoiceBroadcastPlaybackState.Paused, liveness: "not-live" }, - { state: VoiceBroadcastPlaybackState.Playing, liveness: "live" }, - ] as Array<{ state: VoiceBroadcastPlaybackState; liveness: VoiceBroadcastLiveness }>)( - "when rendering a %s/%s broadcast", - ({ state, liveness }) => { - beforeEach(() => { - mocked(playback.getState).mockReturnValue(state); - mocked(playback.getLiveness).mockReturnValue(liveness); - renderResult = render(); - }); - - it("should render as expected", () => { - expect(renderResult.container).toMatchSnapshot(); - }); - }, - ); -}); diff --git a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastPlaybackBody-test.tsx.snap b/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastPlaybackBody-test.tsx.snap deleted file mode 100644 index cb063c395c..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastPlaybackBody-test.tsx.snap +++ /dev/null @@ -1,914 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`VoiceBroadcastPlaybackBody when rendering a buffering voice broadcast should render as expected 1`] = ` -
-
-
-
- room avatar: - My room -
-
-
-
- My room -
-
-
- - - - - - @user:example.com - -
-
-
-
-
- Buffering… -
-
-
-
- Live -
-
-
-
-
-
-
- - - -
-
-
-
-
- -
- - -
-
-
-`; - -exports[`VoiceBroadcastPlaybackBody when rendering a pause/not-live broadcast should render as expected 1`] = ` -
-
-
-
- room avatar: - My room -
-
-
-
- My room -
-
-
- - - - - - @user:example.com - -
-
-
- Voice broadcast -
-
-
-
-
-
-
-
- - - -
-
-
-
-
- -
- - -
-
-
-`; - -exports[`VoiceBroadcastPlaybackBody when rendering a playing broadcast in pip mode should render as expected 1`] = ` -
-
-
-
-
- room avatar: - My room -
-
-
-
-
-
- My room -
-
-
-
- - - - - - @user:example.com - -
-
-
- Voice broadcast -
-
-
-
-
-
-
-
- - - -
-
-
-
-
- -
- - -
-
-
-`; - -exports[`VoiceBroadcastPlaybackBody when rendering a playing broadcast should render as expected 1`] = ` -
-
-
-
- room avatar: - My room -
-
-
-
- My room -
-
-
- - - - - - @user:example.com - -
-
-
- Voice broadcast -
-
-
-
-
-
-
-
- - - -
-
-
-
-
- -
- - -
-
-
-`; - -exports[`VoiceBroadcastPlaybackBody when rendering a playing/live broadcast should render as expected 1`] = ` -
-
-
-
- room avatar: - My room -
-
-
-
- My room -
-
-
- - - - - - @user:example.com - -
-
-
- Voice broadcast -
-
-
-
- Live -
-
-
-
-
-
-
- - - -
-
-
-
-
- -
- - -
-
-
-`; - -exports[`VoiceBroadcastPlaybackBody when rendering a stopped broadcast should render as expected 1`] = ` -
-
-
-
- room avatar: - My room -
-
-
-
- My room -
-
-
- - - - - - @user:example.com - -
-
-
- Voice broadcast -
-
-
-
-
- - - -
-
- -
- - -
-
-
-`; - -exports[`VoiceBroadcastPlaybackBody when rendering an error broadcast should render as expected 1`] = ` -
-
-
-
- room avatar: - My room -
-
-
-
- My room -
-
-
- - - - - - @user:example.com - -
-
-
- Voice broadcast -
-
-
-
- - - - - Unable to play this voice broadcast -
-
-
-`; diff --git a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastPreRecordingPip-test.tsx.snap b/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastPreRecordingPip-test.tsx.snap deleted file mode 100644 index f50cdc3be4..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastPreRecordingPip-test.tsx.snap +++ /dev/null @@ -1,98 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`VoiceBroadcastPreRecordingPip when rendered should match the snapshot 1`] = ` -
-
-
-
-
- room avatar: - !room@example.com -
-
-
-
-
-
- !room@example.com -
-
-
-
- - - - - - Default Device - -
-
-
- - - -
-
-
-
- Go live -
-
-
-`; diff --git a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastRecordingBody-test.tsx.snap b/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastRecordingBody-test.tsx.snap deleted file mode 100644 index c2e6fdcd54..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastRecordingBody-test.tsx.snap +++ /dev/null @@ -1,131 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`VoiceBroadcastRecordingBody when rendering a live broadcast should render with a red live badge 1`] = ` -
-
-
-
- room avatar: - My room -
-
-
-
- My room -
-
-
- - - - - - @user:example.com - -
-
-
-
- Live -
-
-
-
-`; - -exports[`VoiceBroadcastRecordingBody when rendering a paused broadcast should render with a grey live badge 1`] = ` -
-
-
-
- room avatar: - My room -
-
-
-
- My room -
-
-
- - - - - - @user:example.com - -
-
-
-
- Live -
-
-
-
-`; diff --git a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastRecordingPip-test.tsx.snap b/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastRecordingPip-test.tsx.snap deleted file mode 100644 index 2fc2334575..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastRecordingPip-test.tsx.snap +++ /dev/null @@ -1,238 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`VoiceBroadcastRecordingPip when rendering a paused recording should render as expected 1`] = ` -
-
-
-
-
- room avatar: - My room -
-
-
-
-
-
- My room -
-
-
-
-
- -
-
-
-
- Live -
-
-
-
-
-
-
-
- - - - -
-
-
-
-
-
-
-`; - -exports[`VoiceBroadcastRecordingPip when rendering a started recording should render as expected 1`] = ` -
-
-
-
-
- room avatar: - My room -
-
-
-
-
-
- My room -
-
-
-
-
- -
-
-
-
- Live -
-
-
-
-
- - - -
-
- - - - -
-
-
-
-
-
-
-`; diff --git a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastSmallPlaybackBody-test.tsx.snap b/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastSmallPlaybackBody-test.tsx.snap deleted file mode 100644 index 088151158b..0000000000 --- a/test/unit-tests/voice-broadcast/components/molecules/__snapshots__/VoiceBroadcastSmallPlaybackBody-test.tsx.snap +++ /dev/null @@ -1,558 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` when rendering a { state: 'pause', liveness: 'not-live' }/%s broadcast should render as expected 1`] = ` -
-
-
-
-
- room avatar: - My room -
-
-
-
-
-
- My room -
-
-
-
- - - - - - @user:example.com - -
-
-
-
- - - -
-
- - - -
-
-
-`; - -exports[` when rendering a { state: 'playing', liveness: 'live' }/%s broadcast should render as expected 1`] = ` -
-
-
-
-
- room avatar: - My room -
-
-
-
-
-
- My room -
-
-
-
- - - - - - @user:example.com - -
-
-
- Live -
-
-
-
- - - -
-
- - - -
-
-
-`; - -exports[` when rendering a buffering broadcast should render as expected 1`] = ` -
-
-
-
-
- room avatar: - My room -
-
-
-
-
-
- My room -
-
-
-
-
-
-
- - - - - - @user:example.com - -
-
-
- Live -
-
-
-
- - - -
-
- - - -
-
-
-`; - -exports[` when rendering a playing broadcast should render as expected 1`] = ` -
-
-
-
-
- room avatar: - My room -
-
-
-
-
-
- My room -
-
-
-
- - - - - - @user:example.com - -
-
-
-
- - - -
-
- - - -
-
-
-`; - -exports[` when rendering a stopped broadcast should render as expected 1`] = ` -
-
-
-
-
- room avatar: - My room -
-
-
-
-
-
- My room -
-
-
-
- - - - - - @user:example.com - -
-
-
-
- - - -
-
- - - -
-
-
-`; diff --git a/test/unit-tests/voice-broadcast/models/VoiceBroadcastPlayback-test.tsx b/test/unit-tests/voice-broadcast/models/VoiceBroadcastPlayback-test.tsx deleted file mode 100644 index 9ce24e5921..0000000000 --- a/test/unit-tests/voice-broadcast/models/VoiceBroadcastPlayback-test.tsx +++ /dev/null @@ -1,747 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { screen } from "jest-matrix-react"; -import userEvent from "@testing-library/user-event"; -import { MatrixClient, MatrixEvent, MatrixEventEvent, Room } from "matrix-js-sdk/src/matrix"; -import { defer } from "matrix-js-sdk/src/utils"; - -import { Playback, PlaybackState } from "../../../../src/audio/Playback"; -import { PlaybackManager } from "../../../../src/audio/PlaybackManager"; -import { SdkContextClass } from "../../../../src/contexts/SDKContext"; -import { MediaEventHelper } from "../../../../src/utils/MediaEventHelper"; -import { - VoiceBroadcastInfoState, - VoiceBroadcastLiveness, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybackEvent, - VoiceBroadcastPlaybackState, - VoiceBroadcastRecording, -} from "../../../../src/voice-broadcast"; -import { - filterConsole, - flushPromises, - flushPromisesWithFakeTimers, - stubClient, - waitEnoughCyclesForModal, -} from "../../../test-utils"; -import { createTestPlayback } from "../../../test-utils/audio"; -import { mkVoiceBroadcastChunkEvent, mkVoiceBroadcastInfoStateEvent } from "../utils/test-utils"; -import { LazyValue } from "../../../../src/utils/LazyValue"; - -jest.mock("../../../../src/utils/MediaEventHelper", () => ({ - MediaEventHelper: jest.fn(), -})); - -describe("VoiceBroadcastPlayback", () => { - const userId = "@user:example.com"; - let deviceId: string; - const roomId = "!room:example.com"; - let room: Room; - let client: MatrixClient; - let infoEvent: MatrixEvent; - let playback: VoiceBroadcastPlayback; - let onStateChanged: (state: VoiceBroadcastPlaybackState) => void; - let chunk1Event: MatrixEvent; - let deplayedChunk1Event: MatrixEvent; - let chunk2Event: MatrixEvent; - let chunk2BEvent: MatrixEvent; - let chunk3Event: MatrixEvent; - const chunk1Length = 2300; - const chunk2Length = 4200; - const chunk3Length = 6900; - const chunk1Data = new ArrayBuffer(2); - const chunk2Data = new ArrayBuffer(3); - const chunk3Data = new ArrayBuffer(3); - let delayedChunk1Helper: MediaEventHelper; - let chunk1Helper: MediaEventHelper; - let chunk2Helper: MediaEventHelper; - let chunk3Helper: MediaEventHelper; - let chunk1Playback: Playback; - let chunk2Playback: Playback; - let chunk3Playback: Playback; - let middleOfSecondChunk!: number; - let middleOfThirdChunk!: number; - - const queryConfirmListeningDialog = () => { - return screen.queryByText( - "If you start listening to this live broadcast, your current live broadcast recording will be ended.", - ); - }; - - const itShouldSetTheStateTo = (state: VoiceBroadcastPlaybackState) => { - it(`should set the state to ${state}`, () => { - expect(playback.getState()).toBe(state); - }); - }; - - const itShouldEmitAStateChangedEvent = (state: VoiceBroadcastPlaybackState) => { - it(`should emit a ${state} state changed event`, () => { - expect(mocked(onStateChanged)).toHaveBeenCalledWith(state, playback); - }); - }; - - const itShouldHaveLiveness = (liveness: VoiceBroadcastLiveness): void => { - it(`should have liveness ${liveness}`, () => { - expect(playback.getLiveness()).toBe(liveness); - }); - }; - - const startPlayback = () => { - beforeEach(() => { - playback.start(); - }); - }; - - const pausePlayback = () => { - beforeEach(() => { - playback.pause(); - }); - }; - - const stopPlayback = () => { - beforeEach(() => { - playback.stop(); - }); - }; - - const mkChunkHelper = (data: ArrayBuffer): MediaEventHelper => { - return { - sourceBlob: { - cachedValue: new Blob(), - done: false, - value: { - // @ts-ignore - arrayBuffer: jest.fn().mockResolvedValue(data), - }, - }, - }; - }; - - const mkDeplayedChunkHelper = (data: ArrayBuffer): MediaEventHelper => { - const deferred = defer>(); - - setTimeout(() => { - deferred.resolve({ - // @ts-ignore - arrayBuffer: jest.fn().mockResolvedValue(data), - }); - }, 7500); - - return { - sourceBlob: { - cachedValue: new Blob(), - done: false, - // @ts-ignore - value: deferred.promise, - }, - }; - }; - - const simulateFirstChunkArrived = async (): Promise => { - jest.advanceTimersByTime(10000); - await flushPromisesWithFakeTimers(); - }; - - const mkInfoEvent = (state: VoiceBroadcastInfoState) => { - return mkVoiceBroadcastInfoStateEvent(roomId, state, userId, deviceId); - }; - - const mkPlayback = async (fakeTimers = false): Promise => { - const playback = new VoiceBroadcastPlayback( - infoEvent, - client, - SdkContextClass.instance.voiceBroadcastRecordingsStore, - ); - jest.spyOn(playback, "removeAllListeners"); - jest.spyOn(playback, "destroy"); - playback.on(VoiceBroadcastPlaybackEvent.StateChanged, onStateChanged); - if (fakeTimers) { - await flushPromisesWithFakeTimers(); - } else { - await flushPromises(); - } - return playback; - }; - - const setUpChunkEvents = (chunkEvents: MatrixEvent[]) => { - mocked(client.relations).mockResolvedValueOnce({ - events: chunkEvents, - }); - }; - - const createChunkEvents = () => { - chunk1Event = mkVoiceBroadcastChunkEvent(infoEvent.getId()!, userId, roomId, chunk1Length, 1); - deplayedChunk1Event = mkVoiceBroadcastChunkEvent(infoEvent.getId()!, userId, roomId, chunk1Length, 1); - chunk2Event = mkVoiceBroadcastChunkEvent(infoEvent.getId()!, userId, roomId, chunk2Length, 2); - chunk2Event.setTxnId("tx-id-1"); - chunk2BEvent = mkVoiceBroadcastChunkEvent(infoEvent.getId()!, userId, roomId, chunk2Length, 2); - chunk2BEvent.setTxnId("tx-id-1"); - chunk3Event = mkVoiceBroadcastChunkEvent(infoEvent.getId()!, userId, roomId, chunk3Length, 3); - - chunk1Helper = mkChunkHelper(chunk1Data); - delayedChunk1Helper = mkDeplayedChunkHelper(chunk1Data); - chunk2Helper = mkChunkHelper(chunk2Data); - chunk3Helper = mkChunkHelper(chunk3Data); - - chunk1Playback = createTestPlayback(); - chunk2Playback = createTestPlayback(); - chunk3Playback = createTestPlayback(); - - middleOfSecondChunk = (chunk1Length + chunk2Length / 2) / 1000; - middleOfThirdChunk = (chunk1Length + chunk2Length + chunk3Length / 2) / 1000; - - jest.spyOn(PlaybackManager.instance, "createPlaybackInstance").mockImplementation( - (buffer: ArrayBuffer, _waveForm?: number[]) => { - if (buffer === chunk1Data) return chunk1Playback; - if (buffer === chunk2Data) return chunk2Playback; - if (buffer === chunk3Data) return chunk3Playback; - - throw new Error("unexpected buffer"); - }, - ); - - mocked(MediaEventHelper).mockImplementation((event: MatrixEvent): any => { - if (event === chunk1Event) return chunk1Helper; - if (event === deplayedChunk1Event) return delayedChunk1Helper; - if (event === chunk2Event) return chunk2Helper; - if (event === chunk3Event) return chunk3Helper; - }); - }; - - filterConsole( - // expected for some tests - "Unable to load broadcast playback", - ); - - beforeEach(() => { - client = stubClient(); - deviceId = client.getDeviceId() || ""; - room = new Room(roomId, client, client.getSafeUserId()); - mocked(client.getRoom).mockImplementation((roomId: string): Room | null => { - if (roomId === room.roomId) return room; - return null; - }); - onStateChanged = jest.fn(); - }); - - afterEach(async () => { - SdkContextClass.instance.voiceBroadcastPlaybacksStore.getCurrent()?.stop(); - SdkContextClass.instance.voiceBroadcastPlaybacksStore.clearCurrent(); - await SdkContextClass.instance.voiceBroadcastRecordingsStore.getCurrent()?.stop(); - SdkContextClass.instance.voiceBroadcastRecordingsStore.clearCurrent(); - playback.destroy(); - }); - - describe(`when there is a ${VoiceBroadcastInfoState.Resumed} broadcast without chunks yet`, () => { - beforeEach(async () => { - infoEvent = mkInfoEvent(VoiceBroadcastInfoState.Resumed); - createChunkEvents(); - room.addLiveEvents([infoEvent], { addToState: true }); - playback = await mkPlayback(); - }); - - describe("and calling start", () => { - startPlayback(); - - itShouldHaveLiveness("live"); - - it("should be in buffering state", () => { - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Buffering); - }); - - it("should have duration 0", () => { - expect(playback.durationSeconds).toBe(0); - }); - - it("should be at time 0", () => { - expect(playback.timeSeconds).toBe(0); - }); - - describe("and calling stop", () => { - stopPlayback(); - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Stopped); - - describe("and calling pause", () => { - pausePlayback(); - // stopped voice broadcasts cannot be paused - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Stopped); - }); - }); - - describe("and calling pause", () => { - pausePlayback(); - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Paused); - }); - - describe("and receiving the first chunk", () => { - beforeEach(() => { - room.relations.aggregateChildEvent(chunk1Event); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Playing); - itShouldHaveLiveness("live"); - - it("should update the duration", () => { - expect(playback.durationSeconds).toBe(2.3); - }); - - it("should play the first chunk", () => { - expect(chunk1Playback.play).toHaveBeenCalled(); - }); - }); - - describe("and receiving the first undecryptable chunk", () => { - beforeEach(() => { - jest.spyOn(chunk1Event, "isDecryptionFailure").mockReturnValue(true); - room.relations.aggregateChildEvent(chunk1Event); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Error); - - it("should not update the duration", () => { - expect(playback.durationSeconds).toBe(0); - }); - - describe("and the chunk is decrypted", () => { - beforeEach(() => { - mocked(chunk1Event.isDecryptionFailure).mockReturnValue(false); - chunk1Event.emit(MatrixEventEvent.Decrypted, chunk1Event); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Paused); - - it("should not update the duration", () => { - expect(playback.durationSeconds).toBe(2.3); - }); - }); - }); - }); - }); - - describe(`when there is a ${VoiceBroadcastInfoState.Resumed} voice broadcast with some chunks`, () => { - beforeEach(async () => { - mocked(client.relations).mockResolvedValueOnce({ events: [] }); - infoEvent = mkInfoEvent(VoiceBroadcastInfoState.Resumed); - createChunkEvents(); - setUpChunkEvents([chunk2Event, chunk1Event]); - room.addLiveEvents([infoEvent, chunk1Event, chunk2Event], { addToState: true }); - room.relations.aggregateChildEvent(chunk2Event); - room.relations.aggregateChildEvent(chunk1Event); - playback = await mkPlayback(); - }); - - it("durationSeconds should have the length of the known chunks", () => { - expect(playback.durationSeconds).toEqual(6.5); - }); - - describe("and starting a playback with a broken chunk", () => { - beforeEach(async () => { - mocked(chunk2Playback.prepare).mockRejectedValue("Error decoding chunk"); - await playback.start(); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Error); - - it("start() should keep it in the error state)", async () => { - await playback.start(); - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Error); - }); - - it("stop() should keep it in the error state)", () => { - playback.stop(); - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Error); - }); - - it("toggle() should keep it in the error state)", async () => { - await playback.toggle(); - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Error); - }); - - it("pause() should keep it in the error state)", () => { - playback.pause(); - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Error); - }); - }); - - describe("and an event with the same transaction Id occurs", () => { - beforeEach(() => { - room.addLiveEvents([chunk2BEvent], { addToState: true }); - room.relations.aggregateChildEvent(chunk2BEvent); - }); - - it("durationSeconds should not change", () => { - expect(playback.durationSeconds).toEqual(6.5); - }); - }); - - describe("and calling start", () => { - startPlayback(); - - it("should play the last chunk", () => { - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Playing); - // assert that the last chunk is played first - expect(chunk2Playback.play).toHaveBeenCalled(); - expect(chunk1Playback.play).not.toHaveBeenCalled(); - }); - - describe( - "and receiving a stop info event with last_chunk_sequence = 2 and " + - "the playback of the last available chunk ends", - () => { - beforeEach(() => { - const stoppedEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - client.getSafeUserId(), - client.deviceId!, - infoEvent, - 2, - ); - room.addLiveEvents([stoppedEvent], { addToState: true }); - room.relations.aggregateChildEvent(stoppedEvent); - chunk2Playback.emit(PlaybackState.Stopped); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Stopped); - }, - ); - - describe( - "and receiving a stop info event with last_chunk_sequence = 3 and " + - "the playback of the last available chunk ends", - () => { - beforeEach(() => { - const stoppedEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - client.getSafeUserId(), - client.deviceId!, - infoEvent, - 3, - ); - room.addLiveEvents([stoppedEvent], { addToState: true }); - room.relations.aggregateChildEvent(stoppedEvent); - chunk2Playback.emit(PlaybackState.Stopped); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Buffering); - - describe("and the next chunk arrives", () => { - beforeEach(() => { - room.addLiveEvents([chunk3Event], { addToState: true }); - room.relations.aggregateChildEvent(chunk3Event); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Playing); - - it("should play the next chunk", () => { - expect(chunk3Playback.play).toHaveBeenCalled(); - }); - }); - }, - ); - - describe("and the info event is deleted", () => { - beforeEach(() => { - infoEvent.makeRedacted(new MatrixEvent({}), room); - }); - - it("should stop and destroy the playback", () => { - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Stopped); - expect(playback.destroy).toHaveBeenCalled(); - }); - }); - }); - - describe("and currently recording a broadcast", () => { - let recording: VoiceBroadcastRecording; - - beforeEach(async () => { - recording = new VoiceBroadcastRecording( - mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getSafeUserId(), - client.deviceId, - ), - client, - ); - jest.spyOn(recording, "stop"); - SdkContextClass.instance.voiceBroadcastRecordingsStore.setCurrent(recording); - playback.start(); - await waitEnoughCyclesForModal(); - }); - - it("should display a confirm modal", () => { - expect(queryConfirmListeningDialog()).toBeInTheDocument(); - }); - - describe("when confirming the dialog", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText("Yes, end my recording")); - }); - - it("should stop the recording", () => { - expect(recording.stop).toHaveBeenCalled(); - expect(SdkContextClass.instance.voiceBroadcastRecordingsStore.getCurrent()).toBeNull(); - }); - - it("should not start the playback", () => { - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Playing); - }); - }); - - describe("when not confirming the dialog", () => { - beforeEach(async () => { - await userEvent.click(screen.getByText("No")); - }); - - it("should not stop the recording", () => { - expect(recording.stop).not.toHaveBeenCalled(); - }); - - it("should start the playback", () => { - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Stopped); - }); - }); - }); - }); - - describe("when there is a stopped voice broadcast", () => { - beforeEach(async () => { - jest.useFakeTimers(); - infoEvent = mkInfoEvent(VoiceBroadcastInfoState.Stopped); - createChunkEvents(); - // use delayed first chunk here to simulate loading time - setUpChunkEvents([chunk2Event, deplayedChunk1Event, chunk3Event]); - room.addLiveEvents([infoEvent, deplayedChunk1Event, chunk2Event, chunk3Event], { addToState: true }); - playback = await mkPlayback(true); - }); - - afterEach(() => { - jest.useRealTimers(); - }); - - it("should expose the info event", () => { - expect(playback.infoEvent).toBe(infoEvent); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Stopped); - - describe("and calling start", () => { - startPlayback(); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Buffering); - - describe("and the first chunk data has been loaded", () => { - beforeEach(async () => { - await simulateFirstChunkArrived(); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Playing); - - it("should play the chunks beginning with the first one", () => { - // assert that the first chunk is being played - expect(chunk1Playback.play).toHaveBeenCalled(); - expect(chunk2Playback.play).not.toHaveBeenCalled(); - }); - - describe("and calling start again", () => { - it("should not play the first chunk a second time", () => { - expect(chunk1Playback.play).toHaveBeenCalledTimes(1); - }); - }); - - describe("and the chunk playback progresses", () => { - beforeEach(() => { - chunk1Playback.clockInfo.liveData.update([11]); - }); - - it("should update the time", () => { - expect(playback.timeSeconds).toBe(11); - }); - }); - - describe("and the chunk playback progresses across the actual time", () => { - // This can be the case if the meta data is out of sync with the actual audio data. - - beforeEach(() => { - chunk1Playback.clockInfo.liveData.update([15]); - }); - - it("should update the time", () => { - expect(playback.timeSeconds).toBe(15); - expect(playback.timeLeftSeconds).toBe(0); - }); - }); - - describe("and skipping to the middle of the second chunk", () => { - const middleOfSecondChunk = (chunk1Length + chunk2Length / 2) / 1000; - - beforeEach(async () => { - await playback.skipTo(middleOfSecondChunk); - }); - - it("should play the second chunk", () => { - expect(chunk1Playback.stop).toHaveBeenCalled(); - expect(chunk1Playback.destroy).toHaveBeenCalled(); - expect(chunk2Playback.play).toHaveBeenCalled(); - }); - - it("should update the time", () => { - expect(playback.timeSeconds).toBe(middleOfSecondChunk); - }); - - describe("and skipping to the start", () => { - beforeEach(async () => { - await playback.skipTo(0); - }); - - it("should play the first chunk", () => { - expect(chunk2Playback.stop).toHaveBeenCalled(); - expect(chunk2Playback.destroy).toHaveBeenCalled(); - expect(chunk1Playback.play).toHaveBeenCalled(); - }); - - it("should update the time", () => { - expect(playback.timeSeconds).toBe(0); - }); - }); - }); - - describe("and skipping multiple times", () => { - beforeEach(async () => { - return Promise.all([ - playback.skipTo(middleOfSecondChunk), - playback.skipTo(middleOfThirdChunk), - playback.skipTo(0), - ]); - }); - - it("should only skip to the first and last position", () => { - expect(chunk1Playback.stop).toHaveBeenCalled(); - expect(chunk1Playback.destroy).toHaveBeenCalled(); - expect(chunk2Playback.play).toHaveBeenCalled(); - - expect(chunk3Playback.play).not.toHaveBeenCalled(); - - expect(chunk2Playback.stop).toHaveBeenCalled(); - expect(chunk2Playback.destroy).toHaveBeenCalled(); - expect(chunk1Playback.play).toHaveBeenCalled(); - }); - }); - - describe("and the first chunk ends", () => { - beforeEach(() => { - chunk1Playback.emit(PlaybackState.Stopped); - }); - - it("should play until the end", () => { - // assert first chunk was unloaded - expect(chunk1Playback.destroy).toHaveBeenCalled(); - - // assert that the second chunk is being played - expect(chunk2Playback.play).toHaveBeenCalled(); - - // simulate end of second and third chunk - chunk2Playback.emit(PlaybackState.Stopped); - chunk3Playback.emit(PlaybackState.Stopped); - - // assert that the entire playback is now in stopped state - expect(playback.getState()).toBe(VoiceBroadcastPlaybackState.Stopped); - }); - }); - - describe("and calling pause", () => { - pausePlayback(); - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Paused); - itShouldEmitAStateChangedEvent(VoiceBroadcastPlaybackState.Paused); - }); - - describe("and calling stop", () => { - stopPlayback(); - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Stopped); - - it("should stop the playback", () => { - expect(chunk1Playback.stop).toHaveBeenCalled(); - }); - - describe("and skipping to somewhere in the middle of the first chunk", () => { - beforeEach(async () => { - mocked(chunk1Playback.play).mockClear(); - await playback.skipTo(1); - }); - - it("should not start the playback", () => { - expect(chunk1Playback.play).not.toHaveBeenCalled(); - }); - }); - }); - - describe("and calling destroy", () => { - beforeEach(() => { - playback.destroy(); - }); - - it("should call removeAllListeners", () => { - expect(playback.removeAllListeners).toHaveBeenCalled(); - }); - - it("should call destroy on the playbacks", () => { - expect(chunk1Playback.destroy).toHaveBeenCalled(); - expect(chunk2Playback.destroy).toHaveBeenCalled(); - }); - }); - }); - }); - - describe("and calling toggle for the first time", () => { - beforeEach(async () => { - playback.toggle(); - await simulateFirstChunkArrived(); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Playing); - - describe("and calling toggle a second time", () => { - beforeEach(async () => { - await playback.toggle(); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Paused); - - describe("and calling toggle a third time", () => { - beforeEach(async () => { - await playback.toggle(); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Playing); - }); - }); - }); - - describe("and calling stop", () => { - stopPlayback(); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Stopped); - - describe("and calling toggle", () => { - beforeEach(async () => { - mocked(onStateChanged).mockReset(); - playback.toggle(); - await simulateFirstChunkArrived(); - }); - - itShouldSetTheStateTo(VoiceBroadcastPlaybackState.Playing); - itShouldEmitAStateChangedEvent(VoiceBroadcastPlaybackState.Playing); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/models/VoiceBroadcastPreRecording-test.ts b/test/unit-tests/voice-broadcast/models/VoiceBroadcastPreRecording-test.ts deleted file mode 100644 index f8b9e89d3e..0000000000 --- a/test/unit-tests/voice-broadcast/models/VoiceBroadcastPreRecording-test.ts +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, Room, RoomMember } from "matrix-js-sdk/src/matrix"; - -import { - startNewVoiceBroadcastRecording, - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPreRecording, - VoiceBroadcastRecordingsStore, -} from "../../../../src/voice-broadcast"; -import { stubClient } from "../../../test-utils"; - -jest.mock("../../../../src/voice-broadcast/utils/startNewVoiceBroadcastRecording"); - -describe("VoiceBroadcastPreRecording", () => { - const roomId = "!room:example.com"; - let client: MatrixClient; - let room: Room; - let sender: RoomMember; - let playbacksStore: VoiceBroadcastPlaybacksStore; - let recordingsStore: VoiceBroadcastRecordingsStore; - let preRecording: VoiceBroadcastPreRecording; - let onDismiss: (voiceBroadcastPreRecording: VoiceBroadcastPreRecording) => void; - - beforeAll(() => { - client = stubClient(); - room = new Room(roomId, client, client.getUserId() || ""); - sender = new RoomMember(roomId, client.getUserId() || ""); - recordingsStore = new VoiceBroadcastRecordingsStore(); - playbacksStore = new VoiceBroadcastPlaybacksStore(recordingsStore); - }); - - beforeEach(() => { - onDismiss = jest.fn(); - preRecording = new VoiceBroadcastPreRecording(room, sender, client, playbacksStore, recordingsStore); - preRecording.on("dismiss", onDismiss); - }); - - describe("start", () => { - beforeEach(() => { - preRecording.start(); - }); - - it("should start a new voice broadcast recording", () => { - expect(startNewVoiceBroadcastRecording).toHaveBeenCalledWith(room, client, playbacksStore, recordingsStore); - }); - - it("should emit a dismiss event", () => { - expect(onDismiss).toHaveBeenCalledWith(preRecording); - }); - }); - - describe("cancel", () => { - beforeEach(() => { - preRecording.cancel(); - }); - - it("should emit a dismiss event", () => { - expect(onDismiss).toHaveBeenCalledWith(preRecording); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/models/VoiceBroadcastRecording-test.ts b/test/unit-tests/voice-broadcast/models/VoiceBroadcastRecording-test.ts deleted file mode 100644 index 4f6bd8f47b..0000000000 --- a/test/unit-tests/voice-broadcast/models/VoiceBroadcastRecording-test.ts +++ /dev/null @@ -1,660 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { - ClientEvent, - EventTimelineSet, - EventType, - LOCAL_NOTIFICATION_SETTINGS_PREFIX, - MatrixClient, - MatrixEvent, - MatrixEventEvent, - MsgType, - RelationType, - Room, - Relations, - SyncState, -} from "matrix-js-sdk/src/matrix"; -import { EncryptedFile } from "matrix-js-sdk/src/types"; -import fetchMock from "fetch-mock-jest"; - -import { uploadFile } from "../../../../src/ContentMessages"; -import { createVoiceMessageContent } from "../../../../src/utils/createVoiceMessageContent"; -import { - createVoiceBroadcastRecorder, - getChunkLength, - getMaxBroadcastLength, - VoiceBroadcastInfoEventContent, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, - VoiceBroadcastRecorder, - VoiceBroadcastRecorderEvent, - VoiceBroadcastRecording, - VoiceBroadcastRecordingEvent, - VoiceBroadcastRecordingState, -} from "../../../../src/voice-broadcast"; -import { mkEvent, mkStubRoom, stubClient } from "../../../test-utils"; -import dis from "../../../../src/dispatcher/dispatcher"; -import { VoiceRecording } from "../../../../src/audio/VoiceRecording"; -import { createAudioContext } from "../../../../src/audio/compat"; - -jest.mock("../../../../src/voice-broadcast/audio/VoiceBroadcastRecorder", () => ({ - ...(jest.requireActual("../../../../src/voice-broadcast/audio/VoiceBroadcastRecorder") as object), - createVoiceBroadcastRecorder: jest.fn(), -})); - -// mock VoiceRecording because it contains all the audio APIs -jest.mock("../../../../src/audio/VoiceRecording", () => ({ - VoiceRecording: jest.fn().mockReturnValue({ - disableMaxLength: jest.fn(), - liveData: { - onUpdate: jest.fn(), - }, - off: jest.fn(), - on: jest.fn(), - start: jest.fn(), - stop: jest.fn(), - destroy: jest.fn(), - contentType: "audio/ogg", - }), -})); - -jest.mock("../../../../src/ContentMessages", () => ({ - uploadFile: jest.fn(), -})); - -jest.mock("../../../../src/utils/createVoiceMessageContent", () => ({ - createVoiceMessageContent: jest.fn(), -})); - -jest.mock("../../../../src/audio/compat", () => ({ - ...jest.requireActual("../../../../src/audio/compat"), - createAudioContext: jest.fn(), -})); - -describe("VoiceBroadcastRecording", () => { - const roomId = "!room:example.com"; - const uploadedUrl = "mxc://example.com/vb"; - const uploadedFile = { file: true } as unknown as EncryptedFile; - const maxLength = getMaxBroadcastLength(); - let room: Room; - let client: MatrixClient; - let infoEvent: MatrixEvent; - let voiceBroadcastRecording: VoiceBroadcastRecording; - let onStateChanged: (state: VoiceBroadcastRecordingState) => void; - let voiceBroadcastRecorder: VoiceBroadcastRecorder; - let audioElement: HTMLAudioElement; - - const mkVoiceBroadcastInfoEvent = (content: VoiceBroadcastInfoEventContent) => { - return mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - user: client.getSafeUserId(), - room: roomId, - content, - }); - }; - - const setUpVoiceBroadcastRecording = () => { - voiceBroadcastRecording = new VoiceBroadcastRecording(infoEvent, client); - voiceBroadcastRecording.on(VoiceBroadcastRecordingEvent.StateChanged, onStateChanged); - jest.spyOn(voiceBroadcastRecording, "destroy"); - jest.spyOn(voiceBroadcastRecording, "emit"); - jest.spyOn(voiceBroadcastRecording, "removeAllListeners"); - }; - - const itShouldBeInState = (state: VoiceBroadcastRecordingState) => { - it(`should be in state stopped ${state}`, () => { - expect(voiceBroadcastRecording.getState()).toBe(state); - }); - }; - - const emitFirsChunkRecorded = () => { - voiceBroadcastRecorder.emit(VoiceBroadcastRecorderEvent.ChunkRecorded, { - buffer: new Uint8Array([1, 2, 3]), - length: 23, - }); - }; - - const itShouldSendAnInfoEvent = (state: VoiceBroadcastInfoState, lastChunkSequence: number) => { - it(`should send a ${state} info event`, () => { - expect(client.sendStateEvent).toHaveBeenCalledWith( - roomId, - VoiceBroadcastInfoEventType, - { - device_id: client.getDeviceId(), - state, - last_chunk_sequence: lastChunkSequence, - ["m.relates_to"]: { - rel_type: RelationType.Reference, - event_id: infoEvent.getId(), - }, - } as VoiceBroadcastInfoEventContent, - client.getUserId()!, - ); - }); - }; - - const itShouldSendAVoiceMessage = (data: number[], size: number, duration: number, sequence: number) => { - // events contain milliseconds - duration *= 1000; - - it("should send a voice message", () => { - expect(uploadFile).toHaveBeenCalledWith( - client, - roomId, - new Blob([new Uint8Array(data)], { type: voiceBroadcastRecorder.contentType }), - ); - - expect(mocked(client.sendMessage)).toHaveBeenCalledWith(roomId, { - body: "Voice message", - file: { - file: true, - }, - info: { - duration, - mimetype: "audio/ogg", - size, - }, - ["m.relates_to"]: { - event_id: infoEvent.getId(), - rel_type: "m.reference", - }, - msgtype: "m.audio", - ["org.matrix.msc1767.audio"]: { - duration, - waveform: undefined, - }, - ["org.matrix.msc1767.file"]: { - file: { - file: true, - }, - mimetype: "audio/ogg", - name: "Voice message.ogg", - size, - url: "mxc://example.com/vb", - }, - ["org.matrix.msc1767.text"]: "Voice message", - ["org.matrix.msc3245.voice"]: {}, - url: "mxc://example.com/vb", - ["io.element.voice_broadcast_chunk"]: { - sequence, - }, - }); - }); - }; - - const setUpUploadFileMock = () => { - mocked(uploadFile).mockResolvedValue({ - url: uploadedUrl, - file: uploadedFile, - }); - }; - - const mockAudioBufferSourceNode = { - addEventListener: jest.fn(), - connect: jest.fn(), - start: jest.fn(), - }; - const mockAudioContext = { - decodeAudioData: jest.fn(), - suspend: jest.fn(), - resume: jest.fn(), - createBufferSource: jest.fn().mockReturnValue(mockAudioBufferSourceNode), - currentTime: 1337, - }; - - beforeEach(() => { - client = stubClient(); - room = mkStubRoom(roomId, "Test Room", client); - mocked(client.getRoom).mockImplementation((getRoomId: string | undefined): Room | null => { - if (getRoomId === roomId) { - return room; - } - - return null; - }); - onStateChanged = jest.fn(); - voiceBroadcastRecorder = new VoiceBroadcastRecorder(new VoiceRecording(), getChunkLength()); - jest.spyOn(voiceBroadcastRecorder, "start"); - jest.spyOn(voiceBroadcastRecorder, "stop"); - jest.spyOn(voiceBroadcastRecorder, "destroy"); - mocked(createVoiceBroadcastRecorder).mockReturnValue(voiceBroadcastRecorder); - - setUpUploadFileMock(); - - mocked(createVoiceMessageContent).mockImplementation( - ( - mxc: string | undefined, - mimetype: string, - duration: number, - size: number, - file?: EncryptedFile, - waveform?: number[], - ) => { - return { - body: "Voice message", - msgtype: MsgType.Audio, - url: mxc, - file, - info: { - duration, - mimetype, - size, - }, - ["org.matrix.msc1767.text"]: "Voice message", - ["org.matrix.msc1767.file"]: { - url: mxc, - file, - name: "Voice message.ogg", - mimetype, - size, - }, - ["org.matrix.msc1767.audio"]: { - duration, - // https://github.com/matrix-org/matrix-doc/pull/3246 - waveform, - }, - ["org.matrix.msc3245.voice"]: {}, // No content, this is a rendering hint - }; - }, - ); - - audioElement = { - play: jest.fn(), - } as any as HTMLAudioElement; - - jest.spyOn(document, "querySelector").mockImplementation((selector: string) => { - if (selector === "audio#errorAudio") { - return audioElement; - } - - return null; - }); - - mocked(createAudioContext).mockReturnValue(mockAudioContext as unknown as AudioContext); - }); - - afterEach(() => { - voiceBroadcastRecording?.off(VoiceBroadcastRecordingEvent.StateChanged, onStateChanged); - }); - - describe("when there is an info event without id", () => { - beforeEach(() => { - infoEvent = mkVoiceBroadcastInfoEvent({ - device_id: client.getDeviceId()!, - state: VoiceBroadcastInfoState.Started, - }); - jest.spyOn(infoEvent, "getId").mockReturnValue(undefined); - }); - - it("should raise an error when creating a broadcast", () => { - expect(() => { - setUpVoiceBroadcastRecording(); - }).toThrow("Cannot create broadcast for info event without Id."); - }); - }); - - describe("when there is an info event without room", () => { - beforeEach(() => { - infoEvent = mkVoiceBroadcastInfoEvent({ - device_id: client.getDeviceId()!, - state: VoiceBroadcastInfoState.Started, - }); - jest.spyOn(infoEvent, "getRoomId").mockReturnValue(undefined); - }); - - it("should raise an error when creating a broadcast", () => { - expect(() => { - setUpVoiceBroadcastRecording(); - }).toThrow(`Cannot create broadcast for unknown room (info event ${infoEvent.getId()})`); - }); - }); - - describe("when created for a Voice Broadcast Info without relations", () => { - beforeEach(() => { - infoEvent = mkVoiceBroadcastInfoEvent({ - device_id: client.getDeviceId()!, - state: VoiceBroadcastInfoState.Started, - }); - setUpVoiceBroadcastRecording(); - }); - - it("should be in Started state", () => { - expect(voiceBroadcastRecording.getState()).toBe(VoiceBroadcastInfoState.Started); - }); - - describe("and calling stop", () => { - beforeEach(() => { - voiceBroadcastRecording.stop(); - }); - - itShouldSendAnInfoEvent(VoiceBroadcastInfoState.Stopped, 0); - itShouldBeInState(VoiceBroadcastInfoState.Stopped); - - it("should emit a stopped state changed event", () => { - expect(onStateChanged).toHaveBeenCalledWith(VoiceBroadcastInfoState.Stopped); - }); - }); - - describe("and calling start", () => { - beforeEach(async () => { - await voiceBroadcastRecording.start(); - }); - - it("should start the recorder", () => { - expect(voiceBroadcastRecorder.start).toHaveBeenCalled(); - }); - - describe("and the info event is redacted", () => { - beforeEach(() => { - infoEvent.emit( - MatrixEventEvent.BeforeRedaction, - infoEvent, - mkEvent({ - event: true, - type: EventType.RoomRedaction, - user: client.getSafeUserId(), - content: {}, - }), - ); - }); - - itShouldBeInState(VoiceBroadcastInfoState.Stopped); - - it("should destroy the recording", () => { - expect(voiceBroadcastRecording.destroy).toHaveBeenCalled(); - }); - }); - - describe("and receiving a call action", () => { - beforeEach(() => { - dis.dispatch( - { - action: "call_state", - }, - true, - ); - }); - - itShouldBeInState(VoiceBroadcastInfoState.Paused); - }); - - describe("and a chunk time update occurs", () => { - beforeEach(() => { - voiceBroadcastRecorder.emit(VoiceBroadcastRecorderEvent.CurrentChunkLengthUpdated, 10); - }); - - it("should update time left", () => { - expect(voiceBroadcastRecording.getTimeLeft()).toBe(maxLength - 10); - expect(voiceBroadcastRecording.emit).toHaveBeenCalledWith( - VoiceBroadcastRecordingEvent.TimeLeftChanged, - maxLength - 10, - ); - }); - - describe("and a chunk time update occurs, that would increase time left", () => { - beforeEach(() => { - mocked(voiceBroadcastRecording.emit).mockClear(); - voiceBroadcastRecorder.emit(VoiceBroadcastRecorderEvent.CurrentChunkLengthUpdated, 5); - }); - - it("should not change time left", () => { - expect(voiceBroadcastRecording.getTimeLeft()).toBe(maxLength - 10); - expect(voiceBroadcastRecording.emit).not.toHaveBeenCalled(); - }); - }); - }); - - describe("and a chunk has been recorded", () => { - beforeEach(async () => { - emitFirsChunkRecorded(); - }); - - itShouldSendAVoiceMessage([1, 2, 3], 3, 23, 1); - - describe("and another chunk has been recorded, that exceeds the max time", () => { - beforeEach(() => { - mocked(voiceBroadcastRecorder.stop).mockResolvedValue({ - buffer: new Uint8Array([23, 24, 25]), - length: getMaxBroadcastLength(), - }); - voiceBroadcastRecorder.emit( - VoiceBroadcastRecorderEvent.CurrentChunkLengthUpdated, - getMaxBroadcastLength(), - ); - }); - - itShouldBeInState(VoiceBroadcastInfoState.Stopped); - itShouldSendAVoiceMessage([23, 24, 25], 3, getMaxBroadcastLength(), 2); - itShouldSendAnInfoEvent(VoiceBroadcastInfoState.Stopped, 2); - }); - }); - - describe("and calling stop", () => { - beforeEach(async () => { - mocked(voiceBroadcastRecorder.stop).mockResolvedValue({ - buffer: new Uint8Array([4, 5, 6]), - length: 42, - }); - await voiceBroadcastRecording.stop(); - }); - - itShouldSendAVoiceMessage([4, 5, 6], 3, 42, 1); - itShouldSendAnInfoEvent(VoiceBroadcastInfoState.Stopped, 1); - }); - - describe.each([ - ["pause", async () => voiceBroadcastRecording.pause()], - ["toggle", async () => voiceBroadcastRecording.toggle()], - ])("and calling %s", (_case: string, action: () => Promise) => { - beforeEach(async () => { - await action(); - }); - - itShouldBeInState(VoiceBroadcastInfoState.Paused); - itShouldSendAnInfoEvent(VoiceBroadcastInfoState.Paused, 0); - - it("should stop the recorder", () => { - expect(mocked(voiceBroadcastRecorder.stop)).toHaveBeenCalled(); - }); - - it("should emit a paused state changed event", () => { - expect(onStateChanged).toHaveBeenCalledWith(VoiceBroadcastInfoState.Paused); - }); - }); - - describe("and there is no connection", () => { - beforeEach(() => { - mocked(client.sendStateEvent).mockImplementation(() => { - throw new Error(); - }); - }); - - describe.each([ - ["pause", async () => voiceBroadcastRecording.pause()], - ["toggle", async () => voiceBroadcastRecording.toggle()], - ])("and calling %s", (_case: string, action: () => Promise) => { - beforeEach(async () => { - await action(); - }); - - itShouldBeInState("connection_error"); - - describe("and the connection is back", () => { - beforeEach(() => { - mocked(client.sendStateEvent).mockResolvedValue({ event_id: "e1" }); - client.emit(ClientEvent.Sync, SyncState.Catchup, SyncState.Error); - }); - - itShouldBeInState(VoiceBroadcastInfoState.Paused); - }); - }); - }); - - describe("and calling destroy", () => { - beforeEach(() => { - voiceBroadcastRecording.destroy(); - }); - - it("should stop the recorder and remove all listeners", () => { - expect(mocked(voiceBroadcastRecorder.stop)).toHaveBeenCalled(); - expect(mocked(voiceBroadcastRecorder.destroy)).toHaveBeenCalled(); - expect(mocked(voiceBroadcastRecording.removeAllListeners)).toHaveBeenCalled(); - }); - }); - - describe("and a chunk has been recorded and the upload fails", () => { - beforeEach(() => { - mocked(uploadFile).mockRejectedValue("Error"); - emitFirsChunkRecorded(); - }); - - itShouldBeInState("connection_error"); - - describe("and the connection is back", () => { - beforeEach(() => { - setUpUploadFileMock(); - client.emit(ClientEvent.Sync, SyncState.Catchup, SyncState.Error); - }); - - itShouldBeInState(VoiceBroadcastInfoState.Paused); - itShouldSendAVoiceMessage([1, 2, 3], 3, 23, 1); - }); - }); - - describe("and audible notifications are disabled", () => { - beforeEach(() => { - const notificationSettings = mkEvent({ - event: true, - type: `${LOCAL_NOTIFICATION_SETTINGS_PREFIX.name}.${client.getDeviceId()}`, - user: client.getSafeUserId(), - content: { - is_silenced: true, - }, - }); - mocked(client.getAccountData).mockReturnValue(notificationSettings); - }); - - describe("and a chunk has been recorded and sending the voice message fails", () => { - beforeEach(() => { - mocked(client.sendMessage).mockRejectedValue("Error"); - emitFirsChunkRecorded(); - }); - - itShouldBeInState("connection_error"); - - it("should not play a notification", () => { - expect(audioElement.play).not.toHaveBeenCalled(); - }); - }); - }); - - describe("and a chunk has been recorded and sending the voice message fails", () => { - beforeEach(() => { - mocked(client.sendMessage).mockRejectedValue("Error"); - emitFirsChunkRecorded(); - fetchMock.get("media/error.mp3", 200); - }); - - itShouldBeInState("connection_error"); - - it("should play a notification", () => { - expect(mockAudioBufferSourceNode.start).toHaveBeenCalled(); - }); - - describe("and the connection is back", () => { - beforeEach(() => { - mocked(client.sendMessage).mockClear(); - mocked(client.sendMessage).mockResolvedValue({ event_id: "e23" }); - client.emit(ClientEvent.Sync, SyncState.Catchup, SyncState.Error); - }); - - itShouldBeInState(VoiceBroadcastInfoState.Paused); - itShouldSendAVoiceMessage([1, 2, 3], 3, 23, 1); - }); - }); - }); - - describe("and it is in paused state", () => { - beforeEach(async () => { - await voiceBroadcastRecording.pause(); - }); - - describe.each([ - ["resume", async () => voiceBroadcastRecording.resume()], - ["toggle", async () => voiceBroadcastRecording.toggle()], - ])("and calling %s", (_case: string, action: () => Promise) => { - beforeEach(async () => { - await action(); - }); - - itShouldBeInState(VoiceBroadcastInfoState.Resumed); - itShouldSendAnInfoEvent(VoiceBroadcastInfoState.Resumed, 0); - - it("should start the recorder", () => { - expect(mocked(voiceBroadcastRecorder.start)).toHaveBeenCalled(); - }); - - it(`should emit a ${VoiceBroadcastInfoState.Resumed} state changed event`, () => { - expect(onStateChanged).toHaveBeenCalledWith(VoiceBroadcastInfoState.Resumed); - }); - }); - }); - }); - - describe("when created for a Voice Broadcast Info with a Stopped relation", () => { - beforeEach(() => { - infoEvent = mkVoiceBroadcastInfoEvent({ - device_id: client.getDeviceId()!, - state: VoiceBroadcastInfoState.Started, - chunk_length: 120, - }); - - const relationsContainer = { - getRelations: jest.fn(), - } as unknown as Relations; - mocked(relationsContainer.getRelations).mockReturnValue([ - mkVoiceBroadcastInfoEvent({ - device_id: client.getDeviceId()!, - state: VoiceBroadcastInfoState.Stopped, - ["m.relates_to"]: { - rel_type: RelationType.Reference, - event_id: infoEvent.getId()!, - }, - }), - ]); - - const timelineSet = { - relations: { - getChildEventsForEvent: jest - .fn() - .mockImplementation( - (eventId: string, relationType: RelationType | string, eventType: EventType | string) => { - if ( - eventId === infoEvent.getId() && - relationType === RelationType.Reference && - eventType === VoiceBroadcastInfoEventType - ) { - return relationsContainer; - } - }, - ), - }, - } as unknown as EventTimelineSet; - mocked(room.getUnfilteredTimelineSet).mockReturnValue(timelineSet); - - setUpVoiceBroadcastRecording(); - }); - - it("should be in Stopped state", () => { - expect(voiceBroadcastRecording.getState()).toBe(VoiceBroadcastInfoState.Stopped); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/stores/VoiceBroadcastPlaybacksStore-test.ts b/test/unit-tests/voice-broadcast/stores/VoiceBroadcastPlaybacksStore-test.ts deleted file mode 100644 index 29026345cf..0000000000 --- a/test/unit-tests/voice-broadcast/stores/VoiceBroadcastPlaybacksStore-test.ts +++ /dev/null @@ -1,162 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastInfoState, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybackEvent, - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPlaybacksStoreEvent, - VoiceBroadcastPlaybackState, - VoiceBroadcastRecordingsStore, -} from "../../../../src/voice-broadcast"; -import { mkStubRoom, stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "../utils/test-utils"; - -describe("VoiceBroadcastPlaybacksStore", () => { - const roomId = "!room:example.com"; - let client: MatrixClient; - let userId: string; - let deviceId: string; - let room: Room; - let infoEvent1: MatrixEvent; - let infoEvent2: MatrixEvent; - let playback1: VoiceBroadcastPlayback; - let playback2: VoiceBroadcastPlayback; - let playbacks: VoiceBroadcastPlaybacksStore; - let onCurrentChanged: (playback: VoiceBroadcastPlayback | null) => void; - - beforeEach(() => { - client = stubClient(); - userId = client.getUserId() || ""; - deviceId = client.getDeviceId() || ""; - mocked(client.relations).mockClear(); - mocked(client.relations).mockResolvedValue({ events: [] }); - - room = mkStubRoom(roomId, "test room", client); - mocked(client.getRoom).mockImplementation((roomId: string): Room | null => { - if (roomId === room.roomId) { - return room; - } - - return null; - }); - - infoEvent1 = mkVoiceBroadcastInfoStateEvent(roomId, VoiceBroadcastInfoState.Started, userId, deviceId); - infoEvent2 = mkVoiceBroadcastInfoStateEvent(roomId, VoiceBroadcastInfoState.Started, userId, deviceId); - const recordings = new VoiceBroadcastRecordingsStore(); - playback1 = new VoiceBroadcastPlayback(infoEvent1, client, recordings); - jest.spyOn(playback1, "off"); - playback2 = new VoiceBroadcastPlayback(infoEvent2, client, recordings); - jest.spyOn(playback2, "off"); - - playbacks = new VoiceBroadcastPlaybacksStore(recordings); - jest.spyOn(playbacks, "removeAllListeners"); - onCurrentChanged = jest.fn(); - playbacks.on(VoiceBroadcastPlaybacksStoreEvent.CurrentChanged, onCurrentChanged); - }); - - afterEach(() => { - playbacks.off(VoiceBroadcastPlaybacksStoreEvent.CurrentChanged, onCurrentChanged); - }); - - describe("when setting a current Voice Broadcast playback", () => { - beforeEach(() => { - playbacks.setCurrent(playback1); - }); - - it("should return it as current", () => { - expect(playbacks.getCurrent()).toBe(playback1); - }); - - it("should return it by id", () => { - expect(playbacks.getByInfoEvent(infoEvent1, client)).toBe(playback1); - }); - - it("should emit a CurrentChanged event", () => { - expect(onCurrentChanged).toHaveBeenCalledWith(playback1); - }); - - describe("and setting the same again", () => { - beforeEach(() => { - mocked(onCurrentChanged).mockClear(); - playbacks.setCurrent(playback1); - }); - - it("should not emit a CurrentChanged event", () => { - expect(onCurrentChanged).not.toHaveBeenCalled(); - }); - }); - - describe("and setting another playback and start both", () => { - beforeEach(() => { - playbacks.setCurrent(playback2); - playback1.start(); - playback2.start(); - }); - - it("should set playback1 to paused", () => { - expect(playback1.getState()).toBe(VoiceBroadcastPlaybackState.Paused); - }); - - it("should set playback2 to buffering", () => { - // buffering because there are no chunks, yet - expect(playback2.getState()).toBe(VoiceBroadcastPlaybackState.Buffering); - }); - - describe("and calling destroy", () => { - beforeEach(() => { - playbacks.destroy(); - }); - - it("should remove all listeners", () => { - expect(playbacks.removeAllListeners).toHaveBeenCalled(); - }); - - it("should deregister the listeners on the playbacks", () => { - expect(playback1.off).toHaveBeenCalledWith( - VoiceBroadcastPlaybackEvent.StateChanged, - expect.any(Function), - ); - expect(playback2.off).toHaveBeenCalledWith( - VoiceBroadcastPlaybackEvent.StateChanged, - expect.any(Function), - ); - }); - }); - }); - }); - - describe("getByInfoEventId", () => { - let returnedPlayback: VoiceBroadcastPlayback; - - describe("when retrieving a known playback", () => { - beforeEach(() => { - playbacks.setCurrent(playback1); - returnedPlayback = playbacks.getByInfoEvent(infoEvent1, client); - }); - - it("should return the playback", () => { - expect(returnedPlayback).toBe(playback1); - }); - }); - - describe("when retrieving an unknown playback", () => { - beforeEach(() => { - returnedPlayback = playbacks.getByInfoEvent(infoEvent1, client); - }); - - it("should return the playback", () => { - expect(returnedPlayback.infoEvent).toBe(infoEvent1); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/stores/VoiceBroadcastPreRecordingStore-test.ts b/test/unit-tests/voice-broadcast/stores/VoiceBroadcastPreRecordingStore-test.ts deleted file mode 100644 index 53d3a4c0f2..0000000000 --- a/test/unit-tests/voice-broadcast/stores/VoiceBroadcastPreRecordingStore-test.ts +++ /dev/null @@ -1,130 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { MatrixClient, Room, RoomMember } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPreRecording, - VoiceBroadcastPreRecordingStore, - VoiceBroadcastRecordingsStore, -} from "../../../../src/voice-broadcast"; -import { stubClient } from "../../../test-utils"; - -describe("VoiceBroadcastPreRecordingStore", () => { - const roomId = "!room:example.com"; - let client: MatrixClient; - let room: Room; - let sender: RoomMember; - let playbacksStore: VoiceBroadcastPlaybacksStore; - let recordingsStore: VoiceBroadcastRecordingsStore; - let store: VoiceBroadcastPreRecordingStore; - let preRecording1: VoiceBroadcastPreRecording; - - beforeAll(() => { - client = stubClient(); - room = new Room(roomId, client, client.getUserId() || ""); - sender = new RoomMember(roomId, client.getUserId() || ""); - recordingsStore = new VoiceBroadcastRecordingsStore(); - playbacksStore = new VoiceBroadcastPlaybacksStore(recordingsStore); - }); - - beforeEach(() => { - store = new VoiceBroadcastPreRecordingStore(); - jest.spyOn(store, "emit"); - jest.spyOn(store, "removeAllListeners"); - preRecording1 = new VoiceBroadcastPreRecording(room, sender, client, playbacksStore, recordingsStore); - jest.spyOn(preRecording1, "off"); - }); - - it("getCurrent() should return null", () => { - expect(store.getCurrent()).toBeNull(); - }); - - it("clearCurrent() should work", () => { - store.clearCurrent(); - expect(store.getCurrent()).toBeNull(); - }); - - describe("when setting a current recording", () => { - beforeEach(() => { - store.setCurrent(preRecording1); - }); - - it("getCurrent() should return the recording", () => { - expect(store.getCurrent()).toBe(preRecording1); - }); - - it("should emit a changed event with the recording", () => { - expect(store.emit).toHaveBeenCalledWith("changed", preRecording1); - }); - - describe("and calling destroy()", () => { - beforeEach(() => { - store.destroy(); - }); - - it("should remove all listeners", () => { - expect(store.removeAllListeners).toHaveBeenCalled(); - }); - - it("should deregister from the pre-recordings", () => { - expect(preRecording1.off).toHaveBeenCalledWith("dismiss", expect.any(Function)); - }); - }); - - describe("and cancelling the pre-recording", () => { - beforeEach(() => { - preRecording1.cancel(); - }); - - it("should clear the current recording", () => { - expect(store.getCurrent()).toBeNull(); - }); - - it("should emit a changed event with null", () => { - expect(store.emit).toHaveBeenCalledWith("changed", null); - }); - }); - - describe("and setting the same pre-recording again", () => { - beforeEach(() => { - mocked(store.emit).mockClear(); - store.setCurrent(preRecording1); - }); - - it("should not emit a changed event", () => { - expect(store.emit).not.toHaveBeenCalled(); - }); - }); - - describe("and setting another pre-recording", () => { - let preRecording2: VoiceBroadcastPreRecording; - - beforeEach(() => { - mocked(store.emit).mockClear(); - mocked(preRecording1.off).mockClear(); - preRecording2 = new VoiceBroadcastPreRecording(room, sender, client, playbacksStore, recordingsStore); - store.setCurrent(preRecording2); - }); - - it("should deregister from the current pre-recording", () => { - expect(preRecording1.off).toHaveBeenCalledWith("dismiss", expect.any(Function)); - }); - - it("getCurrent() should return the new recording", () => { - expect(store.getCurrent()).toBe(preRecording2); - }); - - it("should emit a changed event with the new recording", () => { - expect(store.emit).toHaveBeenCalledWith("changed", preRecording2); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/stores/VoiceBroadcastRecordingsStore-test.ts b/test/unit-tests/voice-broadcast/stores/VoiceBroadcastRecordingsStore-test.ts deleted file mode 100644 index 97b756fce1..0000000000 --- a/test/unit-tests/voice-broadcast/stores/VoiceBroadcastRecordingsStore-test.ts +++ /dev/null @@ -1,167 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastRecordingsStore, - VoiceBroadcastRecordingsStoreEvent, - VoiceBroadcastRecording, - VoiceBroadcastInfoState, -} from "../../../../src/voice-broadcast"; -import { mkStubRoom, stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "../utils/test-utils"; - -describe("VoiceBroadcastRecordingsStore", () => { - const roomId = "!room:example.com"; - let client: MatrixClient; - let room: Room; - let infoEvent: MatrixEvent; - let otherInfoEvent: MatrixEvent; - let recording: VoiceBroadcastRecording; - let otherRecording: VoiceBroadcastRecording; - let recordings: VoiceBroadcastRecordingsStore; - let onCurrentChanged: (recording: VoiceBroadcastRecording | null) => void; - - beforeEach(() => { - client = stubClient(); - room = mkStubRoom(roomId, "test room", client); - mocked(client.getRoom).mockImplementation((roomId: string) => { - if (roomId === room.roomId) { - return room; - } - return null; - }); - infoEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getUserId()!, - client.getDeviceId()!, - ); - otherInfoEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getUserId()!, - client.getDeviceId()!, - ); - recording = new VoiceBroadcastRecording(infoEvent, client); - otherRecording = new VoiceBroadcastRecording(otherInfoEvent, client); - recordings = new VoiceBroadcastRecordingsStore(); - onCurrentChanged = jest.fn(); - recordings.on(VoiceBroadcastRecordingsStoreEvent.CurrentChanged, onCurrentChanged); - }); - - afterEach(() => { - recording.destroy(); - recordings.off(VoiceBroadcastRecordingsStoreEvent.CurrentChanged, onCurrentChanged); - }); - - it("when setting a recording without info event Id, it should raise an error", () => { - infoEvent.event.event_id = undefined; - expect(() => { - recordings.setCurrent(recording); - }).toThrow("Got broadcast info event without Id"); - }); - - describe("when setting a current Voice Broadcast recording", () => { - beforeEach(() => { - recordings.setCurrent(recording); - }); - - it("should return it as current", () => { - expect(recordings.hasCurrent()).toBe(true); - expect(recordings.getCurrent()).toBe(recording); - }); - - it("should return it by id", () => { - expect(recordings.getByInfoEvent(infoEvent, client)).toBe(recording); - }); - - it("should emit a CurrentChanged event", () => { - expect(onCurrentChanged).toHaveBeenCalledWith(recording); - }); - - describe("and setting the same again", () => { - beforeEach(() => { - mocked(onCurrentChanged).mockClear(); - recordings.setCurrent(recording); - }); - - it("should not emit a CurrentChanged event", () => { - expect(onCurrentChanged).not.toHaveBeenCalled(); - }); - }); - - describe("and calling clearCurrent()", () => { - beforeEach(() => { - recordings.clearCurrent(); - }); - - it("should clear the current recording", () => { - expect(recordings.hasCurrent()).toBe(false); - expect(recordings.getCurrent()).toBeNull(); - }); - - it("should emit a current changed event", () => { - expect(onCurrentChanged).toHaveBeenCalledWith(null); - }); - - it("and calling it again should work", () => { - recordings.clearCurrent(); - expect(recordings.getCurrent()).toBeNull(); - }); - }); - - describe("and setting another recording and stopping the previous recording", () => { - beforeEach(() => { - recordings.setCurrent(otherRecording); - recording.stop(); - }); - - it("should keep the current recording", () => { - expect(recordings.getCurrent()).toBe(otherRecording); - }); - }); - - describe("and the recording stops", () => { - beforeEach(() => { - recording.stop(); - }); - - it("should clear the current recording", () => { - expect(recordings.getCurrent()).toBeNull(); - }); - }); - }); - - describe("getByInfoEventId", () => { - let returnedRecording: VoiceBroadcastRecording; - - describe("when retrieving a known recording", () => { - beforeEach(() => { - recordings.setCurrent(recording); - returnedRecording = recordings.getByInfoEvent(infoEvent, client); - }); - - it("should return the recording", () => { - expect(returnedRecording).toBe(recording); - }); - }); - - describe("when retrieving an unknown recording", () => { - beforeEach(() => { - returnedRecording = recordings.getByInfoEvent(infoEvent, client); - }); - - it("should return the recording", () => { - expect(returnedRecording.infoEvent).toBe(infoEvent); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/VoiceBroadcastChunkEvents-test.ts b/test/unit-tests/voice-broadcast/utils/VoiceBroadcastChunkEvents-test.ts deleted file mode 100644 index 817538ef17..0000000000 --- a/test/unit-tests/voice-broadcast/utils/VoiceBroadcastChunkEvents-test.ts +++ /dev/null @@ -1,142 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { VoiceBroadcastChunkEvents } from "../../../../src/voice-broadcast/utils/VoiceBroadcastChunkEvents"; -import { mkVoiceBroadcastChunkEvent } from "./test-utils"; - -describe("VoiceBroadcastChunkEvents", () => { - const userId = "@user:example.com"; - const roomId = "!room:example.com"; - const txnId = "txn-id"; - let eventSeq1Time1: MatrixEvent; - let eventSeq2Time4: MatrixEvent; - let eventSeq3Time2: MatrixEvent; - let eventSeq3Time2T: MatrixEvent; - let eventSeq4Time1: MatrixEvent; - let eventSeqUTime3: MatrixEvent; - let eventSeq2Time4Dup: MatrixEvent; - let chunkEvents: VoiceBroadcastChunkEvents; - - beforeEach(() => { - eventSeq1Time1 = mkVoiceBroadcastChunkEvent("info1", userId, roomId, 7, 1, 1); - eventSeq2Time4 = mkVoiceBroadcastChunkEvent("info1", userId, roomId, 23, 2, 4); - eventSeq2Time4Dup = mkVoiceBroadcastChunkEvent("info1", userId, roomId, 3141, 2, 4); - jest.spyOn(eventSeq2Time4Dup, "getId").mockReturnValue(eventSeq2Time4.getId()); - eventSeq3Time2 = mkVoiceBroadcastChunkEvent("info1", userId, roomId, 42, 3, 2); - eventSeq3Time2.setTxnId(txnId); - eventSeq3Time2T = mkVoiceBroadcastChunkEvent("info1", userId, roomId, 42, 3, 2); - eventSeq3Time2T.setTxnId(txnId); - eventSeq4Time1 = mkVoiceBroadcastChunkEvent("info1", userId, roomId, 69, 4, 1); - eventSeqUTime3 = mkVoiceBroadcastChunkEvent("info1", userId, roomId, 314, undefined, 3); - chunkEvents = new VoiceBroadcastChunkEvents(); - }); - - describe("when adding events that all have a sequence", () => { - beforeEach(() => { - chunkEvents.addEvent(eventSeq2Time4); - chunkEvents.addEvent(eventSeq1Time1); - chunkEvents.addEvents([eventSeq4Time1, eventSeq2Time4Dup, eventSeq3Time2]); - }); - - it("should provide the events sort by sequence", () => { - expect(chunkEvents.getEvents()).toEqual([ - eventSeq1Time1, - eventSeq2Time4Dup, - eventSeq3Time2, - eventSeq4Time1, - ]); - }); - - it("getNumberOfEvents should return 4", () => { - expect(chunkEvents.getNumberOfEvents()).toBe(4); - }); - - it("getLength should return the total length of all chunks", () => { - expect(chunkEvents.getLength()).toBe(3259); - }); - - it("getLengthTo(first event) should return 0", () => { - expect(chunkEvents.getLengthTo(eventSeq1Time1)).toBe(0); - }); - - it("getLengthTo(some event) should return the time excl. that event", () => { - expect(chunkEvents.getLengthTo(eventSeq3Time2)).toBe(7 + 3141); - }); - - it("getLengthTo(last event) should return the time excl. that event", () => { - expect(chunkEvents.getLengthTo(eventSeq4Time1)).toBe(7 + 3141 + 42); - }); - - it("should return the expected next chunk", () => { - expect(chunkEvents.getNext(eventSeq2Time4Dup)).toBe(eventSeq3Time2); - }); - - it("should return undefined for next last chunk", () => { - expect(chunkEvents.getNext(eventSeq4Time1)).toBeUndefined(); - }); - - it("findByTime(0) should return the first chunk", () => { - expect(chunkEvents.findByTime(0)).toBe(eventSeq1Time1); - }); - - it("findByTime(some time) should return the chunk with this time", () => { - expect(chunkEvents.findByTime(7 + 3141 + 21)).toBe(eventSeq3Time2); - }); - - it("findByTime(entire duration) should return the last chunk", () => { - expect(chunkEvents.findByTime(7 + 3141 + 42 + 69)).toBe(eventSeq4Time1); - }); - - describe("and adding an event with a known transaction Id", () => { - beforeEach(() => { - chunkEvents.addEvent(eventSeq3Time2T); - }); - - it("should replace the previous event", () => { - expect(chunkEvents.getEvents()).toEqual([ - eventSeq1Time1, - eventSeq2Time4Dup, - eventSeq3Time2T, - eventSeq4Time1, - ]); - expect(chunkEvents.getNumberOfEvents()).toBe(4); - }); - }); - }); - - describe("when adding events where at least one does not have a sequence", () => { - beforeEach(() => { - chunkEvents.addEvent(eventSeq2Time4); - chunkEvents.addEvent(eventSeq1Time1); - chunkEvents.addEvents([eventSeq4Time1, eventSeqUTime3, eventSeq2Time4Dup, eventSeq3Time2]); - }); - - it("should provide the events sort by timestamp without duplicates", () => { - expect(chunkEvents.getEvents()).toEqual([ - eventSeq1Time1, - eventSeq4Time1, - eventSeq3Time2, - eventSeqUTime3, - eventSeq2Time4Dup, - ]); - expect(chunkEvents.getNumberOfEvents()).toBe(5); - }); - - describe("getSequenceForEvent", () => { - it("should return the sequence if provided by the event", () => { - expect(chunkEvents.getSequenceForEvent(eventSeq3Time2)).toBe(3); - }); - - it("should return the index if no sequence provided by event", () => { - expect(chunkEvents.getSequenceForEvent(eventSeqUTime3)).toBe(4); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/VoiceBroadcastResumer-test.ts b/test/unit-tests/voice-broadcast/utils/VoiceBroadcastResumer-test.ts deleted file mode 100644 index 81bcce5f3f..0000000000 --- a/test/unit-tests/voice-broadcast/utils/VoiceBroadcastResumer-test.ts +++ /dev/null @@ -1,179 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { ClientEvent, MatrixClient, MatrixEvent, RelationType, Room, SyncState } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastInfoEventContent, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, - VoiceBroadcastResumer, -} from "../../../../src/voice-broadcast"; -import { stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -describe("VoiceBroadcastResumer", () => { - const roomId = "!room:example.com"; - let client: MatrixClient; - let room: Room; - let resumer: VoiceBroadcastResumer; - let startedInfoEvent: MatrixEvent; - let pausedInfoEvent: MatrixEvent; - - const itShouldNotSendAStateEvent = (): void => { - it("should not send a state event", () => { - expect(client.sendStateEvent).not.toHaveBeenCalled(); - }); - }; - - const itShouldSendAStoppedStateEvent = (): void => { - it("should send a stopped state event", () => { - expect(client.sendStateEvent).toHaveBeenCalledWith( - startedInfoEvent.getRoomId(), - VoiceBroadcastInfoEventType, - { - "device_id": client.getDeviceId(), - "state": VoiceBroadcastInfoState.Stopped, - "m.relates_to": { - rel_type: RelationType.Reference, - event_id: startedInfoEvent.getId(), - }, - } as VoiceBroadcastInfoEventContent, - client.getUserId()!, - ); - }); - }; - - const itShouldDeregisterFromTheClient = () => { - it("should deregister from the client", () => { - expect(client.off).toHaveBeenCalledWith(ClientEvent.Sync, expect.any(Function)); - }); - }; - - beforeEach(() => { - client = stubClient(); - jest.spyOn(client, "off"); - room = new Room(roomId, client, client.getUserId()!); - mocked(client.getRoom).mockImplementation((getRoomId: string | undefined) => { - if (getRoomId === roomId) return room; - - return null; - }); - mocked(client.getRooms).mockReturnValue([room]); - startedInfoEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getUserId()!, - client.getDeviceId()!, - ); - pausedInfoEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Paused, - client.getUserId()!, - client.getDeviceId()!, - startedInfoEvent, - ); - }); - - afterEach(() => { - jest.clearAllMocks(); - }); - - describe("when the initial sync is completed", () => { - beforeEach(() => { - mocked(client.isInitialSyncComplete).mockReturnValue(true); - }); - - describe("and there is no info event", () => { - beforeEach(() => { - resumer = new VoiceBroadcastResumer(client); - }); - - itShouldNotSendAStateEvent(); - - describe("and calling destroy", () => { - beforeEach(() => { - resumer.destroy(); - }); - - itShouldDeregisterFromTheClient(); - }); - }); - - describe("and there is a started info event", () => { - beforeEach(() => { - room.currentState.setStateEvents([startedInfoEvent]); - }); - - describe("and the client knows about the user and device", () => { - beforeEach(() => { - resumer = new VoiceBroadcastResumer(client); - }); - - itShouldSendAStoppedStateEvent(); - }); - - describe("and the client doesn't know about the user", () => { - beforeEach(() => { - mocked(client.getUserId).mockReturnValue(null); - resumer = new VoiceBroadcastResumer(client); - }); - - itShouldNotSendAStateEvent(); - }); - - describe("and the client doesn't know about the device", () => { - beforeEach(() => { - mocked(client.getDeviceId).mockReturnValue(null); - resumer = new VoiceBroadcastResumer(client); - }); - - itShouldNotSendAStateEvent(); - }); - }); - - describe("and there is a paused info event", () => { - beforeEach(() => { - room.currentState.setStateEvents([pausedInfoEvent]); - resumer = new VoiceBroadcastResumer(client); - }); - - itShouldSendAStoppedStateEvent(); - }); - }); - - describe("when the initial sync is not completed", () => { - beforeEach(() => { - room.currentState.setStateEvents([pausedInfoEvent]); - mocked(client.isInitialSyncComplete).mockReturnValue(false); - mocked(client.getSyncState).mockReturnValue(SyncState.Prepared); - resumer = new VoiceBroadcastResumer(client); - }); - - itShouldNotSendAStateEvent(); - - describe("and a sync event appears", () => { - beforeEach(() => { - client.emit(ClientEvent.Sync, SyncState.Prepared, SyncState.Stopped); - }); - - itShouldNotSendAStateEvent(); - - describe("and the initial sync completed and a sync event appears", () => { - beforeEach(() => { - mocked(client.getSyncState).mockReturnValue(SyncState.Syncing); - client.emit(ClientEvent.Sync, SyncState.Syncing, SyncState.Prepared); - }); - - itShouldSendAStoppedStateEvent(); - itShouldDeregisterFromTheClient(); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/__snapshots__/setUpVoiceBroadcastPreRecording-test.ts.snap b/test/unit-tests/voice-broadcast/utils/__snapshots__/setUpVoiceBroadcastPreRecording-test.ts.snap deleted file mode 100644 index 2d6ba0a409..0000000000 --- a/test/unit-tests/voice-broadcast/utils/__snapshots__/setUpVoiceBroadcastPreRecording-test.ts.snap +++ /dev/null @@ -1,24 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`setUpVoiceBroadcastPreRecording when trying to start a broadcast if there is no connection should show an info dialog and not set up a pre-recording 1`] = ` -[MockFunction] { - "calls": [ - [ - [Function], - { - "description":

- Unfortunately we're unable to start a recording right now. Please try again later. -

, - "hasCloseButton": true, - "title": "Connection error", - }, - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], -} -`; diff --git a/test/unit-tests/voice-broadcast/utils/__snapshots__/startNewVoiceBroadcastRecording-test.ts.snap b/test/unit-tests/voice-broadcast/utils/__snapshots__/startNewVoiceBroadcastRecording-test.ts.snap deleted file mode 100644 index dd5aa15305..0000000000 --- a/test/unit-tests/voice-broadcast/utils/__snapshots__/startNewVoiceBroadcastRecording-test.ts.snap +++ /dev/null @@ -1,116 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`startNewVoiceBroadcastRecording when the current user is allowed to send voice broadcast info state events when there already is a live broadcast of another user should show an info dialog 1`] = ` -[MockFunction] { - "calls": [ - [ - [Function], - { - "description":

- Someone else is already recording a voice broadcast. Wait for their voice broadcast to end to start a new one. -

, - "hasCloseButton": true, - "title": "Can't start a new voice broadcast", - }, - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], -} -`; - -exports[`startNewVoiceBroadcastRecording when the current user is allowed to send voice broadcast info state events when there already is a live broadcast of the current user in the room should show an info dialog 1`] = ` -[MockFunction] { - "calls": [ - [ - [Function], - { - "description":

- You are already recording a voice broadcast. Please end your current voice broadcast to start a new one. -

, - "hasCloseButton": true, - "title": "Can't start a new voice broadcast", - }, - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], -} -`; - -exports[`startNewVoiceBroadcastRecording when the current user is allowed to send voice broadcast info state events when there is already a current voice broadcast should show an info dialog 1`] = ` -[MockFunction] { - "calls": [ - [ - [Function], - { - "description":

- You are already recording a voice broadcast. Please end your current voice broadcast to start a new one. -

, - "hasCloseButton": true, - "title": "Can't start a new voice broadcast", - }, - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], -} -`; - -exports[`startNewVoiceBroadcastRecording when the current user is not allowed to send voice broadcast info state events should show an info dialog 1`] = ` -[MockFunction] { - "calls": [ - [ - [Function], - { - "description":

- You don't have the required permissions to start a voice broadcast in this room. Contact a room administrator to upgrade your permissions. -

, - "hasCloseButton": true, - "title": "Can't start a new voice broadcast", - }, - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], -} -`; - -exports[`startNewVoiceBroadcastRecording when trying to start a broadcast if there is no connection should show an info dialog and not start a recording 1`] = ` -[MockFunction] { - "calls": [ - [ - [Function], - { - "description":

- Unfortunately we're unable to start a recording right now. Please try again later. -

, - "hasCloseButton": true, - "title": "Connection error", - }, - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], -} -`; diff --git a/test/unit-tests/voice-broadcast/utils/__snapshots__/textForVoiceBroadcastStoppedEvent-test.tsx.snap b/test/unit-tests/voice-broadcast/utils/__snapshots__/textForVoiceBroadcastStoppedEvent-test.tsx.snap deleted file mode 100644 index cf1e93db13..0000000000 --- a/test/unit-tests/voice-broadcast/utils/__snapshots__/textForVoiceBroadcastStoppedEvent-test.tsx.snap +++ /dev/null @@ -1,42 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`textForVoiceBroadcastStoppedEvent should render other users broadcast as expected 1`] = ` -
-
- @other:example.com ended a voice broadcast -
-
-`; - -exports[`textForVoiceBroadcastStoppedEvent should render own broadcast as expected 1`] = ` -
-
- You ended a voice broadcast -
-
-`; - -exports[`textForVoiceBroadcastStoppedEvent should render without login as expected 1`] = ` -
-
- @other:example.com ended a voice broadcast -
-
-`; - -exports[`textForVoiceBroadcastStoppedEvent when rendering an event with relation to the start event should render events with relation to the start event 1`] = ` -
-
- - You ended a - - -
-
-`; diff --git a/test/unit-tests/voice-broadcast/utils/cleanUpBroadcasts-test.ts b/test/unit-tests/voice-broadcast/utils/cleanUpBroadcasts-test.ts deleted file mode 100644 index ebf0de390c..0000000000 --- a/test/unit-tests/voice-broadcast/utils/cleanUpBroadcasts-test.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { - cleanUpBroadcasts, - VoiceBroadcastPlayback, - VoiceBroadcastPreRecording, - VoiceBroadcastRecording, -} from "../../../../src/voice-broadcast"; -import { stubClient } from "../../../test-utils"; -import { TestSdkContext } from "../../TestSdkContext"; -import { mkVoiceBroadcastPlayback, mkVoiceBroadcastPreRecording, mkVoiceBroadcastRecording } from "./test-utils"; - -describe("cleanUpBroadcasts", () => { - let playback: VoiceBroadcastPlayback; - let recording: VoiceBroadcastRecording; - let preRecording: VoiceBroadcastPreRecording; - let stores: TestSdkContext; - - beforeEach(() => { - stores = new TestSdkContext(); - stores.client = stubClient(); - - playback = mkVoiceBroadcastPlayback(stores); - jest.spyOn(playback, "stop").mockReturnValue(); - stores.voiceBroadcastPlaybacksStore.setCurrent(playback); - - recording = mkVoiceBroadcastRecording(stores); - jest.spyOn(recording, "stop").mockResolvedValue(); - stores.voiceBroadcastRecordingsStore.setCurrent(recording); - - preRecording = mkVoiceBroadcastPreRecording(stores); - jest.spyOn(preRecording, "cancel").mockReturnValue(); - stores.voiceBroadcastPreRecordingStore.setCurrent(preRecording); - }); - - it("should stop and clear all broadcast related stuff", async () => { - await cleanUpBroadcasts(stores); - expect(playback.stop).toHaveBeenCalled(); - expect(stores.voiceBroadcastPlaybacksStore.getCurrent()).toBeNull(); - expect(recording.stop).toHaveBeenCalled(); - expect(stores.voiceBroadcastRecordingsStore.getCurrent()).toBeNull(); - expect(preRecording.cancel).toHaveBeenCalled(); - expect(stores.voiceBroadcastPreRecordingStore.getCurrent()).toBeNull(); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/determineVoiceBroadcastLiveness-test.ts b/test/unit-tests/voice-broadcast/utils/determineVoiceBroadcastLiveness-test.ts deleted file mode 100644 index c1a9b2db13..0000000000 --- a/test/unit-tests/voice-broadcast/utils/determineVoiceBroadcastLiveness-test.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { VoiceBroadcastInfoState, VoiceBroadcastLiveness } from "../../../../src/voice-broadcast"; -import { determineVoiceBroadcastLiveness } from "../../../../src/voice-broadcast/utils/determineVoiceBroadcastLiveness"; - -const testData: Array<{ state: VoiceBroadcastInfoState; expected: VoiceBroadcastLiveness }> = [ - { state: VoiceBroadcastInfoState.Started, expected: "live" }, - { state: VoiceBroadcastInfoState.Resumed, expected: "live" }, - { state: VoiceBroadcastInfoState.Paused, expected: "grey" }, - { state: VoiceBroadcastInfoState.Stopped, expected: "not-live" }, -]; - -describe("determineVoiceBroadcastLiveness", () => { - it.each(testData)("should return the expected value for a %s broadcast", ({ state, expected }) => { - expect(determineVoiceBroadcastLiveness(state)).toBe(expected); - }); - - it("should return »non-live« for an undefined state", () => { - // @ts-ignore - expect(determineVoiceBroadcastLiveness(undefined)).toBe("not-live"); - }); - - it("should return »non-live« for an unknown state", () => { - // @ts-ignore - expect(determineVoiceBroadcastLiveness("unknown test state")).toBe("not-live"); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/findRoomLiveVoiceBroadcastFromUserAndDevice-test.ts b/test/unit-tests/voice-broadcast/utils/findRoomLiveVoiceBroadcastFromUserAndDevice-test.ts deleted file mode 100644 index 3120e2b517..0000000000 --- a/test/unit-tests/voice-broadcast/utils/findRoomLiveVoiceBroadcastFromUserAndDevice-test.ts +++ /dev/null @@ -1,116 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; - -import { - findRoomLiveVoiceBroadcastFromUserAndDevice, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, -} from "../../../../src/voice-broadcast"; -import { mkEvent, stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -describe("findRoomLiveVoiceBroadcastFromUserAndDevice", () => { - const roomId = "!room:example.com"; - let client: MatrixClient; - let room: Room; - - const itShouldReturnNull = () => { - it("should return null", () => { - expect( - findRoomLiveVoiceBroadcastFromUserAndDevice(room, client.getUserId()!, client.getDeviceId()!), - ).toBeNull(); - }); - }; - - beforeAll(() => { - client = stubClient(); - room = new Room(roomId, client, client.getUserId()!); - jest.spyOn(room.currentState, "getStateEvents"); - mocked(client.getRoom).mockImplementation((getRoomId: string) => { - if (getRoomId === roomId) return room; - return null; - }); - }); - - describe("when there is no info event", () => { - itShouldReturnNull(); - }); - - describe("when there is an info event without content", () => { - beforeEach(() => { - room.currentState.setStateEvents([ - mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - room: roomId, - user: client.getUserId()!, - content: {}, - }), - ]); - }); - - itShouldReturnNull(); - }); - - describe("when there is a stopped info event", () => { - beforeEach(() => { - room.currentState.setStateEvents([ - mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - client.getUserId()!, - client.getDeviceId(), - ), - ]); - }); - - itShouldReturnNull(); - }); - - describe("when there is a started info event from another device", () => { - beforeEach(() => { - const event = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - client.getUserId()!, - "JKL123", - ); - room.currentState.setStateEvents([event]); - }); - - itShouldReturnNull(); - }); - - describe("when there is a started info event", () => { - let event: MatrixEvent; - - beforeEach(() => { - event = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getUserId()!, - client.getDeviceId(), - ); - room.currentState.setStateEvents([event]); - }); - - it("should return this event", () => { - expect(room.currentState.getStateEvents).toHaveBeenCalledWith( - VoiceBroadcastInfoEventType, - client.getUserId()!, - ); - - expect(findRoomLiveVoiceBroadcastFromUserAndDevice(room, client.getUserId()!, client.getDeviceId()!)).toBe( - event, - ); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/getChunkLength-test.ts b/test/unit-tests/voice-broadcast/utils/getChunkLength-test.ts deleted file mode 100644 index b2b41ae577..0000000000 --- a/test/unit-tests/voice-broadcast/utils/getChunkLength-test.ts +++ /dev/null @@ -1,63 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import SdkConfig from "../../../../src/SdkConfig"; -import { SettingLevel } from "../../../../src/settings/SettingLevel"; -import { Features } from "../../../../src/settings/Settings"; -import SettingsStore from "../../../../src/settings/SettingsStore"; -import { getChunkLength } from "../../../../src/voice-broadcast/utils/getChunkLength"; - -describe("getChunkLength", () => { - afterEach(() => { - SdkConfig.reset(); - }); - - describe("when there is a value provided by Sdk config", () => { - beforeEach(() => { - SdkConfig.add({ - voice_broadcast: { - chunk_length: 42, - }, - }); - }); - - it("should return this value", () => { - expect(getChunkLength()).toBe(42); - }); - }); - - describe("when Sdk config does not provide a value", () => { - beforeEach(() => { - SdkConfig.add({ - voice_broadcast: { - chunk_length: 23, - }, - }); - }); - - it("should return this value", () => { - expect(getChunkLength()).toBe(23); - }); - }); - - describe("when there are no defaults", () => { - it("should return the fallback value", () => { - expect(getChunkLength()).toBe(120); - }); - }); - - describe("when the Features.VoiceBroadcastForceSmallChunks is enabled", () => { - beforeEach(async () => { - await SettingsStore.setValue(Features.VoiceBroadcastForceSmallChunks, null, SettingLevel.DEVICE, true); - }); - - it("should return a chunk length of 15 seconds", () => { - expect(getChunkLength()).toBe(15); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/getMaxBroadcastLength-test.ts b/test/unit-tests/voice-broadcast/utils/getMaxBroadcastLength-test.ts deleted file mode 100644 index 6bc38bee98..0000000000 --- a/test/unit-tests/voice-broadcast/utils/getMaxBroadcastLength-test.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import SdkConfig, { DEFAULTS } from "../../../../src/SdkConfig"; -import { getMaxBroadcastLength } from "../../../../src/voice-broadcast"; - -describe("getMaxBroadcastLength", () => { - afterEach(() => { - SdkConfig.reset(); - }); - - describe("when there is a value provided by Sdk config", () => { - beforeEach(() => { - SdkConfig.put({ - voice_broadcast: { - max_length: 42, - }, - }); - }); - - it("should return this value", () => { - expect(getMaxBroadcastLength()).toBe(42); - }); - }); - - describe("when Sdk config does not provide a value", () => { - it("should return this value", () => { - expect(getMaxBroadcastLength()).toBe(DEFAULTS.voice_broadcast!.max_length); - }); - }); - - describe("if there are no defaults", () => { - it("should return the fallback value", () => { - expect(DEFAULTS.voice_broadcast!.max_length).toBe(4 * 60 * 60); - expect(getMaxBroadcastLength()).toBe(4 * 60 * 60); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/hasRoomLiveVoiceBroadcast-test.ts b/test/unit-tests/voice-broadcast/utils/hasRoomLiveVoiceBroadcast-test.ts deleted file mode 100644 index 37fbf0c277..0000000000 --- a/test/unit-tests/voice-broadcast/utils/hasRoomLiveVoiceBroadcast-test.ts +++ /dev/null @@ -1,195 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; - -import { - hasRoomLiveVoiceBroadcast, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, -} from "../../../../src/voice-broadcast"; -import { mkEvent, stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -describe("hasRoomLiveVoiceBroadcast", () => { - const otherUserId = "@other:example.com"; - const otherDeviceId = "ASD123"; - const roomId = "!room:example.com"; - let client: MatrixClient; - let room: Room; - let expectedEvent: MatrixEvent | null = null; - - const addVoiceBroadcastInfoEvent = ( - state: VoiceBroadcastInfoState, - userId: string, - deviceId: string, - startedEvent?: MatrixEvent, - ): MatrixEvent => { - const infoEvent = mkVoiceBroadcastInfoStateEvent(room.roomId, state, userId, deviceId, startedEvent); - room.addLiveEvents([infoEvent], { addToState: true }); - room.currentState.setStateEvents([infoEvent]); - room.relations.aggregateChildEvent(infoEvent); - return infoEvent; - }; - - const itShouldReturnTrueTrue = () => { - it("should return true/true", async () => { - expect(await hasRoomLiveVoiceBroadcast(client, room, client.getSafeUserId())).toEqual({ - hasBroadcast: true, - infoEvent: expectedEvent, - startedByUser: true, - }); - }); - }; - - const itShouldReturnTrueFalse = () => { - it("should return true/false", async () => { - expect(await hasRoomLiveVoiceBroadcast(client, room, client.getSafeUserId())).toEqual({ - hasBroadcast: true, - infoEvent: expectedEvent, - startedByUser: false, - }); - }); - }; - - const itShouldReturnFalseFalse = () => { - it("should return false/false", async () => { - expect(await hasRoomLiveVoiceBroadcast(client, room, client.getSafeUserId())).toEqual({ - hasBroadcast: false, - infoEvent: null, - startedByUser: false, - }); - }); - }; - - beforeEach(() => { - client = stubClient(); - room = new Room(roomId, client, client.getSafeUserId()); - mocked(client.getRoom).mockImplementation((roomId: string): Room | null => { - return roomId === room.roomId ? room : null; - }); - expectedEvent = null; - }); - - describe("when there is no voice broadcast info at all", () => { - itShouldReturnFalseFalse(); - }); - - describe("when the »state« prop is missing", () => { - beforeEach(() => { - room.currentState.setStateEvents([ - mkEvent({ - event: true, - room: room.roomId, - user: client.getSafeUserId(), - type: VoiceBroadcastInfoEventType, - skey: client.getSafeUserId(), - content: {}, - }), - ]); - }); - itShouldReturnFalseFalse(); - }); - - describe("when there is a live broadcast from the current and another user", () => { - beforeEach(() => { - expectedEvent = addVoiceBroadcastInfoEvent( - VoiceBroadcastInfoState.Started, - client.getSafeUserId(), - client.getDeviceId()!, - ); - addVoiceBroadcastInfoEvent(VoiceBroadcastInfoState.Started, otherUserId, otherDeviceId); - }); - - itShouldReturnTrueTrue(); - }); - - describe("when there are only stopped info events", () => { - beforeEach(() => { - addVoiceBroadcastInfoEvent(VoiceBroadcastInfoState.Stopped, client.getSafeUserId(), client.getDeviceId()!); - addVoiceBroadcastInfoEvent(VoiceBroadcastInfoState.Stopped, otherUserId, otherDeviceId); - }); - - itShouldReturnFalseFalse(); - }); - - describe("when there is a live, started broadcast from the current user", () => { - beforeEach(() => { - expectedEvent = addVoiceBroadcastInfoEvent( - VoiceBroadcastInfoState.Started, - client.getSafeUserId(), - client.getDeviceId()!, - ); - }); - - itShouldReturnTrueTrue(); - }); - - describe("when there is a live, paused broadcast from the current user", () => { - beforeEach(() => { - expectedEvent = addVoiceBroadcastInfoEvent( - VoiceBroadcastInfoState.Started, - client.getSafeUserId(), - client.getDeviceId()!, - ); - addVoiceBroadcastInfoEvent( - VoiceBroadcastInfoState.Paused, - client.getSafeUserId(), - client.getDeviceId()!, - expectedEvent, - ); - }); - - itShouldReturnTrueTrue(); - }); - - describe("when there is a live, resumed broadcast from the current user", () => { - beforeEach(() => { - expectedEvent = addVoiceBroadcastInfoEvent( - VoiceBroadcastInfoState.Started, - client.getSafeUserId(), - client.getDeviceId()!, - ); - addVoiceBroadcastInfoEvent( - VoiceBroadcastInfoState.Resumed, - client.getSafeUserId(), - client.getDeviceId()!, - expectedEvent, - ); - }); - - itShouldReturnTrueTrue(); - }); - - describe("when there was a live broadcast, that has been stopped", () => { - beforeEach(() => { - const startedEvent = addVoiceBroadcastInfoEvent( - VoiceBroadcastInfoState.Started, - client.getSafeUserId(), - client.getDeviceId()!, - ); - addVoiceBroadcastInfoEvent( - VoiceBroadcastInfoState.Stopped, - client.getSafeUserId(), - client.getDeviceId()!, - startedEvent, - ); - }); - - itShouldReturnFalseFalse(); - }); - - describe("when there is a live broadcast from another user", () => { - beforeEach(() => { - expectedEvent = addVoiceBroadcastInfoEvent(VoiceBroadcastInfoState.Started, otherUserId, otherDeviceId); - }); - - itShouldReturnTrueFalse(); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/isRelatedToVoiceBroadcast-test.ts b/test/unit-tests/voice-broadcast/utils/isRelatedToVoiceBroadcast-test.ts deleted file mode 100644 index eae78df109..0000000000 --- a/test/unit-tests/voice-broadcast/utils/isRelatedToVoiceBroadcast-test.ts +++ /dev/null @@ -1,109 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2023 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { EventType, MatrixEvent, RelationType, Room, MatrixClient } from "matrix-js-sdk/src/matrix"; -import { mocked } from "jest-mock"; - -import { isRelatedToVoiceBroadcast, VoiceBroadcastInfoState } from "../../../../src/voice-broadcast"; -import { mkEvent, stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -const mkRelatedEvent = ( - room: Room, - relationType: RelationType, - relatesTo: MatrixEvent | undefined, - client: MatrixClient, -): MatrixEvent => { - const event = mkEvent({ - event: true, - type: EventType.RoomMessage, - room: room.roomId, - content: { - "m.relates_to": { - rel_type: relationType, - event_id: relatesTo?.getId(), - }, - }, - user: client.getSafeUserId(), - }); - room.addLiveEvents([event], { addToState: true }); - return event; -}; - -describe("isRelatedToVoiceBroadcast", () => { - const roomId = "!room:example.com"; - let client: MatrixClient; - let room: Room; - let broadcastEvent: MatrixEvent; - let nonBroadcastEvent: MatrixEvent; - - beforeAll(() => { - client = stubClient(); - room = new Room(roomId, client, client.getSafeUserId()); - - mocked(client.getRoom).mockImplementation((getRoomId: string): Room | null => { - if (getRoomId === roomId) return room; - return null; - }); - - broadcastEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getSafeUserId(), - "ABC123", - ); - nonBroadcastEvent = mkEvent({ - event: true, - type: EventType.RoomMessage, - room: roomId, - content: {}, - user: client.getSafeUserId(), - }); - - room.addLiveEvents([broadcastEvent, nonBroadcastEvent], { addToState: true }); - }); - - it("should return true if related (reference) to a broadcast event", () => { - expect( - isRelatedToVoiceBroadcast(mkRelatedEvent(room, RelationType.Reference, broadcastEvent, client), client), - ).toBe(true); - }); - - it("should return false if related (reference) is undefeind", () => { - expect(isRelatedToVoiceBroadcast(mkRelatedEvent(room, RelationType.Reference, undefined, client), client)).toBe( - false, - ); - }); - - it("should return false if related (referenireplace) to a broadcast event", () => { - expect( - isRelatedToVoiceBroadcast(mkRelatedEvent(room, RelationType.Replace, broadcastEvent, client), client), - ).toBe(false); - }); - - it("should return false if the event has no relation", () => { - const noRelationEvent = mkEvent({ - event: true, - type: EventType.RoomMessage, - room: room.roomId, - content: {}, - user: client.getSafeUserId(), - }); - expect(isRelatedToVoiceBroadcast(noRelationEvent, client)).toBe(false); - }); - - it("should return false for an unknown room", () => { - const otherRoom = new Room("!other:example.com", client, client.getSafeUserId()); - expect( - isRelatedToVoiceBroadcast( - mkRelatedEvent(otherRoom, RelationType.Reference, broadcastEvent, client), - client, - ), - ).toBe(false); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom-test.ts b/test/unit-tests/voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom-test.ts deleted file mode 100644 index 565ec77053..0000000000 --- a/test/unit-tests/voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom-test.ts +++ /dev/null @@ -1,98 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { MatrixClient, Room } from "matrix-js-sdk/src/matrix"; - -import { - VoiceBroadcastInfoState, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybacksStore, - VoiceBroadcastRecordingsStore, -} from "../../../../src/voice-broadcast"; -import { pauseNonLiveBroadcastFromOtherRoom } from "../../../../src/voice-broadcast/utils/pauseNonLiveBroadcastFromOtherRoom"; -import { stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -describe("pauseNonLiveBroadcastFromOtherRoom", () => { - const roomId = "!room:example.com"; - const roomId2 = "!room2@example.com"; - let room: Room; - let client: MatrixClient; - let playback: VoiceBroadcastPlayback; - let playbacks: VoiceBroadcastPlaybacksStore; - let recordings: VoiceBroadcastRecordingsStore; - - const mkPlayback = (infoState: VoiceBroadcastInfoState, roomId: string): VoiceBroadcastPlayback => { - const infoEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - infoState, - client.getSafeUserId(), - client.getDeviceId()!, - ); - const playback = new VoiceBroadcastPlayback(infoEvent, client, recordings); - jest.spyOn(playback, "pause"); - playbacks.setCurrent(playback); - return playback; - }; - - beforeEach(() => { - client = stubClient(); - room = new Room(roomId, client, client.getSafeUserId()); - recordings = new VoiceBroadcastRecordingsStore(); - playbacks = new VoiceBroadcastPlaybacksStore(recordings); - jest.spyOn(playbacks, "clearCurrent"); - }); - - afterEach(() => { - playback?.destroy(); - playbacks.destroy(); - }); - - describe("when there is no current playback", () => { - it("should not clear the current playback", () => { - pauseNonLiveBroadcastFromOtherRoom(room, playbacks); - expect(playbacks.clearCurrent).not.toHaveBeenCalled(); - }); - }); - - describe("when listening to a live broadcast in another room", () => { - beforeEach(() => { - playback = mkPlayback(VoiceBroadcastInfoState.Started, roomId2); - }); - - it("should not clear current / pause the playback", () => { - pauseNonLiveBroadcastFromOtherRoom(room, playbacks); - expect(playbacks.clearCurrent).not.toHaveBeenCalled(); - expect(playback.pause).not.toHaveBeenCalled(); - }); - }); - - describe("when listening to a non-live broadcast in the same room", () => { - beforeEach(() => { - playback = mkPlayback(VoiceBroadcastInfoState.Stopped, roomId); - }); - - it("should not clear current / pause the playback", () => { - pauseNonLiveBroadcastFromOtherRoom(room, playbacks); - expect(playbacks.clearCurrent).not.toHaveBeenCalled(); - expect(playback.pause).not.toHaveBeenCalled(); - }); - }); - - describe("when listening to a non-live broadcast in another room", () => { - beforeEach(() => { - playback = mkPlayback(VoiceBroadcastInfoState.Stopped, roomId2); - }); - - it("should clear current and pause the playback", () => { - pauseNonLiveBroadcastFromOtherRoom(room, playbacks); - expect(playbacks.getCurrent()).toBeNull(); - expect(playback.pause).toHaveBeenCalled(); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/retrieveStartedInfoEvent-test.ts b/test/unit-tests/voice-broadcast/utils/retrieveStartedInfoEvent-test.ts deleted file mode 100644 index 70316f3b29..0000000000 --- a/test/unit-tests/voice-broadcast/utils/retrieveStartedInfoEvent-test.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; - -import { - retrieveStartedInfoEvent, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, -} from "../../../../src/voice-broadcast"; -import { mkEvent, stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -describe("retrieveStartedInfoEvent", () => { - let client: MatrixClient; - let room: Room; - - const mkStartEvent = () => { - return mkVoiceBroadcastInfoStateEvent( - room.roomId, - VoiceBroadcastInfoState.Started, - client.getUserId()!, - client.deviceId!, - ); - }; - - const mkStopEvent = (startEvent: MatrixEvent) => { - return mkVoiceBroadcastInfoStateEvent( - room.roomId, - VoiceBroadcastInfoState.Stopped, - client.getUserId()!, - client.deviceId!, - startEvent, - ); - }; - - beforeEach(() => { - client = stubClient(); - room = new Room("!room:example.com", client, client.getUserId()!); - mocked(client.getRoom).mockImplementation((roomId: string): Room | null => { - if (roomId === room.roomId) return room; - return null; - }); - }); - - it("when passing a started event, it should return the event", async () => { - const event = mkStartEvent(); - expect(await retrieveStartedInfoEvent(event, client)).toBe(event); - }); - - it("when passing an event without relation, it should return null", async () => { - const event = mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - user: client.getUserId()!, - content: {}, - }); - expect(await retrieveStartedInfoEvent(event, client)).toBeNull(); - }); - - it("when the room contains the event, it should return it", async () => { - const startEvent = mkStartEvent(); - const stopEvent = mkStopEvent(startEvent); - room.addLiveEvents([startEvent], { addToState: true }); - expect(await retrieveStartedInfoEvent(stopEvent, client)).toBe(startEvent); - }); - - it("when the room not contains the event, it should fetch it", async () => { - const startEvent = mkStartEvent(); - const stopEvent = mkStopEvent(startEvent); - mocked(client.fetchRoomEvent).mockResolvedValue(startEvent.event); - expect((await retrieveStartedInfoEvent(stopEvent, client))?.getId()).toBe(startEvent.getId()); - expect(client.fetchRoomEvent).toHaveBeenCalledWith(room.roomId, startEvent.getId()); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/setUpVoiceBroadcastPreRecording-test.ts b/test/unit-tests/voice-broadcast/utils/setUpVoiceBroadcastPreRecording-test.ts deleted file mode 100644 index 40c94aa371..0000000000 --- a/test/unit-tests/voice-broadcast/utils/setUpVoiceBroadcastPreRecording-test.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { MatrixClient, MatrixEvent, Room, SyncState } from "matrix-js-sdk/src/matrix"; - -import Modal from "../../../../src/Modal"; -import { - VoiceBroadcastInfoState, - VoiceBroadcastPlayback, - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPreRecording, - VoiceBroadcastPreRecordingStore, - VoiceBroadcastRecordingsStore, -} from "../../../../src/voice-broadcast"; -import { setUpVoiceBroadcastPreRecording } from "../../../../src/voice-broadcast/utils/setUpVoiceBroadcastPreRecording"; -import { mkRoomMemberJoinEvent, stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -jest.mock("../../../../src/Modal"); - -describe("setUpVoiceBroadcastPreRecording", () => { - const roomId = "!room:example.com"; - let client: MatrixClient; - let userId: string; - let room: Room; - let preRecordingStore: VoiceBroadcastPreRecordingStore; - let infoEvent: MatrixEvent; - let playback: VoiceBroadcastPlayback; - let playbacksStore: VoiceBroadcastPlaybacksStore; - let recordingsStore: VoiceBroadcastRecordingsStore; - let preRecording: VoiceBroadcastPreRecording | null; - - const itShouldNotCreateAPreRecording = () => { - it("should return null", () => { - expect(preRecording).toBeNull(); - }); - - it("should not create a broadcast pre recording", () => { - expect(preRecordingStore.getCurrent()).toBeNull(); - }); - }; - - const setUpPreRecording = async () => { - preRecording = await setUpVoiceBroadcastPreRecording( - room, - client, - playbacksStore, - recordingsStore, - preRecordingStore, - ); - }; - - beforeEach(() => { - client = stubClient(); - userId = client.getSafeUserId(); - room = new Room(roomId, client, userId); - infoEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getUserId()!, - client.getDeviceId()!, - ); - preRecording = null; - preRecordingStore = new VoiceBroadcastPreRecordingStore(); - recordingsStore = new VoiceBroadcastRecordingsStore(); - playback = new VoiceBroadcastPlayback(infoEvent, client, recordingsStore); - jest.spyOn(playback, "pause"); - playbacksStore = new VoiceBroadcastPlaybacksStore(recordingsStore); - }); - - describe("when trying to start a broadcast if there is no connection", () => { - beforeEach(async () => { - mocked(client.getSyncState).mockReturnValue(SyncState.Error); - await setUpPreRecording(); - }); - - it("should show an info dialog and not set up a pre-recording", () => { - expect(preRecordingStore.getCurrent()).toBeNull(); - expect(Modal.createDialog).toMatchSnapshot(); - }); - }); - - describe("when setting up a pre-recording", () => { - describe("and there is no user id", () => { - beforeEach(async () => { - mocked(client.getUserId).mockReturnValue(null); - await setUpPreRecording(); - }); - - itShouldNotCreateAPreRecording(); - }); - - describe("and there is no room member", () => { - beforeEach(async () => { - // check test precondition - expect(room.getMember(userId)).toBeNull(); - await setUpPreRecording(); - }); - - itShouldNotCreateAPreRecording(); - }); - - describe("and there is a room member and listening to another broadcast", () => { - beforeEach(async () => { - playbacksStore.setCurrent(playback); - room.currentState.setStateEvents([mkRoomMemberJoinEvent(userId, roomId)]); - await setUpPreRecording(); - }); - - it("should pause the current playback and create a voice broadcast pre-recording", () => { - expect(playback.pause).toHaveBeenCalled(); - expect(playbacksStore.getCurrent()).toBeNull(); - expect(preRecording).toBeInstanceOf(VoiceBroadcastPreRecording); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastRecordingTile-test.ts b/test/unit-tests/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastRecordingTile-test.ts deleted file mode 100644 index 6448e3d2e7..0000000000 --- a/test/unit-tests/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastRecordingTile-test.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { MatrixClient, MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { shouldDisplayAsVoiceBroadcastRecordingTile, VoiceBroadcastInfoState } from "../../../../src/voice-broadcast"; -import { createTestClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -type TestTuple = [string | null, string, string, string, VoiceBroadcastInfoState, boolean]; - -const testCases: TestTuple[] = [ - [ - "@user1:example.com", // own MXID - "@user1:example.com", // sender MXID - "ABC123", // own device ID - "ABC123", // sender device ID - VoiceBroadcastInfoState.Started, - true, // expected return value - ], - ["@user1:example.com", "@user1:example.com", "ABC123", "ABC123", VoiceBroadcastInfoState.Paused, true], - ["@user1:example.com", "@user1:example.com", "ABC123", "ABC123", VoiceBroadcastInfoState.Resumed, true], - ["@user1:example.com", "@user1:example.com", "ABC123", "ABC123", VoiceBroadcastInfoState.Stopped, false], - ["@user2:example.com", "@user1:example.com", "ABC123", "ABC123", VoiceBroadcastInfoState.Started, false], - [null, "@user1:example.com", "ABC123", "ABC123", VoiceBroadcastInfoState.Started, false], - // other device - ["@user1:example.com", "@user1:example.com", "ABC123", "JKL123", VoiceBroadcastInfoState.Started, false], - ["@user1:example.com", "@user1:example.com", "ABC123", "JKL123", VoiceBroadcastInfoState.Paused, false], - ["@user1:example.com", "@user1:example.com", "ABC123", "JKL123", VoiceBroadcastInfoState.Resumed, false], -]; - -describe("shouldDisplayAsVoiceBroadcastRecordingTile", () => { - let event: MatrixEvent; - let client: MatrixClient; - - beforeAll(() => { - client = createTestClient(); - }); - - describe.each(testCases)( - "when called with user »%s«, sender »%s«, device »%s«, sender device »%s« state »%s«", - (userId, senderId, deviceId, senderDeviceId, state, expected) => { - beforeEach(() => { - event = mkVoiceBroadcastInfoStateEvent("!room:example.com", state, senderId, senderDeviceId); - mocked(client.getUserId).mockReturnValue(userId); - mocked(client.getDeviceId).mockReturnValue(deviceId); - }); - - it(`should return ${expected}`, () => { - expect(shouldDisplayAsVoiceBroadcastRecordingTile(state, client, event)).toBe(expected); - }); - }, - ); - - it("should return false, when all params are null", () => { - event = mkVoiceBroadcastInfoStateEvent("!room:example.com", null, null, null); - // @ts-ignore Simulate null state received for any reason. - expect(shouldDisplayAsVoiceBroadcastRecordingTile(null, client, event)).toBe(false); - }); - - it("should return false, when all params are undefined", () => { - event = mkVoiceBroadcastInfoStateEvent("!room:example.com", undefined, undefined, undefined); - // @ts-ignore Simulate undefined state received for any reason. - expect(shouldDisplayAsVoiceBroadcastRecordingTile(undefined, client, event)).toBe(false); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastTile-test.ts b/test/unit-tests/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastTile-test.ts deleted file mode 100644 index fd3d1f91c4..0000000000 --- a/test/unit-tests/voice-broadcast/utils/shouldDisplayAsVoiceBroadcastTile-test.ts +++ /dev/null @@ -1,138 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { EventType, IEvent, MatrixEvent } from "matrix-js-sdk/src/matrix"; - -import { - shouldDisplayAsVoiceBroadcastTile, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, -} from "../../../../src/voice-broadcast"; -import { mkEvent } from "../../../test-utils"; - -describe("shouldDisplayAsVoiceBroadcastTile", () => { - let event: MatrixEvent; - const roomId = "!room:example.com"; - const senderId = "@user:example.com"; - - const itShouldReturnFalse = () => { - it("should return false", () => { - expect(shouldDisplayAsVoiceBroadcastTile(event)).toBe(false); - }); - }; - - const itShouldReturnTrue = () => { - it("should return true", () => { - expect(shouldDisplayAsVoiceBroadcastTile(event)).toBe(true); - }); - }; - - describe("when a broken event occurs", () => { - beforeEach(() => { - event = 23 as unknown as MatrixEvent; - }); - - itShouldReturnFalse(); - }); - - describe("when a non-voice broadcast info event occurs", () => { - beforeEach(() => { - event = mkEvent({ - event: true, - type: EventType.RoomMessage, - room: roomId, - user: senderId, - content: {}, - }); - }); - - itShouldReturnFalse(); - }); - - describe("when a voice broadcast info event with empty content occurs", () => { - beforeEach(() => { - event = mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - room: roomId, - user: senderId, - content: {}, - }); - }); - - itShouldReturnFalse(); - }); - - describe("when a voice broadcast info event with undefined content occurs", () => { - beforeEach(() => { - event = mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - room: roomId, - user: senderId, - content: {}, - }); - event.getContent = () => ({}) as any; - }); - - itShouldReturnFalse(); - }); - - describe("when a voice broadcast info event in state started occurs", () => { - beforeEach(() => { - event = mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - room: roomId, - user: senderId, - content: { - state: VoiceBroadcastInfoState.Started, - }, - }); - }); - - itShouldReturnTrue(); - }); - - describe("when a redacted event occurs", () => { - beforeEach(() => { - event = mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - room: roomId, - user: senderId, - content: {}, - unsigned: { - redacted_because: {} as unknown as IEvent, - }, - }); - event.getContent = () => ({}) as any; - }); - - itShouldReturnTrue(); - }); - - describe.each([VoiceBroadcastInfoState.Paused, VoiceBroadcastInfoState.Resumed, VoiceBroadcastInfoState.Stopped])( - "when a voice broadcast info event in state %s occurs", - (state: VoiceBroadcastInfoState) => { - beforeEach(() => { - event = mkEvent({ - event: true, - type: VoiceBroadcastInfoEventType, - room: roomId, - user: senderId, - content: { - state, - }, - }); - }); - - itShouldReturnFalse(); - }, - ); -}); diff --git a/test/unit-tests/voice-broadcast/utils/startNewVoiceBroadcastRecording-test.ts b/test/unit-tests/voice-broadcast/utils/startNewVoiceBroadcastRecording-test.ts deleted file mode 100644 index c22920c174..0000000000 --- a/test/unit-tests/voice-broadcast/utils/startNewVoiceBroadcastRecording-test.ts +++ /dev/null @@ -1,234 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { EventType, ISendEventResponse, MatrixClient, MatrixEvent, Room, SyncState } from "matrix-js-sdk/src/matrix"; - -import Modal from "../../../../src/Modal"; -import { - startNewVoiceBroadcastRecording, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, - VoiceBroadcastRecordingsStore, - VoiceBroadcastRecording, - VoiceBroadcastPlaybacksStore, - VoiceBroadcastPlayback, -} from "../../../../src/voice-broadcast"; -import { mkEvent, stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -jest.mock("../../../../src/voice-broadcast/models/VoiceBroadcastRecording", () => ({ - VoiceBroadcastRecording: jest.fn(), -})); - -jest.mock("../../../../src/Modal"); - -describe("startNewVoiceBroadcastRecording", () => { - const roomId = "!room:example.com"; - const otherUserId = "@other:example.com"; - let client: MatrixClient; - let playbacksStore: VoiceBroadcastPlaybacksStore; - let recordingsStore: VoiceBroadcastRecordingsStore; - let room: Room; - let infoEvent: MatrixEvent; - let otherEvent: MatrixEvent; - let result: VoiceBroadcastRecording | null; - - beforeEach(() => { - client = stubClient(); - room = new Room(roomId, client, client.getUserId()!); - jest.spyOn(room.currentState, "maySendStateEvent"); - - mocked(client.getRoom).mockImplementation((getRoomId: string) => { - if (getRoomId === roomId) { - return room; - } - - return null; - }); - mocked(client.sendStateEvent).mockImplementation( - (sendRoomId: string, eventType: string, content: any, stateKey: string): Promise => { - if (sendRoomId === roomId && eventType === VoiceBroadcastInfoEventType) { - return Promise.resolve({ event_id: infoEvent.getId()! }); - } - - throw new Error("Unexpected sendStateEvent call"); - }, - ); - - infoEvent = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Started, - client.getUserId()!, - client.getDeviceId()!, - ); - otherEvent = mkEvent({ - event: true, - type: EventType.RoomMember, - content: {}, - user: client.getUserId()!, - room: roomId, - skey: "", - }); - - playbacksStore = new VoiceBroadcastPlaybacksStore(recordingsStore); - recordingsStore = { - setCurrent: jest.fn(), - getCurrent: jest.fn(), - } as unknown as VoiceBroadcastRecordingsStore; - - mocked(VoiceBroadcastRecording).mockImplementation((infoEvent: MatrixEvent, client: MatrixClient): any => { - return { - infoEvent, - client, - start: jest.fn(), - } as unknown as VoiceBroadcastRecording; - }); - }); - - afterEach(() => { - jest.clearAllMocks(); - }); - - describe("when trying to start a broadcast if there is no connection", () => { - beforeEach(async () => { - mocked(client.getSyncState).mockReturnValue(SyncState.Error); - result = await startNewVoiceBroadcastRecording(room, client, playbacksStore, recordingsStore); - }); - - it("should show an info dialog and not start a recording", () => { - expect(result).toBeNull(); - expect(Modal.createDialog).toMatchSnapshot(); - }); - }); - - describe("when the current user is allowed to send voice broadcast info state events", () => { - beforeEach(() => { - mocked(room.currentState.maySendStateEvent).mockReturnValue(true); - }); - - describe("when currently listening to a broadcast and there is no recording", () => { - let playback: VoiceBroadcastPlayback; - - beforeEach(() => { - playback = new VoiceBroadcastPlayback(infoEvent, client, recordingsStore); - jest.spyOn(playback, "pause"); - playbacksStore.setCurrent(playback); - }); - - it("should stop listen to the current broadcast and create a new recording", async () => { - mocked(client.sendStateEvent).mockImplementation( - async ( - _roomId: string, - _eventType: string, - _content: any, - _stateKey = "", - ): Promise => { - window.setTimeout(() => { - // emit state events after resolving the promise - room.currentState.setStateEvents([otherEvent]); - room.currentState.setStateEvents([infoEvent]); - }, 0); - return { event_id: infoEvent.getId()! }; - }, - ); - const recording = await startNewVoiceBroadcastRecording(room, client, playbacksStore, recordingsStore); - expect(recording).not.toBeNull(); - - // expect to stop and clear the current playback - expect(playback.pause).toHaveBeenCalled(); - expect(playbacksStore.getCurrent()).toBeNull(); - - expect(client.sendStateEvent).toHaveBeenCalledWith( - roomId, - VoiceBroadcastInfoEventType, - { - chunk_length: 120, - device_id: client.getDeviceId(), - state: VoiceBroadcastInfoState.Started, - }, - client.getUserId()!, - ); - expect(recording!.infoEvent).toBe(infoEvent); - expect(recording!.start).toHaveBeenCalled(); - }); - }); - - describe("when there is already a current voice broadcast", () => { - beforeEach(async () => { - mocked(recordingsStore.getCurrent).mockReturnValue(new VoiceBroadcastRecording(infoEvent, client)); - - result = await startNewVoiceBroadcastRecording(room, client, playbacksStore, recordingsStore); - }); - - it("should not start a voice broadcast", () => { - expect(result).toBeNull(); - }); - - it("should show an info dialog", () => { - expect(Modal.createDialog).toMatchSnapshot(); - }); - }); - - describe("when there already is a live broadcast of the current user in the room", () => { - beforeEach(async () => { - room.currentState.setStateEvents([ - mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Resumed, - client.getUserId()!, - client.getDeviceId()!, - ), - ]); - - result = await startNewVoiceBroadcastRecording(room, client, playbacksStore, recordingsStore); - }); - - it("should not start a voice broadcast", () => { - expect(result).toBeNull(); - }); - - it("should show an info dialog", () => { - expect(Modal.createDialog).toMatchSnapshot(); - }); - }); - - describe("when there already is a live broadcast of another user", () => { - beforeEach(async () => { - room.currentState.setStateEvents([ - mkVoiceBroadcastInfoStateEvent(roomId, VoiceBroadcastInfoState.Resumed, otherUserId, "ASD123"), - ]); - - result = await startNewVoiceBroadcastRecording(room, client, playbacksStore, recordingsStore); - }); - - it("should not start a voice broadcast", () => { - expect(result).toBeNull(); - }); - - it("should show an info dialog", () => { - expect(Modal.createDialog).toMatchSnapshot(); - }); - }); - }); - - describe("when the current user is not allowed to send voice broadcast info state events", () => { - beforeEach(async () => { - mocked(room.currentState.maySendStateEvent).mockReturnValue(false); - result = await startNewVoiceBroadcastRecording(room, client, playbacksStore, recordingsStore); - }); - - it("should not start a voice broadcast", () => { - expect(result).toBeNull(); - }); - - it("should show an info dialog", () => { - expect(Modal.createDialog).toMatchSnapshot(); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/test-utils.ts b/test/unit-tests/voice-broadcast/utils/test-utils.ts deleted file mode 100644 index 4d465e84dc..0000000000 --- a/test/unit-tests/voice-broadcast/utils/test-utils.ts +++ /dev/null @@ -1,131 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { Optional } from "matrix-events-sdk"; -import { EventType, IContent, MatrixEvent, MsgType, RelationType, Room, RoomMember } from "matrix-js-sdk/src/matrix"; - -import { SdkContextClass } from "../../../../src/contexts/SDKContext"; -import { - VoiceBroadcastPlayback, - VoiceBroadcastPreRecording, - VoiceBroadcastRecording, -} from "../../../../src/voice-broadcast"; -import { - VoiceBroadcastChunkEventType, - VoiceBroadcastInfoEventType, - VoiceBroadcastInfoState, -} from "../../../../src/voice-broadcast/types"; -import { mkEvent } from "../../../test-utils"; - -// timestamp incremented on each call to prevent duplicate timestamp -let timestamp = new Date().getTime(); - -export const mkVoiceBroadcastInfoStateEvent = ( - roomId: Optional, - state: Optional, - senderId: Optional, - senderDeviceId: Optional, - startedInfoEvent?: MatrixEvent, - lastChunkSequence?: number, -): MatrixEvent => { - const relationContent: IContent = {}; - - if (startedInfoEvent) { - relationContent["m.relates_to"] = { - event_id: startedInfoEvent.getId(), - rel_type: "m.reference", - }; - } - - const lastChunkSequenceContent = lastChunkSequence ? { last_chunk_sequence: lastChunkSequence } : {}; - - return mkEvent({ - event: true, - // @ts-ignore allow everything here for edge test cases - room: roomId, - // @ts-ignore allow everything here for edge test cases - user: senderId, - type: VoiceBroadcastInfoEventType, - // @ts-ignore allow everything here for edge test cases - skey: senderId, - content: { - state, - device_id: senderDeviceId, - ...relationContent, - ...lastChunkSequenceContent, - }, - ts: timestamp++, - }); -}; - -export const mkVoiceBroadcastChunkEvent = ( - infoEventId: string, - userId: string, - roomId: string, - duration: number, - sequence?: number, - timestamp?: number, -): MatrixEvent => { - return mkEvent({ - event: true, - user: userId, - room: roomId, - type: EventType.RoomMessage, - content: { - msgtype: MsgType.Audio, - ["org.matrix.msc1767.audio"]: { - duration, - }, - info: { - duration, - }, - [VoiceBroadcastChunkEventType]: { - ...(sequence ? { sequence } : {}), - }, - ["m.relates_to"]: { - rel_type: RelationType.Reference, - event_id: infoEventId, - }, - }, - ts: timestamp, - }); -}; - -export const mkVoiceBroadcastPlayback = (stores: SdkContextClass): VoiceBroadcastPlayback => { - const infoEvent = mkVoiceBroadcastInfoStateEvent( - "!room:example.com", - VoiceBroadcastInfoState.Started, - "@user:example.com", - "ASD123", - ); - return new VoiceBroadcastPlayback(infoEvent, stores.client!, stores.voiceBroadcastRecordingsStore); -}; - -export const mkVoiceBroadcastRecording = (stores: SdkContextClass): VoiceBroadcastRecording => { - const infoEvent = mkVoiceBroadcastInfoStateEvent( - "!room:example.com", - VoiceBroadcastInfoState.Started, - "@user:example.com", - "ASD123", - ); - return new VoiceBroadcastRecording(infoEvent, stores.client!); -}; - -export const mkVoiceBroadcastPreRecording = (stores: SdkContextClass): VoiceBroadcastPreRecording => { - const roomId = "!room:example.com"; - const userId = "@user:example.com"; - const room = new Room(roomId, stores.client!, userId); - const roomMember = new RoomMember(roomId, userId); - return new VoiceBroadcastPreRecording( - room, - roomMember, - stores.client!, - stores.voiceBroadcastPlaybacksStore, - stores.voiceBroadcastRecordingsStore, - ); -}; diff --git a/test/unit-tests/voice-broadcast/utils/textForVoiceBroadcastStoppedEvent-test.tsx b/test/unit-tests/voice-broadcast/utils/textForVoiceBroadcastStoppedEvent-test.tsx deleted file mode 100644 index 37871993d0..0000000000 --- a/test/unit-tests/voice-broadcast/utils/textForVoiceBroadcastStoppedEvent-test.tsx +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import React from "react"; -import { render, RenderResult, screen } from "jest-matrix-react"; -import userEvent from "@testing-library/user-event"; -import { mocked } from "jest-mock"; -import { MatrixClient, RelationType } from "matrix-js-sdk/src/matrix"; - -import { textForVoiceBroadcastStoppedEvent, VoiceBroadcastInfoState } from "../../../../src/voice-broadcast"; -import { stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; -import dis from "../../../../src/dispatcher/dispatcher"; -import { Action } from "../../../../src/dispatcher/actions"; - -jest.mock("../../../../src/dispatcher/dispatcher"); - -describe("textForVoiceBroadcastStoppedEvent", () => { - const otherUserId = "@other:example.com"; - const roomId = "!room:example.com"; - let client: MatrixClient; - - const renderText = (senderId: string, startEventId?: string) => { - const event = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - senderId, - client.deviceId!, - ); - - if (startEventId) { - event.getContent()["m.relates_to"] = { - rel_type: RelationType.Reference, - event_id: startEventId, - }; - } - - return render(
{textForVoiceBroadcastStoppedEvent(event, client)()}
); - }; - - beforeEach(() => { - client = stubClient(); - }); - - it("should render own broadcast as expected", () => { - expect(renderText(client.getUserId()!).container).toMatchSnapshot(); - }); - - it("should render other users broadcast as expected", () => { - expect(renderText(otherUserId).container).toMatchSnapshot(); - }); - - it("should render without login as expected", () => { - mocked(client.getUserId).mockReturnValue(null); - expect(renderText(otherUserId).container).toMatchSnapshot(); - }); - - describe("when rendering an event with relation to the start event", () => { - let result: RenderResult; - - beforeEach(() => { - result = renderText(client.getUserId()!, "$start-id"); - }); - - it("should render events with relation to the start event", () => { - expect(result.container).toMatchSnapshot(); - }); - - describe("and clicking the link", () => { - beforeEach(async () => { - await userEvent.click(screen.getByRole("button")); - }); - - it("should dispatch an action to highlight the event", () => { - expect(dis.dispatch).toHaveBeenCalledWith({ - action: Action.ViewRoom, - event_id: "$start-id", - highlighted: true, - room_id: roomId, - metricsTrigger: undefined, // room doesn't change - }); - }); - }); - }); -}); diff --git a/test/unit-tests/voice-broadcast/utils/textForVoiceBroadcastStoppedEventWithoutLink-test.ts b/test/unit-tests/voice-broadcast/utils/textForVoiceBroadcastStoppedEventWithoutLink-test.ts deleted file mode 100644 index a010a6ec7c..0000000000 --- a/test/unit-tests/voice-broadcast/utils/textForVoiceBroadcastStoppedEventWithoutLink-test.ts +++ /dev/null @@ -1,47 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2022 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -Please see LICENSE files in the repository root for full details. -*/ - -import { mocked } from "jest-mock"; -import { MatrixClient } from "matrix-js-sdk/src/matrix"; - -import { textForVoiceBroadcastStoppedEventWithoutLink, VoiceBroadcastInfoState } from "../../../../src/voice-broadcast"; -import { stubClient } from "../../../test-utils"; -import { mkVoiceBroadcastInfoStateEvent } from "./test-utils"; - -describe("textForVoiceBroadcastStoppedEventWithoutLink", () => { - const otherUserId = "@other:example.com"; - const roomId = "!room:example.com"; - let client: MatrixClient; - - beforeAll(() => { - client = stubClient(); - }); - - const getText = (senderId: string, startEventId?: string) => { - const event = mkVoiceBroadcastInfoStateEvent( - roomId, - VoiceBroadcastInfoState.Stopped, - senderId, - client.deviceId!, - ); - return textForVoiceBroadcastStoppedEventWithoutLink(event); - }; - - it("when called for an own broadcast it should return the expected text", () => { - expect(getText(client.getUserId()!)).toBe("You ended a voice broadcast"); - }); - - it("when called for other ones broadcast it should return the expected text", () => { - expect(getText(otherUserId)).toBe(`${otherUserId} ended a voice broadcast`); - }); - - it("when not logged in it should return the exptected text", () => { - mocked(client.getUserId).mockReturnValue(null); - expect(getText(otherUserId)).toBe(`${otherUserId} ended a voice broadcast`); - }); -}); From 84709df3c91eff8faf69b99b1a44c12688d4662e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 2 Dec 2024 13:13:12 +0000 Subject: [PATCH 75/78] Remove remaining reply fallbacks code (#28610) * Remove remaining reply fallbacks code as MSC2781 has been merged Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/rooms/EditMessageComposer.tsx | 33 ++----------------- .../views/rooms/SendMessageComposer.tsx | 1 - .../utils/createMessageContent.ts | 30 ++--------------- .../views/rooms/EditMessageComposer-test.tsx | 16 ++++----- .../EditWysiwygComposer-test.tsx | 4 +-- .../utils/createMessageContent-test.ts | 4 +-- .../wysiwyg_composer/utils/message-test.ts | 4 +-- 7 files changed, 18 insertions(+), 74 deletions(-) diff --git a/src/components/views/rooms/EditMessageComposer.tsx b/src/components/views/rooms/EditMessageComposer.tsx index c6321ad53a..f4b5c3698e 100644 --- a/src/components/views/rooms/EditMessageComposer.tsx +++ b/src/components/views/rooms/EditMessageComposer.tsx @@ -43,25 +43,6 @@ import { attachMentions, attachRelation } from "./SendMessageComposer"; import { filterBoolean } from "../../../utils/arrays"; import { MatrixClientPeg } from "../../../MatrixClientPeg"; -function getHtmlReplyFallback(mxEvent: MatrixEvent): string { - const html = mxEvent.getContent().formatted_body; - if (!html) { - return ""; - } - const rootNode = new DOMParser().parseFromString(html, "text/html").body; - const mxReply = rootNode.querySelector("mx-reply"); - return (mxReply && mxReply.outerHTML) || ""; -} - -function getTextReplyFallback(mxEvent: MatrixEvent): string { - const body: string = mxEvent.getContent().body; - const lines = body.split("\n").map((l) => l.trim()); - if (lines.length > 2 && lines[0].startsWith("> ") && lines[1].length === 0) { - return `${lines[0]}\n\n`; - } - return ""; -} - // exported for tests export function createEditContent( model: EditorModel, @@ -72,15 +53,6 @@ export function createEditContent( if (isEmote) { model = stripEmoteCommand(model); } - const isReply = !!editedEvent.replyEventId; - let plainPrefix = ""; - let htmlPrefix = ""; - - if (isReply) { - plainPrefix = getTextReplyFallback(editedEvent); - htmlPrefix = getHtmlReplyFallback(editedEvent); - } - const body = textSerialize(model); const newContent: RoomMessageEventContent = { @@ -89,19 +61,18 @@ export function createEditContent( }; const contentBody: RoomMessageTextEventContent & Omit, "m.relates_to"> = { "msgtype": newContent.msgtype, - "body": `${plainPrefix} * ${body}`, + "body": `* ${body}`, "m.new_content": newContent, }; const formattedBody = htmlSerializeIfNeeded(model, { - forceHTML: isReply, useMarkdown: SettingsStore.getValue("MessageComposerInput.useMarkdown"), }); if (formattedBody) { newContent.format = "org.matrix.custom.html"; newContent.formatted_body = formattedBody; contentBody.format = newContent.format; - contentBody.formatted_body = `${htmlPrefix} * ${formattedBody}`; + contentBody.formatted_body = `* ${formattedBody}`; } // Build the mentions properties for both the content and new_content. diff --git a/src/components/views/rooms/SendMessageComposer.tsx b/src/components/views/rooms/SendMessageComposer.tsx index 6533415a83..b3767cbd2a 100644 --- a/src/components/views/rooms/SendMessageComposer.tsx +++ b/src/components/views/rooms/SendMessageComposer.tsx @@ -193,7 +193,6 @@ export function createMessageContent( body: body, }; const formattedBody = htmlSerializeIfNeeded(model, { - forceHTML: !!replyToEvent, useMarkdown: SettingsStore.getValue("MessageComposerInput.useMarkdown"), }); if (formattedBody) { diff --git a/src/components/views/rooms/wysiwyg_composer/utils/createMessageContent.ts b/src/components/views/rooms/wysiwyg_composer/utils/createMessageContent.ts index 7f42ed2327..58d09b3d12 100644 --- a/src/components/views/rooms/wysiwyg_composer/utils/createMessageContent.ts +++ b/src/components/views/rooms/wysiwyg_composer/utils/createMessageContent.ts @@ -27,28 +27,6 @@ function attachRelation(content: IContent, relation?: IEventRelation): void { } } -function getHtmlReplyFallback(mxEvent: MatrixEvent): string { - const html = mxEvent.getContent().formatted_body; - if (!html) { - return ""; - } - const rootNode = new DOMParser().parseFromString(html, "text/html").body; - const mxReply = rootNode.querySelector("mx-reply"); - return (mxReply && mxReply.outerHTML) || ""; -} - -function getTextReplyFallback(mxEvent: MatrixEvent): string { - const body = mxEvent.getContent().body; - if (typeof body !== "string") { - return ""; - } - const lines = body.split("\n").map((l) => l.trim()); - if (lines.length > 2 && lines[0].startsWith("> ") && lines[1].length === 0) { - return `${lines[0]}\n\n`; - } - return ""; -} - interface CreateMessageContentParams { relation?: IEventRelation; replyToEvent?: MatrixEvent; @@ -63,8 +41,6 @@ export async function createMessageContent( { relation, replyToEvent, editedEvent }: CreateMessageContentParams, ): Promise { const isEditing = isMatrixEvent(editedEvent); - const isReply = isEditing ? Boolean(editedEvent.replyEventId) : isMatrixEvent(replyToEvent); - const isReplyAndEditing = isEditing && isReply; const isEmote = message.startsWith(EMOTE_PREFIX); if (isEmote) { @@ -82,12 +58,10 @@ export async function createMessageContent( // if we're editing rich text, the message content is pure html // BUT if we're not, the message content will be plain text where we need to convert the mentions const body = isHTML ? await richToPlain(message, false) : convertPlainTextToBody(message); - const bodyPrefix = (isReplyAndEditing && getTextReplyFallback(editedEvent)) || ""; - const formattedBodyPrefix = (isReplyAndEditing && getHtmlReplyFallback(editedEvent)) || ""; const content = { msgtype: isEmote ? MsgType.Emote : MsgType.Text, - body: isEditing ? `${bodyPrefix} * ${body}` : body, + body: isEditing ? `* ${body}` : body, } as RoomMessageTextEventContent & ReplacementEvent; // TODO markdown support @@ -97,7 +71,7 @@ export async function createMessageContent( if (formattedBody) { content.format = "org.matrix.custom.html"; - content.formatted_body = isEditing ? `${formattedBodyPrefix} * ${formattedBody}` : formattedBody; + content.formatted_body = isEditing ? `* ${formattedBody}` : formattedBody; } if (isEditing) { diff --git a/test/unit-tests/components/views/rooms/EditMessageComposer-test.tsx b/test/unit-tests/components/views/rooms/EditMessageComposer-test.tsx index 0ef3dd76e5..beac0c8e1d 100644 --- a/test/unit-tests/components/views/rooms/EditMessageComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/EditMessageComposer-test.tsx @@ -128,7 +128,7 @@ describe("", () => { const expectedBody = { ...editedEvent.getContent(), - "body": " * original message + edit", + "body": "* original message + edit", "m.new_content": { "body": "original message + edit", "msgtype": "m.text", @@ -160,7 +160,7 @@ describe("", () => { const content = createEditContent(model, editedEvent); expect(content).toEqual({ - "body": " * hello world", + "body": "* hello world", "msgtype": "m.text", "m.new_content": { "body": "hello world", @@ -183,10 +183,10 @@ describe("", () => { const content = createEditContent(model, editedEvent); expect(content).toEqual({ - "body": " * hello *world*", + "body": "* hello *world*", "msgtype": "m.text", "format": "org.matrix.custom.html", - "formatted_body": " * hello world", + "formatted_body": "* hello world", "m.new_content": { "body": "hello *world*", "msgtype": "m.text", @@ -210,10 +210,10 @@ describe("", () => { const content = createEditContent(model, editedEvent); expect(content).toEqual({ - "body": " * blinks __quickly__", + "body": "* blinks __quickly__", "msgtype": "m.emote", "format": "org.matrix.custom.html", - "formatted_body": " * blinks quickly", + "formatted_body": "* blinks quickly", "m.new_content": { "body": "blinks __quickly__", "msgtype": "m.emote", @@ -238,7 +238,7 @@ describe("", () => { const content = createEditContent(model, editedEvent); expect(content).toEqual({ - "body": " * ✨sparkles✨", + "body": "* ✨sparkles✨", "msgtype": "m.emote", "m.new_content": { "body": "✨sparkles✨", @@ -264,7 +264,7 @@ describe("", () => { // TODO Edits do not properly strip the double slash used to skip // command processing. expect(content).toEqual({ - "body": " * //dev/null is my favourite place", + "body": "* //dev/null is my favourite place", "msgtype": "m.text", "m.new_content": { "body": "//dev/null is my favourite place", diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx b/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx index 167618e452..a76c7a8b90 100644 --- a/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx +++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/EditWysiwygComposer-test.tsx @@ -196,9 +196,9 @@ describe("EditWysiwygComposer", () => { // Then screen.getByText("Save").click(); const expectedContent = { - "body": ` * foo bar`, + "body": `* foo bar`, "format": "org.matrix.custom.html", - "formatted_body": ` * foo bar`, + "formatted_body": `* foo bar`, "m.new_content": { body: "foo bar", format: "org.matrix.custom.html", diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/utils/createMessageContent-test.ts b/test/unit-tests/components/views/rooms/wysiwyg_composer/utils/createMessageContent-test.ts index f0d9ed73c1..74852e9c6d 100644 --- a/test/unit-tests/components/views/rooms/wysiwyg_composer/utils/createMessageContent-test.ts +++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/utils/createMessageContent-test.ts @@ -88,9 +88,9 @@ describe("createMessageContent", () => { // Then expect(content).toEqual({ - "body": " * *__hello__ world*", + "body": "* *__hello__ world*", "format": "org.matrix.custom.html", - "formatted_body": ` * ${message}`, + "formatted_body": `* ${message}`, "msgtype": "m.text", "m.new_content": { body: "*__hello__ world*", diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/utils/message-test.ts b/test/unit-tests/components/views/rooms/wysiwyg_composer/utils/message-test.ts index c339978f92..43320b0444 100644 --- a/test/unit-tests/components/views/rooms/wysiwyg_composer/utils/message-test.ts +++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/utils/message-test.ts @@ -418,8 +418,8 @@ describe("message", () => { // Then const { msgtype, format } = mockEvent.getContent(); const expectedContent = { - "body": ` * ${newMessage}`, - "formatted_body": ` * ${newMessage}`, + "body": `* ${newMessage}`, + "formatted_body": `* ${newMessage}`, "m.new_content": { body: "Replying to this new content", format: "org.matrix.custom.html", From 2c3e01a31c648ea28a12d6356d38f1a891eb5836 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 2 Dec 2024 13:13:18 +0000 Subject: [PATCH 76/78] Provide a way to activate GIFs via the keyboard for a11y (#28611) * Provide a way to activate GIFs via the keyboard for a11y Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Remove dead code Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/messages/MImageBody.tsx | 58 ++++++++++++-------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/src/components/views/messages/MImageBody.tsx b/src/components/views/messages/MImageBody.tsx index f77451108b..c3aeee1a54 100644 --- a/src/components/views/messages/MImageBody.tsx +++ b/src/components/views/messages/MImageBody.tsx @@ -51,6 +51,7 @@ interface IState { naturalHeight: number; }; hover: boolean; + focus: boolean; showImage: boolean; placeholder: Placeholder; } @@ -71,6 +72,7 @@ export default class MImageBody extends React.Component { imgError: false, imgLoaded: false, hover: false, + focus: false, showImage: SettingsStore.getValue("showImages"), placeholder: Placeholder.NoImage, }; @@ -120,30 +122,29 @@ export default class MImageBody extends React.Component { } }; - protected onImageEnter = (e: React.MouseEvent): void => { - this.setState({ hover: true }); - - if ( + private get shouldAutoplay(): boolean { + return !( !this.state.contentUrl || !this.state.showImage || !this.state.isAnimated || SettingsStore.getValue("autoplayGifs") - ) { - return; - } - const imgElement = e.currentTarget; - imgElement.src = this.state.contentUrl; + ); + } + + protected onImageEnter = (): void => { + this.setState({ hover: true }); }; - protected onImageLeave = (e: React.MouseEvent): void => { + protected onImageLeave = (): void => { this.setState({ hover: false }); + }; - const url = this.state.thumbUrl ?? this.state.contentUrl; - if (!url || !this.state.showImage || !this.state.isAnimated || SettingsStore.getValue("autoplayGifs")) { - return; - } - const imgElement = e.currentTarget; - imgElement.src = url; + private onFocus = (): void => { + this.setState({ focus: true }); + }; + + private onBlur = (): void => { + this.setState({ focus: false }); }; private reconnectedListener = createReconnectedListener((): void => { @@ -470,14 +471,20 @@ export default class MImageBody extends React.Component { let showPlaceholder = Boolean(placeholder); + const hoverOrFocus = this.state.hover || this.state.focus; if (thumbUrl && !this.state.imgError) { + let url = thumbUrl; + if (hoverOrFocus && this.shouldAutoplay) { + url = this.state.contentUrl!; + } + // Restrict the width of the thumbnail here, otherwise it will fill the container // which has the same width as the timeline // mx_MImageBody_thumbnail resizes img to exactly container size img = ( {content.body} { showPlaceholder = false; // because we're hiding the image, so don't show the placeholder. } - if (this.state.isAnimated && !SettingsStore.getValue("autoplayGifs") && !this.state.hover) { + if (this.state.isAnimated && !SettingsStore.getValue("autoplayGifs") && !hoverOrFocus) { // XXX: Arguably we may want a different label when the animated image is WEBP and not GIF gifLabel =

GIF

; } let banner: ReactNode | undefined; - if (this.state.showImage && this.state.hover) { + if (this.state.showImage && hoverOrFocus) { banner = this.getBanner(content); } @@ -568,7 +575,13 @@ export default class MImageBody extends React.Component { protected wrapImage(contentUrl: string | null | undefined, children: JSX.Element): ReactNode { if (contentUrl) { return ( - + {children} ); @@ -657,17 +670,14 @@ export default class MImageBody extends React.Component { } interface PlaceholderIProps { - hover?: boolean; maxWidth?: number; } export class HiddenImagePlaceholder extends React.PureComponent { public render(): React.ReactNode { const maxWidth = this.props.maxWidth ? this.props.maxWidth + "px" : null; - let className = "mx_HiddenImagePlaceholder"; - if (this.props.hover) className += " mx_HiddenImagePlaceholder_hover"; return ( -
+
{_t("timeline|m.image|show_image")} From e75ff818d371372e74d96899550706b85da5f282 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 2 Dec 2024 14:03:14 +0000 Subject: [PATCH 77/78] Fix code block highlighting not working reliably with many code blocks (#28613) Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/messages/TextualBody.tsx | 25 +++++++------------ src/utils/react.tsx | 23 ++++++++++++++--- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/src/components/views/messages/TextualBody.tsx b/src/components/views/messages/TextualBody.tsx index 1a87d43a45..ae99754cba 100644 --- a/src/components/views/messages/TextualBody.tsx +++ b/src/components/views/messages/TextualBody.tsx @@ -52,8 +52,6 @@ export default class TextualBody extends React.Component { private tooltips = new ReactRootManager(); private reactRoots = new ReactRootManager(); - private ref = createRef(); - public static contextType = RoomContext; declare public context: React.ContextType; @@ -86,7 +84,7 @@ export default class TextualBody extends React.Component { if (this.props.mxEvent.getContent().format === "org.matrix.custom.html") { // Handle expansion and add buttons - const pres = this.ref.current?.getElementsByTagName("pre"); + const pres = [...content.getElementsByTagName("pre")]; if (pres && pres.length > 0) { for (let i = 0; i < pres.length; i++) { // If there already is a div wrapping the codeblock we want to skip this. @@ -115,13 +113,14 @@ export default class TextualBody extends React.Component { root.className = "mx_EventTile_pre_container"; // Insert containing div in place of
 block
-        pre.parentNode?.replaceChild(root, pre);
+        pre.replaceWith(root);
 
         this.reactRoots.render(
             
                 {pre}
             ,
             root,
+            pre,
         );
     }
 
@@ -196,10 +195,9 @@ export default class TextualBody extends React.Component {
                     
                 );
 
-                this.reactRoots.render(spoiler, spoilerContainer);
-
-                node.parentNode?.replaceChild(spoilerContainer, node);
+                this.reactRoots.render(spoiler, spoilerContainer, node);
 
+                node.replaceWith(spoilerContainer);
                 node = spoilerContainer;
             }
 
@@ -479,12 +477,7 @@ export default class TextualBody extends React.Component {
 
         if (isEmote) {
             return (
-                
+
{mxEvent.sender ? mxEvent.sender.name : mxEvent.getSender()} @@ -497,7 +490,7 @@ export default class TextualBody extends React.Component { } if (isNotice) { return ( -
+
{body} {widgets}
@@ -505,14 +498,14 @@ export default class TextualBody extends React.Component { } if (isCaption) { return ( -
+
{body} {widgets}
); } return ( -
+
{body} {widgets}
diff --git a/src/utils/react.tsx b/src/utils/react.tsx index 164d704d91..b78f574fa9 100644 --- a/src/utils/react.tsx +++ b/src/utils/react.tsx @@ -15,23 +15,38 @@ import { createRoot, Root } from "react-dom/client"; export class ReactRootManager { private roots: Root[] = []; private rootElements: Element[] = []; + private revertElements: Array = []; public get elements(): Element[] { return this.rootElements; } - public render(children: ReactNode, element: Element): void { - const root = createRoot(element); + /** + * Render a React component into a new root based on the given root element + * @param children the React component to render + * @param rootElement the root element to render the component into + * @param revertElement the element to replace the root element with when unmounting + */ + public render(children: ReactNode, rootElement: Element, revertElement?: Element): void { + const root = createRoot(rootElement); this.roots.push(root); - this.rootElements.push(element); + this.rootElements.push(rootElement); + this.revertElements.push(revertElement ?? null); root.render(children); } + /** + * Unmount all roots and revert the elements they were rendered into + */ public unmount(): void { while (this.roots.length) { const root = this.roots.pop()!; - this.rootElements.pop(); + const rootElement = this.rootElements.pop(); + const revertElement = this.revertElements.pop(); root.unmount(); + if (revertElement) { + rootElement?.replaceWith(revertElement); + } } } } From 06fa3481dfca51834c204614095f5cd093c9de70 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 2 Dec 2024 14:05:44 +0000 Subject: [PATCH 78/78] Remove unused scripts (#28612) Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- scripts/copy-i18n.py | 47 -------------------- scripts/fetch-develop.deps.sh | 84 ----------------------------------- scripts/genflags.sh | 64 -------------------------- 3 files changed, 195 deletions(-) delete mode 100755 scripts/copy-i18n.py delete mode 100755 scripts/fetch-develop.deps.sh delete mode 100755 scripts/genflags.sh diff --git a/scripts/copy-i18n.py b/scripts/copy-i18n.py deleted file mode 100755 index 07b1271239..0000000000 --- a/scripts/copy-i18n.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python - -import json -import sys -import os - -if len(sys.argv) < 3: - print "Usage: %s " % (sys.argv[0],) - print "eg. %s pt_BR.json pt.json" % (sys.argv[0],) - print - print "Adds any translations to that exist in but not " - sys.exit(1) - -srcpath = sys.argv[1] -dstpath = sys.argv[2] -tmppath = dstpath + ".tmp" - -with open(srcpath) as f: - src = json.load(f) - -with open(dstpath) as f: - dst = json.load(f) - -toAdd = {} -for k,v in src.iteritems(): - if k not in dst: - print "Adding %s" % (k,) - toAdd[k] = v - -# don't just json.dumps as we'll probably re-order all the keys (and they're -# not in any given order so we can't just sort_keys). Append them to the end. -with open(dstpath) as ifp: - with open(tmppath, 'w') as ofp: - for line in ifp: - strippedline = line.strip() - if strippedline in ('{', '}'): - ofp.write(line) - elif strippedline.endswith(','): - ofp.write(line) - else: - ofp.write(' '+strippedline+',') - toAddStr = json.dumps(toAdd, indent=4, separators=(',', ': '), ensure_ascii=False, encoding="utf8").strip("{}\n") - ofp.write("\n") - ofp.write(toAddStr.encode('utf8')) - ofp.write("\n") - -os.rename(tmppath, dstpath) diff --git a/scripts/fetch-develop.deps.sh b/scripts/fetch-develop.deps.sh deleted file mode 100755 index 5814b43ff7..0000000000 --- a/scripts/fetch-develop.deps.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env bash - -# Fetches the js-sdk dependency for development or testing purposes -# If there exists a branch of that dependency with the same name as -# the branch the current checkout is on, use that branch. Otherwise, -# use develop. - -set -x - -GIT_CLONE_ARGS=("$@") -[ -z "$defbranch" ] && defbranch="develop" - -# clone a specific branch of a github repo -function clone() { - org=$1 - repo=$2 - branch=$3 - - # Chop 'origin' off the start as jenkins ends up using - # branches on the origin, but this doesn't work if we - # specify the branch when cloning. - branch=${branch#origin/} - - if [ -n "$branch" ] - then - echo "Trying to use $org/$repo#$branch" - # Disable auth prompts: https://serverfault.com/a/665959 - GIT_TERMINAL_PROMPT=0 git clone https://github.com/$org/$repo.git $repo --branch $branch \ - "${GIT_CLONE_ARGS[@]}" - return $? - fi - return 1 -} - -function dodep() { - deforg=$1 - defrepo=$2 - rm -rf $defrepo - - # Try the PR author's branch in case it exists on the deps as well. - # Try the target branch of the push or PR. - # Use the default branch as the last resort. - if [[ "$BUILDKITE" == true ]]; then - # If BUILDKITE_BRANCH is set, it will contain either: - # * "branch" when the author's branch and target branch are in the same repo - # * "author:branch" when the author's branch is in their fork - # We can split on `:` into an array to check. - BUILDKITE_BRANCH_ARRAY=(${BUILDKITE_BRANCH//:/ }) - if [[ "${#BUILDKITE_BRANCH_ARRAY[@]}" == "2" ]]; then - prAuthor=${BUILDKITE_BRANCH_ARRAY[0]} - prBranch=${BUILDKITE_BRANCH_ARRAY[1]} - else - prAuthor=$deforg - prBranch=$BUILDKITE_BRANCH - fi - clone $prAuthor $defrepo $prBranch || - clone $deforg $defrepo $BUILDKITE_PULL_REQUEST_BASE_BRANCH || - clone $deforg $defrepo $defbranch || - return $? - else - clone $deforg $defrepo $ghprbSourceBranch || - clone $deforg $defrepo $GIT_BRANCH || - clone $deforg $defrepo `git rev-parse --abbrev-ref HEAD` || - clone $deforg $defrepo $defbranch || - return $? - fi - - echo "$defrepo set to branch "`git -C "$defrepo" rev-parse --abbrev-ref HEAD` -} - -############################## - -echo 'Setting up matrix-js-sdk' - -dodep matrix-org matrix-js-sdk - -pushd matrix-js-sdk -yarn link -yarn install --frozen-lockfile -popd - -yarn link matrix-js-sdk - -############################## diff --git a/scripts/genflags.sh b/scripts/genflags.sh deleted file mode 100755 index aa882a99b4..0000000000 --- a/scripts/genflags.sh +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright 2017-2024 New Vector Ltd. - -# SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only -# Please see LICENSE in the repository root for full details. - - -# genflags.sh - Generates pngs for use with CountryDropdown.js -# -# Dependencies: -# - imagemagick --with-rsvg (because default imagemagick SVG -# renderer does not produce accurate results) -# -# on macOS, this is most easily done with: -# brew install imagemagick --with-librsvg -# -# This will clone the googlei18n flag repo before converting -# all phonenumber.js-supported country flags (as SVGs) into -# PNGs that can be used by CountryDropdown.js. - -set -e - -# Allow CTRL+C to terminate the script -trap "echo Exited!; exit;" SIGINT SIGTERM - -# git clone the google repo to get flag SVGs -git clone git@github.com:googlei18n/region-flags -for f in region-flags/svg/*.svg; do - # Skip state flags - if [[ $f =~ [A-Z]{2}-[A-Z]{2,3}.svg ]] ; then - echo "Skipping state flag "$f - continue - fi - - # Skip countries not included in phonenumber.js - if [[ $f =~ (AC|CP|DG|EA|EU|IC|TA|UM|UN|XK).svg ]] ; then - echo "Skipping non-phonenumber supported flag "$f - continue - fi - - # Run imagemagick convert - # -background none : transparent background - # -resize 50x30 : resize the flag to have a height of 15px (2x) - # By default, aspect ratio is respected so the width will - # be correct and not necessarily 25px. - # -filter Lanczos : use sharper resampling to avoid muddiness - # -gravity Center : keep the image central when adding an -extent - # -border 1 : add a 1px border around the flag - # -bordercolor : set the border colour - # -extent 54x54 : surround the image with padding so that it - # has the dimensions 27x27px (2x). - convert $f -background none -filter Lanczos -resize 50x30 \ - -gravity Center -border 1 -bordercolor \#e0e0e0 \ - -extent 54x54 $f.png - - # $f.png will be region-flags/svg/XX.svg.png at this point - - # Extract filename from path $f - newname=${f##*/} - # Replace .svg with .png - newname=${newname%.svg}.png - # Move the file to flags directory - mv $f.png ../res/flags/$newname - echo "Generated res/flags/"$newname -done

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%0AD7+fC8@J<0+~I25VULt zE){guFQz$tzR5rAgIsxRe*M_w4>8lsFmk;m}%UVAq&M`J5?MTQBH zN0(4HEa_(^Bn5eg3&n)xG8}dIE026CO(Hv%6a|=t&XK8YQCpDU>wzS97RM3@k?a3U zYTgq}-w9;bH^(xD(c~L%4B!JX#Q!zcP$CxNjb&=F?x2GqS!uBJ2a3U0>d<1v&!UNV z&sDBpl%_UIuG)B+{%QSn6QmDyrlak0*GTbBXkR1|t_hFLfni-kdEZScN%mX7`;*WH~~bY zH>pRnW~oOqYsIj!lAOEz_9#jvQ+ z-IC=pX4wEqFS6eK3ge&+x)lE8A?Ko*P=N0E&#K4Tt#?@}H|eFcyEb^%tYPqeL$1W< zv;Av7l~nZaZhi&o?~e_C&fdOWRE;z!OFwho=4;P|(M7=p)MLu|B~rOAows`x!#$0R z7oX5|E)dsBXjAcX9#M{L{wKsoU=nqM6uNkz((xh)v>7p&TAJ=q1MRZ542n&?NU*ZK z0Qf}9j07~lFcs86oxMtkz_4 z3<*pI4^W(J3K&eL2o>)1=yLV+7M$hbsDkhmYidVMIJDkwO~T_X?a~%1C=H3ft?&3B;)_Hi39jsouwHz zkW73Jx#nObU#@S-`y4YBNVev>@=FI?NqbfWHb|GZ3tDy?31i;alqy0eL{awR9-MhT zE(?g2n)@*OJ8QrQA#6qMVEzU^A=-|exMg_$A6?*U@K{a;I^ z*VOFV<+D(L^d!CdH3i~@L~;iS^8}JTP$b*8DYKk!+3R?zWxmvk6hqS)J!IyjAVZ)(yU-5+Gr)2o8?MMvVdRQ8u;$Q79y!mpoucsq4fN_^})g^(h zo-=*?y(TJx69!W43aO25ZrEGUS9=Q*`j?VTm#Jy9}bers2l_bEk72&w}Pg7{F#oJ;*{_jJDmp+OZLA5hoB)EbXIy z==U~-+04JJ-5zvmVy<9oXBbuJ4?$x}O|!-3;Vn#{gC9omFX?-Yo+sprUXoV(Gk!gS zcG_CVcGmirrxi?5cFaLm{!{waEt%BJG>CP2jywh3^tV0)t=#9$#}!#Yr-hZF28cro z-?89mv^;Ib|L?9x)d}rL*^nF|Cs?=%?4Fh^%=>{9+j!-MX_G+& z-&<~N_Rf%6g^AR}K;c8MIVj+XIC~yWfuFz z+;rKkXz39@T|Ikn&atqvcK>ugv$Q_Bu-ZK`{^{-V=F*L?CG9fTF_1M_`Sk3xv8vn4gpdNRv z&(rN8v)@e;=WMid602j>-$Znq4NRbdC6XBId|IIL@YT8>v7#YOx}|@@qAxJo=%xTa#!>YE~kTVl9r=y^mQvS zuPt{b#=1PD*5b{-ftRfEa6xW|nyzcdDMnOcMwoZlGVb+q#Hh9}%h!D+9SZLkBOn*T zvr7_;To}XihJ2Y<+&^+PS<`&PTv9j4rfe2v_CJ#XEx!g>`rd~HPt1v(*C2y~s}G(b zDBMY4T(eKFeid=2=6&Fx-=!J}fZHq9{D^93gsMeA2UJXHxr`y&fuCcVDX5TNqerER zFo>#Qr0`WES|=j}v@!^%y|PY!gvlY0_S7CRDCE6<4Ef?*lCbOv1U<3) zegLT@6d~%koDb*7FXA>i)t&7I|GPm^Z1&uPq^!^qmCBL|RCA8!w!~~AK;)UlN6O~^ z?K-~vqee2O(0L77V7w;@P_Ow5Y3QI*(0k}z7{Dw;J!D&Mf$}jSoGi_#HTGCJ8?Em$ zD(Lt-myLk&VJ_S-5_~yYI=4}X+zN+s5M0$ggG`p1!ij+wbvfDJ<+f!0wGzV`!7qff z4QmCe^x*fSJ4_glc97kGj#_LT*)kFZn|Rf}Pm4&C9oj5Sl0{g-HX*$p*WZT>9;ppS zv^Rbj&lr4`k=A^CaV;cu(ZfHIgYATJTb+V5*2QtdtI~SJ%3BnvitXF!yBt*OR%#Rt$bBfQ$UG2!#@W z-qdSm1B={>B%iPg2edZEU;g5QnO9e6-nT|Hae1Ot{&O5D$c>@}ZSpdaE~v?bhFx{k zCJtrVV=-A+p(=`}`HzJ@Om+P@_1&u;NI~_S;UQEX(ukML{|plh$*tT?wNxUG-Wp(a zDg1<}N;>*2ZVOdJIHC@GaNfl+{|YcdU+`aI4V$S(zCk=(-RC7b_ECb15dW9Oeg-}( z;MaZOyinhhNF`)0U;99r)>F9{jAIO&sZ*E#FEPhnr}j>xk?UNHnrTJg+iU5y4#;@W zafidiLQ|AR4Gzu0Z*_xVwhyPi6`^@oMNZIN7o9nHe=+xyrFBrMbkn20UGH10i&FuX zB9(0PL`NOLZS-`T8S+y`d~ptnfd=9b5!&+MBpHF+2xD1SdHryiDg_0mv(FE|lEp@EO{i@IuwF`Y?*=1Y& zWX~a513|@(LkZ@q4eHr%)MjVVCfd=vI}s7_W7i6bIW6U{3s0+k-7vds{b`$|w#N{cz_J{7TqRz%J3D@4vED)?0$3Qt1c~I( zPyYIJQ_6X6)uc1t?Oat=V3mu7SicJ9Q@;YUvj|D~I~Oi3X8SDwPx;nrWF;!I|1Ro_NUAvdKU@VvtsyeKq}$6~ z%n>5;M%#wbn`i`wivN`83dKmw6LDD>a!*raalx_R1d2o9O}G{gmQZR$A@{L@5Sp(= z$kV~7q4+XHN{n_n&%y=h>U4Q1@!cd&j@D@k#2m-9TUPm9o<*ANBcfvoY zK$U2Ml-~B#NB-@E0T5xpKnnAOTqme#qGO99L>b-raX-Sx{>0}?ykXvU_kNShP#}oS zPmB&QthW)hB#9-z3k>#&gEj57d^ZTb4m$il8aUsZMjUP3{|)1*wX3B=1nv0Y z>H!NvJl=uIf~+^8d4dzkg5`3 z)DVE5@mP)?AdoLWB994)cmozzuZSTN=dy;vPc;#s$4=2_FsImsl?o_pbP>0$i_p6j zsqzl^MQ*;7cjzP*Hws|-5CS#Fd4JiFR2e&Tgf$w*+qS>Xc?{#&X!_@$oOFq-3VPM8 zdT;wfg7{&sf~!)w~ zUN87{MDgcAm$k0-x0R81b(4N?MnZ+r2yb{i0zRbHdp2WuOn4nHg2HUPprWb+2Y2@i>sqRq zC~Qjb*Km2)Hv%17F)Yl#r7bXPcq&CFV8}LT`v!@mi7=S0RX z)0QzYB=IUBC%`F7xeS9ek7g?)+cBXKixBk-b?qpweyHCl}};L1PmKMm~~McH5YZ8|CqRQa(CGH2J^mf4`!g;l&wI z+k~B>h|$zJ`>xr4UPSPS5a$Dnc$ca#Cp@BQAI=I6;Ze+JN^R!5&A*KLnxJ$Vu!Rb{ z_N&ka^97}$XFC;Gj|oe}+U{8=ZbD}Zw9_&~^N8^yWunMh`$zTXyd-r=I&LG5vM(u9 zug-2BlOd3+g%e3Bz!7IkZPV^IHAy)U*g(h@*{NSYU_KD_`WI43#5G4h!bs7)gI zE)pFoRsUZF-m~g`%1zSZGPn1hnVQopLOXLVo(yIoXI7gz%1*8QX8)aubTRDex{K`( zY{u>AEr!*U%$z(XGdR2UeVg}s-V;7#BRr`WOjDX1ptVMgt@dLeqL$=|q4Gl- zfNq)@z;5`yvBlu)lOvX=>afVjd4e5WW%KL%EbsM$IJJ0T(FT=)a(vY*lMp9zUc-^A z&zr%v(S)>ulEI?nJSLliheqJJUSf-X`lVAvE3T;K?GIEjw&WB9u?b3~ zrKflG^w!oldVLQ;P9t`xG^~0k!AK4JewPHm{^%G4&oU)bbiYjHb}q!Iex`2yJgzcJ zy@wT=?cb(^`0ESSRJ|ij>Gr2mrR%jX^}RHP46D5v-VtEbyhPk*=H?hn!88S;VT=fG z0v#lmnR=mk!ZHW&GA`hoKIjG+sK|;mRR1Z@Wk`3D$d2>%f85eN8V(!aj9Z+=A@8v^ zROfpY`|lBX%CfAY@BqRDOYljWGD)xCel0^8i6VZ|uZCe~!l6hVkn@~PjWgIwGr>dE zuLEX@GU586Oo&P1vj4TsZSQCSnHE-Y^4D2;|8TG(4tu|<8J`P2l!c{|?Cxl?Z$6pI)&fmbGyP!CcM zd@}3@I9uTU6rP_X`g6QEu>puMp5JmYxBZI|NtAe)@Ax=U7ALY7(#;{zc$i#_?UX`O z&itE$(6%Ru;FCJeV!#~ntJ3+UCPI=6OH1t(FHT5oaz+DA$I6@XPkwHwto(le;f6pt zMtIla<9hG@c1RT)tH6{# z*$O_vQa*{Y-tOWC*F0CKV^_KIPBi^hRx~7IUoLH1OvG6giCN~05NI1co-XmW5`pNl z)0F`h>Z+%>uHOclt5+#{%?^f5C%5^?0_K?kV1UGBd(s^-vi<3#ZIw!m9<70#>RacC zrn|k%(8YG|7ZQX97XYlNob12dUS&_)>G-o9VVL=|vLPSUCMjD`pfrfiT#?W#iK!_c zO4#Y*L!C)^hD&TUs8)@LcKV!R;Rw@+Wc;V8N~%5VoaYkYaPTjgdr<@{k4fqk?n@%M z_JzAkWJA(7(Z1D7J>N(2EmP7@Y!M;l>MZcrPjHhiy`wqGxwDci^Kljx#*z1Q&O0T# zm|ZSBNHU;hgIjW`ijxQ%_G;Dqw}fHQDI;%)X`UK0|LbXM5VPpWM)k&rAG4Y5B=9P{ zV7|9$>?_03m!4{@5ndNeW2Cu0m{pVhJ#b&w*m$2i(L0fh zVt~qpjij3d7vIhrnvLcIjyv9)hzlYYXVh%4GnTj?4{9M}g;c=jH5E24nUqz0xb4Ql z>+D8K7or@^i^Qj1mT?~N*bRLc5&@h0#kvX zhEp_c$|3CPBAr=uv(o#KhZE#qsgj$F=m&CecUceskn(Pmk_oyZpQ%HMdDr_qC7XR< z<&mBi9*}FDi0yh6gJb?jY-thJHVanhNWLdf+o_{G!U`KdTx``RQMzGh(Sc|)Q8xCQ z`NRenT~$#Lvoexm`^#S^({Z-JN2lIbFQu!!jXZG}Rm%(N1iux`bFAme#mWIx45#V_ zuAX?=#RsA%=g0EFxyggz)Iz9)7?pw zwZu{7VIuEvARMkt>6r}MeE^q+{vw}0THE8S#6wa%d_BKNJ&UP}8@Dc}TEWy;`gyB{ zbpiX?y&#t<@1pUBa8Vm+n~&+pDSgPH?MK`&Amlu9mZ;WPKxu4N!+G`DubFES(92go zvV2z7W=!_ffVU1p(J{*DJ#05kMuYAd7K+7NP0D1wA|IrKkuXV6rnx*lPWFBQ9Dx|6 zrY1wngo-*-j^zzb*kB7hhmRrtLjr;O`4NoxL3b756sF)F2DJZRim>1iydp8i0-w|4!qGgl33po1tMY3~RsSAF@H)OKh)=F@U zEJz+wOG3%?wNeDZAG6&O!5jM?PcdU;qTigji+&7)!zX#7@Pgk(?8pop(mS>PL6xrO zuy_B)J5A(V71#`^bSFMXx-Mo+yN`+92?Swoaxm3B-CWo58Od3C-+orQPu(j`H~v-w z!VSkj`v_@Ad#Qd1*DfyWW2WZ)vaj#_0W`$Rqm`>E>cwYsv0Z@dzf+nUQyfd(_E${D z_WkO2R)YUY#1gI`!au>VzaG7cY3c$~%KV$|TOnBJVU{{c3^%xNpsOjrEuy3=TtpIE zRr1y04|}1glxs*iDn7gUofKDNI7mO&ajkxoGA*0~q{aSU+`5NmPHlZ@3;%T(=;Ud@ zmko8^f^rw4g-jejrCZo;hFRb?BL@3tD3b#eZD~p>$ijsGrH(BLoA`8UJZ~kZWK&D--*0 z{%Z5Xz9KzG`A=@a1t|6+%^q0VS*9GLsUPnDk}X^|#xtuKqcMDi6WJ^*Wn#+!MnJj0 zZg(tGuo4@N|Jxnew~(BG)kfVzWXT-hZr4W?|I9beT) z8n+KkVVp5(9u}UmsN3hKF6r6@rpGPN=pGGhB71T+r@Xw9^6%l=lpn5Wa z1qYqX)B-E(mY7T_7rsx|n1|1t-<`e}BNN*3!w^8m{Yur6EPN6yzF^d%Pz5TUz1=5A zs*Mwc4~qUgv1S{6m8@aLmL=}&;*Tota|e*=`}yN>2KW$DSx zmiR1``%e^lHb-dniV-7@oX#-qyah##iS1XnBJU?I@3c z0Pz#Ld9vm5Z^&_Vb@yiHzP{KhnsGONd_RC3lJ34~Q%ePW$i z!`>l41et*TM@S@9u!UoP4fkiPDHGcAuBz)e0pZ$8ijR~Y27S^+F3V9+w?jIOFQ7e# z)FD3zYSJL*rOo9L6W*36Qzlzv@y%LHlcaW$A5MGZ}H!}OFzE912!F0 zG5VN?{W&!`H55=Y9Y)(QLj#IPKI9N?17T(%acVJuV_LG06V@3uf%v|xNS%XV!E3$& zg1HszM>U>b`z`rB2IjeJK#ZpAk|&$D8kl`EQt(vN4pH#_=BYBTyep!N-4V5~2w^*S zR(uFDUU!Q51AG|5Y^;z7_5B&eO zL>AdOIsLXlr&Esu-ZygURqVj&_@#{T)<-ybKd5Kwp&;+qE00JNn`$InA;**Q7UVGjL_9U6)Qr-appS_WJaw8)U5GYeuaWe zETC8;OcfV;J&Jll^fpQ^hkzR{4$`U`z=${!HPse!6xR6+HFMOswFTngW7r$YK@+%8 z9t!dsnFasDh(MTd@H6iSwgcJ|v!5KpFtQ^v=vq_S;}(ewiXkzAYRft{Np0SdMvHE! zXYc$u3*4VVKkl?M5)v|`Z8W9Y0g}gBW8_WTI+ZeXqB=H}6^0Vqo(TkL^KDo>dTXnp z>}q`5?eM{di(Fa&=*8vG0zOoJFRzYh9WfMdd*S2Mn~{RQNWv_34DCUZrs|;H#1SXW zyij`!&bFh@A&OY*8M=oj&etDCinQ~%(KGy21REy-h+ki-hvu4T?ov9agOmjcfCHL2O%;l8pkjU4ydi;es?kINZL5&Z)o5ZM zNU?5@;2{TcCj*GCXvkc9Pw_B)CFvZTT2H zPPrl zec$EbiWhQg;H=JH-Zcx9dP9EFNYA8>4JlgS#IjER>Hr|X1go~D2Yk~fU1tKF0*aN% zJ`V#W+Ig&hS&2U(KJWaz;qHF+6lPgqHw!L8uK)iyzmkGd{b4J-YY2~k`u}qKugt=cd0*bq0A6Dc zwRSnTv9%95GlI!-JvTphX&q;FD;+6oh4F4jBU1hAIYY5zIUn1m}WMtw`vO zi(t()MYJpEDY|3@I?KiwLkG9XKe`W`Te?!y`UK(wc&)cMtg`*pVQ)oX`h{h(g(c3Y z00$H!!^&il*C3;Lu7y?AGw>GlrCIkRnmy1kz*(^|?DveDzt%ik3(r_YMLVYik+RES zX45LU8eX`#7aA56?533LpfU|-6(d$P2M4#lIIo@{tG6=0n>?=!Klj52!9$KOlD~Ox zG!d8R`|=(Jc5=L-3c`ZiJf--Y_7d!hG#n+&d{!bX#oR)=RP0M@i&+w&+VWz3T6RBP zZY55JMl$Y1aiNRrQyWtqe^>jFUy`|q6fH+ia_sYw@d2aiNu^Z*@m;wGz;&Q`DcOx; zr4d*=o4#!My3zO=NHgh7!3RLtu!2Sf4aT)5DPIov-R#2O1oS*I37KS%lm;zoEpBk7JkfP`O)vs7 z-!5c$L9$wu??Z)`xl#j|Kz(hnpyoPOMiAhdMVZy$2O@AJ!4L~qTpj7V z=QFFuugV)Ot6V2)xXz`0_^28_l#6Qt+u^uUi5)v28Cj|xpW{F>C0g{K$ zeoWBh2SQ(7D3B$O%b=rGIqY>)Qm%N$Zi4-fG!|hlwtKuW!2@{P@Jj`TKAJ_g5QWzX z=KrmsLmz@ghRi|fU7`?VcLc2aanUdbJRl%ki4 zdCjQoN~c4JLeP%*8SH zKEfq*X$*RJvRBdqsKEsh9J0s2PNduzd43k3SoBl?j%QCObO7WASMZ4)sfO~x)DLqf z+)U@_M{U#u*hp|R`sdn9RX`l(899y`w==nI>((&SyQwTM6~TGuIccmlhxH~qoc6}L zDezYL8JrKLtXKPG!IlF}1X*YDTps7qR?=fE)h5kaDb`Rr+3er$3Dg#~5N6r-i;dLb zpfl!U((^9&DwL+E0XKuQG^d?7`&yZ&t6?Ov^Dfk;6IqgA_;&6_|J~mPL;&j~Ocv7?VjRvOvg{1Cbx? zpP2n!h^F0w3$ew{Yag!551y0N|J8U7dV?#vo=ztAh9@r*I9C+%x1yHCxh2SaU=II8 zSNgtZCg89lwM~vPz&K-RH!vLzz@$k>aRc-xUMTag@?X3({bzV3SUN%+b-Q8)Z-GOf zIYGF9xjb(C1X+`PlRv&IhMwYs?s~OjrEPPGd5%pHUS*Jj9GaaIiL%1vS;hp+U%J@8 z|FPXsrD zn~j+(mka*A(B&gp-L8CoaFn9W6ydQWx{-6pZU#zBy;XfPBuk^Z2P^B0E&m@Ub+3yl zA(ppLzPL8O#ayioqog2Paar8YYv@WfGC3R5ysJS)~ zJ0g|iHEee7w>Tn;X(aVz%gFb;)C5$(qm&qa4MQkocS!}q>3SXxr0Ry`&+`7OhUpT+ zcUbf-`Prjd^mfzut-=NRNjX!m?1sof;_rBCi02aVTZs8JuSFV5Rv?C49(5`P`%B$6a#J6~p{c+LS$)yNO^UO^CO&;t8e{^%(^N!k zQ65x$J1p_4dB%-oTW0$CH5g^CbjdkXSL-;5iwxJ}@gUey*i3{))X*CnmC{Jh+DuDR zotr*Wf}a5oEkc1`go&b3NPyfjn^4_v?JIqlSMH=@z632Qn*6A6v3Dj8Bv*}JFF;5bU4rT#vp#`K+{zZ~m~O~1d4VJM5`jWa zFCB2Nc_`%{OaNhuQTXRRix_T}#Mt@7du2M*3b@~c%7s)XMnDom+E|*P>^45aBNg>8 z@KYRG6)tFM6(-y&C9aQ6F<<3Sb=OiKnazypp|Lep0U?d1KE8eemEcYh73iE6!5^U% zP|rU+Ng@K}Jj>EN?P=Su32$9@ImOmDZ<|Ni^@dJjYJ_o3)ak>H;8Jdo-C+BHtVNME z7uQdB6HjU^DT)-AC-(OvS~^&1WP@j^w8!9W>;@{%vIu>@at+rA(7;(fs6Iz&27658 zrF0AhRLO#4esCiGg3A}zEAWJ z`r2EIiKBWCSb^?#Dmag0`eI&(;sOpYUsN-0{Ybsa}Imcza7#c^yNVxTre{+?VhH&=a-tfJhwo?9KS(vH0I<) zzg;U1YLNeVs7C_ccoZ#)f|l3ps)x>MW<)BIPKM>&LlR@Jfp}fPi7R;hd``@`Zlzw% zzf3l1?sh-ZVA?UK5ngzTs>+SjDu-23Zq=4xw(eR>(aQ3F^ue@^m->s;rD74~I=l(F zGqrJGr~V(KJX}dGckER}cC%7?bze|sw^~Z#wT+3B21#r?r1ZBg!?pCGuBBRn?H1Pe zH1t_;ce3nfKK_0z4OtoO+V6}jy*QaUTQAve_jC7a&hQetslR@xfq!DSuvT7L z#CwD4NYbA@a`qc9DIkDovrZ;Xk>XTAU@yzwEY5tfmA~4$-%Z&Y^x1CUE?qDY|9PJu zgvDaQYQEWnBLJnXJ}Q1UwOTYN8CCvovoq#qC`Uq(!r^Jify(`dbDt)9z5oPIgvF^U z5Z{v@@hkD$mRDwO%>P0fTOgC7bpN(oekoD9RI8loA&WyvOWx&7k+#Dbuzca->DW}y&S;b@0KVj0vpr_yzXy2eMY75Eu z|1!VX^^g+v?4)RoDH!hAT9On0iT#tbJ>^Lc=3J?S32fMjC9;c{N5h^w~2kBYZz!u{8n3RPm@;m z1r&=ToUE$`J1)yq;7e8%443@&g`>pku;-%Zb zG7(aobC=K;mV704jw!#x6>vQDcKq<|oqbEM_(&Du!Tr1P7yJcNZ*41)w%e_VYi!f5 zz;{ppKC2tIoIMf#Tn}?VEU5@&7(AA>rISd7b0iKt`Om&s{4daQR{o}(*7>DtJpN0% z#tqRF`-Bo!ep@6=BMM~>M)L~9o;R^F*Q&%chx-Q~H|fHQA){^qDWW~ivA0P29(VQ7 zGn3ZpL>`@-JsYSa&2F@_${-Jm#wTD~W>n^^!jEjH++ZCFCu^WYW}A|*MMmnn*DiwV zD~Oq;mmr>!{!#T;2V zWYu)<%U4Vw-=R=iUC&l7gWQ7rz{~@lQ8BR8H8g)&)p9bjEexW*+t=!w?mdkU2UyH_cR-w02{G=U^0`JU{sD`NWkx3*I-Y{@1(tvnZD%z z9ancCCMDEXc+I?Jf8}N^{n4yj zH(*8DSq{ZH>1DCLoIFO?_~|*Vh~L!-V{0CCS5Qm`X%X2(o1EIJFo6?PYKov1=i1id zGmjTcL6m9BMM!QBg9Q+JtUTP^-5F#SmNuZCoqxI@yw;~$2#8!HV}LjAM2(UxMiQVi ziZ}W3v~?c!GGs)DUV&R&VS0Hl1shE5C9(d%!;_ZLfwC@X6Q02W{|s>1#Tzyh7X`pu zI;N$Sq!rjhR3@;+xI&m-ZP#w-=!-!n_r{RY{Ux`a(!MN$VTncrMEK3aB_HBBcs%c{VBZ7H~qF3SEH%#&^0VCpY_+aJ-?> zjc#28M=&)MK}2g4ER@dI%El`K!bX6zLZM8i<;1#`8TKWH z%>D1Wy|r;ohi4xCPyI&8t#Zfw;Fd$Qfe<70XPg=*+i zg%a|JiWFI6As~2{gw%M0OfjTioh7=nv|_@(JXj@rR1#@1`XcZsx?m;gKU*h(L;NOF zGJ(-AcPy_s2MRhv>gAR*6t$#5YMHR5`De*qCrJRdNt02n8}(r7UmxtwbZ1rSKKPF{RljCYt|sLA2YX} zG$-ZdXIS+SGg)H09S@NpmcB00&^1R|iNc`IN?HrSn2baelbA5ormX_HZN%lj0oV*1 z49>u62Z<|1>`&LtrjCKsv*sZm;EzY=ZzX&c22=0-c;EOZnu$_vT%a1Oo+q$e5>T_$ zs_OBwqKQ2hvSANR5Ftig*A5;brblHXj%Y15w2*aC#o(YHGC>rJ{B^yFKk#Z$N-U|N z@3{wG5C(z%4sx0V-D@5Ab~3`4?VlP6q7r_xbQA?~C}0Up(lsY3+ETc7RysmnYO}h*^fGja z;%n${9BffDCb|o$-9-J1D#-TtMAZiL+`<|~2VVJk5TwbNqrfuKB-CM;HgLtMWCdYn zce-5!N5etA^gKGj5Z(ygkK0QqNtd<=Xn$V3pw@7=$c##(Ws;@ke+h!gUGPxB_jTxI zoF2dQoEw6-Cq+ zPm7tE?0#(QhKN@DjA#EqwEBz>_#Q58*!Jk%9_ZVIY1ve1+0JTSKWbm4dAIR>zF>M< zL2Flk0P>vx;pLTvM)g`aARd|oYi9^3gjKe2~JRT$CVR2fTuzGE(233Fx?yc`>cE5Z&Df2CBdRTqk0gFk;Q z6rS@6i(F*h{6;!~=7*rG=PAN#EXa3@@0aT|885SYe3pgMbkwd@LyfgOYlH0e!ErP!@b zwcClqaK)`<7#X@)r^GYfb3&E1!*6+7LB`vVb*+&+52$b=W`OCh;64QcNAuU=hQ8_)l^_STYV?*xuMakh*Yf z?pYpPxa4f*P#ih&rid{E2((%`qAW8U^V1N#_?%a*{Y!#LYfeFT9VyOQ^))*J2i_lp z*iYP?@?IOnm}r~%6|q1>Yd$hAUBe## zu1v@FK}V^=>gBH*gFuA$TNtqa2=84Dj;>Sg)@*skT6;G*xI?|-QbRGgfS zBXWMR+}_mhdE!C&ZzhSEkanz$e|k9p%z%+j{kacfc)CKZUqo4|$wg7rh@c56x)NTB zWx*{1&<{WP8F|rbq4-p$pZb^>71An&iR(aISR10SUqRDt}e81k%rg zzelsCHE;RkP?jSDqlAEXjzf}Zklm#nDY9o6414Pvu@!@)^(f3L>9l)RU@3kl*_ZX} z#WvESIg=gdxNibUtY?Z6i%~A*ap(JrN#(&gxSAS|$4kLM&kq zD~P3YRsAX1+f0mTknB4u(X(aQa5Iww{rQ63DTzMK-|%K?hX@-+^x7sbH|@mtB;x#c z?J;X7xbB_8=_FRu_VQ;sM`FbkXIv zNfvtjnzsI8cm=Kz3nd)Q^n&6*lD`j3!P3Cd<}HR|%SdM_?n7bPX|*7*-8lJv`rhn|)4JBbM7&{_?hWxR zT$4`_>Y}(cWP1Ci4%7=0GWrR#Dl!)R8!LF`Xd(?+Kp>EZNvTdjY;3t=&F}AW<6X6l zAqHK^ZVS_6&93Szzoo}oipTyb_U46kTd54yWlj(GhG`2A>nIi4NDL43*8K@`I|Y#5 z3ylNu*KJ)Ycs{HR_AQ7MqMHg}1Z_uP^voT|oFsV=E$M_3yp7*CY#4H|ERWeYFJ700 zk1_(d2A@c3SKY|wDy`1=H3{BLB$}*(dF?(w3h#tAU@6vO>0t*m62>auIu@2g$zP7o z<$2j8m#D-qe1=`#X@S3xk)*Ck{%d=fGKTD)$mTi-UB(`nP9}v*Y^5Hrl4^@>zcl0s zqSURt0z$AQNqBDWBDt5;QqI8w-*3Utwh+tPi~sHP5;WZ95ChF`sEEoWIGrDS9Dpc5 z?65w7_}ds!bl@{*YH?`!tsf#!m;V6nlXr6VBgU>h{y?s{OmTec8v@$aTr<#vDo1}5hU@DP_=`WF%A_q(3$&q4>@H({iY_^|uv>l7^E&!X>` zK);siX6{d4t+Y5nE5%USm}+?jLzH`|+PNTY9g;`4mc0;A z8efnE2EhTRX=&vp_I@OOdo9BVcMmayw!{|kqs!NSwjlRHYRJj>vLT^AizvJ-o*zt9 zi-?IVJu<=jQc$fSlCrw;IaV3CaYWZM77*|tkKT4(rNYC#<3k>Qe@iiUUV#i~Df-t0qg=}UX%pDOsS5dG$0A}^2ExB6 z_h%lv6UWrpBYf>A)0;?pqAqzVFZvSBd2K8BHFOL9AIMv&>;bpDq9$87#%8^b{Z zq2cC@fFzxIxyQEo6$*jHT4CeoMY3~?nZ(yd8utY!T89K(#)W9%PeTId{*3eG2Blrb z;3UBIb;VTJATxP;7;?KAv980&-Uq~&OBKP#0JF}ABzAr)=~;B$f748h`C?`>nv99v zFIe9W+~@h@$}HN2xff_HJv_%aAm?MHb@=a;G?PH%^q^Y2jvVtAmjr4>=fN-sr&)}t(F)Dj2RCD7jV zSVW6<$q|W~Wmt7u#NtTgqWEy7v)d^!eZ08&%Vs$r(4>#Khuq!@x~j%8%eo3esIOIl zl|TCA92hT|N_Hl5iD9lE*M~0Snbaji>6n8S#S|oG|+Fr)rDF{l~#e+ z1k^kwV&RCwqo%lnXvN_i#Swe9c0SUC%jEoDAKd8GB$~oMziv2Gp%(w&t7%LLQmU3` zwkiyw9u|HGq0C;&Qhs8}^O1*rxOR1W`&|;DA;v#@6TzM2-!7QrEpiqVRT8b-um?e9 z`wnp*0FjI6=H*_40dRpKqSj4^AU(nh5Rg_J9?BqdhZbFpAk`@`w4} z?CX)Xp4hWZ*$6v4A#u7Ah+|Hi_>&5#&N-&drQAX*AxxM!~suEakA?e>B)8 z=1gIfli_p-`j3jEQr9$rk2n5j5i|_sf_tKGjzuTkkv+R=-vM62D>^hi2Wh9X4H_V{ zA!9HtbBrNIjJ$P;7D5kV^IS37{Tz+(1wq-A6%^Do`O($UU00R;f!5kv5$4A%{<`%P zdJu%^A(hT7J(k5B!&YEPA0wKy5W~94jQ)|q;$8PwcTZJ2MWlEa@$!PGg!s|p(ZNSI z_BL*=2aAi_=OHQ8To(yqa%;ZrH!SB}Ns~O(VB=Bu##ch|g_3;cEao&uuTyu%eAF-P zdKqlG^_qPhix_xbd(5}vxih0B`y9?3cEQ#;tW|$-X6_HkQC`uC;gbRtyoq*o`Bd<~ zP`Iowg4EMT%Z3LzutAQ|a}gR?B%QQueoCVASPT9&o}e8e^;HO=K#i!5tnB;>7L%2= zFnAnR&iwMX4Iu(-wUe;qfmXM5;t-p6Kc2xj#cNY~!)*%I^pGxh8JPiA3Jl6y1yLT5 zHaYn(3VNhp&$OmxLM-%-i0~wKtTI(}tm`0#?U0r`eEF1G%c_>AG|OV2UsY^D5NcNCHGn2 zTbCM`Dbt4}2PuaTm4t%%Xr~T-S(!n+EIDapM0|uFTlt-=q88$R`64CpsEi?+M<6^W z9PKh%*bE!O{1QA8B>L=FRQW9SZ*tuJFI%3711p#ErR+y7q0pnr== zOPzS6yI2KUD$kJBS;@!g*>52%oDs8>wham`EA%ByRU(g<{kE4zj%?^keYxLx*gZSk zcsN+D6{TUd1~s3)+dZWK8tm;8F4B|!w%;9nszy#Ou0T{K$Z9{Vx7uI`91!>KS4ot{ zT%;~(`Ut2G$QIkp#wV!>+wWDs9=UG4AP52?W=h zDbNaQnYK$DBpk`j!r93n+SL1PnD~?+i3~z=LK$2BOqH1wGO;0k26}v3#dEhbRF|7B zL_tt=ZhTZ4Q{c8T7gZtcz(CS64(ir0w>{d0^ueLAjLwLMJMXIh1 zSlZQb`pvOtgtYxe8n82ymh!4tgxK!2y%Sa}SO{!q{5`|1agBxG;7#l%T!ky4`5{aI ziRGcK?@&Jn=I+^9bo#G{g5d5nHc<`ZlRdtvDjq+550tbsk=B=?}{L`0%@>Bm(Ug~F{8KEi> z;k)qEH$Q9S3PJpWL6yK);(K$AdC?BAe`AF=gy18cA+W(Yz$)P$+#)@&bM?ZK4wLB7 zH@r$16C-%Z`mCE_hpD?%jNt!0coS%OA<&M=A3jC8+Z{;qmN=rEx(HSE=PxOr2rCYw z()BdjyUfqMC~2XjTc|qs?e4Fw#ZcnS^tUw!(rh60CQ4R}*JuFb~{mg&B>Kw!{_j6FgdGlbi!t1lYa-=XcTd$6) zxSt=RYG_T1_UzF6yjW#i)QdX>QRF>H7KRzd7tZd!k+hTU!iHNR$d)&TW&naPUq^4` zO_muyQJjve(}E3Om4^;L2}1elGg0CsWJuhHA74QW?7{CSiqb{RmJzX#MN9UD)G~Y8 zi!{?+yHXcD_WVYZ$C5hTq-JVj#pq}=(OC@i-eY>zl5o}nMK{pAgBBY7<6=o!x{{=; zXr$yFSMg0>5ehm?38m%?^M&HKpnIMFbgmgEj+p0bzKY-o6l4zpBkT2e$f9B@e?2m z;>|eqdfm-9`1c$F$zfi*+(dedA2g%Qo}fRhTW2I(;ZE@*z@mdBe?@jEttQhkupuWp z1#@(c-<=cbPF#o zw~p4ciL_d{6}Onz6n<&$uR!@}S1y_XhQ6@lY=T?Dq08kI^#~(Nkjjgb`Z_X(g}sS` zWdwSKMX*5^1l&L2rgIVgyqT_b#u7P}F8$!~kmih5=fkAa+%xON^1xkrvGk=B6h;=7 zo)s1L>Iaqi#R_a|AAhP6w~#dJo}cuCfSBoa>XJ4Qu#Y5LB}MN;gw1~FmFR%NI`Kz$ z^8{lF4AySUB(X`3Dp$+p98Q1;*dutszsS-AQ?qL+;pm_7t3N* zhAah|BURM))G2he_ON~0wQ4N2Zm`wpioFd*o0YVQWh|YOdtQdzDI8HeEW45#ohSnc zZuM$m8{6IbIBD2V!a$+CE0LxlYrH7+Fa{Isk!wDNY<9gpN73)7r2%4m*`-P1nut$f ze;oWDn|DXxce`&UHSn%8OISFcgDg~0b3SUUc#Pc0X+<7Ah_aqPQ-o_H?_mdi{2ARy zJz&~8q(q$yFMs;SQv`1Sk2o>?qOG5jvS3a0;_;>1^8&NwP&%q9hUX#9n2`r)z+vw{ z3R!HfTxREhwi}|>#-SU&{jsvs1yVSeMS&xRgfX^jG;d2MJ;eN^@($bV0GuPLn;CWN zafHx+<8+o)<2<2SE<^32jS<>~9!*Ql5F;hK$50R*UG;V_!02_LLF3!q#O=SPk#%X< zI0QA>(2XX%k>$@W+nHeSGlBzzWxTua(f9AsMX$X;>#lZ5M zfmY#KOHDtip+1;U|3PW+W$z-xC&OQPNtwj`3i14hrLJ7JBX{<|@6Dli46!2+4noqq zd8Zwg4o}F+H!=80sHQ%+y__V9TL3m=8Pfugf)m#FfJ1B0?=io2@7<$W zcoVq*6$-a#5DP$h)Vj}C_`@b>J7n9Iy1K!o+0)OL`r&Xvc|3epa>&5gJK$&c%c2#9 zM98+z7whj-_D5h2Md#D5c1m1%2c$xQ5kZ)UfoCMq_un{u$YAJKNvVUrLVv4L&j&c? z#|cRtRR0|^-rS`SB@^}Ee+%G|?{s`M8hksh9}m*l_Z+4;oC6>7Qa)Y$$|WS{p~oZeGdB~S3=s4)p|TrwDlS~*f3{zl}87q*)6dwq_<-L|!3x9bZ85}O#a30;#Mh@UF=M)d- zCq(%zsPo3@ZlrS2PT_Kn@nAZ}L#lOdSaNG|=xlY9L>nF@E+~)Lua+)exV>aH>f`ie zs&o^)*Q^T!kN>uQZld&`9gN;O`GZynM+Gz|J)Hq(dL`?UuTJg37cR`WVm9X>XBVgv z@4d#1_+)3(a3jUJ?z4f)oe-Vg;z%DaWw&sX=<1Z|hXkMHQ|1FAiKCE>mUHD=N;>()&wkazJc96F~XF_GP|>?yD!$U&<-SH+D@Xr3Ajvl``+KdVFep7zoH62&>noKh6k4chKdJGeh4hLF83F zwEU|+F=bx*)D@jI?6pC=9R0BomCCWlFfE$P2l><*rY#~M&CfDE@Z(e;#uHNn!0dMw zN;_AqKa*CQ9;hQ2ZEr%SmExl4%o~V z*!ejBix2I~(_^#cFf$HOc&d?I=ZTz{ zM^8vmTpiiYFUc8%Z@;Uyum11<_h`9xm-VWma}DeY@zcANi!H)PT3{3szD#8#n@X;n zQh^DI8teM1E4yDE_!%y+ z20HGpvHpzw_D17muBiUPNR(B8sc;YNwRTNSV!Ea~!kTe>U8iS?GPVLxvR}mmYvuf0 zh?>t-(#=hC>xsOgl@@+&?xLizIK7}t`B3W}gWb8NYY^;03F+k3JUkVE_X&f>A=01I z4upR2nv;@60fwL9q~U=M)7SNL!{bt!DUfxEAq0GxNQj5?g`MC{R16_P?6^)kh_*yi7#27w>Dzu9)6PvBICYAoo2K~RXCO`r zkh?1he^uM?sPV-d+&U3&jvl6m^nKi6d9%-~@$j-!=xNrf)Q708FD<$P6w7iCSp#hS|)Ads2f6FF+B#%-x8qih^!o%2@2x5D2 znLHL$MKuSnuKmKRb8#37(w>#)uoaZfN5+0gm-Up7w?k*R8f%zBC?`5c-DGgyNCf$=b z3p(;WK<|H3FGH_ye&Y_26c+KMTOw-tTqS!msgrdk3i`7nab9SiR z2`qAd!-Dx=-+;pF;yc_jsPtt5RsUM|9`?Z%L!>F!(4-a{whZbVv$aWNvEFNkBc=uF zoRgz-h0Xi(SWpqr`ns?<;x}~=^+Xtqx`ZYv8m9*yJ!vmFzA7wtj7xa1BPOJM2^$7| zNh)|Fz*%g+_S|_4Rp&VXt_JlN_@B9QiSusOqM+KCnU?wF9sw)yrxfWTN+l9b_^l?K zVrZ0VKq*JYW%()6t!zgn7_k`teSH4EGdS+0%x#TOCg}O#pO_VO%$SN^La?Z&&0`v# zkG4y|12EIWuVs>s+YO={$hTdxXa7n0NVDt33w^Ppr?@tDvA<}%*4t_%nVb&esh zR+2p{CMyOv(D6UZS}*<3Y#ox4xCQ`uc#6$uRbhzrstaA-a?JtV9^q8cDZYXskYO17 zPFD?01gDttr>Q1ffAGIglDbZ7!*=%$rsNFn+4P5S^-x)=#>ik>=khR}mJF7$qb@pX zk+p_K_I0FmLI&+`QhIyE$^Q!2AKwhk?Sre$B zS~!f*#6>otY8>NMGuC?EjykfEnx~eN@lal*F*OIK>}TV8+3?90rkY5!_ZA`jef*9q z9usZ5^7hftpT$Gj;->krWAgv^cARfNv4GnM$$uS9ja4chUpAIkp6gOTrGFBe&ja>4 zugJ!orfN`?2*rZp6yvW zNpZDP+G7Du9k-lPaEglcdj;q0m6N7*95^0&2}%Xqhea;2lYAm@JoHH6m4)h_CX(K; zk+t;SwA2~W2B(`Jqmu#(=u5QqXkq|AK)}C@ho|*NY~{dVGIy*=BGN--Nw*|n2{w%T z<4J;`dP~0>E(VDBe+R|Ukr`&=yXzsce+mQC5$|r)Zc7mq+d|^{PoW{~x&?3*tPeJ0 z&I?}amp3Foq&dUFb`uw`Z$`U+H)CGP!|;M7`vwF=_LP5h85ShHnYYG{*P%0deubehZ|kmOJ_d9VZ& zx%vhcAn2aBDVJWTirVRE7AALUV3dGKx`G~XNj8aoWb@{zbcWsR0ICHqD|!bvGT~yH zrX+${{CvhdY$iQ=Q*0-?Knfty22A7tG93Q~|qY#S~t(j{JQY4kPi1D+PMd`-zA zoCT4D$Qz^hHiAcqmW)uH78q=p;!G(pA{^ICa)e1y2z;wh0r<+pf73InfI99M8cofs z!{GM^vEsui=AxIrDheXttMf#6qdH&Jtpegxdb>T^Y|=+AN0^mRS%0Yd_Z(k0#}<)D zCx-%rA}XSYnIng$W@Uxr7sFImMGnPWNZBCxAo{V?gV!(K)E%F-P@RC%wox|2oWLWq zR(2{^F;S4{%t+5Bd|?*PN`887)4%dG-T2Iio2gB`hidIOG3XJ+X68${k z1QT91JhCVeYp^MKT1o!bc{XP&%X%@qino2W>#>ZbM4Pu==z50Zl%KKkKMv%MI-_4V zT|A)LmSTgw?z%N6lCf74__E=xpPb>8*zQuO1oi!m3ov%#tPv+kG2OOgYW0#Fz^cP) z%PpWu3Gc4e4McTImftQ10|KRH4&4YTaOQs3ZKtsA+|J-*q$q5{_Sf#xiGQ`dH1b@0 zf`Zz!FaG*c;=Anxna4w1XnQaLwjJ=Eo5*zYM3TnY5IULatErZyIcKYsQH{~}aS{Kr z^>$IL|CvQ4rmXp0*qs(5*m^#+MN9v*Vi|LVA*`hCS_1xgUlO-6k;Dkslnw!5pTlN^-S+w8+ zCXge~fZS01o7LVg^GoPqFKcd&cyep0S$J@%h1glIA;V32?}zD^X{X|$h7SHpSW%`! zvfScF#}W1T1Zw*xsYgZ0oD*5qZ=#)6T(6>M!X1-%1!5!fN+VK0IR?G zx4d$q4u=|o4fWXi#HM)nbnz=90pg(`lw{fovj*GY5Mmg+0zEdu7z1IS zSJ>3aB1zZvoN}vuXMF8G#_N-j{ibLmo*m(V=(g*Gt z-aSvmylwk@wg%)ex>AzlKqOjXkT8Mdf*FuP6Ec^bUshSsd2`7*(=2&73XpI_e1Q*0 zfTJ(Bt_^YA!Z>JTB-pa4fJ6`%k8;uIFPND;?SzYmT`4Ku_ z^H2&McU~X;a1He4+T#623cZ5|{K9ky>*Zn&Z39^xe3TOPk zgTr{E-+a#k%pt=|H-eiDBpVZF`C?E3?!jKCu0so_C+fsvwhBdcfO;*>kw>QhRTE~4QJH>_bzg`N zZ_sTGUbxYB!Jv{m3CdH#FXlmVmsJrG<%x^A3X~M4B4hxn9{s`t6hAh#Yg$Ox)=Fcg zk_cARREeef?kf_R(_o}(CRWC+$66J4f%S`W2t1$oF*{M_VCjUYm>jq$m~EUm$6HA# zr~&wz8QZYDtU*f68bJX!?>TOxH4BG;j29c)PMT;H5vQ;Cu@*CGl$O}iODO+m@0g>B zRVGU>ECb)Ou|Z5`79tJ(VyhC@6}4qruRFb;;8-9E8q(Eid8W6t{X(|W`Euk&(Xx;; zaFBr>Oz$!9Yq39j0QY^8UlP3L2Uyazac&PD%0V<;%uxHBm;2Qg5A8?l1Vd&tK>HGl z4e3YP`}|>mLcOkYENq~E8;xB|r5P$)76nm3=cyh?1y^?UGxo;s?gA|q7XGv2Nb-q} zU2CwvixZ#~PpFx3&1%r5?U}{hY8{f+rGfa*T0CESs~17v|)>3Wx2!PFFSQF2cZe6@F#gyh>Dfqnl5>#LT8t->D_ z=~hzPAFU(1SKsf~Xst0>Hv>={p}rrqAg8ScYQ_ois#TgT~;Nu-!2R9i5ZJS>%eRrP*F+ljAAxIPkAZT z3H&P9deQY+wu$mb-Nbn(1p;?%s$t1_Bn-JoA!}-$UY%C-=mZrusva&nl3N>uD zvb1=AYqO!o;+wV6RzKT(PpQ3?`R{&i;7TiL-Pv*vGfn)wPe-Fu|CzccI)R~*q)PS8qMp|q?~zTG5L2MR^-+08wMd&OtjZ`Ke2)8DR&r|U2b#E$$oVV%QmxzFnM^p~#gJ5!T6 z#=H3k#_Dfb{;zC$DSZbYm8kPB^-n0$NbkcJZlC=>##*AGMYOd~ztJ7tYJ9!twCcG< z?#cApz}*@hGU41AA*9-k>Ms9s*m1}Z?mjUaqx(}0F&SEgMiXYF3GWLqtylN&^k&-q*-wB{Gz8rIM0c#Nb1 z{Z?Aw4~$C9n;+PgDE9y9U00NHh7`Z_G*m&o#sQTl7y|i66>REHbT#d6>^? z+DRb3(NZr7P71tk(6i&^20a(ETZvka>^`Zfi2A1|G7rowaPzX2r35N0h0dVwZ!EW~ zaAE?KXQW~o1B90!yQH|*Uw|9I4c1eLH!tRTZW;YxS$OpOB6GO@G)22!<~rp1QsSS~ z&2J=^GF-6kqxF@PN&}p2t`c;2MZY6z2X`6GIdEOr5=NY_q-+ujJZ zxdD>pT@4v=;T6g0dTE|6c|@dcD$#a=lKCwy9ydKRhL;PG;LtEmzv5sTnXwrSC!b1U zL53N;q48i+Vp+49>yJI5Mo$MxdyxK3UO@o))9dI~NWsG_Icp8(#$vv(YC_3V4L3^# zg^yu|dzwI3hCK&dtTj##)3@&&bMXXl=>J&KjGZ>K_=Io}E!sQ(jqL z^dzXm%_Su*SwdDiuP|?iuxht)uq!Dm{tvNC{rvo@>#7IFMq^@PI=Z`8H<#ytfO*hD zUSWY>K!6Ov!i(UL-UA!w2W8X=XL4*G_|$CPGt=5J7=rx*q`8 z4{n=Nq!P=BNyZg0gb>cHu#4oRTkw+O57O4H7J#MG3?Bv94`z@jECuQ(b*4l!n~l^;<M;Gus(owv^9;HZS+%ypD3O3pDF4-$ z`=>U5^K1gLjL{k^In_)*oB3cNe9mcN#I{J7L39vcgz?5l(J1}boJJq{q!&r=&Eh>q z2iuW4QU`nf-X2dlAcy^W_D4ydErDi(-^b?dlh}T^*r&S$jaf6FSF}7+;X;M|x>=Pz zzQHX+)2Y9`m*i20$Lcd0)xBGs2Y1a+zhjBViBmm~;e0?4B>LisB8y)R!_`U82RFBo4O6!C0I{?n#oiy%ZH`%zdP0(gRCA_EsbAzXFvMA0Bx^@3ux2; zC6)f$h^3gzT->BN*bM!b8yVf!g+SMkXV|Xo{EWT=#0m~UAsr*kNN}4Eb_Uu^<#a&u zl{hFk{aFsfZiJ6ZY)cYM(--Z9h<(E9$eemDCmcmWLI_D5Y7r%EeTM;4yw+veK~lNg zJoG75^1@ncM{o8tCCD>Y@Nqn8w>Yz9`&Bd({GffVLz;9_?G1Fc%Uqvl5Y5^?j0*kL z$eeF>F+$o4a4UmrI{l!$g^_6BicEQ7d0xnP?g?*S7JRnyR&8=vyV*3`t|I}USE#M_ zgkl>6LFijHXdN?wQAdr>dAV5bgxn{2pwb>)R34A~Zzz$W$pB|WcwJVMR2fi`lrIt) zZ0);(ak88#a-A;Rhg$|Sxq&gCVS{>0OGFh{jE#98BF$4%oqtvo%QEFP(!`UJLui45 zsQ%>h$5T@1Gkp{N`#5DNgEkf=SW4#4MQ{{vG}Pmpn2SkYF^Blv(2hY+v6vR5LaXe@ zlhjni7s7fplxal20Wp*UvgyMsg<;g;G(RsEI#rS_#V|yeEZ0;~C~3MJ z46~=H6{)-lhmKSVY40dk+`jA;R!W}eiYDUO zRMeLbak_3d&m>)_`|tIAZ#JUjrf0$B9*rO7JloBx}C#l2Q|Eal%%Nj_xWKC?e@dFnw&0ogL}!nzXz)CR_U z*O~-aw&A?8UB7R>n(Jk{I5Fy&Ab`36p^Sz3-V)1)mZ#lUuPac;lJI(_Dk@2ovd5h% z_4m}jWiIq8R^(c)3NBI;n929}?WWV<0xmZc{gY;&D?<0%P-;BaxieaSGTph(Mz-C5 zEcl+mFq6>)+qx*GhH-z>JSmp0NK1b{x>|RGL^aVsGfNXY&|TAGHv!y@#HN^3Ngc3R z>Ylb?KklG@ZG(KUG4T5Fr0|9e1~~*jZE5YOD2x!1($9QC*U3Z0T&h|f^ZxcPkLfVW zK^C?9wLqVv<}iofxo-=3?B)rC!|_@E5%u2oVeswR*DGm7hqIk?-5N1GQ+7?~cQ0y2 zQE5?icY-NM2MWn}Qzp|T%>ndH=1M1Qata`z^sL61c4SF|wb1^L%Vb+~;t;NA5IRHWMmLx|JNl78A~0EEG)T z0jewUElr@$tf}fVM`#a3obuPmHHDA5YGBT_eKx_`>pt~OM`jwv4$f<@WuM7T^t zz|sbY`6v-;gwdBZ=A?VpVL(rq0Su|aF$G{<#Sf|~SCCsUq_-I&I&}nmIvA@ zwKV3j_WJ`IVsO6lC8Y&?mmQLU5Rq|w?(_Edu17Y@S0JVAY2jqXBcGv@jY`GP6XnA) zA2HYk)+^7T!Rx%nr4MUE_h*D~G15zJ5;wx*zH9xl_;M%@&N6BVyiuJ5bMtt)m1Ry@ z)zF&%Qa9HgyETa1Tja6Wd!l&+c|z%|7D-YoEtgwM^dxDm=<}3*;h>!W(g(VSG*i8k zpQVn49&FTl{jy&R`E5_>fgFie4oD@r>;XgQ7y!B^ zCh6?e{4F#wic0LO9$Kj{RXM1N17<4yKNyxt7^C_?zPhLBA;G3oj73yGetjQr8p z*(c>vRRSc2`&VQodCs!zPIl8X(p);%S07~1fR&dRK^cWD&r6+TR$he5ML;l}yYzaV z7`VG*3|pGf6xcw$-k@ol^~nd1Z`v$XM(z3!44VE804>eW4Wi^Dh`&Wbr{bXm81XJL z3t78SBCd01BUEZx<#>MVh*RO8M4>fZ>+el5 zM#DP>4jElDKvG=AlW zQwbDc`hAu168+N^Z5+Jdf2m|r|8&H9i;h@xd&`9wOKLKg%!-fQ*oXrwS zjH)7uNqp9P{_*26Lx}_+zWS+^V!glfRKLMbpB2xh-Z`ExU57t-VTuCnF46fpiyykDiPYCossAAu=(8BCvjvy&EJC9qH ziCe9o``^C9z5P6K(Oa#REQ7^!3TFJJFcayE*#%kO&3zV!2ii@SKF?y;`*OJregy(w z*`(PFvV+qr`u|Nynhj4cQ8mKOZIa?hdea~{UI9b_cWypxQ?fcTl((V6$=sY#&Engv z9gYGnJlmRzbsXgMo|fkJCRfXwBZ!lW&2vYz?tX6{2!Y10dch%>G4y2E#fmivFD$1K zS?Qv`BR369r8kb%b`Je=FYykGppVUtwKsd$os9^8_FfRWGgi{xP;koFMMo%9CeASH zMzkVqMReN20~u2#3BP}ga&gqugSc!2jr=I$gvNstDO#-A+-R|xFAqRd7-MLYEOu%L z3CBD}u7aYnfqvlFMLXU<4^G^-}nMAscyRfZE)ghI!-frW(!hXm(WT4sM< z8n^7j9gmJlOrz_2}l;rq? zk|Ty@Y>3h5*s@&tklp?&84yd-B!qeY0cs)viu|E+GBc}d0Vd-W#1*6@P>oR~@TijI zre_u*#amVnl~o-n>aQ-+i^=|v6*7Ru(b);}e~=PdXO!&0=dy$IVK}l;s2BNFY>DKV z8k_Csmc5v3&LB4D0FP9t!oO${g*Fltm>8cZ#T1z+YJ|lKnfQiW!)AL&;zTMaywO7@ zxEzr9I8hxuzs<-mzTybD$~%oHgZo7R-}~I(t1dl1;{!lO-@Y#M&9i3`GYKHBfqd$< ze_-{-_R?Oj{r{;l7A92G>sszt0K#Cy=Aik~d4iR8i)($Li(z-p51^d9EgPE@A@4<4 z1(O^*g#Cc$W}oimOK_06qi?#oF%Fx@LgWUuGMhj&{neEci#BAdMbu`=sZYYKl%>tf zW~Ep={*-O8qV=mgrG{0L_Af!11b7o`HW;TK?E|$lN?&n zYwQQd3(US8h^#*mFgrO~^qWlz#(fPFP}IQ>b0fqQHb7}4QiL4dvBVG==l2)T4aCTq zQyvJ*n0eM9Wi*UM44B)T=>!_d$Knk}IotJjz`(2`9LK7b5ZFs$^*e^MG4OF%tDw&+ z2J^XbU{x&S)-=UwXl9@@&)lewn43U!$jThh6qMmeHEm_pC$8vr016E8>^h+yrt7B( zfe#T@4G>AelgpLtlv@v!wO5!fto2~UDUAEqH>JFeR<+Z}!0lB@R#>Fy!*} zct7LyEOnuDrP>d0_|>3K2jq@F>O{z9fHK%lQtGM==}7K1A@!mTW2hx+`--lzw$($7 z(x-kDBH*lZdU0j$;cw^2ny*}t-e|hhca=u=cy!7YYS2zq?jj3Io@1)R!t$-R-R}~a zkhbx2{z$e*@sOrb5KP^*M`}Yw4D6}CV?eIpOl*hOtk2g_H(GcW=V41BxhB+PSc1qJ z0A8BTu%9khCk*9VC2mpXkAbmS(J@6r;$I7#hF`#18L zPhNHsmTdEX;6n?GE|Op3sByy&iJUJ$_!2Ib@QTICl+I_Cl9CFR?a>PtMGFChV4JQI zZA@zQD*>zAlmu{DT1uK&WsL5^yC#K1{;B{5WZo}WO5+`TQA<5byZ{H8Z&JNN*2MFQ zsQWuci6pRW^kn>R1T_LriV9PusfFnVV8v$-ITl^UXn(cy=HV6Ho~pFu(Q}~ixd?p; z3$-o`X8Hs-rO2@QtAL>uqnk>#hD!I}z~ADH(Iz;>=r60~B~m9H`Vx!g0pA`2Rcw>c zG+`=Cq#?46f2vHRLLN%f355IIv9wQBr zk5Ade^;p>(9^%Viu|!`k9ZhU%j?cCLn&6zgKN4SprHK!31#@=B^`tdi=4x;{f9|Ph zJ^ve8b}VyCEpkNif!`3_x&{D=Ir`60``4@ge3u0-6TKklTj zn>VSHxq{EPP8RAnbDkc$;%ENC^#!YKWttTnG~KMIWo-1dBdo!WQ8aqtVoAN0_)t6{ zNpeH&2C;WA;IiC+5Pkcnd7T=N2(r8nwNAW#QyzPc7+0t&A(qM$I+^5~=bT36)Aa01 zo7@h*>en38ATJJN4tkChARJtEJLL$1JXYETKpo_3JPZ}$IU`bPmS6*bKM}Z60hhjX z8H$~Q5H(;&IdDGG3q%S z7%q(8-;zK_28*B?X%b4p4Oc`ThwtWmNQ8u6-P+Oaf~Q&G7V8GJF|z0#i^*1vu)>lM z0`Tbx;6oh2H`sVRLdl7^M-3d-cRkXwu(>_b&z!JU8@~O`gUTj+1a@R=l29N@7ZZ{G zAyeDZPDwvJDDoJ%wrLI7ND%5KlpXW*8#Ox9v@#Y2>qQdBn6C9}Q)RK+OF2b%>*;R# z{&w61gwf9lf?ZATqZ;ve$vOtRcb0<_wQ^!*4$G=%q-xmQ_)C=2fNuYn`P_<{02qT1B*wk5>S}=jzumO#buLh- zCSIAJMDn+0E0&Iq5vyUn^Z1?uf3H9f%l_RD{{9tk{fwwvx5tsqPc93Rlwg;g$y~3a zn~m9{`Y&Hh#63wkdCoe(tI93Bw21+$h??=dXoDNGkAFL(o>S-#WEj};N8#UK%l|%>vxVll#ZR!;s>RIQph-MA< zG-_|=7{V-Q!C#Y5;{VG`Y@w#rL<0NQCH#$4aM-oLc*kIavChCFP`=-s_={UjOMc)m z5ntnMk7C^Xc6Qvu2l#lK{~_;hVG^I0JU+9myBO>o)C(T)njxjS78Od^mMI`><{5J% z8Ffa5CN9)i6s{XoG$E^4cS0@^jI00;Ds1n?6b&%(g;hHK6`N-bze+lPU3)nHU2gl5 zaq&LJBv4Q4FIi$RS)%d6*w=sgFPIuXAt-gvDyjdAew$o!BS`k7(duQ?1N_D!_nor| zl_$d_8fEOZxkDUWCIZ5>rOM+U74fUFtW4nO+b4>^3hB7zkGy^PkQiH%QKSfzScpdlepq$ zEsbbc%cBNZI}k%F9|87WN^-jMElV=nIGbwaur-s4eyGox!?HZv5A0bU>qeN6VwAgdgts`o1^Qj=I$}J3bv%@H zj&xB0g)cRN{xJ2^&hUasbs$GIX$0lp5Niw+qT$NO)gBl^Q6MtOyw!MGBlzZSDAk41 z*BW*RU^b{K#ke)5P&C-Cy(&m88h8D$5z#56Se}V98n+}}(dlf%I8S|CY5Wnc^kaPo zV#}hBS%u%+>R(IL`(MH^aQ%YjlEIBabU(5YR{ao??btm6zKx9b`Hi|A3JDlyEfLX2 z5;)X)hhB0rH?YARH%aI&%uZ{*kam@)WDv{Rv$6SbU~s;WwSSioUdxqeDVXLZT@7xrU8*~I+P>8PPg z+3e*+`*MfTbG<2RHF0wyR|lKl|NIP_QQK@*JB$G_-1CpwsvNMjrI!%jZ_(*cSU zRgY&?xh`Q@z1({4RKpbNYv)nHQH8V+9N8VcR1$vvHvOSPgv3_ydVlj>4eA&gS^Th7me0QYKdNf$3rAph+qwb+=NAPP znH{xmD%7rZ85=d1aWWqHd=RyHDi8Vu<>?LGVtic46+#isH$s zYEnp)107pgwHO6`Gs3VOzN)V6875cC?flH255lD<@9_Ibv~sa0c&Gacjq`A{&w_Bg ztuC}ZTaTXCt?T!H&t1piib$i>S8YViS^}2S_3Lb?cnGwqMb(y@aP+8jn^?Ic8$;?> z&AW8zuv4HO+riw#fIivcU1rg%7g>&}DMZsKil#%Zs64!I7L`#eEedmnH_l?AT%x$9 zYbm|Bxx!+zVV&tInpo(4&6dZKpnJjfimyuVMvt}AM}o(_*euem#e@GmLJ|=FI)BGJ z2uzQ%_5Xi;T;QcGMl&K;gWMS930FsveMw3wMJNGDtI=k&XHvIofwA-FcX}dEv#E|o z{*t&-mKY=h8=e9-Xo^{F z#+n_Gxo)I`$AZ4FGVi`+-vUdhuA?&f#ifk$C5LRn7lr#+OFyG4W&%Q`q{R$a6B1)6wOOljhYyw$}^Pxt=84+9Y*!`Ul zNtT7O>WOexxeIAie9CNVMa)Mz4G!JYG!eHdg~%|CAgCma!DHFPUle~bE8Dvy3qP&)yb#{0+-ehV}s3h%;Q`xUjQI~KYo@* zxVD)fBcS4gI{5HdV@5855)qzoDP~jTbT5B@e)F#dwwz(1_&q|` z&+GWg0|e`plew!kWiD9FZdYY?nm{*~?_CbCUo<-9h4$P*7+$|-9+Bgr0DdQI3PK}5 zC%f}2bYL9`x_Syj!YF}BOvQitrVNjzb*nUbg5=i@F(@&+S=?JQ<%{bk?hvDN!}- z2bghgdrJn!ow*Q~>hjQh_+#${yj268-E{m3&Gyd?{(+8Vw4{T~AdI^l*-49RYFK~q zpU=_LqhI%fY^^78=I#Q==svIWCMN>svFvG@St(1T$)VwI%p7 zq|doFA#@EC(XUs*YaNUeP6H5qKXX1|h5ov=T|}Dx*47Gu8SCIAl!+Dc-kHx(m;r9mdu zFa-FbPt-nIa-^z7?0KyS zDmgjO^-Bo&JNX-E*nfcf6*EKvq5x^24RDUR1yjGdmq zRt`7=EKEROL<3lq`}9AGnY(2pEx1NgG*OS-K~N{HLCAvk5K$+V1~o9DfCJ0NtP)Ez zXhf=7%exC>KvlgGhE4L3?ASQF2GpJ_8{2=Ko8xuR@9m};x2F~~ZcS!eL}8ncZg2HjpSJhHvR9p40(*-@7Z zhHg?z-yjvR|Ba8G8pFp`v!yYc!3C&#T!&A^Xi|ZfK}zTOMp9VY=E1Brg+rNFNy%TK zDlpSOt8be#u%oa!e%^|uKvs>vlA)+ZxmmcW+tl$OjTXRi>!R01bVmY;C34sXSE{6a8T zJ^$4E`LF7OVZ=|j+eGR;Gbwf~jr~BDr|_goYc8pF>9JVH+T{YE$j8Siux1xX3>Yy3 zvnf1vP}Qn`_N2}>Y~y|t%CDcI8497T5yplp745L$CPARK3jk^ic%e;h0h!28PbnTe z+kMo)&$TDdkPbYcRd&D^|9v5|nDmQ0+HLQ%u2#e*+BWl!mZ#^ht%5Qwebyx(PjF~Y zDbPSt{v zKRU;H@dWOA?yc;}BVz^@ZD&$9OG=RjpBY`(gBz?>wnpWxe@N)Mr0R=GD9z(y(jLzzg@?`gJvpB%oDm{ZQ@2 zrsLscan2k*u0J$-RbemZ&rgBp5s2=mynyip-QSTh>V&Wjov6%yzBza`rNm?k9Y% zsMWRdbmRWiKJ4x0=PWcjK)KvbUCqDcW6TihL8wpnv z30pTb3Sv1(oq`*UH21{iasaim6^o=e6Ay8+FNSygAyOwbg@>7b3o75k?5b0{g|aYU zw*Oz^`QMrlu4YNyD!c_ULG)fianRDvY=N1F7^O|kD#TfY2_0GT@YHFsa63klm5eH4 z4e$J9#>nmh*zY3FB+{{9U>v>WJk0kz1+rMi}^wNHYL1k21!@~la(_ISY^acAI)N{|IbEU z?C|_X*%Yc&dhAfiiS_hv%~#S=5e{8%;&dW zI>`r|fk;j&~FJqi@bYKC74_sxuDmqI@!X+ef<#s zEmjk?9Of8PYzkLKq3qq~Pq$J*vn8Zb2FVyWptz@7;3W2Q0)m}P-){%t{9Cb|*3UNk z@wL)4Ji`+n*Df_J+t$3y&q8^VbO-=(A&rK!d^Gb!gioU3LK?VD+yx*G`;nm{`SB1$ z!06_#WVvGyHd$hn{3Uyp33HwMd6{Y<9)hQFRiZ@QyFesYCECCW(Of390fz3W=LqjW zHscZpi;ziwgcgT~WnP>dIFf%rXF@%coXm#_m5`zYsCt=;iPb*HP}2uYs!%zz2EB#v ze(F^=UmC>w} z6VP9W+6+Vq10XTJ#cAcOSlsLna`t2m8T`y8-WFIg*0XC(jqvN_U*=(9RV1J6tj+h1QJ#?UYEd4OY9_8x>%KyQov*Arl-k4|LF zf>;>;opwKlA(*eu6m?TubEwCgKX~#RL&GR^+72v7=Q*Fho59nMH!SjPGq%f5WPvLA<@_x_q&7X{W z+J;VbZYifTHxb2Lg{Mk_o^pfXHXQyUmxnM?bhX~tB-)JW(EF>nR>S;#T5*)%=bs++ z0@Ziu=vb;Qr1}Ct{Cx4CWOnDxA+MclkF$+~KxI*#ig?&%C&lw87ZwJuq5tE2IjY#zE z9)H^NU81FCg82Rs6?964u(R^|%eC+VG+6*9S)lZSTDeVPAl!2RXVE0{!psqdRw$w9 ze4!{fjh-o1F2x5=!Z6uH72_N^`M+0oJ)o8F4Z2u;K-aKnn}K}+wCIqTK;MqJEF5z< zk3Y;Jx|Ei)JmN_9W6tjkomA?XHK;d3B3;hXnQY@Qn$o{(ww!4K7_@z+Ba1HGB!UBV zP{T%FLh_?-KoC!c>wrkC=R=V2Svjg5fCzBBVPlV}bh`)?z+)pU@t6PT`Vg-mEe8$9 zk#GV2#rI{o8Dtd}MPeI9Tilsb@)Dq}A+YWb&;DnZnx$^-L#K=@LbLCwtSHLF=5LfL zrAND~lp29jz;Yqk;!7g7Jkk?MrV1odxqT-2T^hk<(9%VAA%!y+qk;nHzMg_352Clt zHDUxX<`r*wNh~D!jSMW)NJ|mCikGkyG`{QKS<>yJ+o&=n0c9{XJ zGnHggnD|w^P1PPaQH6;kR+5MPPNX798%Q{x$S}UDG~YSRpS$AnNN8}fRg@KT9Z=sJ z=x)rG-z=TrtdnYBrOTXdl((m%-Lm%oYx&57gJaHp=^EYaK|%5}VMikpIHk1XH_T@v zUhEX%1ET%Z?T?EiU5nhuRw3l#u)MR_=Y~*U>ilGcT?Ar_@Y(n)d(4#_i50>n1oC8U zw&y^*tWc2Q>CRValcU*zC<&gdel%&R^`fdkUoubV-omM@n5>~rS@!!LVU9Vf-x2bs z?$Yj6uxV}d1l8cV?fA+K^qiFc5dVFYg5(~up$XA|!w`Lyj#(=8ASqL3@9DhzWbT;m zlnlMFhEA9>EYX%pusYGc*PAn3!N_r@?dPkAHGcSPDN<%f0M}b#fdiT^m0ee&t6R7y z(!=EW;s-RX+9#53*`7$&+l2A#$Eg6DWU{%0Df16h#X`pvw4a<0@aXRWc{G<6zk*Xs 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%0AK++F%;QrHLt7F>+f>YT)cw-Uom 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¥z!8-1 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∈OW^d>f{;lql}eddJE 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 z z6iZuY0#Z@!&VaDGU|m_Y$BCCDuwaeUNWA#;q(gfe)5T*d7_ePVCN@`W)lvx`bAaK? zd5k{XBb>fbX@R-Aq5ZPEr%KKu+OMtYjv@JI)c&x(#&;qG9n1bZEY&G|KkpOXYXCag z?dwcKIaW%-EW2vrs>uupFK1mU$11)Mty%?0Gv3*0M{e+X{N`B%qoPX0is?Q7A)-lIcj zw?l4&*C4etcW5^V0KPxF-l4&inSkC58T<9xIlyWg%G`*;Cd3`m( znQg!CS5@q7DB7(_-cNRQZC#^%I$@D2gP|(Fla_?L$*hYJp8@WhNXh=$XRdm`d@slV zKRMQ9IShgYfC(lLS-2I=+L}U|i(Cc=Qo}gxGCYFg3*(}`4}@3uc_}AMr0>}={*&%J zEMca}&*163tp|jP0(k5iANuq!s-pfmS|1XzwKdA_OR0vXYMc+G9@jYggu3h^Zj?c+ zDl3%>&r(z0pI&5KUroJVJh6m;-e0~}{g2Z#`{gx5+vw@h!}x}QE`n5QITn#w2fpK# zBe*{6i9#oAu+8r@2WvA26%*2KSbPJqy(2(WXqcAm{NzhzhRdb1rAO!4*^3WnPk7gx z?*(jO`+}8$HRvRQ@TpqWnV@mGJEW)EpJ%-vp1t&RD=V%9!fQR!Na z#bl62B!X@22O0d*XsqR-lO7`kS+$KAeOqOKG#7m+Ww;sM!NLaXq;RzN`X#@Q9Hvk` zy#SWXzB-;-D6B8hXxj!?7HrpjhpXhO4TEh_OJ zN+f=(6fYfa(p7leeZ|$Z>z-y|&JHsrsM5(Z8WRr9-!? zQLMkdp%P3WBm#a*cWt#lC%^D+^>7E)d$!8*lF4GF0gN6n5zr>QR;U&BmgS>cHb9Zc zaBFJGkio%|C1qVZhqL}yOBw6^UVbm<31dK)o-kU4mNepoEmxg0EFQ>e@fNo=B%As| zh~O!lX2ev`k5KOcFNyoZVo?3g9Z|}Lj*AEC54aZ2IgTuG1H^gc8?$>FVrg$6zT#%1 zV=WIC@|g-;zsi{+s`O&1TsO9eRM_$q9ad1l?}=3ve(x-GT8_ope8(h&Ob}Ymna?v4 zsRbD2PA%CbMhy&ApJ7RMU>WE|sWdNH2ss*D!f`jwagdID@xk&{s9-j#FbX~zmbXmN z6xM+>ir(l_M`H1C=^TpX^`k1dUwFh+pr&HSE(8=eQbZE9lPv-iXMgM$TG8?o;OX+G z(TJ5hAz=uKyv536&?&UU5nv%%qXG8`JAV}6*os^_&m!Ul3dpals&$lLuTBlAAXT6c z7(mBMPaQ5^?Jbw6&54*2HJBntWg0sGORk~RO=Vh2%uR}OgPJqZM5@O^DLWY!vJec& zO(;kTd*p$O%j2TrQjU)t_>3~+plmkf8vZ6RV*o*+Uyz70FB;45xV1-*8az>Ut4PURFCQDz2=iU~k<8#O&a)HiIz%TBe-klC4;1RcaRDEXSVd0OzE0maz{Oagro0 z4`ULY#E0kMA)4Es5*UQo>4t;ha}~ryl9eYUSk~CIop?>2pT?kF&xKe2QJPsD7M)>E%)(+H>H0jqrN7=BeZ^m(Tb_-|a>r1rX`9Jl#xMPFt|rHk+xx4R>hDzD z5;UBpI4Y^W-+_0P`Iy^P!+B0SM<#jcr5CW7kV-Vf~+S`7Npa zHES$OQ9RtPMDygY5kB?#dn`HH{iDEr0#>AHR^7bnYau&+iQUAkP@{7O+AJKZo{rq) z73g;$oil-fvZ(WZBf7Pn2DyhUiNo9Ip1OWYhEznr;r|~E1wn}KPR)nE6V9#|72{q( zQ#~E41Nlbro-D62m>p>3Ntaem4HuH-omf28Nx4EPyO|nX?0`_)RLHmWa-K!PPSA1K zZPh91BZW!)?8YdQv97u=$RG?o`T$`>JD4h2vtseWO*B7-CF!AF-1UKqvL1ftr~#pnG&Vp{XM)Dr9}Q#{5=x5Q2i?*cZ$qizvcBe+h|% zF(EJ^tBPd6nKO3w7YHkBN?F5b@Y>X8BpCLXgy;P>9H0_OOJ}nRg0cRK zQ1sb?fDaPATo`;_FdQ6;c6U>*``i801K$i58DIkV{qv?K_WLg2*mP;%qq(nhJNR%m_qH^ak!A<6s?|taXg0esdKN*?=l;sb- z%tsSzcfDbJ(U1zW8CUX+D-L-Rff;cNZ;VVkwh<&r_sTr+c9m;UN|&kqpW*07fM>zc zT$jx(UPtCO@=VmsK+g}nPMBMIEITDm4Bk;?t;?VRepWY0*{t4;B2Y#4V{cl=Y+K<# z^`3;kk|}uHf`0=kZ#5zM*vqrazpWKk7-DXCd9*#4 z6Dq|@kFU&i7w5t;BS$kGYZb~L>>fz>^{CBA#yz%}8(gInCh2f?Dyb+5m=p9E$a(0r z5hC6VnD}-f$Tz)f3duc;BR03Z!0l!iq_|AJds>|x&4O#MM1m6=ad zU1T~ra)-j}$>O`B4yV~DT>vhD)d2V*(42w zUZknUvday)$8kqNk+xO~VN7LCM*TPXe6M|cD^P;V)HKni7kKNHv_KJbjQ(_gg-( z3lY^aS&htu^p?N$D1n(-FwueuL8LquQLHm<@DbN0x^bqXAyO!j;Bd7+I5vxDi8+NR_jFzPcP0ap zN+5#E1&MF0Ztt%-Nu!xFIDTxjw@QTx&?o z;#q65#fK4DFtq&r@Dld{SSS3W>vAI)9E4(*pJ`Kw7or(Jum z2oxr7{zENdB(t)me)do*c^W}A!~B{$n2XRX1F83cKa$W*-LrdyGyzVv(9FG{M1y#gKT1966-x_(Px+{vp#;V3mW^5DO-*$fQxmimS zeT)888=REM3wX&>(M3UQBg^J=iV+Bxa)%EV#UJRm@6Q0L?36K#g7`CWBE25)?AIa^ zL_AH11Btm&*a<>rDHNnUtpJpw`Lxt#w;2H`@#;&1mnIf09jek+Xo@z=NGlzzkqsk~ zED)NuDoh9r(Mt=cv|p1GBHp#RGF%WTx)@(h4c%)SN<)UkT2z8lN#s#|`GBTdWhDc` zP>??BS`z-u`vAUdGPSaV#@hx%3AKRmI4L_7L@St1MT*u6@)?0#zwG0YU!0w9!*zvz ziuPRcS=NNRp7(0`X6rjtRs1K0gO>GfY_VnDyya_b-FS%Y-rnyju70m&3*z`*CeHO7 z>q{APNxiV5zBYPzHX6zg1B&oBsMA=)kQOd)vgD{wkRo$HsVK^(R0UXH)>xBl-~n3l z!SQmj?{T_$v-PN9-2$ZW$s=BM^e0phdx~*I3)}v~pcnn&4Tyt;4C&7S>+n=<6fQUcl+xzG_niOeJp|07k$qiqECM8T zqLfAt3C~>3#QNb-V`9`jQja7U^Tv|I)oYM2HKphR=Gpt(k@geGRn&GGwC?;794zr5 zt0>mtCkOrSHvjZFt$Y0am{JndMbXYTES0NM;(VMg7B88-xXC013NIPt&UIvOxOhGc zqAgaDe)p~l{nYRIfzd`s0?bjJyFzC3vpl5uTK}@WBi0ric?x5yyMZp6sY{2*)I|xc zGuagC#XCf$7e=vXY(GV({Ng$VIz;}Ova_oYdVjUbpFY1t4QluF#0SxlocUQVVws&tTk&;TP4-1}~D;@iD<$rk^ zzmmHXKq3H`=UqTl&e7;=^4$#=!eH=k3vtJpkyV1kyc-ym3Z|UB} z1r*&I2dS?rEnQ{k<_-cGF|Ydk0wA|wCEU4*E2OB|*3I^%XZz;gh=?XYToGS!3C%0( zzBPX1Ns;>CZz$NYr&e~rcLeB{HocD2#M6iP^mx88S(N-x17#)QnKBidMMn%a1O9KM z^bqoLH}*h5yoWc!_0BWy8tVW3a<+dw;r*?ky7WX)s?FN~&Rj@}JA!lv7Y$XFNstw# zKyr-<6P07OdMUTg`sIkVs)Ca*Yhwq}mv6tGpR}Z;hNLOklo>obcWCZ#3zI|YwRnc6 znM&BkBJ+$Ka5EuLQ>S5T#*V2K^&d~H=y={7usb*~ed;M((M$kABGrmT6w0A^A~C4{ zBb&JB)2`r$uT=t3L@riPC10!2FxUXu)M|3hM;%nC=HxZ)LoBliCFqcSc$!~k<-{S4 zVSdbq$^7G$CZ(ms-9fd+ZW3Vcqmn>Z%SO|VOa~L=6m|rnQnU+^D6xhcZ#zBfxcTC~x8*sjA(EYH z6g#6#-t?Ny3%>!;j$Jm8&ueoXR!~ov)Y0s7h6mqtW;ZM$Zqrhom*L*PrJGez@rRoH zkrOX^L6|Cce{G+uNM*xIm%E>21zHjvk!XYvOwexo@bDUmR%sTe%KpVG4u5ibH8u;1 zipq5RgbL@UY21qW7)f%EpH}hk}`8PfA@-A4tsDAKsW+q--`_KW zn>;GvMIBo1c~LOHwGh(W;$R@p-I>c_93W#cpS4<9q(tiDy@ z7v^!sB7KQm0G9*XN%JSl0z6f7)60VH>pFlw`Pk;XN_ZE7*$!^?y^RmHfHZ773UgWG~zu%u^2p9S*LJFJZk7 zRh`qA?7PQh?XMA3e^c0K9nsr@Cdn5Tntv(lWT-J5Unu z!U#MIeue_OrjrkHr4%#iN>@b}363mNIYVU@?eJ3Q$ll)jJGa4%#)E)cgRRU0k$p+l z)%=Qt`&L6|V9roCtIy-dA}d5yf<5 zVmRlX_kI4IOc;j@a`3I9Ez6Y{QRR*$NVNvBHAeq((|D#=UuISZZrCtnE!9kVib!j= z5rQ|dFrYHk7n)^2MnDkeiU>za zZ&{p@h8RVqPQPSdd@VI0li#CTm{wo^#vfB5@!>-kyw?@v*RfirqRQZ&kN=ifJr;5Z ze{*w;=4DMq=vCfWd<-2T13l>RRj1F{E!%4_I+LVj*jcOL~FyE*GmL51fa zdYnvmX68(!6>j^ve6xniOb1Nbp45t7LW%}Pt7`E8q=yB81PpS1xMxZO^G7}+2!Dae z{2xawMkSkU@#5oxqgtcQLu*m)_tDj!uUOlZ5xBTa)@O({G1O?V5|?iG*u$sqIa_*v zV~k7Wz&jD*;95(|)rcQFxIr_=WCmRdRrt`X;#L#wT8tfd<|DXp8H5(HA`c}AvX_m4 zV`Zwxu^ndSlE5X~lk83KbeNAx6(<;CNV<~Z+i2|pTjB#zWUGR$c4s6#AnrRW%KoT~02%m|A=#5eG zE2?S-syVoSQ-tajW{T%pF->Y`C#uH?5-%v`RI zlRM*fr=x5wFrX;Pb<^8+IKtAlWFhmLT~nGHn#zkyxbgE>SYgTXsCqiUFgXFE&Lp!; zOym1Y!CJ3CQKJrC!$Cp>yzSJgNJV-%CRTT%*Z#FGpxMJOW|b}vG6NaB`1w;If+uAv zX$zNpP4aY43urr;A=C~`FaM=Y&VH@;^7Q%{M;~0c#8Y5E)`wxn6?jR0n~&#i;?T+| z-r<}~c9ru|0h8Ts`D#Wo&|2xkwF@M#A?j6n3$pF^t-o#K!JdW*P27q54iAt;C*#Mv zS%t8G6OgIW`39_Q132TqULAVMy!n=r`z@>M9cramTxy+8d~>akSL#_zr=q{EpcfKbM(j+*<8>ApM%zm?3>su|550Sj>=Pd!5HG$qvvm2*4L- zVDPQzH0+t0ctsZY_y)LX9wOpI#epKknyKQrP*;BY$)ZHgY36ht?z~)s(RH=#v=cad z!65@*;v#AshCww8=^Lv#O^6CUTloCFetpvSJ1(4Edo?VK8a(b5hBXn}Cy>y4Bg14F z1ExE^NQJjR96}Pol_GO{4nF6;zNv)DkY;|K8J^71L}V)!el0quZ1>$55p$i zX9y(DARI4Gn}f(q>({RWLR`?H;#A+u&0m>wJAmV8YlggC(KG^hQ1=r#WaI|d>o&g3 zlP8Gh=HbI->dHEN0G4jc9QT3eq23uDI*OD7G^PoaJWwR$n1fHqc^(gyFpFth7(kJpMwQp|bwAKXU| z$uZe?l5&zAN2A0Gx(GHl zw7m`H3|W4wP$X!;&0MY(DnJUG4aEt*Lv!#K!)&1~s*~qDD{5F>U>}L(af6cPrC@ zE51%uah`@zKz-nS7F8_R;<%M$O>Z!4!q|*}j{z#Qon`Q3OaMzjw7(plL={u$L`tnc z^7;7%V(pz9RGqVK-HFRkDlW7k!v_n8@?|j!Js=w1H@jVkO5|9p>mV&H?Btdi=JT(f z*xkL4+LMHz{jVIXhf*0`3wtDf#QD8z<9{Q0F7tOg>)em#M3p_in_O|jvGNq(b*>!F zayxL+eJtQy_8>c_RU`GJb9R5H)9EX71Pnoo_CjL3G&^Y*EOi-diXB!09l%%2myBZb zv~Idx77I~|o_Yc%s-^qGSyPK}ODFM%;}qQ!e0W1(G?pd`&_&h;XQ)$(=V2(ND};9Bl0ShQBQ?r!{HnWRt%CSWMIu zAu`G9JuqxURGJUoUbphiWXP-bj;!NZj%qhlWN`#nN45Ie*`O0qGTP4&tH|z^L-}O# zcALmJ2eiHAiw+w|IU10UCwy2ce+K|&QY+XORQ!5Eq9+kYc7c6LR(%vac5=<~6-81) zm5E;`2NEfBGl{(7MLOYQd6UVyrrVpd{+O7JtH+j&x3}5Tk)?_+Bcxuw_<$FMRB%^l zP;0PB;#Vn`ch9AvcUg(N%k-MBPx%t5X$6Ar}oC1ccw$ zcN8ovapW-3{#ZC?7H+eJU*uClu|OTL7szT)ZJ&27liL4)x)x-jgN8XKVDLmb`~3c{ zb0mox%XID5DoVJZTCelHf6G1bc&C*Hs?#cjsA{E)%h^UD^72h$xCuwCG~7vGsIB=+{eGW-X|*s9i-yA zjDkbSQ^dSZA!1C>0q+E2ObC~mj|xw(wHD7#-;T=4u9vBW>A2xecy>NZ{;Lz0z*r6w znX!(`*F%C(F25R*Mz20O)swew`D;K)dpX&P@7A(4avE$3Obv|NkTDU=zOm~(pd*|m z3*o?uMotQ$6&N49+bv?+ol97fJRA_@%s1Vp{T73Db&=sd1hEgIj=z(QoBty)y-FRw zQd3oj={%ovcFoRhJglcj<7<(GsJF2k^Ls{Nfv;>sOMw@3V$H_{cX-8P?Dq+?LzZnY zeXVfnLr5yN7_b(#QnYYb;U~4iwBJF|jmw!m=T#ufD(_CNeHVxVvu}=R`I6>Bj!W$B z0NT z?KXhPqKx9~@U?~I{oSMx;#Va}YZ;AhPAqDhPqcj66wB z=V+A46*9_74;Xv78-W&3L_&N&f@5W!G3X<$ooaza=R7COOV6MXBJ_vBZ(#uK9#pxh z=E4aLl-(u9AQ9MrYq?8Jz_H|-F>_xifxmo#=1-bH8 zMBQ)9!E0JDb}p%O)nZC;<P5Mb_(p748luEb;t=+MeZ-P@k2ZqIEbmm!ei=9LHKMk9G zZUu5uFC|vbi{jez3H(zsJybG3GWR^T@H&alK8{Jh^weA+eOqF%*ad0G2M@5mtT!2| zyiTY?0iD;YmEiH5D2bv3;x8OSB6KoU(gVYB_BGMLLNPsQQ$$B{R1?!jAaDZ5b;8Fo z!9g_*vDEpQR_A9lyzEl20P1CXYr)_-!9tv39JK4B)s9*fivl$NjcNQF(0HFvry(?c zAM+vA*lSXB)z#)xXZ8q!F1S6{7CdL7Y-ch=}gQQhNJ++`Fez&5c^(jg-- zK?j)n8f!idYLXKgFIOtd^BWwhnF%r*-uKH>lNf^n%vNiZ@Gwp4V$|I9w9Zlrri+yS zp_+mMozDxad(u@HDUGDK4fdN9aWG8j$c*U8jeF8n?bNk@rqu8H6m}XEowT&)N|ix@ zF0`b^B_ZkyWy+I}FLe(L-p<`G;B%IYxH-EmTC8GWh~hH-6GQVgmXmHVzFiE1a$Yjgg@hI@-2hcU=tj?4Hxl7}#&tNsW z=u49`fa1u(wQzh|bJ7?H{l}PzJ{?xIOu5`R{=BB+*PL`TE&W9XOz+_dh9kX`AKH&! zl-}t%a@D6{2ztlhgc7SI{9HjA{8t6LSj$3d*C-92*U~Z=c8d4dno!|cwq^*DrFs); zvtE@Oi&M5IklxG$)G{lN93t0EgnTP@e1@aV+BA2QFkX?u^OzgqI=lHjpVMz-W_m_| zPJafHkh8eYUQLNX93&f+((5LgAbLfy;sXY@=WThwEN?i-k2AZ!O}Hf`G5iCCiu9q> zjK-|{NGoYdm&&*P!VL02@6*?;sjFqisYrE}b)m%;QaS+ALZuBO#4)tmGZ9A_e%EfY zL{Sl(7C*T?Z&|mTVR`TMTI3*jEQ_$-MH%!{IiPMaC(I2Z*cGbCkp)M|BZnVnD(REg z_+64=EbPlPW89bwlq?|h-N~cw0x*&HDi|Z6+DTRIa=B|5cgwCe7pzOT6DuWUS}VNT zQZ2K&pwiON7i=Jgz43)G_)u_T7nc6M;Sa}aF0TIPFD0{7dTR?(>{2Rl3iIhKbKy%rO&>y}J--OWkj~(+kc-A%|FTIt^xs$f(}RVo>FNqWaq6Y8+V+>FfiBVyjhcd#-t5X z@_O$PWSrONX>coCk0}qHOCs)gdKMMIKlOh)6YjjaeTEA2`@+w{0Q?bA2$77TRxCc{ z@V;b14Lj6^0m;)a%Uf_)H=gY79Wi12Z5wX}m3{mOi>v0rgKa;bZkp^ab(L)w}r*S&m?%6#iEVfLE7y<_Hb{_3?6&Q>-qq{3OeYYTQI z-t8u+O6zV~gEB-ATa8Gyfp2Y*EVr1mm(^>$;U{#((0E2jEP&RR1%xImAFmhvX){Vd zM0B%Qo+z|F{_BUXhE40zL;~f1muz`x?u4m^{~6K_mB=2zBlXY(9<9XdYQ*3G_K!=g z3bqWRX_tSGLayGf_w>MB%P?Xye-i1pz_cX%M_ z`tG&_qFkMNBP?%nvAgul-Ysee{3nOfv|wzFHrnVI>o-{JKp$d+g znie(Ef_QFZeX=-GDZF%dk#Jm@m^Xp}YnWeLbQ#fL0uPfgRzz2U2yvv4#L3X~i8MD% zjG6*9!UO3JWinem{Edgon%?6Za!V4XkHepEJK@+m@K~u0KS7!hW2;jVwPt+>qKjj4 zXt*ga$4`v6BrGu1*3^!UWT36Xjhiu4MXEX}etCXDaa+tUdP((^1ReJ8hl1b+Bn-%% zVxE0GXAE<`us+s~XBh#W5(DZQ{=@a$Dg3YCVgwx7{ z(XzaQ)}sbj8MMr}?D!>v2XdEwDWC!v%mR-mN}d!>xaXNGw;137ff1WdQbotggS^gE z`}pmu&vE)z9^&-p#=d-`m?+(KS%M%uNHQaGOWM}(m}ldHClKWhslHlRop5opF_PDZAbdIIXhkbjRjIZu}MqzT%aG`Kdi z2ib1%v#9PnBHwT_{qG#H2M8MPE7g&5=ef5tKRtzyvOzNqO?~u1?GA7sC~kKBL*JCi zck(9?jD_EGR@~u?=@Qa8**(6Bajr~)oA&-Yc3S#H;_m{+x!=$fnG?Wc>4Y}%w_?vfOe;MOI-p1XA*kPrhQUOfF}x*CFo&(|7wEh28H-=nZ){ z81$QeP`8{}33(0vN;9~8v}gSWl%z!n4tXaioDi>Jyhq;4$0>UGTji4mdqHvjhlG9h z$3k%izma&m|F=jbH`%v?9ZpQ44iHR&cw5FcB;_Q&dee<$kB>$VNnRb)D?xq;VZD?-WpuJjmV3*Z*u-cY5- zMl1a%WNU^A0*5o@Cs;dP4~cFdj=1#L>N2P?HGz!)EVxHBKKIhHIw@D*i<9otFAztZ z9Gm_~H~*dL?;2D4yJSxZ7LX19?k$8R`P=~Ny*(zH|9pz+x+?n~yig%N&Ok{O z3-X7*AF}lnjaMwR&FJf`QH!z$n*|YYYW>Mp4UD&`aFKN%q_CY7K&ytToIYpBScGvM z$4vpzp~8|9?GMSxBEh~KT3bF0r#&G*nJO!V6lt0F^arbf*OcQYW=~83^dytZ&LZ3e zLH}n{Y`D8uk9??X(a=t+)#nxEoyE``GK1Y1C_(PD4A|go*}V?wFCzO%3K3KsP0M`| z@V)^N8WNkLMFq42;WISIY$qt|wqS2Ch_(=1w0~kDJvzh&9^@)4+&w@9Sjpj+F5BjB z1qaxmiUk9HfuKcSBV|GiR~;odPVjG_C?r15T!dO8tUneadcx*{7n}{kp-#I`zvZNg z8-&dZL>lQ+UIEWz?OWq?g(5h>&UjMS>b-Ioh((69=SP#_*tnXD9mc}guarAjH=(+r zFZhZSh;W3=Y?7|pxQ#8Z4#(R#wYgzP`n92L-Pv+j}{?Rc-X++v13!moC~QvU8cFk%ZZZGu8u z%~LMYi=vXtl!61I8dG+Dg--G-zT)Gmvbn%hisK|fpbAmNIN2?lk;45kEkkEM8L3&o z^6EHOI&BRUf{zCu1tZdjdB5)}*EIMw>vKt&DBiy3+r>%*eHlfnL=B~M{h#|04?3i6 z=L{BjMLGaRWlGZSCF>msGV8`TyS0h`0!NQWw$j%lfQ_!1WPF|~sBjI?)?JoRdpmnsFY?tt-1pC(^!jKZ%=|305;pFQkg zY0X+dY{dL5c>!^n8kmfNiq|RS^64DuHaCdI)31U87eJg#5_~y6OVWfKdMWaKL!>m2 zd_F&U4QlQbJ<6wTU6k2PIgERNK^{>errX1F4@bn_4!1Lj#Vub+MZ}tUj)26qbP=6| zJ>5na^xB0f3lUD{?gjxk&pLzkd&1+-)1D`6JzO1u&=?@?Ir zKdvbyuZVNqIGQZ|~rXaasL7G!T4opM) zDV&ViD|ce5X@GQK^YFhCm@mo;ed|X&YP#ycjeDw4Bqwmr(n(_hwY3}5l=EpPi##Nc zf*Xf2NDwb-EoI+EG?4h22@?hmAOdB(?l>DnoCbL#EpcFMlD&bS6I%)r!S0e!uCde$ zdOvy_O$3?}JI2I_mI7DEH_WqaT7Ofplm*0Z1g%GY=N*Dj;q}$({mO zaGH*yF!r8--GT}5XORcHUOx0UWMsZ6T>(IN~VMG$D9Ck`=53EJH=oe>HhK?3?Rnz2L-=#7EYjFEzW+b4^^B5z>gID#?<3-O2eumF{WNG<7|5as$K z)2GL7blZ)N9Q+)<+KlwEW!3b2W3$)=#N1t)RR$=>L&r1D5=9`Zb2fCS4;0+rSBbJl z)3eO`*7Sc(CD8?q77_}ov{StQ7P^ujOj=Y;=bO@OOd0~NpK)!AB!CT|ko<|@T{ax}gK&I)Gl9J6ky z#Bpwt!%;z=$w%Rrm%FKQBWmq5GsU6{H27V0S_Xekcg5>{`$Y%RBavLz+;sG>?RgK2 ztDkMf_$i+&r?vK}hXtXxCF}ra5^qR~mhQ!5B&Zgt*%@l`G+(`x@_Gl@9VN2Y>;=3m z`gAHJMpLZ-BJQ2$Q-Ow_Xa-Ityt*4di*=AIQ~BEcj4b zow1+~ir$b^!5U(0y(Tiso+0Y`W(rpHhXhFybAueK6zJnhK)ph8~1lU>EJoI)`N7w7LCmCmQrakzJyik(|2 zFt#&sSt4@XW_!BW)x21lG2q!(Ks)Lgb}nahclS8uhvlwe*ss3-4Ab#7A<@QXTJlvGm)ID7b>?`+g}^p1>2BKUJ!XzG?zR<9LMBaD{x zDhz9I2$-|FlExBzqtEC}AIP5GuUm*Ryq6&i%kwr*0zI1&)i9&1haC!=Gu{+gEN>vl z-U6#V*!3^$52yr5$vNa40W21Ce7ksA6>q(=EHnKPxW9UnO*>Vijyq11`J_(SvPnvo zzwGHdM$_pY?$Vb$PX3I_X{T{W!x3%;)BN#RA|aBzJHUJg>PRGpMTD4QICLtvYm!1p zBoMf4ET^ADtqw~DbePdxWRgLLH8OD7^p?UMJ z_*T3J2|dA8Crrke4dD1sM#LCw%_AosjpVnHjydTDx)o7s#GL6FUFDk_GbAOEGm5=1 z^)HMwallZ6Z4d0p0Me_p{o<{*&kY=sUF~WK|3)sPohj~)Np|GaAB?ePua2-ve83vQ zG$t;{jX-glajwuz7-PkRR?RUX!{#^$`EX>Rifv$1X@T8)A;P6b3cb2{4 zG=^y|M&7VzpNWM_B3v{ofMn(v>J>JiPgYctO!5vnKm00PY?o69Rt8O_PDCq2_RJp# z@^eaYI$|vFj96ZeOZs!*ZM*h5Qul7SAqIHs$iLeCis9`^^S?7vgw`!P3aA|DN=F|u z8P+bSWsd?>yw>eIjDLAu>Hieuxx(P&mfw`iM6hp#c~iEWqGQB_hv=8D;3BB2G#Cqb zJF(7O@UNnA667rvketJpPf==Z+6vV@P3HRm3fPX}}p`{-Nhk-z@U{a;; zLz(qALD^IyWnvVevZA}Vp>Y3$@^_7ksYc8y=G%s&{P2H*%Bu{?CyykehYbIl3yN{6 zh;?-y?dZCE85uW;H~jlm>Ev#kS6p4`@v6;UhD$Q=8@vsj+S1iSn1nr-N*t8@{Lx;6 zS`06a*j|o_*kYw%hg=luTo(p$MNJV{Y5T8qi_;rE)>0xt_#~s4UTiZk6gsF0lmNBK zpuHT^uNr$=+8hogh!ORF!ByR#_r@7k(O*=h6dgqlNHBtvB74%UQ3xzkOvPhWep3yW zLJlKQF*9Qz)RMe<^8X!{G*6WTI2-*x$1@Aom=r&)Z3&g&VJJ?1if~Q%s!3J03e;3Q ziQ5H0!Ky)LcLiCv$hR&jQDCiSw`g7qMY{WZX$wc5L*|S#LilR`({hXp=8oo}5FiKC z*p&oPB3!6Pdv`vwYJ>0K|DHeaqB}!nX?gA*!7|$f(aUY%ky@MR0tZlXye!P_9=fbO z7i$y~dndi{7^6@syTl;E2NZ6g2lg=vy04sxC)-*A2!#tk#$6O@^V4IoPz8=;6M%|} z^8NN~MWA)^by+FRNlOI*Qzi<6(8651xtgKnR(Y6DCudGHY0+S9mho#38x=RWWLH=W z&IIDcUm{@Q^rKG@#D+#M184uRX>D(m!oSL7bnG7gM-W4}#o=oB-u!3`b2Nc~D`(}f zMqhqg+cz!c9sh~r|7iPW+?!0OMMQfTKhX(;9KhRYp-C~06T!_xJz=J)YU{32M?av* z-%vD2Qu3fu0(#e6enCf9h(wPJI}YzMEVH z!})KUM6Ue|Ng|kRs_I8_FIac}jEF;GNRi3aMRM|h?W~RR?t0N?PU>E;uG4Pm8>Zep z+QOnibq7VMsxz(8IV6N(&aIi6BOo>`2gp0O+|j3>Lx-LZlGbnn|iz(I#u5 z>tQ2ZD3%2}setIENVEvvX3ml>Arz4Oox)-g5QGh}#RTXE{hYi5i1n>@0uYaC*b+2j z5yz&=1FfntJDz9-FgU*9fE0g>;CxyI74C%}x;2pbp>+bJV>_y=d%n9l4;!T8)!=7B zd9W)mP6F7f!adfM=fhqJ9_nd)@37^#`bBvm%czL=z{$kXA0FNg4Fm51&@NKvxf#Ar z4nv;lW*E%d$f}rS@S?XH(XM&Oh-9?Yna-bUzcYds;$9UKR~8pvq6OMtDmU7&!(u#M zDM!q(A*!ocn{%vj_&@i)ZXXv5lsJut9H2&#gS=dnqkT}4v0T45r`Bi8{BP_PjwOYR;Odt zo-pe#{(_f#uk>4J@SD!_y=8KKsXtWu@G^hzlzaPIib$PPl5Ge07SQ(fVGs~3HHwO< zSvfvEM3@AH7LAt8s%h;eKpXqZQTq*b7KTkhhR)usyRZQSn0!C8I)7zG;r`}oJ!-Pt z?s(4iJI-^f3r7cI>sw2Qt>i&C=dQBVX8o1U7|z*5s>h4$%?N-k0G-b(;{vcBY22eI zk* ztk!JA@(f=Sxc9F_hKkeSMox7w7hQ>s+%5}w5aFUpN#YT(+u;-3K8(3OUwQCMweOVm z$INyt_$At@7}i61^=DL8nzTGpffQQgyrFW|3fC!5szw~6>Y0vDQU1|XVhL9>^9bV# z+nDOd==Z?{A*f^M4RTewfYEu?tUH28losXOp>_b54R`5cNpSRGP6>;>knP>BZ{#e0 zc!+IJ#DuVP$C^Bx8tw|lgSQw8!*o)!V$D$n#H$Tz8a}_1) z5O$Psy%Xt#c$~~&A5mUO0_(!&et`%NuHr(;ZV6)f#i^d~N6D$z^&8i$Td`io?;@KY zkNIB`ALx#zNCM?Rx;`oK;4 zMoKV(g#!_`zy_GX_QWHoc4kw8(6bGGQ|QJ%sAC+*M)0ZxIuQ|=W8w?w+gA9vC_${K zxC|jd?I6@Uqe}1tOjF=%s*^mBN%sj9+S|k$L4FYt)8;)6(?`c5I%wEn$F37Z1tY%O z)rB!pc~N^m zfJ8b1W*!MPJ~lS97wP3-fuW-yE$G=!6$$U<^u|a4bUp=R00>?v^#SiR;uNWTKnc10 z>Lw?sSwY>fxo7a^;?l`KbYN_fPgu;w(N#d3&gPP=&@5M5fYDfx5git6z)mB; zKqgL4N`Zv}Li6|U@r$2LXIbw0+~n%kjug)S&ZF?nho~?3HMm0>rVTi7H@;#5a+i;m zbs){?*x&GnLKV(0N?3XS<{ZZP2qhp?)rjplI&Vb=joU;W#-oCgEQREbb_MZo7H$aCY6qQK6;$&k_`7ucdzPZB>f4UiNsRN+Vn z>N{p9q=}@BMF&!HmzfJ}kcxiXuK~s(j0?U@unkTFadn-o?skXSd@e;y$`eHc*0&otYJh!60YJ{tr6~g&qnOANB9nx z8n+JL&b{7lBj^NR2UrraU$JUfu}#=2EEZ8P9cp?K17oHPVYb|1Ml&?5(j{#0GR&ui z+gBKN3^i2T>tIc+HdYV}At_x`V$4rGoO2Hqx*$%yd?2{px*ptG&2_w=@?7u*clYdG zEq(M@7B1N)MVU%_fQ64k@vi zSo}=vRgO%)&@IDYew{`>!i3pqw_Bg3ln6LqD4AG1cVPU1X7v%E>f{bCIGOC_XHw}x zjF>rR3o9tUl!0MqCOcZ^&ULT3Jm#ME)fe3B`p!L-CvYYD){x!3DMc7G!W6VvRE+@F z*!62Wr#vF`2A-LJ+tV{1BddgQ^Hd}3&u$u@vV|3P<}_#}@M=n6_ZNupv~mAK=6YE`Bo1K3?;0Qw08~=OVQXNVq(?(w{!z=;qSjF-=qG4->j5c(MMU5$1!E1J!Jn(+o zF^P?Zi_9gIl?ZNbI2~PaY-c&_k)fCgH z@n{*h#93T3c3EeOAmd#ed-N;~YsR-u1s_);g9&O-G`L3fv zy!r4DK+_04aFRxu-SBW+0aTlrA>hhet$habOW>p&+$`#8W%jpNwno9RJ$L7)xtInm z5LDvvSXAtcS=kV&^!yH|&kamdNzs(rV}U0h;`QurSq@;>VGwA=Srjaoqs zm+`bx^_K&_JN@-AoATQr^1P65)oQvxE7cmFQ@-X`hvw&?gIQ6m+8oUC@)wBm2WZ`@ zcdLj5m?h&cE+Mla$KIZ^e_?p=cl)f1FA(m>vp?*W6&L(dL+@M4a$`%E% z?iWG%FTx4r)S{_=KzjhN&Z2bsiaO|;H+CU;0J?}c?A01GoB=u>5(E`ES@{)q?Emwg zY1SSw?If28OLJ5JvaOlo6cuVvOLF64b&{ltwu30!1>;osHsd4kJE45U9lc}oaQuhB zRRUlzCD$0*l&a01S7$uAvbo72LEqfU(p@t8oLil2EgXnUM0N#?V@iVn^H+^1K!Hr= z_Ccrrx^{WBS{s#1%~vZ|Vo}{!2hVJ~!CMyIM;-GfT)t^p3e&98_L0_!m6)#GoA;WC za^HAecgDDU$1aYm4C>gjPVLy1$T&wv|1NK3Uw$#ksxs>fO`0`N|Hbm=%NPt*yZC(u z3({8 zYbJVQcKnzulJ$1MWLa#g75KmTle0JWsBBjV?VDf~_Y`Bri&CcZa)e;zQH48K9{-cs z$8rgkdGa;``KPI2+^!=5-utQ>JYEq>zDrJw=6IBz!SI~qldOC8kqD0*VjAFQwcRm` z_XUzQMj}dI0udwe_B}=7hG1+7L`86e+u>R#e^Q6zLv?{lK)F(;Oy4EVp+vyU!c>kC zoP({XL~w9f10$KB{v6VJKA_2*7WObA+;p_yd6FF^oR(?S!l|M{()NA#+&HV>R_K_7 zgkp(zpEGrhkl#f$8+b@jyhi-QG%04jvJklH5%CNwYf=ggpDC@UjKcb}(Wr6H%q193w&^%J(wlIhDy4v5BH+UNLFm zoyTLMo}D&EGRQSaiar;%15O>fhAM&vy;6RV5;~)7Av4v;R^aWiEAR5?Xe>4VD#ila zSz|#saju1y2qOO{ecm|GV&keK)`Y?J_vhS+p>IqaRi2F2&qgp-Fr8p0+AIwmEWC75 z-On7;m|^D-lGFnWDvSyO%U_}zW_YAHjwdtfwP;f~!7$;HDaoEZjltUmw3KL8l#f|u zVt}LY6POtg%$!H+{(sfQ^`u1fNX7F=K}7K2O!rBp`f#P7#9&;+qC>#dxF1Fou-_m8 zb!hjp;z)d)1U{~%%TAPo?+qxB4G{U!hz`Le^sfBz{!TZ}9<_(|wqhhxa6Wk=MslqW z+@&D?2F1BksP}1V`?lJP=O=qQq6Bp8$=1XK4ZwwR9m}uuIasgm=CT-hv2r>m)=j(B zZGQU%v+1S>hB;Q`12E&Mj1d6{pO&UZT}E7nr35F-w3m;FBt-@r41@XHHX*p_Vk(<@ z07C2+@fkxO_fCz<26QBxpFAaBl^|vJbfC>`bvHYa6kBdSVTzD!+oEjH;hoCauM~C z{S?~Uud8mN3b*yovMuU;`Azf&7N_?Q54oRY3(Tw@3OykMX#){V?E!e4IG2vHV?Z<% zDPGBA`1=|1Am7%G5tR1E;GEJBLQEqVGt4!tgayzR>D~W~DI})~v^4#W|BN&uk7VFn z`{KId>8GQZP^@6>zBG^dj}sb1ztg@?Xw~%OEer1jaTODKG981b!(IwJP~$}faREaHiELNvd*47jrE;(r%Pxg%UWlb zI9Ec=Ju9^8!Ih4OG|!5|Comt8`{TaKOdax>c>sdVx@qT^Tk1=mX@N^ozcwfP)%GZf z4YmPzXxM*pFAy5#oXSsqic-s=Bh?aAc@>wntkO!7S_X3EMKziv;>6{DNydqr)_h`- zkr4F_b}7V(%UU!I@-J^)|KqPjML|=Qj{tEYI(?+H2j)U3?Zk1ftVyXZaj__w2ZUn} zF&`?}gspT%Q+`H*UWv6J@7<>`7|Ia7Tw*G=N$S+ZVS8IlZYgB*6f;F|!(2tv`HQ(d z$@J0{bu{o(b{dI6urhC&yM&;X*Rfm>6&-LC*GGzp{z-V{b8cv_>~bE>M}JBy-p!3> za*|4X!Uz8EzID!H;69diNG0Z)%;H&5I>)g!x&D>&cQ%%lP!R_Y=L}kS2t^C+RP$j+4mx{*)Y|Mb}IPn;MuH_ zf1Q%$F&7 zk$OdOHNy`2arc>q$}T(mJdKL!aH?TaJ7)~wlizb7x?~1~9!!@`_S>w73gR5k4Tb86 zWChJlS2|{kiB>rs)AGHw1gXjFIQ_Slfw1wGZw$1TlxMH9>;{y{f9i=883$(+oN_e)!Xdpdm}43mEK-Q71PzgU5CPg8(zm;G?2HpsWi-l4q<@*2KuT|hY;R+1FVXYg+1sG9970mY=XO- z&nG8`63(ya_hnd#spA(O;iY9^2h+jGH5X$(f60~Z11>=|ei0eY3(|B_eLxw6PD)hF$PGn$`&f zLY|i60~77TY=P{7`J^F}f3_MxE%B`zZD4aE;9tHtY$l}%A5#=Xg)S2k|M|j|w8PEu zNi{M@)W|lsqq6p(u^J1rrlj-qaeIdcN?Hb}fNYC%Af<5iQHQf{%7?-F&Ci9l?h2|akNTkj;?pbkC>6iWr#uH zJ~w0k>bv*1EyFDVnPwyGnC3wr>^Bq;bJ^EXQ{&%|;Qu=*iTg1nZf^!=+{K4<=s;`w zE_7+eYufJ2&jc*NYV7yPZ2?(BA=yA?32ee@?;hVs)PqqwYbwQ5LCF9TqE_vn$i@ILaXG8d zrgv*ww8Zt;6Uxt6Q%guPz!}(-(QKdw0oH7#tT~H`p;qwHB5Y(%O=(i{3TOgwJ@|bL zXY}k8JMn)&tq`h|x)MTL=9vKjmZc$VVIuzlor#ZX&1(bO?+(@9QO(yx z!@uqaZ-qK6%vI@kNtiu-G{Dh%iU6=VK73hEODe-0WS zhg2VW0wSNyT`jxeilL(*?${aDp%=KD+?;7eG4U{ z{5}X&Nq~eI(Q?q)Q9wcZshhDjKMrvl2$qywJTj0qa+QJ?j(rv_K|%qFY0B6%ybYk? zqr5phWxg`8sntP^D?O7A#tkwhyA7q}KIPLO^5$|z0aX7oub3evuMLd|lU&tLiX^*m z%?zG?tYL6xqpkMY)?BiH)nG{4vIdIDl}+=ugr(c(GLYjn{9_ajprw$$qZOc5tOZ|` zD8l|yJ;NTUifAHd6N(659p*yhVU3KiVy2FI`NJz+%cWedUiy`7r9#8TD6Xo~=4358 zCu*vWgEFq&%5C>zA0;Q7PCh&#iI0r0DO9$Kmq_l5wvTo10{oE{#wVkQ5yd`e4F%2i zj5tb(r*M83y!vk3HT>xL^$tbkv-r_4D)SGnrnp8Sd&^1GjosTZ7N&g@jnA<*>g2iL zEc$b%Qry$xf6-}z|98){IpE3lVpE>_gF8=t9Fec!T9ve|>0C@{@%qYf|%%2c+ZazGouv+i@p)T81Ib)iRl!t?Q45isUpdpDCFJh_Oc7*<+a3?5BM0dEc2)5!mLeX|_ zDXhjIuhFTj>{aV1r88*|9xn+7iLmr`5t*~61xhZ}^Jh*9qX08~R5@{*nIQO^W# zjOcQC;0@mi&!CneP`<`2ZFbXz0IES?3%Qo^*EzrP>x)mH@C{wXXbM!pp?-{j$P@*x zB3Bx=uAP$Ov6x~t%V(0bD+*XC30Vu_{rbUD%v6W99#`#GsQK|=U1``iis}BDtS;u7d=g8B^f#erwoP!!g~YpM|S6+0woK53rRy)LwiG) zTHE-`^c0YpA9Zas>AB%?Q7=m#<5If94RsyY-@nf^zW?K6DfemqfU z+ugF^aFwpKuYNOqXAm1Yd5w?Pb zYAotj3!~AdQ7XXf0L_xv^+?25L}C-siyrTG5spG}?9#QYmZ%CNiAKoO@$9U0^V3U^ zWs{vdV-;D$h7g@Nokl2iKybL|BN2YhvfW2S+q!jel$McgOUFMI$@p?&D9j410Ve|if)F>HU(Z$SrXE??>V zNzRvt0^3zk(>$#v7h{>;T7#49Cw#C|Z|vNS@f)@ag&d5?V#PBtD^qu{P`o2KfrBkf zkR!;&Twt+XvZ%%Rq&O|aUDp4c`=BShs-ph0z-l}PU8LB5uFNztD@#w4~%f3mx^C`fYg%eQ{QgHEu1VXW+)m7--yYD z!Xi-FLaRaw2*2`z_eT}ia)EQ_=wD-OvAEz!B>)Q?o4CjrRm3J@k;5b1izr8TRNi9h zzO=9uj=z)$H@aACi2ZABoWR#R3#xzg1?F{=Jw;ce4inRraQVq9 z%pYMC(tL+DsJxmBa3pR(Vf=*vvRPdQnkrr zK&|6tHN{u>3wy#xGR4O}8104HJIznW+(nSeOai|0xJAKWNJGO@Eo}qug?tFqTBh!$ zlu!gM2)BKC0%fj%qvT z8^~BR9xEPN;oWh2*W;MYNinr{BG^VOS9yqRQ>&i$C1i9{2psl%miO#>7Wo-D@>6Cp z+HyHq(Mo3hX2NUYl45-Y;aL+}$|RF9veAX}G?z`aj_}tdls}WMJF&%lV~{hfPRe&_ zUPc9zS4Yz-RuCe3rRhDK5?!;^q|aIs4snuu;nCn-?;cP_sgn%{E=ig*&qjQzJWm8ua{qD}6iVGVRBnd7Uwn z-cG@Cfj{D-Nc~yKrvXlKWa3upg}X}kA5I_Txpc*>MU9CREsN#^WN#9!bbEuTPI*IJ zGcG>NZzYB$TZfR$FwzoThPlV>MW;dTdJ!lOyL?}P^xCBc*cbDj{}4Eq6mJ*#juJvo zPm5%8TwJA}KEA$@R@Hvc5)l+zmRI>=bWrV6tj;h7<&bluYbC%OC=A-+JGNXMv0-9z z(C}w~IH|0X`0rqzVT&{eOk={V#OhtgcB)V?g$=N_(CK6ctGJx*k4Oh%43f$pPu$E4 zKy1bwLH`r`yd#VI_d*u#L>zcqNVd*ji-+GP&hPd!s`gNwa+GYodvmsHb9Vl**;Xf; zUR*A9Q*H6nT zjaCyq7wby61zO0g=`t+&>z<(PaLbkKFr0-eQ@zw)Q{ z_aKm=zfV#B`2W*2-Fs&Cz;)~j_rM3hz-zq}g@x{(qAs;QZI?8w4fA5$d zcG()i7|v32g@a5vckQZ-!CKSRhHfqffb9(X1Mx-mlRd4-cE$V?T4AJ&S^f5Qe8fd+Ml0+3busSw-pB*>uI zW}y;#?K)HK-6z)=Vi1syE5-X+nTb;*2x#HoeMX2(bYlxNG2ooBQ%VHFJqUK(O5+hH zwRQk=1Si7*b`yCh3KH7V0zcl|TnS1i9(X5LX>1u$du5w)k7xv^w$Tjij}>&PZAHUE zs3Iz;?WQdqj6{c!Q0#qCfBl$P)!QxmF-mNf1jp!lXEinD7%~IHA+MUBp z)-a*W%S9q2jTWm|Xkd^7EeRfa0d)5(lotMZ>JMQ>7CEi#fje;Np?!EotgBV`_T5wy zRbK?t`xX74_XRadRY-G$=_IgId%=H@cQw%wF>9z4ou3Eh;;AE1I1JZQu_zj$ ztl#VfzhEvdfng^?=Bk#=>qLZ_bzSGjbt;T-gd`Gy;nB zzi_k1yK2F;jFq}RF zsYF-oAWEjl6LXLi?j9AKs1p~AM6j$cMJ;LQC=>HKQ6bim?-tO-2fpm;eIM?TH@454vKiL6^I1I;ZWflYokjTg3;Af|4xKa|Y35Z}A-a}!(lj+9 z5mqquu&F`W@|6wzMXh!TrdbSS>G@>BA;WO{UR-mzxe&11b7l^)Ten-EITPFUw5&x) z!mmpB!XsJvnegTngoVa}6ILW8UA51j;QyHr7%{Wdnh;TEI%-k4#%`0jE-?h(b^3)& z66@s209ME1o~Sy)Xr@bbCPqlNjNn1eV2Jsv^WGzyqVg3XisSLc<*|aAom+Sjm2>y^ z-D&?AOaxZ@s^pix!0mpOf3^k8zi1})i(?UYMF@UJ)DL`x-Ms3rT`CdQL$n7s&ow9} z<-|ZmBBg{U)&LyGPxQvopvA$#H5zM#EEa!23)1>Wz=He~coyPpNcdo45bhibc;{fm zLqmZlgpyKXqGJ$}k|Ps9SO`dP@$fNFQL!+wP!UPqMS&+KzFmpB?>XAHP-gfqjpFZ1 za7gvT-(h5~+O_DBbQkE$d*R%qvLt)Q0OijABJ%qQY4rM-`2I2;;I%N0d@zzZM?%Kg#|$ zijSy0g(g9ekT+VfLrENQgEE!{&R}6f1JBPi;(p@BgNSQITnyqIClC3tSH)?=o3%#= zLn$k;*E3yITbi)4NsjTB8Dvfxfx(p)R1Li*z>h5F{Fv%$Yizt>Sh`Fn=51@aY^jwN z`(OG7w0XNDk?QK3l8D=%iUHANoN8oX$%h6za2)tc28iX(Amh=&8r){WfxNS4(U)=s zJvvB#(bfNAm_sc;?iX*xM|$|Qd`f@b{y$c%BN)qwytab0@U=}cf5nl;>&VGxN()yJ z2IVFULr}$pg^ep+Y}tx&zgvQ^xyLDZ~n646F+iWdaedoGAQ1J zew%DMKEJJCc?K8`!7;Z-OI;&>8^Bgn{6UFT{<&i=Gv71aVnF|XWMJ^Lp4htdoj&;- z=&a`keCi3};vvoqd9TlpIkFVuFg-Mo6k8r@q5A@Gb07pom$Lo8tE$91|5GmG@sHdB z4d!okf}nF*?lWW^4%l7gIHoR_aHe$VF@ggjV`b(F6@OxJVqbGG%dE5i!DDwU6Lv__ z9RA$>DdmjlAaFYMj00PN4g!K%leX=y*Zzr*1H9eaKxt8rIWQAC18}C1I=crO8 z?3l>%SXySdCiND}2+0PpRw?KUN*Y+h(^W`~3jd*Z9chIyQv5%z;MKn)sB+M2L?dFM z^wOjAaeqXpkC86PfuLe{$f1&&SXyICQ&R>M8-W6a{}iedi+wh7E}aH`j;D1fbs#_b zbLvgWRtQlhatT_IhI2Z>_iNqG<-5|H=5iA_Oe}A_70DFQTJXg7a`CpWwbTLS};pKB%Y)2B=^ADk>x&A9a6D zSUbpGJid8u?Wy+ZsMJya4{F%7#akaSk*~%Vz`n$=I6&mqfOS)TC;iW1woCoehKgiW zOB8AH*5Cj&ry;-LxOZ*=F4$f=fuRH_fqnHWe*Pq;sff3= zzQO!?GQMp_@f;q?SXm|u$yBs+CJ$++t9}VATP_~aHizuxWCYe-U6=J;nt}*e)j*zy z-?oOHy{v+FoIA#z{J?c-t^F9!PQ9^AJqF$62RPU~tkj5qCjGT&W7LTV%3` zTZZ(=eMm0@C^1lF(6};iN|O&4XS+G*KoMvbbiWPQ=uJrdynAf&PrA?l`m%3WNIx*x zpD&owU=w3|vg@g)YjkHv9t#vTofCVM%reSvfxQ>jU>|7CNC@Kxek>}l zbk6utedK_p0CM<;jrSyN{=bMCSly2mRX^4Z(9uFg(*#*->bM${G;VT@4^RGXJlHII zawHyvWG;opm+&^6m3h7rI=ubsNGcFl;DL=Sgyxwu!-$b67Ydc?ZH2y{;3pR)a>{KA zt_?DUqmhoog)!brsB4bD6FNXigziAjo(i2jpk9Aop5-+secw4ccWu{p=nT+pJ{B=x zJNhRunGlIyJsO1BBClGk?d0C3%dDvJ1qG>2OYTs-C}Zox;L0R+ggn zX^x%U%ho+x;?1{jKh3IfO4}Rqn8A@+ND0=GAv;Tm-Y(_u!o^lKLDTW9@(UCUt%{?z z>77dXkv&4-AMq77&sX2L?e77FQw(uRoL^ZE1RaSLD~pWp9=TrmSpapCX%h1w(FTDc zlD0v!cyQiv?Iym!8 zB}gg@K9Sx&9_*3^T@3HwKWz5=EQ-n>&_W^@I``nrf9(PdjXLjsU_WUEwQk)sq*dqd zY?Siu&^ixYNY5HtSxY;z^<=P*UA%i(hX+OPuygt*?B+qkj5+Jq$<;NBRZ;)^7ANnR zAzb7G@m3AKCMlNcslZ{NF+gXzD)M;|YTd^Vq5_>&zrQB*iSu!$^O3JQMHI=cS~?Ey zi5Za1Zbl<|!u;GB0+j_Nc??aGC{?+;2+D$bdTrzal90laIpc1djx?4V*xI{J~wC3lVH=uK|Sft9Glgv z%-Y(ttgPsYgLxgD#5QUI-Qas$V_Q+=1t1~w#7iDQ^in7RfJuP-i>ijk`ss&@t<#Yd zomu5MUtr)!Z#%AG6{Bx!Y+;0>uve?{KR)X~GE7;NKX(j6`B1@8%iw(4>X(|Q*jCbO z>C^)6E@I(ZqsBN0jl1n`DK9dh7+01#S~~)zb^g?D4$X*ge)`qw+go#@H}xUa0Z7=VkO}ug^Pk z6s98yz0Xs_Onn@Bip2${ergqqB6)}8wEi!}G-^bRTTn#H{#p1fG0KtUbVkxA#PQ(v z`*~8{%^<`wgjk~Y7bTks;kiJGx_f^z@N+F?*=P?nLDmv0!*=1DytB)Vk+{9B7Bow zt*V(4F}4Ow5eQ&I8#!ZMscyztlvL4efMP5nW7X9x5%y)0XIoGr8z5ssOsw{FA~Gpl z_7*=iCK?@1HR;<)^vc7Sh-qOlqP*<|1^m0LB|Po*5I;<5`bWIgR9p$&61A2(D2pxQ z|7)%Bp&sVNbUqB=?OcY$@6IMtxbw%qw{l7^9sz`nr$0b6T!Xa7$WE&GSHF6lK zqPR5YaToS1ZcRHx2$8_I_K{G$BJlZ&s3lSv;^ppk%$+Yk{55#3ZQ0Y%_^p54%>5X| zP=Ir1{;m>_=wI1A9>}*m$H&ap2ys2wluw_S>~``Ym8MgzWE}|Ixh5&0jaObuwdFYB z4g$`Qg|b$nvwH~BndILPEd)I3(}$8IpkKY(fK@2|prFKX?HVr2H12R>a8bxJD2U;O zqC9|cIV3mS-K}apAp{F_E>ZOpAA(s02r3Z%O_u;UjEWv;Ooy%l>_x?WRGI}~wJ4!v z%-1mI;#nGbczkm)s~{d8kO%y*V|(Ad1O*^7U-mf3`+F8FFG}`{i}5j$vn@;8l8J(= zfO058cU^?qFRvmt7>z9Q|A?X2zvl|+1y!4@gvA3z_3bU4y&bvzh4GUe<)+7n6jawK z;ekFyDX~M2;QPBiUfI&6+PeDtSEfcr8_Q3Y$AkQQ9;Z7R>47(Qx3h8<;wyyNHw8Lv z7sT)aVfOK(M3$Lzh(W}OnMaG6t06Vg)Xt&5t+~0Wd9^0z8>N`sR*H{k5^0nZ`oC|8};YAU*+PzuvlcOex|z$ z5kSp&;&)I3g4$sB!iU-^L+T^XJ$VdP@+Xi1!Gi|@0#R6Z45b&idg=4W z53?14+tSH0Xsbw4K?&-;p^wUJS|I*<*EB*g;|J#LAI!>uI22`}qC(^#vtm_UnDAR} zDEJYZ#1q*54y0?KT|u>~kSoP8XfLf5fLCk|HIBn!LCW%{U2T9C8#aG@Og>~}C~UiHjJuX7(oUz(H39D_HGzm#-U%+KSkqK;COQ{~ z^LCjKntVt~BE_o&A{n>jcEl>vCXJ+PJkD0TVRTB`F6-%&FPE^H>aGOxvmeBeDKpwi z&XlpFA#9zR0V}V4VY(lUX^e}7xZw=Cva1{>^L{r*FVg~f9NF{X==r(ZcqES5^!gu@+0iLG&?JG&xBjKGzKs^2+Y2bo6?ryuVfo;No z{nG;-0)RR!$eP80BL(90V8QJw!Ce%>+^-^E-nFKqz?`lwtTW+kb5Nb=!!d#3@PY%M zLgIcG;l51)_p$=n(t{VF138I-`9=lz_g?+=J|qemS``}iWMaqw32X=p`dtT2BFIM- zSEDr6)YHaGd4vf){3xpMu)ZS4496ZE{s{M-VfQZsnP)_Ry2_!$p}cRh>GbX4(&A=+ z&^Mq{H)p+Kmocl9v{B+Sj1U542aC5si;N&e#N0+RC9ol& zo3G!qA`C^JuR09Rqb$Le0Rc?&eCVV_o;VA`a6C7okvA$s!-r8(rRWNwzAu*g4+sS2 zu|0)GAklV4ej_`o1ygLYc@fFk0JH@H=<(2ESt?eUu)UQnmE2`==?j&sSmC3`w}Hz1 zwuO)wfG_ya0K|~f&VI-N2 zENZJ}QWVxDHl8flRw6a8^vtfB~? zD4$Vi09rgVU_5ucUDDdNCP> z^u$fW4FsB55=|eKfA$xZagqjS^?OO`7I;-{xwn;9UIqV76U34-R@le_+k?F`!KRr(2t^+lMY8lR zT-B#G?LzRwYS=14G2i+9@jEA0eh}gf&4FNqiM^H9ISc_OeC=5-sZQ;rFp{|=Qi`=@ z-XM>=fI61PDlTeyI+f=tuCt}V@4ieWH8KPzYJQ7+(*yBkPo2)~_(un#$ds5Ng+P(a zJflP+Pb@I+Nugj?S$h~_Wrq5aOC^a8( z+h&;(P|1$4hntDwkK^R#m8C~3k8|BV5PxLm_O5XSYzU<9W?l~-PIeuK2yB_{knw)N z^Re69^hZJm=Kv1Ro_9vH!}E!&{sH17xZo5hS(WCw<#{FE3z~pAMm8=80mjJ4p!urv(wI1S zNLU(J8Xge@ZlaeqU}_X#V(TXj_;ErT7Oe`$%e!1X!aH2U#(2-m>hSek?^I*y^t+PGJfvGDznG|F>n5#PvO)j>-B~`_{RV7@zUac$sN)EK2#NmXyLq@ zLMex#+0;sSHcKN(NN&Pjk*gx3pL#rg#sx1uQAYttZJE+@Q)N zoON*r+@PbuH|Xe$BIDTLGi>Y6)0#3#ok3N+@!69>=A5XI`O@ArmI3f>c7IzyD9QNg zurg#^OGJ1)4U(Y42Rw#-ZE?G7p;ohiqGL%VZOTSHTfvW_Rep?h_9_Pg?cEPZe~+41 z_TTe@Tc6Gsg*)@0S5uVTm?nUSDQqI;36u*`O)QyObBkJ7x5LvEx(xVdVps6x#v9hs zKMKRy&wSqXDSO={!jRENp%Q6^U0cad?2;zQ*JfMQRFcucjYc-&y*}SC6y;Y*&rmpX|25g34?d{<<9B6mW@98GA zv&P&oflL=&Wi2uA$fR<5NWP@o&{SQ$gX72)qt1)3j&`&s+V2fXjgU zHRA?D*K^mLFhDmu5%@N}505_pGYS>79j{7c^2>7njcxY@R% zWaryKU3DSiztRDsy`}O6q*_|f#O7GFc*A}mHYqRm&$X|d~wW|$-O<|!vmJwu)Js3N?3hazyEYs=|{4Vdw z;|@9^3yez7HIRhzB^rjADWajcV$jJE%h5>K@llAAz1ko1?1y^(?>6(Mq})Bm^QNCvzInVGV%FG?bPK&UoU3qYy~glTs>H3@ z_WxKm31}ut()uoi70r59vYn>3*amzniIe5ez-bPGmNYx2>9}MKLV#oyX9Mg;Ack@O z9`RbLe)O}QJ`LE11~*CNw33^6diJ15O~m$6zDquje@n4lHw| z=RJTkqoz0m!C4GF5p_8X`qYa?QJ`J2WI6E9TSC&aaCZ*UE8y`3$AgqI^B%&mrsYPW zh%brkzo?g^b7Yk#3-%r6tAhn^KpVQBt)B4|5FZm93ETE_o7Y~~xgWrBq&i9e8U-I| ztANs7-wSatKc!3e(^4X`aVJ9-8>|}(`U1NCO(sEnQwdtF)Iipx&V4<{Q9Rn+vfkqS zD_dR+8d?Rzs&tv8Bd0%vsh0lDN6SLF6xT=auDf$Xlz9#p4@5^w1^XZfdez79ugKVF8)mb(7|= zEXpqQ)~z0$MmJ2)PmR4P$@Hg)mux7&crMGU=)N%X`Tq2^JF5%n`n#*GZfdlvB~s?4 z3-_43o4sYl^UW0NW+QH`iIjYDa>L^2y!1FJcQMcb7e6ikWFrOdwgLtK)Fe^|NS%E3 z1TKKMEKcU{6Uo9 z$gCrVv8kl1!F6?XNzc}$Wtjh8&;46rq#K77#IEKDkh**%0Oe;K9anlU!2*&q8XKqI{!9j1p? z32kskLRN#IIkT5^dxiu3ytsJF?xleRJONFJF1j6=e{Pc_vv$%o_;>r5zyb==ahq~;O@W|y9NF41I8aR?6(xjm&C1l+ zHE7P$9GKZC5`t&$(hSjpWz;W2`B};P=LVU3A@Rb-uG`0Ysn#|{o=x0y4=DqsDWKex zNEDE18i=d&2b$|ea5N||@&=n|{vMOmXO z{^vlt51SLPUV2fi^9V|ai3Vxt{-C)% zWFj!L;BeCUa?9axLlaUvNc+#$H)D|$6Avu&wLtb6S`4&U>)|8)DzEdWP|9=8xU4)9 z%)4ou3<*LGO!d5cTYO&{&-I1e@pA!CI&xg7Wk5@G4GP`0E;Dx|eOtoas9^+vp)jY_ zZ7g!AuImJJAc22>8R-;fyYz8{r3YT8%s}#qxB>reaR3vo)HVsJ#Kl@} z$(v+x4IqbdqWD<)8=xKRn@}iVFy`L|sgsv<0?Q`XiA14T&h%zq9%rBOTrO&*I$E*UGneZNBLu z+W^dA@`R9tSGF#Mp{%FSGC%4lc*;5%6fz}}Y)0KCzZ@uTJ69S7Agj^@;ySS@3Q&!ev)_uPDj5Wx?2Q78|I4jxFgljVgv4gw-UK{*j>%K@IzB@)sdBzRgF z=B*4cmP;M*!dL?pY&tFnO}=M>l1ubx7R%2%3YS+hVFf}xN{A-hsD{CwR1wbptvyHl za7m^%-xzV$lK8W@9a$Ku4mHUJm={t(It{?thz?4}t|&`6<9<>~d_|T{gh4I*Bg=}M z+bC#>`G4&Jcpl?$C5E)G#LKrH@PPxpX^3dnb%n!(7O5bhDqIjSrk-X|9`bPHDag4g zg(bq5is>Ah5z(WbHH#3d=>ZV4WrbiZrDcn`a9t>%@y1U}@Cf$X2`V$tFv|Zsje+cE zlI`P6XabW9)r;H20-7^$uopXzK4=6BK}c2^g2p0DQ5sBlRxZ)l0z76!_GY?S2>R%Z zZ{bP`@`1pcGERgygzt3e#G?{cLjn1Ygm`|Mx>y}nF##LIFG4IH80G?V9PT^>0nEMr z!$OF?{nLqbiFQQwVE+9(px6)r0`Y?2qmpAd=3)AEd!t@aWQ5j4T3ExVi5>NmzTl_k z@OL@Vy>SMF@!<2RAGsV`84sDsA+@6&%`8zq^b?%3s!lT#d5r8!7bCGSR?4IphK1QY zJ4yMvhm}P?3drb3{+L0K!Ziu>6A}gt1CTd!BgGn=BBoZ{F%L;f&?G#H zYwH_3HRbll-X5rK*4D#9lhokMa1KO~Il`<~*ZyXnMoCTwH{ScDY%#Q^bjmU>5EMS< z%pksBnlcma_Bg46>Ix~ET*kpmA&E)-?jaywdO&Guk$}dS+jZ?1`#y*OD3#zlpl&7zp+GJA%);#Ao*U9kLF2$V}|xE&&9DlmkGQF=>&g4>EBg zJkSnU(*ZP)K_|k(QNg~a1ja%{Nykv>iUF7cZTrq{nZT>d!T3rJkQV?4{sE>^x&#d* z9jB*WuOE{zCU}(D8J|=D2V?83XB~<=)1U;>ojG7l04ewKCflmP3SkggoSrr)+vSE8 zGm0<{E?(q-bfQR)`USEV*oQxc-20Sp{$e0q-ku2Fi>27>22WyGU1BZd(YQc@!&S2@ zd^$TP;z@Zpe}OPwYOX1nex0Y-!3i^;BTici85~_&>wsFWRWma2Ij;#BKSfFK%QVNMV+`&h_wWSWV1kn5)DMkh9`cKrmp717SU($QQF&2SZ`7HtznUSs5Xw5L`M z9kQ{qj5Y!WE6|7N8Np6$E&$M@W+iJYd!g}P2`Oo0OAg0hRyXgfF4sJgH{*YscCLxX zdlbdqM__6elJ0a)r!G#tK8+)~nljEMnTIdt64*P)o&V#sskfT+5@X~*y7Xk?h&NMo z#7~H2>e(|yPiQylS+F-&fFz$bWiq2jUq{8%%7M#gxRd69 z$@oM1$d3=s|MwtSeE#E)t!`x%9t?#68`RKXf5yLejSSt?b8=u``V7cD%u#A1@$AVQ zNGivme39Dm)~7C|tZ1;u&=ZbTLE&j!mZ~sSuqQ_c8=>Ht8BXnA<0N;!#D7tbfxLW? z+ANP0BWPj?5;M9`8*Qp~Sdi1Ct5L!g4ZWlgrkYm^Q|@zva$jfQso>&8tC+gwdn&Sd zBgO&z6Iz%*8;u{sNW*P)JZTIQXf?*$L>?ldPk)B^z>BE=0mO|FjUI-{&YQr6`3B@F zl&vK>K)Ubxb)4iYCP}yM{loi7e0MHgz_{1}>J@>}hdtn6g^N(OAj@-#jEmq8Bdg{} zqET7e_tYc7QsJ;L7$^*c#rU01bcnvSKT`O+h{3M3xR7-HREd-qp=U zB}EY)Pn~xYVnwqjHs+#}+eI&OFkEBp$q`UuLY9KiQXJ86o+kSASt9v*W78}tp zpfusMD6HK=gFeEY$P%=u?KFgsQYZWt557=k<>wf(2o$lTx^BLnVFyxdXdtj$88%nsr|p=cltqc=^QD2~*{=JU51OGj6S*Fl zkOdJt`RW`zm=BsI@vlfwj%v=oJ{fGPcT_x^%gC(>Sr}ea%E*5{@CKAcjX2xA6)YBZ z{Q_c>Nr`%RS}}2B#&^80Gqx~u@x(?z`t48DLC^;`O#6&24V9T)81?dDg|FEb$*OVxlTvULWYyENey2 zhOk^$O7M};zm^Z3)bd>NRUJfCvLC44F=@cKwYZfBL>233z1Ly9xhsW&!Z)qSz z{w!X|0l#`#AE0^uS(My^`s%dQ3>k@zK@xRo$$?T~lz0XjB$y^i=d-t~ZA=a~LM_iB zs0wTz>?GK29h<71JBoaNbmh%J9L;jDF+mJfuFd2tKoYVXE;XH|O$D9^%lK5Jp`~~5 zW?u%z6iBfhrS5w6-tH+3PK$^I%lPh_B_ri0hU+D_9sn=WMtDYur2H7k&?6Pihp})N zrINyp`xfyDN}F)Cz1Tzi|2d-MeK?xkfC8DbF=yw5k#a_w>bnzVDN6fBNa|9a5m5uV zMfzg&SM+u(-uPh1IO#HQVXjs;Xuew!P+r8cyq3!9$Q&3;9dI+R%WVrDRNQXm^2g4W zuVUdV{E)yyenM%smk+)zwfRd#5M3HUxTgic{rGddr|{V3tng_*eI1{foL2h9O3rIY zraXE)2TsHBZCExupmILRqvV77;gp!gl3msOxx_dkC0!0K7< zO0k}PTGL)kY?G^_2soEq{F>uQDILz5=5n&INmq}(TT_O>%7wx+e5&QZw&eDNH1Zxb znAy~}VeZ1fxn41dSqAXd?o{VJ-p)plM*t|CzHhkX$LsMGrpDFzoA6Znt>qW;qwT2i zY%NT4ZKbvuB^SEu%Vo5)y<_YQxqImm#wDS)C1Ts2=*mCaCTrkYYmvdzFl+Sh0HNr; zkr4fwrtum@0AT7meW&_Sy}iRzo?E;V4)qj_y2yigy9}JaHD-*GQ0j!_$+K~`&iL); zJ8(vw#l~uK$QC+8x%JDifFZ3WqN3Y?hy~-HWxG9lP>wndpws_V%t`cGH5h$3R%BH? z`sgaK+NZs!mD=r)$S{|YwYF1^WQi?X9IuG5ED4!CTUG!)H{>#0*y+lS-l_OXT(C13 z<}lZ#y3ATc(^q=zxyQB4_07gs85?gtPJquG2XCI^Tfx#f%6X38nmW3fwMBMrajV@h zT_q9gnjFIxNBkp_lCY{$(pw>QE%FgL73XJDLg-XYu}x0err#o6bVo=th5PMJUS6J( znU2=mOBlG}SAFSkelZ6FH{8|Jbo8`7aiD%5r#KG-FF`y-_in1#+46dg6Sp{5+oVzn zv|%(5&ByWke?(+KiQd8u7Y5SIr3W~f0L~?5QcPI5;=jp=pt0Rj##)2YGuK%BaeOry zaa93S%fVB(Qh$d>l?E#;ZKm7 zh!3C5EoJi*IyGQcB&*T3%h>sB-@(A;377rStG)&RnaG};u#KN!3{;*@V9S*Bq2tJM zT}tu3Aoa^s>qfnwbjxB<0q*<%UgbqbiVyW(kRcu-3<0mPVbqeySqV}3uP0LohD{ip z^&DWzF+?gQY&6CA9$993U|1%DnSFjokW9--P<}R?Zy|hn`-M`3yo$>$>@4L_$$JJ%mAh9y6hMGm6qFVsIQ`YS2c}#5Oyks2|z2nx7Lrhz(bQqcjB` z`Ue^8p*L#vPTLStgreyuQr4%mxWQZC)rgg(yQ0_!Gil3bCz}j|K{(+*mkhR{oTzgE zR0x})NJC*UIPG`x*LVQ+1?Z@w;AsJ0KvZNX7=g_z4zl=4`Duc=N0G5M8W!~Pyj^W= z7g+LCktbz0+vxfirdL7WiEL+iVK2eOrOym47b%ssdzRs4d+%Nl96GGZ#d(};TFWgV zR5umDAA&$n`3~$2 zlH5$OzNn24@_2gtMbTl~|0 zA@}+5L!X2fNNBLyz$WwDno^g_j-9=xky zya(3~VebX~5l~u_xrK3$F^s3e6wm~&xm`%l2yWGqzOh|!@<50ltlWx~!BB*h0^?2# zm7*XX2+-IhC`{H&VF4lvvOV2x{b~WXcm8!h)vGELhE4oiO%*+b`4b0A@(qwdsK%BB zK?Xgrc^=$V0hNIQjNa=}k8Kaxi)yLVQpk9@14fNuj(v`33@BA-vPa9vKLoVDzC9Nv zmaYY`*o`2qXB8TbD+e94o^Z}d_{Bj;6xa(~?J7m+i_5mNRBs%DPKmzP6^a><*l~(8 z@w62eq8^pu#^lo7F17;XhGth5g1j$j=1sHyeltn!E3n~HpOne2?Qj&#Bmy~gotf3` zhlq3Glb;&Nh?Gg;0XV+H?_xj@5S*Rxsn4OAmF&9C(w2Vzk@wJv5B;Y9MzzNpb@!>& zT@C#ciuuiPNfmAyl)>*?{rZfN;eXgi4;_U4UM}WkA28fx&!yV4Golg`-3M zpm4i$;WUSX?=gP>jeH22F0wx+z;WMDCL!L(-Imu#qdcNR@d&>(Hm- z;)p;pf^8Rch`izck+ob0QJ=R5`)-@NlOQqnd^b)~>~mKIMPW-GMS(~9<_BXEZgP1` zIZ<3Psk5w)fX;1rJGeY>(qq#Q<>mvnmUH0&GZl_n#pwd^brGw0DNuM5S4rSmt@=6~ zq7+E@v?t{6ygbk1fTE*iET{dD_Y@YTor0ys5h52pBVq&K{D@r0`f%dg7VvXU=gT~9 z%exF7aVoVv>7@q9HmhPL509_m(Vx*Drj8Z+|-;#toTFVzj5c6Go>rxDnoW#~Ndsq2t<-0-(lCk4a#m#D6cVn2sTxqg} zVo%te=^y7mFnYz}-XGxJphz4!NOD~%@RJq47kYgOQ>_v%+RbixMeA+}Qj7=wp5HAE zeQkfvj6%h7ky=_262+xdzq@|wrE2H^^6XgqPLlr;!zvGYrgbIeg=DK0>i%-lgvGK!al zuC7K@xc{IcU9T#EG&5WmQI$Bjes%=DSOGvxsmt$o)x+=9cl5b$LAOcV@R2L6F zLw$bra#gJc36NN!)unhYetAQLCrl6qREFotLYh_m5}mV$X>$zpu%2>(T;bA5jsTJy zfP2+DU>v16&|H}!j9Qx06P1q0GARnSD)A1NyCa*+cOt(Ql(TZ`XS`V|?dqgR3rJl0 zi0i{}yl+#M%ekPp=Klgv2gcwqdTm{`p9A6>aI!Wfx;#x4;rH%WKKMlUY zcu`NY1MW|}g=~QtOKO2yHg0ySiwk?K+!mLutm6))!7CwW12}Ih=XZ`hanuf8lL>NK zn`L+1yicd@6~e#rFR)ICa^y}ajTLa?Mwkc;ldNh4-#X0raPFGNa+@?wb@WVfm5!}W zlfw`2J-bHtI*G;#ensYErrOO0k`5BkpN*AzeE9|ilg@MK$PL^x8+!QiI~$)HHf{5@ zod5qBep#G1`HZ|+{}6q^h}T&gV{CSq10Cs5I`{@$Fy!L^D?rr0m%6SdQ3`9L(BD?V z?|GFgafvMorka(zIXO5kLUxi$o4NR3DEr@?b2l%}kT4*6!h5pFFZ$j#g;#O%HIEk1 zVy}i;>ya?g+Dp8$GJ@}+xv~eSruu2~GoN~`(0DZIwP;ADk4~qB^f}g^@`88yXRQwC zFgt6~zQz%+FN^g4q*8#DJ411WJ9E~jUl@vg{!#z!soDyBkn9}PMjBZ%S1rC-ewAqt;{Q$kx2gaAO1$Thwggc=Wl z{L$Lb&iFHb%fv9X-x*og<^)==M}90fyjR4z0j^$a&aD zu|T$YEIY6gvwNANnv{u)zoIAfWG%x}Nx;cOPszZ}MV7}Uw$M7Mk?iO+3o!Z2oqa4t zSv1LANsuS7ZNGy>LhNpOs@}>1$>1OyBkhl)m?NVjKt(`Dm$jIsM^H>|MN(0%y>EDE zYQesgfw84uTqc`Om2l*chlYgeEPF+!n5Zd9spu&1afk-BDcOY5*<^7Ei>bP&!2$uY zzGczj;bOEzwAd&DTDvRfUUzZKt1Jlp7Js1(6B+vuR@}+-yLAKx8s4Wa^!FU>!$2UQ zN#49@2{XT?bTiUFdpTY{0Yef;8?k%4rI&T2_CEPs8;3C-1#Z$I4I>zV&I8bYtXWeU zpN7$~zuTpoLJ4Lo=AwDyzUx&B5Apu8LGLJ%kvWJDS`&LehvTRwpOv8Dd@axqg8+$D z_Sok(kT9vZHgSnPS;-5JSpuf|2t<@jJj9FvE#@pLq}!?afuf26Z9&}<>FZV0>=3J{ z;h|{9-(*>6m_&3a$zysAAq+C^my6Rh=jOF|vIs7^-;vV&Eu7ey)j}AB8Wt-5)GQP? z=h3FS6vj?=w9ZZeT1E%O2YtY|w-5!JCgR~Ib&g(8ej+36!JE*_^Yj9h0d^3T99b-Q z3ZHF3A6WJ#l>s?|CUg%dTw^g2muiN-lFYwxRYKfeBkiCeJ%q09QC=FV3}x0P?diyV zp|_Tb^2|G*X;1zBUatu!E;|bUoLuxEqT4W{JYnAywi%BL^Qd1KI|1Ff-^A|(hI zPn&#^NTJVOpeNauo``$SZ6V?KE~IYK1-|OTNU{*LI5*l&y{!CkC{nQ*e)c3FfjJ{i zGfe}UnyMnaT1sRMEt!JDai1w9oepW)tB3`%Vd{1~?+rYYQ;^LUzh9p!opcY-mXKd^ z%m>GH3-}M|#Y?!zeA}8rs)={e9`uSUjf%pA!t>)kdG?9o)yHNb9ReckV(0VhQU7QB zv}{pj|K-OB^PJpoUU{*AD-0w7rEep8V(o!%We{)hQS4}wi?M(Ui!uG>^X~#&1U>iS zzHTm#>8=D41D~=*pZ9^-(VUYAgi4@!hC}kKP2$cZdib@>)Ef%H4bbV+2u!%JTE70> zh`Hn}gko$2e1-N(rzQp)5;6$4*#~3S#h1)DS@XHeNrU0wpKgAirOPb&aWy0vLB#Dl zbH+MHAU}k!N4wJVy4B#+mbG_f-6NR2NCTi|PUcO-G|pRl*2Dj2G3V-z+d?U?HiH2a z+wwz}(02|vZjrOEUJ6NC`&O``kbP|h|M`QLF}zdIK(jh;3!zK}!pjf9_F5w-RoMi1 zP_^Yy6Q!&vO++Cmv$W5Eac5|SQ_@flDKY_FSuD7)l?#Eh9u-d< zu&8m|P&b5iYWxj!9)SY1NHy6^z2OlCq{0P3ORuDt9Q@1T1lqz(n0gv2DOJ3{*NKQ^ z@h#P$MtRTRamh7xaffZ+h~gffiU(fJA_e2tsQ@WZhr}Pp$8oW(^ETD|D)^pk=DUwJ z{|bl)P^XSNJ?#2f)0k9`H9x&@EkdptHy_;R7JmrZ?=g!N(F?Ylp9-FmJKz!bVy_|? zTJj}ctyBQrq93^1@FDh4d z&d&E-0pHFaC#r0MK_>#qVyAwZM(phQF4GD)d?r0Z<^zo6cI&TcaCk%=Um+B+>O;Te zx!Xloha+aa#k4fG_-Lmic}g$BCma8p2z|wt{nk-h@>7zI#28Ip zWQA8jn*Bph(H#%L0qm%oUcP~Op#Oh9QkqQNL&u+9ihrl)0N#Y)EKOqQKaoi3_?n`1 zUIqAnNghOTBe#c-;C9kL5@V!sX4Nv0C_I13lH>;8?O(J%80m52yQYB0Nj@6z{NUr$ zjWQVLNtGxV-iWNX?OrI9c=eme8$OZMnmCFqR*0mT)4CD5O0`MRVW+QuMedssV@G{^ z(?9GJ`XTC)X7$p{e~U-6=Z%mCy(UtN8!IZ+h&mRD;&WDE(ro|QcagV9IF}T2Y#MrJ9Kscx~ssy3GR0yg%taRN#vmZm@1xHySu%OUH7gsWL zKJ%dboeBW;7OTRoh{hNRmJG@=cjQg>TB)RMDCEwy9A2I&9hj*hpn+mlqo@!A=tn9B zv+iSEAhReH0S8&xaz@oe4(e0KMM5x3dgDlE90jTyN|1a+=>larJA%=aY2lW`$}UY8 zvJ;OaW*16Gsz54qh%JI2EwMyt2V{EiaHm2^SfTT`s6=*?7mc|P5%i){774=rm~tk4 z|1l!|)zuYy?!REmT{y3(qLg30q?4yg)Urfke__N_X48bg_Q*Pjzl+k$Unii+xZ%6u z%^m7RzT*?Pa?(W$!hRra6pB}lpBF+*40CkxmZhTCr?6bQc=&o8w0-o5BvILdv{YbM z-e;q2gSI3`UQ%6W$4_GO%>s0C#OMg}<1c98mG9thAN;$Do2|GvX`$~cU`&?=u(684 zB3lz1a=QE*<`8wF?2Z74BedYV&l>z~eC7`rAS~!%07D}q1v2JJn()ronNx1IZTb{h zKJ_<+UW$(_MXsV=PhLIAb@8!9(Lw(uzW9QFmcS)GNsv4Of%M4z?C=8Umv%H>nS>fl zW*VGhqK5WV@emVhYDm~DWWAp7eu7wsLJrzmw(C5$q}mH<|5IeWD%@q z92k+#Nb&{orU4iKYd8uiAF;dtACiTm`e<^9D8lXRo952&)uoNj>q-e18UJWTi-o%} zOrTSf>><^G7P>b12+h5iSN+QrUPN6r&Zmt^_RVz3B8WUo%ClUnfnyqr#pX?Vl9X z4rn3S@0H;U8swJ)#YlKN62~HD1@K>sEOM+wT8I3f2T>GxNjJ1WTxhNimH7Z(j&4R9 zFsB}Gh)}H7dZxuVY{bBl3`&Yq*w#d0k-c~gQOHsC=zK#g^9?k#`Kvfp6d`lmU(~d6 zY1DzxIRzY`_ukTLJ5ttW0d5JKejpY5S^kx#tgQl>L!NW2eOWuI0a=UNAvh5R=G*%J zy)miS5Dr>Tc5nx75O%EQF~=c#(cb-c#gr!twX3V~#f_}WQ zyGa4MeazO15){%!!WRSeHk3^g(+SD{`I#I>WW2k65=gdi zbDC?CS7syM^8TkP{X5`RWdu21{wmQ!9AB_wkO0FgqZIn1)wQHV9ufIuG32N~{m_Wz zNFB2(n*93z%Bq9O$M#rs&b0B8JtatyYg>(=$8CJ4o+2rE(ly^DM}A3__{x;Qecq)? z9oj5AT!g~a?XAwhX9zo2Eycjaq2emaCB;3nGdC&#Cb$YLwtc*79wj|A-S6%qBBa5u zrCjor6C89ik|L_gN}YW?{_AgCA7y?-TtHQ&%tDm>r;G5E850i~PMtn&t{Pi*oPZf6 z>ZKV&iwveBA4|3XuB8Zbix*dz248f!qMIgarfRE+GR4~a-{Wz72>ZudZ?_IKBzW;F zWYAS0sG${0Cz&8?)xaqtHv42;aIai4pF98R$Q25(E?mHanh8hV z&zzavRX>A|9bqehPqh02?#E~T0*dfKswKXt8T5o zl=+~VKp38G&+RrQ3i^Cd1}2QE8w#@0-MH302H2ff$;KXS*#tT>El+LilW?aW)AY2L zD8)HYasx({!aSY3uYzac8!nAht^LLb^esrqf!YCUV)kzj6{)Jsk z@)c^WYJn0{$w%IpimSS(>LJ(zYav3%DBsST*4x$h>Y`OHh&h3eVNdeEeZ4eHz@>t4 zM%f&!K%8c;ZFo{YQ<;^$30C;SIU+1I7FT1*R1Dot;n{YCz3FiCAdX@~Sij<^V75(2 zIog+xsy>|GH$&M@$uT~=6$_KW=NeX*8=l8%OWjm=W)>&c&m@^sahIk?$Q2%X_hp0G zb~^`>%zw>_Bf-eKI;oIfk#ChJ!QomNqzXp$j<)?fn4uX@i1V$*BOl~bx;6)ej0plp ztLUF=Q8XnJo`w6s7h5tC5;A_aS_xZ*!@ezQyxS<`DFZQv-$G52_uv1~GsXQq-~8a= z{7k_^yi;6E;Bd5~Vyc7MYx@at{ZctrQ)FPQWpKC!BVH=mza)WG1697K3|4}E#kdw^ zgigB;uV%|AC|cT!`J)t)@))*&oR^u2yz>w^TAZPH5zDvk5q2!?`A6^@^@Doq6!Y2J z|D_V5m4A0?Pmd(Hgdg}zp{3Cp?CBYjb&9lFNy7XVpgfvYMc6A=uQj=3ixo!IQ&0%G zITSniDBXCZS$o5Bx(#WK>yI5;^`AjP$7+&!)~fgjOS%7w{{BOa`YNVUZ{`ZDwYm5+ zIofBGP;Hp1%N~lbBr?+Ba}iJt3Vg6I(7v< zf~ySZZqh?Qd^l@aQd4L;YjbKI7vkhdNqLc$yXwEh-P34leck;XJ$*%V11t~~6nN$Q z=$f3m{>JG(iAR7Eg>M^vSmXxHy{YB`-?F-v%;pgZn&*+RBM=nJAd1 z2#i60i>X35t0r<1*6mJgP13pPLDsas`9V^=d8*r11#@l!jwd4WWkEWgJWS9R6{182 z6u#2F#T;)}^HuzRVfCZDxyIEQgzTC}(0Bj+<2Z~LWQh{%o@Q-z7y#330_=)?#lI0Q z=azrj5}3A(kDR+~I-ArN{$%-kNs_s^$qAG}n=v&ER|}inx2jr5pxXPGI|zD{N+Q(& zSkjH>ElpdXFa0;rgErEL3k0u}hx%W0TB?S4g@-Wt1Dyi_+z;?qlr~zT=x|?)j zrQsh-UPN1Q?rK|7=gF}FB)_aniY-M`u8Z~C%I1luuiZ>K@p{`ulcQQPa(NF&l@KgI1xui_EYXPxCQQz$T5-R~=UMv| z^*Kp`lWh4utJuCm&ZSP-woJyMakO`BP`Oj(UhU%MYOMzY z07_A@e?aiQ9uR*3$RAkPO-xdlenFIpPiSy7AOr*z;+*0XW4r6<4X2u@cP|diFaXSa zzt5d1;l;M^uc=j)^giLQth(wC@_8idp+>^MK3CMT3x2E*_3o9#sk^_~gUU=P==1Z+ z@Hzg%*1NMq$yd|Dq1z0VH^0KxZ*ZiZf~QFlFzm3ro4&jJ)yFMwhcf5y%jq=ZLj8#J zzVLv5q&_|5LkITK^^)k0ocU_w*30eO7nqg)CB4Zy>XI5;#H7tW!O})w$_;8jdyE<|VEIj71L&qjrHaaoF?X})ei_-Bw!8$BpxqEao9hawhW3#hZN5dv;dj7B(c9> zx8l;)egBVRv$S_dC5$=#o5(Q;hjd=()$p0vjN-_g=U$9FXWIv8L|h8-jh;T~oOFbj z({RwD`OF7^>AsIlE*Ni?&u}N2MOkV&i)iv|Ht;|?k?~AsJ$D;KVXCyYYZu|Ju`E+F z1P9t>MY9wC$zuZ?Qw#Pd`6ipSiYgcY@kK>KU@Z^;UN1jFsSfCotTK`g^T4qPcLQQ^ z&Jr8XKN@UsY;aR`Pc*|Aq_9E+m-@B{;5<3o@u;bs?&s)21oLr!Z^5#;@I@b+306y< zG*9Q!?%d$@EECHqWe8I3=Iy_9k1moi71&n~>YR6%;LqU*Quz>a>3>N^`)f{Jgm4;B z;NDi}+&bUJuw&J}$20Pzmn5pd)B_@LXWVLonSSBV>(^gxaxNA`+A2mw9sb(4O||=V zbYk@X{MRk_*8OdW;Bb;6cJhqCpv_S1j#^pq1W;R<5=+3+xhk_K#tt+0Mb4cE>*2l* zM#hTLZbc0|OHG!_@*F{#bEB;n!ZWDK>od@>!O? zmK)5&p+R~d9=vJeWwgNB)l!iz(;kugy{WiG;b$XZcLWX9d~A>h{4 z*;cBvF0%(lZC?t3(6L`&fRMlXg^leR1SQ4jA`V=;Iy!%vp3XoRyo%C@509NLBhzLf zv>$Gxb|gF0<#Y2(ZBy9d1Y+d5CCK{gJ-OB_OpmkvWX$gwff3<$xdiH-!6q=F+N2n$7m2unF(^2l5-6cyFvY2vPR zI2aIj%-3JR&p*8P#*f`?=pkE$e_uqRz5u(vE`AN60&N{EBFODmdiOJFb2)RW1p=-v&cT};vZpE zD8))9p}~%&Y-zlDHCNJ;IxA}H)!rW>3|f>tFoQ;%7W2hEkfJe-0Xd^AgK z4!#EujGkdc;=5BLw0}n^D0pS)+#|XpMd*^AMf?fH)4OZ|E#RD}>KT&G$n&RiM;=Zs z^KvU_^of<4q>1)zYv;+R+JH_l5mr~>XSsCAmpB*TlEsBQ6jjohyq2jM7F^K* zve?OYhOSKEff)Ww223Z>otDr*wAYajk@ffb&v=Ban?{G0j_xC(*)^8aqFzUfohECXMDTCFafFp*L@ab2Ux)E@U~V9=uhIfsRST#D>-8$m$})RZ7nxPsb?8NM@sOS?nEzLCHakWn|%J$JT?V zG(cpC7U%i*$6Y5+40|imPjQLjPk%e?CE>JQ;$t9_zu-wI{0i%v@AIR0dc;oIFKu2; z+VQH23bsU{t*CYFS{|Y)?_MPtIWcN;-TfcYm%9W^5irok;iLN!?WXa~CfV|5(X{q~ zDPMev)qCRj;!)P2U7NzIu)Ltydkpl9%9D9X#zYvlGwTh+q$&LZxiipzA^Bfp`V(UO4Xx|Wi)L~*n?EMG$B zi%C1NcR{?$s9t0gLS}JfGP7EwGE(nBfT=-A#?@|EwcMM)SkoDN7FXm7!byBH4lsvK$$|qOP)XaSZ54k#wT(+NuWAA!)$Mr)Au< zd09E!o4sPJBUX-Z-c(v9WoPFxB&9zVj9){WnowCj17pSdSlH0M6dwLSWSYzra&B94CWj zE-WF)Va$`ket}r<`I8#akB7zD8g|gJ=%rwCUYV1O2f=G~WI^f|xEporA_c>eok*)s zl_Lx@k}aIj;_>>1RFr3$pK;iEK-Xo+UCl)QzGc_4s7AO>HwA+%+L>(&1=-D;f#(Am ztb|sY5Czuein%@5;oK2zEGqg@{7Z}nXr0C!?2Ue+NF`o!0J46TNSR{uLgu%W8d;u@ z)MPyY8r|k$#YEMu?qENL8h7HuNb<}TxznoS$_t!%xifTZvfE`H>_YE1r{z z;|PPiWZduD@R24T!HfSxKcA1X0IO$TF>>Flq&A>h;lu-AaFim!NIsN+e@6h)LgHX6 zM0r%xqvAhelq~{-w=I8a?-! z-M;(RP)#l%LU`><9X|Q`CMT)$WmNl7Lw@0E?l8KS^XK|Ym@HoWbya=k^UWJ+KJuXQ z%dr@Yv$cK8h{*_)v!ge8ijZKw|NIrsAOs%LuJ^1U625YpG4;OtYpw1#M+Ou;f%AsE<7UB#q$S`%olUGbWv7Gq#X0fJP_UWq6p+NXS`i@eB zYQ&i9jw=;N&Cl{h-h!e*wutE0iL17)$WY`ywc>=|ViZ2b2MTLS2!@ zf86pRQ;vwtD+am*F9W%l06e1rHBlryMxigr5`zCJcHEu`EC2!Iv1WYo^RvDNt> zU;~*jU?L~YQFE}g>V#_BqeQEa7$|gK?L?XAn$Blhs|ax>SyPwoTOa>IeM0Suyv*Hn zE-}8@H-|ZcG-SCC_67XKCM1&`da9xD6-kU3`xU5;E)q(-Gh>>&XJXDDl59gi3IMss zD3faj9vAMIe5rVKwFzr!O@6K+e=5l=)=O||C&O+`?>k9sE( zaXY?%h+RUhFm@m);|eOedUbsJiEUu_BHhznXSNy0o4_g1Q%Ki&nD2)c8Ty$N5x}5d zva%0(Z`X^HIgDDV*97U@f+cp1nZ5Z_9<84 zebTc0FHT9aj3{HI#Jy=Q1p+o0=Mz5E#Fg20hp_o*r0B7@D;gyPNC3%@b@T@pO| z6tgroSo}<@@X1lC1_ATYuRun)`xq)0ZjEioJ9oh>_`L}$it1#aKnKRe_@b;8O>A3w z3sa!GZ&K&?U;Mgb%(23_Ibs9)p~fhH6>#T6ii4SMuGP|XYqt810uXi?b^_`#(C%=Ri{$OhV&6JaL6+23 zdY_PyD7R|^3aQW0jPRq$7AANn*Y*3c;5XjI+8|J34bjzBFfD=>MqGd()4$PFRISUZ z3PrjY*vo}vxY0bjRyTJA8Cb%z2n~#YLC$3JB9VhBm0^k-?dD~%c$0UY99IsNytAM?k zTRQy;Xx&0IH7JH#!#bSTezmqaTiUjE(6hBA=xyci?)Cz2#KauM@|f#C?O#(c0(l=*Db$UgY==Xk$SiJqeC1I zgiOV{x5&bE^m5{yRcH%8e|nW|Z9Aa@YBpCmLp-)y%!=U)j4kZ0`@@Reo*7WVx!Dna z>_X8|6!O>sKRjPFRW~|kfX9;e3=MCm&yg9jmAEIlPKaMD+1g=p`2wAq9f@$2@C<3P z!<%N_1)QAypI>e*)|7SdMeGVmSR#@rk~R%jP?V!xQAc5YoO=Fo77;A)xisJ0_n`s6 z$Sw6RC@cIe=!z4=DJsVG)at|ak2hbvcrWQPDiGta6^m40SSUItb%+naFy@Na&MbPP z&lVuD$Rl*vW;wJ14TH30Pxa9W16GuQ?FnnZ8;@}Pzd!X}pn&N;EXm+)yaX6n$r>LM zavSWv;h5ZH^O=EaCo{C4kfno|8E-swrzm7DzcC`cGyfpld2u;IL>P$F2zW}g#ICYj zb(1-I{EY0xSW0X(x`{j-a`@&M5<-R)hX@;1&mnw&U)5WLY&cW_`!&ST|7b|Po)zegU$0udr8&QAN zke!tOzPW#&wC|`HwM4poTdbXAF2C_xpvACv^&&&DtZ zZ0WL#xP8M5EBi7rg)%uda&YcV$&H(x`0tg#v zCiqO>_L(MFXqPt~J&dhYWGn=#G@WFD8wi4Mc|CU7Y8Po=G(T@>@gR~67l-erM~ zDogaE?Evvo0AyOAMWgJ031}MS@wbyK;5676J0-FVFiFD&{)wRP9}qzb?Nrtqdh0OS z@e6netbsNmW~mrr5A`XaP^gA7iiP~gfZMY5gWvv7^(;{fh8!UhgheLJ8xr7^$3Rse zOI9N48F{r(x~hF(*Kq{qXWT!k@iFgiiF zzl({)E;8A9j4tl(g6K5_RCYECuyK<5Z}&5K>*Y^9N%Eqjm~F1tt5ZQ79r32$zwomi zywS3G*WXftExWZ`$@4RBqi2`>ue=tHNKpN(U9cM(Bg2P^MfpCLo`&U-g+D-u;$WdP zOw%q2FCi1s=6iVh{k9%)PqOiXQh_H77}S9_+fMlhGm?QfPhI-Z{9v`)-$erS_tjx}MY zgZqD<9=V)UxgKF<6-Bf0Q-U;VL1M3g`&!UhT)Leri?s_p2pKwQa9jw8$YlEumK)_r zYl>CnRIo_^SB)wY7vb7c5jyIbtjNDXoBjj+?NX``;Y)zU!ix>cmc%?r7(&J&>*6H* zjjIe7;e3w{Nf1s1PqBS98`@}KxP}W@RA`U`%O2C>rnBc3qYya(8bW)y<1SFJ?VV`pUptn&r$Hlb+-=`P-8BpEAwWO zCB1KI!ti|k_v`jIFt1mjWSu{rvYyNl&0#anpZj#K11eQoI@vZ@s7&Gh%4Lp<%$m5dBoe(}!bSGsb?-Z%c zli6{is;U-DW!AL+!i@LYNZr8YEb0Cyud;f1EH*j2_qsF`a{c<(+K?pq0%_C*_}S1g z>Dy*;fj4A_=TZ-r22pAiEsb;`(X4r4MjI$1%;1yg(O6`<8=>f%1KZCavC@APZ0x+( z{%?5V%7aYkWl5_Rubtl?i@OXS8b+X;w5S{n=f)`;ifgnwU zfqUS5UBY9daf?*!NVHMImVzvSa_GV8{6qCqB1^tMv^L==da0e$aSw*z!{B5Xod+hk znRM)GV5dtmtU0)PQ>?5*fpeg7E#6ZZ&!OdhgUnA_Tj1)faax5uwV^6YImBNd-f+D{ zZ=@AArAVZprmryJUNZ3XB9a>+zj~qtJ-_z`66HQF7R}o#u7^=O3I+CAXW87kY-s@q zqMhUEKI6&CUzx7ab9nkoHE&qWQOYL+m3vWEsvCJM*=A?y6@Sg(vgQmbSVV+OeL3!C z4DHB_GMy`4JiZaeuZ!bK8rZv?pbpwq*!Uv1K6*4HoennxWRQX(kYY{pNvFvT17)tnSgTw4fH{4mX4_vyHyCdbfrWgcm}h2Gf=o zvp9o*3f;V|gfRT~@|W;|9*_y@2wTF{AcXkzvKvjiTgZ-{-6eEf9j>7c)DyIg8=^pq zY^`>&AV$(HX4^S<{J8^epDx8_!Bdogn6(Mt>ZDVUw4ou-STc_=p+DRo0FH%FeK=8r zcqJD;a{7xZmyDxuFd&$RJx%fD@3txvx&PSd#Mp4KFeD*o=u9hy0LxCy#iz+3X~^HM zzDhUHf67%KG6~gY91)jRDq)#7s$K~`>avgwym`pD_|+e4(r6zxWE@Y@{C(n!=>WzK z)?6|QQFrth5HNTLW!`JcO1$|N6>Qi!nIH)8ahQV**tF}69ox1f1M^tprH(&XJYKxlICo*YmHfkQ4aUY;gQ7yF-<4-Q6>(bIo z<`qH!A~_r&Lu^6i9f8fw(#P;XbzkQX>YrDUlu;%CB#J@^e{t`FD>EArF5?=jT>~ng z)Ffhuv%JU`;ce|CJpa$#q)Oc#8P1eM1cvIM~x66*}6oPJr`b&Wno(;wf#H-0<3HKnNS?p4<#h4qh!pg@Z&=j-5s-w7YGjyDh zw+hPppDkNTr+?9R8~s_#zExERP_uUZ^D>BqML`qxU;~b_0Q!%t`itD&lvWz3DWkZQ zZ2bMrwpr6b+6VyxLoT9ap-C&m(7_7S=G~^5HsMmX6q+^dRWu)>R(}`RW%zvT^XQ)<1qZcA> zB4b+;A3tmxIMi*`vF2XxXj>X;Q>JMhtS=}H0OoDv%%>`s9|`Df`k4o?M`1Gj76`Xp zy8eD?v=z!zy|zF@@ZLpU3Jk5dHE22JLZ}j7ErV|1A)@kU_gHvwnkSBZ^K^pS5sc=| ziuHT8`}#8urt}1@yrTXixHwN*wonHES)-PF3AF@*;>BIwvNMm1ai!Kl_yu@>7!X=Z z*TC4s3H=Is%luV!6r@L7D}PH zC`{+!zuFJIV356a~BNHIi}$?6#mJ%)j9M7}2%x&Wz~eH=c* zvlEy1oQ(R^=N;^6U^j;yFm!IPz^k%UymVMKX9B)%7C)%7nAnwqr_xe12-)ZCkRql_ z9N^Eesp7c;2(`R$UCJPkA+itVpcM{fr%IbZ%eF$aot?^0j#D6NO@vE63*!u~d&JRj zk^6&I=q%sdMz+dkS)GxHxf1-RJ5*HGR!4_e$D)F|e+0F8ei&*bh|y!h)TFxiMu`;4 zV6pL*L$^HFVmSwsi6?oF@snB{njmSzM7AeR*Ph3{nZhp%MGp7{{!p+E%^y$&bCk^* z=}rA-*cPwP2Gd1uWQ%ljV<%naon;ENpTCQ#4BBbsiR z^t7?UuG=ZL@a4>NW}6{N=778U7`ooAu^{}qR{90@d{_s&)HO72tk|Ex)J z5rQ_A>aeVB*h%@))%|tO@vF9y_k4}l%8?bO{egc;iNxQos<`HSiqza!n24P%LA+B4 z8UcigL#b%q-|iF!#7hIHQ>Tk}wJ^F@`#?=EQ(pfbR#ruGnW%Y9gSevs^Mp|Ls+yuJ z!;8^m=RJ>VgDR;YFPD|DltAOZ@&%69++Cg>fX%Aa!&m=fXjv5czmVVwo9~++3aQ(+ zd6XRVLE6W0O1HK#NjipG{vkoKjZKO-{>RnI5^2Mnc~3*^TzZy3&q?0Pf-VW{Izbk; za#Sd?v5FPk<%T(FykL7nNZ$u8%0U3bRY!HpazypXx7pwOz&mONiE~rUt=_Vzs_DJA zWS4tr8!`xSRnq!vNiUP%7h?-2t9AYY52{gNs>ij7BY-~&b#WWpJ}uVpXUF3YuYy|L z%j3CBRzEAptLe{(5z@hnz3WvKIFB4jmNW1k%)BIWqTd!Q!NSI%)@~6zc_TnHK|5QH z3*SGY*WE(xzfd5t;Z5&Hq72SS+FrbL3DeP+bpqvDx#B8nJYKClU3R@m!;{DrRBRuv zZ%MATughPT#^}a26`Xz#%ffwP$gY^lR&J@rjQHic3i4hLHjT!_nAtrB3eNNp;#_E>FjIs zGr;aFp?t5zo8XHXBzj2k7gO9^>gY^P^@^%XafP&t_GMenEr=y@W8RP?paY~h;?)S@ z=bcI(B-CoZ@b){3=F(0N`2aXA_R#68j%d!_UA)cy>g~HzH2U9V@{N1{tJaIYsD9bS z)0RrpsBnNcd+{2^d0*pgj^VyxQ`ReiGi<&-d~Khz>S7W5vHZaeA}WCI(HEid>*z!!&t%tg45 z)H=FU7!qb17(%-e>Hn(8m}VvaSlrZzA+jqgwbwCmT4tL-Q?Rr$2v8%>dg0{OCKtBJ zr|9XWjqXK;%ttsn6k5q{e!+#N`k7^pi3c{$5)0c@IUP%o+v=3id)jg(P3_u935!79 zm8zjPuhSR(*YJ>OTFan3g%5zSK(?@Tj@&7tWVo^P7xhT&@CZ<0-EiHinHnu+DWV-#~ zu=;gkv!qt}E~+UP7@1NfyTHT)O!1)@onj8o=lQoXbkE7?lR4g;yn>hFt(l?B>NXC2 z-ztt}MKL9<*;EfX{~GDMElP@1HP&UhF^kf%e7Lca`EOfj?QS={(70sTVs!-5`l-$rA!$!icR!1fZy*NgU~`y4x3yi?p_FY&)#f(gx@sUlFLd`^keoxU68FhZx$>{ zk&8A7vAPC}8%G+Ndy@SVY&5~wA~~f;6iob|G6)a+5lNfyKfy$crd4pgZm|{o?op_n z=5-AZZ`aZzS+!Iq%FEBcLF&0Qbah@G?~H&1)ov^H1rKnqWKPJXUb#xsf{v-(rDPHk zU5t=TCTv=VeL?XcY^y{xc}Welpnat2rNaH6xw|zT^%MDB3Cv?t!5B8qoo}bP`n*ia z*VwQrEKhh3%C}&lj?&AuH}cwH>#o@J^)uJR2;94ze{f6c?`Q2Uce_ayQvrUaL5;Ip z@$m__W+!QI->&qQA(XGM`Tno4I6)t=IP(uFZw0?*0%nvD9fCGqXw)|O|MhwOAJ;bgELO`T>6bN zZfV)*?{;ywPR-2ImYwIVMFakJlqxdsIl2ebJD!|EwW=rpL_oX07bcTLZZvuI@k7_ZA@rqR6yy5n=BUO|d#PT{lR^pvdcHK5ON^&Cj7wKitmt7fo^%SCh(mI!8(UlZ~ zei?4vJO#ij+0fy2Pf&)xMGKiuM!%)5pF#F(Dtlfdj0EmK`*)+ekDYkB`mb_&KAI`) zt+oiQ3im1afyI>xQ<_^399-fj-I7tkE`);fo8m^_ zDW0A9O{lOuoB219$u^ItaB$*UzKGWj-KSA1wPlf03z~>Dr}C{`hF)^N6zDcQ&%|KE>n$3-71?6&}O`wU`-RK0xQHfF-PlxBkCq z_o53_cWQs8&$*D@L`u6Xz${@VfyEd9MR%*v_?RmL9G@r zf-vG?!|;Y>cc||^eZaAZHUB_S@65Z1E7|1D-}~SDz<>NiV%KJDWJxE6RZz@f1^P@w zY?)|iZw73y|5OC%Ah!`k+oRZWdb+rF|I3rX$uK>D4{cH^yC9|z9L3z%Kg2*slIfp9 zy6_qal2NSr`riiOo)#7U<^4GYaX%GSqSgJ`cMS*2*l+(ck@;KP18jjCM>d_;-|ud*v$3mq16b3PrEJ_~dBHavIuQpMI!Sm9u>c29=1;GpwRWTT*+t*(`J|cd}=%daSmY)m7$S>whO&ga-oe~3;Dfj8E z41OCViC)g~vqH5P|4W8YqM2bk_NwWX2AR)Cg))VgGp2U$jCP!3YTdZeo8wFH5u{}K zY};Vrb+_VG1IKOfA1m{QYu(lIp5{9~?st)y>TQ4u8(Ku^!+X0j!6S^KT-)F|O)>tm z$%^{#1>tJ(i#5X`%oVc4Qe9jl229{kwA|<@McqtV4*C?qm+;=(v#os{0j zG_0^lmk8Ejz{-%N1S#&K0rB{ar^+}imcNeV(O5zZ*Y8^wfaqDQ;lwCcDmiRF!R>6x zf^%+Yv>lYo(%dP`QdziZ20{=9GORrX;8_4D+ z)w1T&JQSp4<|3@J7W$*LmEuUnX?U9y9tJvwyB564LH`02H1uZvJ|4{l6F-P*aPbMR zY3hbx7)&(9O_A45igRvP8iAnv5pzC}hJZ%e*iRd9A!3iHs(XxQ$a$A2-70$9ib*k& z&|sms`%7X3hx6lBNh4+8Ybe5OSIFbn%C75!rk(T`Xsy=*-^%>RD z(a^y|E0D^?Z@fKL5x1u!uP%xN(gZdwaubV2(hPk>7AD6*8I%>agl8s1NJD2sTtlcwK=&^Wqs)R9veGdCbDhCO5_*#ku0{1b3u8q5_I@ zpK^O7e>{KX9kj4S86+)@m-E=@ZOjs+ol{TQfwn4Ux-Gkr~-%+AR+mO z0*#5c2S`WVFwH%Eg?SN25cx_lJ|4NsFor*@3mMD_Jv%^$KZY!e=UL&_FfF*7lo4^m z*yo0)w&b%}a4f(@+Llv*ym9K|(vT9X;9g}2ui(yF!7PNCS6xXp@d}8lo+kmEO1JH znbxOhjaqg>WSAb2B;CzC1#8JQ_pJz%?y=jqg2|~_ZfK$(+h9SB>>)~qvuVTOS+~yz zSo&aYOKbS9f!#$@M{?2NVQkv`T=U-X@!9C){6DH(4dzXCgS-w33^rVrgZwerF1X1Z zl^z&?w7$4SKnf?6K)mZ6=%Y+SWPn8zfN$Bpuqq;VTZyI$NAU;X&4atMnp*3vU5!I^ z5rrb>O))ztdY#3nmepibt*L73R%?PY&2RATFn-PacWs6??K3!rE^i{bvF2{2+~`oY zvv--EFA=-EH@z9Fy?;R6A&sCjPT{0ueNXty7Xzs_QcS|1B>39bb(Uoy5_xdFfCm-? zb&P)gd4dB->Rv(0&&oNVAu%oMgK#Smgz!@H;-1dlO%%L`sW6E6tU?Z==^}`fZYWkr zH@zV*nIhmcYl9XlrGin)F8~pwzDO_nwTLkVvIy$NP<{;-mH^F4^)pp$L{$-}8s6xI zV~b!9+L@vZYWLll!udqPM+(_@ZT@G9NF6C?@uh-b{(w7zA$cA%{D@}!G%<2@+=k$| zgl)zeA&15wGO9fU%Tr*-o=uEEXt>Y~U!yornL!1F#X7U4>h!^sIbfQVYLLncZL1ne z0##@U#kRR2N^XD-(LbwxElr2e5!HqEU;QJU!d839St{-7UM)&(*cO6sHf|ZanujEA z8Z9*HXw}pHjGH&Nfps98dfxEzvnJ@muzdO0@=si|iq^FF|FTq!P*Q54Hng77~~?UyH+O>ae_2$5If zhR=e&g0JJLSj2drTvJ!!hY5Qo*(Hbt1zT6{lW-^#FG%oOidkzNXbCH!BcO*_fA{(s zUt^zp3$36N$I%Boo6Q|PMIDW>G=d5%b3FwYf1qk>V;|d|A*mh~A{&GhmCjz!{<&wsq! zv@|#E>t5yCy*aw85$#7~IwTIFY)R7Tshe$E^b%WI9Y4awxBYY%{&W?-(Gp$plZnWK ztHgJ?qL2{hO1By(P&_SM(oj#b)-UGL09E=4ds(>PP0X*bDwMLghQqyDK(<$)+c8dl zK_g^F=T-%@W3kSqvCJYsrDCA;f^_m0yG-J1K}kHz?CmOA=w5?rs#cRZqGNmi)}0&~ zd-)HCA8>I@^^CjzkNpp2uIf7;+<%BbiRfSKN%OwUTXIKpI}aGrE>aw3c+4Lq;uTl# zrA*k?Z9Bh?Hl{`+*2pEyd}H?QlH%VE><4R&AMnuZtmJnaRqN8UQarnbn38g)mvSPq z{y@pAX6K9jRPO^r6*@j>oW5sR z5fQhX1KpFRH_xWCX#bHZJ1LR&Ph8k@qxQV;Ef3&1v6KM?38%wPBvbQ1Rg`VC{{DOL zprRqQ1n%%g|j)!WeU_DdXnv>jEnekub`S zJuCs1Ci%qdBe*N@9TO?IXq_Gyg$VLF3~UB0d_G&Shs`I7mpv;K%xdj zg7b+W47%rqf>DBAB)Wk}Sd@$?P+;ygM(l$xi31m#@`psTL4Y{oG#7}q>Fo$4gX}h- znbqg1G|_^CE0L_scAEXc31*}q9|496Y{_tbVC~p}Ij@XV;1LJnv>DcZV2h8fQCZ>h z01B8DKPcf8C=O9@4VAjRK+;MySfeo2NqnhAOwuQRN!JqG&RxbdlDFvlueM$!ngEwJ z&H8v@iK-u@EHu(u^k@mFct&Oi3e;MRXdkEqX3`1K;xU}0VKucwi+3_a2#96ne+mz& zqX}A}k{7gAWD)H1O5yW4v*VoeP)yj5l;?xg+@-~vsrq_>F1QzN_ z^Ko#l$c>ZOfONz`GL4oJ<0r=_mxCA!xpdE=YdV8rWVz6PF5Cd&NdCg50Dx1?Pw&%m z!0Rq*S#vX;G$7S6ctCKn6b)rr47zT1`P8$NZy8t=b+!%Pd%sj|u`OLx0u;0CQN+%( z#D`7>zM2o5U;dKy?#9kin@({Yb&Tc4RfQ9$LT7_rX3n1=O_T$}l+|WKNXc^QRD(eJ z_HV!XAW)53l4>jugJh1nN~P@-ag*=jSnYw%EO)jsjYUDkEQ!L3Qn}V|k#+Z)8!FX# zJ2u(cHI}6WU~Ov#=P@q!jLw*+nSpQNZ)4Q|0)qwpxBhR2*bt!31m0sPosJ!Odk@=Ou51Lfx+q# zhbZwA%P-L)wp4fE*#}H$9j2K!PK>z|KY^v1rAS)lv~;M-d}^YUGFR@nNpnYMn%fDC zUt#8*-wewo)HvTt-7mfcfZgDoM$Pg_@NX!yu}}h=%DTt)aw(x4+#E%CLSzjKO9Sz? z5@N!dBeJx>+7L#G^w26QnP)LG0SWx;n28f{TKxEla0*YDL_ta-F}6ZGVar_T+4s4P zaAaMvuyRXoh_5VYl3PeeyunU~VJAVB$uEYpu+jW*1TZSz33z{bk{}N$SFyB{jkUkr zAv?EMkZF|nyt1@t1LWNa;&(AY8~W_@VDX6a6KI#9o4|v3GGaX^3WUd-*QIfu5)#Q^ z?zqB;Ak=Va0^egFhQ}@11%a?WC=6O)!5ATc(KVHn3yf0WqYyKaWliYEtJ~O#1;FQ1 zLTTjZGC`KGFOymwPuQJJD)4>#9W@;Fw0?XUwWI-7| zTt%U%93mFGlS1D2@_|;Q)@F;;mKp}QY-Tj@XE;CH35ny0AUmJ6)@w9EQ0)L`c=blA z24^3owE+ap)1o?A=@{+~9_ED_>ihQe_ira`>PleF*8*gGJ}n?(m+#RlHr8EjkZq~L zZ`-&22R8W5nLBZX69&H~mX4IY;xD}~y%V?rGGE|KsRE~H0X0VJY3;@BLS^k=KvGF; z2kS?Osik6snI?u+nUoUGaI{Qa*=)sKpoew*b8olRoRG&TAjjjMOw;B-GH>28N6G`r z3t&wU=4O(DBM~|E3GnB&CDEe$5NJ7Vriuvbkc82FUob&7S5XFXk#FKKTDf478}F{%}8T$hTQNQ(+tzN6^sX`^0z@7}J0l3i8?p#bOQwsq4 zcnFYk?fvr4hfwewQXHW@Z(-W!nE&*tvIgtnD;I^ zDsCkTw1s$ANJlMH-IgE0N@)FeF^UYUtO;^2wee2|0k{LQ25LE(Zx8286-Y0BlnQL~(C6p#D<#*F zY_B$WwUL|%z%;Ik?K*B6S{7c#sh7G~;d_3El_w#crsFsf`X&0Jphgkyhl77eb?Hx1 zfK7r>pQoM$9*ad`MXto;)i^8@gk-YLF_~-a^c38`wt>rkKC3Ivy(=^Ai$TAwruYXv z*ZD$Uv98EtYIg8w8wxi)kDLB1z_SL+B?S^FAgMGl*mV7w1Fon`R#ciT5yAt8L2{ja zvDk~HYge5h%m}PccD!lOpq|diyPCmy1=jj|@t7L&5hCis6;meD<{_Emg;`b9il8J@ zUr|Ggy@vOl_VWb}%7w-*_?sDcI0p}1^TevVpMTywzz=T{a!yGT5SE2WhP558M z3_Qb%T`!u|zAStE-dY#G#_<;km=QUJTqLao zkpL{MM0-l4@k};_45}&WdRnnYD&j(6NcjOBN~|Yb;er_c*YG}Hoqs+#Jo;d*LykW~ zK3+oiI$S$a`pZN5X9)LtoK;b}#$=n8*&L)vJv?J)*u_)*_$K?y1yh)yW&FQ#{l;Lg z)8M6Wxt~6(&qeV4bQ2QXMDC$P{kBJIs!_$PboGw|ZcP#?f;p7u04hrgNY2d8HMa!t zW(>43Z ztkOtxKz&P>dH?=(rLjK+<3CW6f!vaRSI_{%A{4!9MBzU_v;T~n@Nl8fyNxco(RB)e z0|*XoC@#^-_ap!p!G*jpgh6g5vY;$1n1@6J+*^ z58t_i+S7`}png|vNU(>_TiLEFO>^v8i-QhSpdzThZij~BYhf#B^BKfwlI_Ov7)uoi z=~~B1!y@0>h;}rjiK)*f#SoOcwio#Ax|{(kkjseVKaqvz|BGZX^73KY#J5Vb;@V>_S*<*Z_*;ifYn zRzoSTCNWX8HkQwh;@l+R7Nsan;>KWH?_Fi4!e0}CFqT*mWSWcFr{j%R5a5`ZBE_Fu zReovWYAwX}Ax%i@s*M-n50UZQoI-9c_M-4)w4bTEoVmXc(Pm)y2icM|TfDz#vK=ka z+bAFZfT&k?q8^~n&&2EX$v5%I1(f+&o4BDUX?gO^BcaiB#UYgjnOuwlJf@~f`0>M` zoihSa#nQ9)5`@qt9T|(L!G~>);oN&V;@l6tXGKr+ zyWLyD3qlzyr<6(<(rdmxMAQpNOSL(WP?n@#mYG~ua2#Vk)zpB<;;?k-ITBVtvyHMb zsC^Y{l9Tx~jDaR+LeTq46l*wt4ozLrRbsbUw1M4~YoGt>91oY$THgqZY1zxB2vm(X zw|+!yt2SOaoHs7(f>~MKy~uVf1Lh|GukH>NF`V|tJpE5mM7Q^$V9>LY4FSYGILWq5 z(A{u3bmS4nesrQ51ngmh4Wf={^(C!+hv%mYOAEJ~J!ivd7Ma370GxLPAvKm(q-fVO zIs2rSm4xpj=1@MnSJ&(73v|!#H`}d=E&a5I4Q`+NQt`y+8TS0x17$ZduABg8!!2Jo zoSTZQH}itMO4u^H!)_nXW8`>Jbi|zV73T+|hR2v7mEnH6YtQZuc6R$rOt)NYF$4%R zpDZ`NE(u@miL8H^Z+`mIBSVmv`waJa@iVdv@4V{|Yp?7D#m>BvAtOquP+PGxBT3E` z;&-z>uj|Lb-{{swF-D_Sd~)s&-M- zorve(&}I1{{JT+s=?)gaT51&~<1|>@%2$}v-$Mh9uZmTsUir{g*%J-1FS2D}PGZm@ zI}6Q!X{imGkYUJqZ^UKdC;!tl0AxeOz_5#`kEXYyAuH=bWicF!$LO+oXAxJV&#VG~ zpsr)>ZeHqL9Eu}UeBW~zR|V-ISfF~wmtGY3OwlAxN)=T6d>+SGW4PHjUkKvAAIq4q zU}QZRHZj;J81QOWxeWVIT4J1H@-GG$^ti_OpiKuggIrm`C2=XFojlp@Z$42Y4u{IYNj{jzb#KR!-0( z(zTQP^1>boQd1#NweQ_DN~{y{n(|YTwyr`TD42D;8$hORCHUQ~86`aOVTc;u56@nE zef6Gk|MgxrszbNM``z(sQYq4?mu;?!mmky-l;fpB=-cm6LojMl8=i$G<-m?!^zJea z0zSnkdINsAe%k?6@;Ox(#C+3MXaSxPi~~~??`VSfM4>8Z^d8@Q&j1!G1`^BOlL$FC zH$Vxa0F_1|Y`_7?x=CXjW;(Mh2`$_q0a%!K5FZUBQ58OyKB9W{i#yxVNP(Z_wgE*C z6gNI`co8)||7n(!tAJ$z%cyg|F8>OQRjLes{MgpJ0SC0blLgzPVbL}#{Xs~{s3`@f0Y0UKee(&)i%tXc!z@tGw6h~dBRTv&~ zn$ydK65iFdWln~4BkWfJT8lqtU0(Z1`2L8HKmbK@k&?iAx+Cl(_<)C=CI^4H>=xus zEQKyVI-#>Ozt$z0N|v4MdMcEQ%?mz09RkJoPnYE6ZAkjE9-#YSSW5$EQ;zOzu9;M)3W^SYB<5DVkR!OxYQq0h2Kv%jPRhd~a1B%E3Z!$kBopfc zRhvRl!L04Ovh34>RKxbLu*eSC*l!UZ)^R@>B1#^C@N9sat4<2FGR>wa!n>HtgkZo? zK@(=7dp6yr8L(xs0fzZQ&2=i`0xRN!rrK*JJDfVe#MqmdVAD~M?7sXEx1REB$2~vY z+ab}#a=f`hWut5i%VPs_gIr4^eV$%@dQ?@?>{wkK|FYsD+#LEVa}#`BhiePl3X)wc zjZJkmSvk0Q_ynY-q$IYRH4^2eiwMVf+rNMWEDRjlH=Y1|34==*&*K{s9Q6;0K} zpxv?8)JEROyOi3P9~b%L<_x&|Pd$3CT;=D7-^WWJ8adK3=_4;A2x2rYZf(uUTRUu- z$7Kh&EL?H~?<`+&mcRVp7Y`25qGe&_V>CGj??VZUG*L$pu{?0rmIK^?$db?2psqna-HZTTp>KsRwlVe&>LQ%OdWu0I z@}UD|xuF;3tkV(&H;v$2T3SEGDuMe;aB&xW6CcoBdn<`}vbAr|6)=LcM4a&ADY{6K zaOv5;jis>)k=9~P1L;@XaDC>}tl8VJ8e>oG7svH%??~VrXvAXzy@+?eePnUyqt z#mak85(~Wm5-4(k&Me%=7s*Xi3qlX$S}9b=!A6DTZWG2+BxLjU*h}uaL{=GGpAfxD zgmL??mxcs&12ys=rnIKV>4qTRWNJ$BE+(IdhQe;FeQqXN3L6mI!`dv}uToAeN3M!R zJ;|H8w`Ru7#lhO&qKxvd{%I3oiKdGnZ5e z>7Yv$UgE?iZ{_hW_k8*?bbe`~@0W7LZA>y}pIIpxus|@U%|CxQ#y1JMoG|_yqkur1 zeZD00P)a~SM4FBi$@y@yz{ai-FNm0VV+$Y2nenA9qL~RGq>}SS)teNoqyGoFQRL)p8>e@)LMd2Mo z2x=+hiKpIoF!2fk6J_R&yeA&s3rEP?b z2fU&lCkI+(V>|qFj>1WQRTOj4hekX^l(g=AT5hwP&^U z=JHEb<+#Xw-Q>Tdz)MC&WUlG|+H=W^*M)BIj3}&$_)c8Hl zhc(fyJm|UeGpH^2Sx?lTbV_oOjESSl$6=x^j#R}(A2@FY)Nc(uCket_pvP}V%F}H{ z7z@u`iZPvPgGF_=r?yb9Y`tpRtiRutNzDiXK`9B=|0a?aEy?klAiK6;?Alf{>a;Xt z3)W~p8aZ)=o(+P#HDGwMdc{MCX>YGX=joBI(On-LR2}xPrl29?nW&DAGo@&i-5xB!i3_a_4`U1Z9e2<*sJRSvNCW1f`MVWy zR(AMz@~EDG+GA3Kl+^Gh;KJAeNyHld14c9u3}w=aa>P=@BbIs6)v?_!pz6=oBKPGhThgvKK}my zY|b0I8_M;~Uj-#&nQko^5 zNy35-mn?lY;m(xu|1eM(Bb8f+j6+g8tKA0TE^EUuTdc@_>)f4)|G>0$eotY-T&p8l zYJO(Z9ng!)4QYfgRw1hIF9?^tYwoVQ!Vo9Nid0ZbWv;9|7U5Edy6abTP<@}jx@Rj8 zo4TyQ3EWzW8)l%G+C!DCKq(f8Za#0_;W7dVG14vLG$BJPwo`~QTL$^-|1z|AM#){F zd{D|gY{Vzg5sox!^59C36{@s*c4E=>?>xwC_{0Y>Qiql+hr;#SogTz&7>iHwGF#=Xb}`_t#K&u|562(dtGiU>EqCQ`$0+ zaX2N2l$CFrB^*#rgixLbOo`l$MA#8|q}+j~FIpN-%c-jBG=RdXAyyh{ehy)NaahUn z@4Gl)jINO3JglkW#`6z?n@Z^c5bx)z-c}==IO=}pg1k{nYwMpBgoLTi#wK>#Jd&_t z1|cnulsGe08BOU^i=fHvB72+QQkf%yQC+Zji5Y8$457QGg9 z8zj^;n#JIS71GY9LLpqN5&3Tg+G@A5eiP0E}U*zHegG1VkC^~z?{%{yl^WUW!6=y z*()Gt;6JK(35TZ83MOOMI-=3(wIrfi*7)LT@6=*-_wdTbZdv<4NpsKeEYiL?Prx-uZhhz8$???kdVSw`>(J!k z@apZ9(-{IP0hGqoG+^*M&d0yv28%Mj;1O99=zlv(W0rq5_5;1<{vGuG4>{+O|7_R)*QT_r zgw3#+IdYk2BXCpB5>2}?2kB}wP_A_Q`r2)>Duw-R_%`$e(~Dk8Ef_cu)C!mjg-}iX zwKdFeGsy4?d+u*0iMK9#;r;f*AGP_j!VbfRj^|{#+@YfRH;aSD!l$~&pV>YbSxFBX%MYGN@v7kjzYyices zzM|&doZ5~vvc2z>7;j8OSO8ogs;ReseQhOzmg>@tRypEoaarU~&!am#i?2SF*K(>$ zLnq;;qG3vAgrJVS5#Kj+-U@Z@+${gMsrO7ST(=7Swx&E~#Fw@9FRd+KC4_&?R{u4* z9<8_D4Qe#?O+19NJ;X=PwIYGM6kFjPx|TH}0||H&p;e+!_MnxDnz%Q_+P{Ij`%5k{ z0!t+f^XNKtJI&u5b9^tm3-b1Ayxe>M)i`2?Z6?Q-<&Kp8o$u!gC`I~||G0K%<>onz z!PJbizHy0Ooy@ns?V1N3vO-mKDHa)4GywMO89Pgh5eAnG<{dAEW-sioER%GVL|h$G z{i)4pcMz#WIH?5|>sb;pvA6~vbbT)&R*1wDa^3TmiYR2a@Pc`Q*U|aVP6)o2GpaTc z`=dOFpaHWAwUhCyAOm-?X{+};cKL&szsr(FLos?QZHh}-8@b5f)-2P6Y{V4uNO}b$ zU5-@iWKm1)>jH21cgKp5gmMq2`Q1 zTyT~CL=!46H5k#K`*)xOicBH8j+j102CRI~C6o-v1{9_L^QEIMc$uge^#k!6gExap z!eCG_M+Y?u=1%yslp7)IT%9xl8BZrP{2uzDVF+4bO}6^~8i5l&`T~Iz%~KU_i3ZfA zON$*WSrF{F#i$K3p$pT`Fh;E1R8(Bz24b`b0w}|Y79f>fJZ$s(FA*lrsI!nNV*5PSDt-$GU`mb;> zklwnVu(vyV$7|aMr7gXCC&$OX3qVlHI$2L|pk*3jqFHM~g5tj4;Ld^XpM{OZfj6(M$RzDl3p47LGW4~T z5mo7*>2+YrKf85PDy9b)D9&O^fSU2iU2!ITl5s1q**_g_%yrONKWX&%BYtc5fn@Rb zH+|^kf=1$9ASmmV(EOVg&K#i&nove2pMu?a_I2ZDHso`v)HCoYROO1)XaayGMin=g z!H2)}7q^GHJ`buCJ*1QNLbdULwGC4(3nUn*Z7(ol{R84PLpOT8rI3aagc%7|$JDe? zCWV6ceP;v++R(hjv-;WCox#-y_m1gun4XKQMmI{r*;hpU`9KP9u@rt zlNs7TP*X~EyCE13VFOTsFW*Ys%|Q>UrlZ6e+EygkI$>N?8Q8Evm`AN}ByLc{3Q6#h zhPHcwhW3s)PhrXl1KS01a0d!W1st5-Huho;t;b7v0-PDxSR0(8pUs7K9L?ZyOuu|y z8AQLi09zX$8<&F8DKjxiQ363z*-oBWUQi0JeY-qqVfM6Gh({yF4rl^W4o4ZR;Tw?hN+;46RDeln)qDLX=o2IY4jir)zwUR?D=|O5dQHHvHEJO&xQT}Q z=7&6NJ6Lwf9pxwjzQ-K3!wA)#Hhlo@t2vKF*$IZ9bwz2?1)PS#|A>NL^+EY)02s7F zy`JRbVAsAs@_mnSw+ZTm6UwL^D#36S$6JR~+(=UBZCK$j$PA-U;H(<~^@2qWXd*G5 zUm||)wY{;7chRDeRT4##=rB9|DwPfnJgJ42Klofe1>uMT>QeA(_$c6%_8xbeIu86F z-F|n0C%Nk@I8k;8e5kY&-DS$EuX@-SCy`u+(n@dcGg~tg4mf>r)1gN;9w4seb+`ll zT_YJK&8uxyETb|4*5V$0x5RRx*jK2i&0Wo%sMLnO3|hWi3p2U#R^oEDRz0`wv|?y7 zWI3FwoRd6Xyw#uQPfMM8{20dmzgT5IfKhad_1(Pm%> zAa)11NUr(8qjoTtdeu%++WzD2qmqaPM+_#Kjw*`s zk|Whaq=Kj$v#6En1B?$1f5As&LnT(=#Ue>ZejvM*9wr|qkc)s-H7&wNMut6hwzfHf zBO=V~L^p3+3yo z=1BZ!m$bF_g-x&t;$|+|)YeVlplS3O*v<=|g;&lBpMRK9SR%$L+0pRZ^!iqp+u!W} z?C$~R`)2SHp9_BAvBp&-q?tKgvaKqZ|2zzcURVtWl49Cthf_@~Dzf&r%ZIc*Clghc zzw2T7ZAvwo(raLEBkgvmR|Jb`_jmJ$slNV^tYM0+;m4@E3?z*E_4C-H!#=V6-m*JJ zlDlr)O$l1*VJyN75Ip16(q3j@viQmHXqrY@Mqy*9Y0!c22M1Dh7j|-p0{4m-fLnF9 z!L<*U@Q8Q-of^JAc9O;S#)S*0PpWI9*oE_K+JXx*kzSGx{4m%qfRuf{9jwD^i1*Aw z1-TijCr0Si=oJ!^-MZGhbUnnNvA$dkacK!PYm>74K#N>@2r=WNE1{q=9lpZ)&%kBB z`$7M>i_98DtroK_5y#x}j!0Fs6@=2cez;N31xMefLC zcK_QyG9mn#;moPN`Zh>TdGqh>RO2M96hr?vMKaZ&bTK+s;PdYPe%rIN+OznoXhn?m zYLt;M_Zjr#b)ziCM?BN2yQ{-Bul_!;KE+4vSGPtOHvHW)`4_TkM0U*3jpZq8yE|AhgpI ztx=G5uH#+-rt5spID8kT1fUF4>q@7lkN;0$B@>vT$l96V1JQ!XbPbz0)wW!V63js5 zp@=zby$Yc*U+~2D0gD*REn_YJ7W%szY$(LB%ZD^tzFiW^OztQio_APs8Q6=RlMQLR zbKvdGg##je*I?-Lae3?*%!RUM=A3D4v3Yb$*A(Ayu=?L>XOD*XnEaR&V!koX@@J83 zE%iO~LJOauXUwZJlSiVzxY#J^AQD``l?qr-IHMpP=;B324B7&MM@udcFu2Tujb9{6Mgbaa z;o?P!ib=u&9?U&UtDFL%uk4qhVv`Y^QH%>B{ZNz%DaO)RDffs6V_MF|oxn0H$}r*{ z3EmP1`iE@z%e>>`T8j*`-^yr+5p@t_?0V~Ip*@}=oivE$oCp{Ri96_cpZoiZVmq|5 zUXY?4!qgSbBMiPM%QD#~Z4QLT56x$<584Q~vf2NKnkuHRr&0y5@ z3$N)qrrnC|I)t@~Woje%J3Bw~s^pt@>BN!yB^76I_t(I%cr}VX``5vC{E8q5yi-N1 zBXJFW+QjtP7RV$FI)GroBMHNpK8GzvNuL&-`GQKluVp)P?4)@x7n)A+RjfpepR@qM zE|3Tfjtq#NAipu(EIn2=ea!U%kv#ixgAPaH1{Ye+fgMIk+1dp&0jJ8=?OTPlD`|UN zN~PXvdq$1}K2{Osx^sfk~CmD z6WkBES1qdO4!pM>2t3GdX_L8T{94IG>xz0XN1_-rc*r1X)cTTKI=@tFD~hZkuWsfW ztPw%>1S;hUc&}gRw6GjN8f&nIcsu&pw$Yk}6xc}VT@W;J?%^Anj=g≪W3+U&!#P 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