From 4f3b22b8abf9ffc78eb16c289a5d5fd4a34dd77d Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Mon, 8 Jul 2024 18:30:05 +0530 Subject: [PATCH 01/12] Create new method for header button behaviour With the introduction of tabs, the behaviour of the header buttons is changed as follows: - Close any right panel if open - Open the correct right panel if no panel was open before The old method (and behaviour) is retained as showOrHidePhase. --- src/components/structures/RoomView.tsx | 2 +- .../right_panel/LegacyRoomHeaderButtons.tsx | 12 ++++++------ src/stores/right-panel/RightPanelStore.ts | 19 ++++++++++++++++++- .../action-handlers/View3pidInvite.ts | 2 +- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/components/structures/RoomView.tsx b/src/components/structures/RoomView.tsx index 74c4f916272..a0555abbf78 100644 --- a/src/components/structures/RoomView.tsx +++ b/src/components/structures/RoomView.tsx @@ -1287,7 +1287,7 @@ export class RoomView extends React.Component { ]); } } else { - RightPanelStore.instance.showOrHidePanel(RightPanelPhases.RoomMemberList); + RightPanelStore.instance.showOrHidePhase(RightPanelPhases.RoomMemberList); } break; case Action.View3pidInvite: diff --git a/src/components/views/right_panel/LegacyRoomHeaderButtons.tsx b/src/components/views/right_panel/LegacyRoomHeaderButtons.tsx index 672a2886564..207c97ec7b3 100644 --- a/src/components/views/right_panel/LegacyRoomHeaderButtons.tsx +++ b/src/components/views/right_panel/LegacyRoomHeaderButtons.tsx @@ -214,27 +214,27 @@ export default class LegacyRoomHeaderButtons extends HeaderButtons { const currentPhase = RightPanelStore.instance.currentCard.phase; if (currentPhase && ROOM_INFO_PHASES.includes(currentPhase)) { if (this.state.phase === currentPhase) { - RightPanelStore.instance.showOrHidePanel(currentPhase); + RightPanelStore.instance.showOrHidePhase(currentPhase); } else { - RightPanelStore.instance.showOrHidePanel(currentPhase, RightPanelStore.instance.currentCard.state); + RightPanelStore.instance.showOrHidePhase(currentPhase, RightPanelStore.instance.currentCard.state); } } else { // This toggles for us, if needed - RightPanelStore.instance.showOrHidePanel(RightPanelPhases.RoomSummary); + RightPanelStore.instance.showOrHidePhase(RightPanelPhases.RoomSummary); } }; private onNotificationsClicked = (): void => { // This toggles for us, if needed - RightPanelStore.instance.showOrHidePanel(RightPanelPhases.NotificationPanel); + RightPanelStore.instance.showOrHidePhase(RightPanelPhases.NotificationPanel); }; private onPinnedMessagesClicked = (): void => { // This toggles for us, if needed - RightPanelStore.instance.showOrHidePanel(RightPanelPhases.PinnedMessages); + RightPanelStore.instance.showOrHidePhase(RightPanelPhases.PinnedMessages); }; private onTimelineCardClicked = (): void => { - RightPanelStore.instance.showOrHidePanel(RightPanelPhases.Timeline); + RightPanelStore.instance.showOrHidePhase(RightPanelPhases.Timeline); }; private onThreadsPanelClicked = (ev: ButtonEvent): void => { diff --git a/src/stores/right-panel/RightPanelStore.ts b/src/stores/right-panel/RightPanelStore.ts index 0cffdb423cb..69ac46806d1 100644 --- a/src/stores/right-panel/RightPanelStore.ts +++ b/src/stores/right-panel/RightPanelStore.ts @@ -236,6 +236,23 @@ export default class RightPanelStore extends ReadyWatchingStore { } } + /** + * If the right panel is open, it is closed. + * If the right panel is closed, it is opened with `phase`. + * + * This is different from showOrHidePhase which only closes the panel + * if the panel was already showing the phase passed as argument. + * @see showOrHidePhase + * @param phase The right panel phase. + */ + public showOrHidePanel(phase: RightPanelPhases): void { + if (!this.isOpen) { + this.setCard({ phase }); + } else { + this.togglePanel(null); + } + } + /** * Helper to show a right panel phase. * If the UI is already showing that phase, the right panel will be hidden. @@ -245,7 +262,7 @@ export default class RightPanelStore extends ReadyWatchingStore { * @param phase The right panel phase. * @param cardState The state within the phase. */ - public showOrHidePanel(phase: RightPanelPhases, cardState?: Partial): void { + public showOrHidePhase(phase: RightPanelPhases, cardState?: Partial): void { if (this.currentCard.phase == phase && !cardState && this.isOpen) { this.togglePanel(null); } else { diff --git a/src/stores/right-panel/action-handlers/View3pidInvite.ts b/src/stores/right-panel/action-handlers/View3pidInvite.ts index be61fd57451..e1d516de7a0 100644 --- a/src/stores/right-panel/action-handlers/View3pidInvite.ts +++ b/src/stores/right-panel/action-handlers/View3pidInvite.ts @@ -32,6 +32,6 @@ export const onView3pidInvite = (payload: ActionPayload, rightPanelStore: RightP state: { memberInfoEvent: payload.event }, }); } else { - rightPanelStore.showOrHidePanel(RightPanelPhases.RoomMemberList); + rightPanelStore.showOrHidePhase(RightPanelPhases.RoomMemberList); } }; From a15cb76c7f9051918f3773e4404a9ce77522c913 Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Mon, 8 Jul 2024 18:39:17 +0530 Subject: [PATCH 02/12] Implement tabs in the right panel There are three tabs: Info, People and Threads --- package.json | 2 +- res/css/_components.pcss | 1 + .../views/right_panel/_RightPanelTabs.pcss | 25 ++++++ res/css/views/rooms/_MemberList.pcss | 1 + src/components/structures/RightPanel.tsx | 4 +- .../views/right_panel/RightPanelTabs.tsx | 86 +++++++++++++++++++ src/i18n/strings/en_EN.json | 1 + yarn.lock | 45 +++------- 8 files changed, 131 insertions(+), 34 deletions(-) create mode 100644 res/css/views/right_panel/_RightPanelTabs.pcss create mode 100644 src/components/views/right_panel/RightPanelTabs.tsx diff --git a/package.json b/package.json index 7169afdc6e6..42dfa226c91 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "@sentry/browser": "^8.0.0", "@testing-library/react-hooks": "^8.0.1", "@vector-im/compound-design-tokens": "^1.2.0", - "@vector-im/compound-web": "^5.1.2", + "@vector-im/compound-web": "^5.2.2", "@zxcvbn-ts/core": "^3.0.4", "@zxcvbn-ts/language-common": "^3.0.4", "@zxcvbn-ts/language-en": "^3.0.2", diff --git a/res/css/_components.pcss b/res/css/_components.pcss index 043e7b76588..327b86da081 100644 --- a/res/css/_components.pcss +++ b/res/css/_components.pcss @@ -261,6 +261,7 @@ @import "./views/right_panel/_BaseCard.pcss"; @import "./views/right_panel/_EncryptionInfo.pcss"; @import "./views/right_panel/_PinnedMessagesCard.pcss"; +@import "./views/right_panel/_RightPanelTabs.pcss"; @import "./views/right_panel/_RoomSummaryCard.pcss"; @import "./views/right_panel/_ThreadPanel.pcss"; @import "./views/right_panel/_TimelineCard.pcss"; diff --git a/res/css/views/right_panel/_RightPanelTabs.pcss b/res/css/views/right_panel/_RightPanelTabs.pcss new file mode 100644 index 00000000000..afaae6c6575 --- /dev/null +++ b/res/css/views/right_panel/_RightPanelTabs.pcss @@ -0,0 +1,25 @@ +/* +Copyright 2024 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +.mx_RightPanelTabs { + margin: 0; + height: 64px; + box-sizing: border-box; + + ul { + margin-left: 16px; + } +} diff --git a/res/css/views/rooms/_MemberList.pcss b/res/css/views/rooms/_MemberList.pcss index 086a60810fd..6e2e5a43a4d 100644 --- a/res/css/views/rooms/_MemberList.pcss +++ b/res/css/views/rooms/_MemberList.pcss @@ -19,6 +19,7 @@ limitations under the License. display: flex; flex-direction: column; min-height: 0; + margin-top: 24px; .mx_Spinner { flex: 1 0 auto; diff --git a/src/components/structures/RightPanel.tsx b/src/components/structures/RightPanel.tsx index 638011e9dc9..bc80692459a 100644 --- a/src/components/structures/RightPanel.tsx +++ b/src/components/structures/RightPanel.tsx @@ -42,6 +42,7 @@ import { UPDATE_EVENT } from "../../stores/AsyncStore"; import { IRightPanelCard, IRightPanelCardState } from "../../stores/right-panel/RightPanelStoreIPanelState"; import { Action } from "../../dispatcher/actions"; import { XOR } from "../../@types/common"; +import { RightPanelTabs } from "../views/right_panel/RightPanelTabs"; interface BaseProps { overwriteCard?: IRightPanelCard; // used to display a custom card and ignoring the RightPanelStore (used for UserView) @@ -171,6 +172,7 @@ export default class RightPanel extends React.Component { { card = ( { return ( ); diff --git a/src/components/views/right_panel/RightPanelTabs.tsx b/src/components/views/right_panel/RightPanelTabs.tsx new file mode 100644 index 00000000000..fc2eeb17fac --- /dev/null +++ b/src/components/views/right_panel/RightPanelTabs.tsx @@ -0,0 +1,86 @@ +/* +Copyright 2024 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import React, { useRef } from "react"; +import { NavBar, NavItem } from "@vector-im/compound-web"; + +import { _t } from "../../../languageHandler"; +import { RightPanelPhases } from "../../../stores/right-panel/RightPanelStorePhases"; +import RightPanelStore from "../../../stores/right-panel/RightPanelStore"; +import PosthogTrackers from "../../../PosthogTrackers"; +import { useDispatcher } from "../../../hooks/useDispatcher"; +import dispatcher from "../../../dispatcher/dispatcher"; +import { Action } from "../../../dispatcher/actions"; + +function shouldShowTabsForPhase(phase?: RightPanelPhases): boolean { + const tabs = [RightPanelPhases.RoomSummary, RightPanelPhases.RoomMemberList, RightPanelPhases.ThreadPanel]; + return !!phase && tabs.includes(phase); +} + +type Props = { + phase: RightPanelPhases; +}; + +export const RightPanelTabs: React.FC = ({ phase }): JSX.Element | null => { + const threadsTabRef = useRef(null); + + useDispatcher(dispatcher, (payload) => { + // This actually focuses the threads tab, as its the only interactive element, + // but at least it puts the user in the right area of the app. + if (payload.action === Action.FocusThreadsPanel) { + threadsTabRef.current?.focus(); + } + }); + + if (!shouldShowTabsForPhase(phase)) return null; + + return ( + + { + RightPanelStore.instance.pushCard({ phase: RightPanelPhases.RoomSummary }, true); + }} + active={phase === RightPanelPhases.RoomSummary} + > + {_t("right_panel|info")} + + ) => { + RightPanelStore.instance.pushCard({ phase: RightPanelPhases.RoomMemberList }, true); + PosthogTrackers.trackInteraction("WebRightPanelRoomInfoPeopleButton", ev); + }} + active={phase === RightPanelPhases.RoomMemberList} + > + {_t("common|people")} + + { + RightPanelStore.instance.pushCard({ phase: RightPanelPhases.ThreadPanel }, true); + }} + active={phase === RightPanelPhases.ThreadPanel} + ref={threadsTabRef} + > + {_t("common|threads")} + + + ); +}; diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index b8d3cf113f6..7fed9086ca8 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1831,6 +1831,7 @@ "edit_integrations": "Edit widgets, bridges & bots", "export_chat_button": "Export chat", "files_button": "Files", + "info": "Info", "pinned_messages": { "empty": "Nothing pinned, yet", "explainer": "If you have permissions, open the menu on any message and select Pin to stick them here.", diff --git a/yarn.lock b/yarn.lock index 9566fe532e5..de1fa038be6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3040,10 +3040,10 @@ dependencies: svg2vectordrawable "^2.9.1" -"@vector-im/compound-web@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@vector-im/compound-web/-/compound-web-5.1.2.tgz#2ee3d859819e153c898770c058a4277c0b8ef3b8" - integrity sha512-p7ide2JRblCkcSMPNakkWjK9GxA8boMQCEgXCT7Dp+owhONf2QsYpyRzlW+tPZ3DULd+h4nqWRova4uSeZtBbA== +"@vector-im/compound-web@^5.2.2": + version "5.2.2" + resolved "https://registry.yarnpkg.com/@vector-im/compound-web/-/compound-web-5.2.2.tgz#0fbb783484b444c55577897941b0afbefe168aaa" + integrity sha512-8s4wM66m2NyS+UBGqhQQzWwbpBC3cjCSEYzLWrdzRHZDgezvAAzXg8KcPJpycpBaSX+362Uuf3RfgULvR7aAMg== dependencies: "@floating-ui/react" "^0.26.9" "@floating-ui/react-dom" "^2.0.8" @@ -3054,6 +3054,7 @@ "@radix-ui/react-slot" "^1.0.2" "@radix-ui/react-tooltip" "^1.0.6" classnames "^2.3.2" + ts-xor "^1.3.0" vaul "^0.7.0" "@zxcvbn-ts/core@^3.0.4": @@ -8475,16 +8476,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -8571,14 +8563,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -8921,6 +8906,11 @@ ts-node@^10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" +ts-xor@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-xor/-/ts-xor-1.3.0.tgz#3e59f24f0321f9f10f350e0cee3b534b89a2c70b" + integrity sha512-RLXVjliCzc1gfKQFLRpfeD0rrWmjnSTgj7+RFhoq3KRkUYa8LE/TIidYOzM5h+IdFBDSjjSgk9Lto9sdMfDFEA== + tsconfig-paths@^3.15.0: version "3.15.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" @@ -9372,7 +9362,7 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -9390,15 +9380,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From d2d2e4c6bc2c276d090e3ceed7053981ceedb99a Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Mon, 8 Jul 2024 18:43:14 +0530 Subject: [PATCH 03/12] Remove unwanted code from RoomSummaryCard - Remove the menu item for opening the memberlist since that is now taken of by the tabs. - Remove the close button --- .../views/right_panel/RoomSummaryCard.tsx | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/src/components/views/right_panel/RoomSummaryCard.tsx b/src/components/views/right_panel/RoomSummaryCard.tsx index 2a1359e89d1..53cb3c2fbb0 100644 --- a/src/components/views/right_panel/RoomSummaryCard.tsx +++ b/src/components/views/right_panel/RoomSummaryCard.tsx @@ -39,7 +39,6 @@ import { } from "@vector-im/compound-web"; import { Icon as FavouriteIcon } from "@vector-im/compound-design-tokens/icons/favourite.svg"; import { Icon as UserAddIcon } from "@vector-im/compound-design-tokens/icons/user-add.svg"; -import { Icon as UserProfileSolidIcon } from "@vector-im/compound-design-tokens/icons/user-profile-solid.svg"; import { Icon as LinkIcon } from "@vector-im/compound-design-tokens/icons/link.svg"; import { Icon as SettingsIcon } from "@vector-im/compound-design-tokens/icons/settings.svg"; import { Icon as ExportArchiveIcon } from "@vector-im/compound-design-tokens/icons/export-archive.svg"; @@ -106,7 +105,6 @@ import { useTransition } from "../../../hooks/useTransition"; interface IProps { room: Room; permalinkCreator: RoomPermalinkCreator; - onClose(): void; onSearchChange?: (e: ChangeEvent) => void; onSearchCancel?: () => void; focusRoomSearch?: boolean; @@ -382,7 +380,6 @@ const RoomTopic: React.FC> = ({ room }): JSX.Element | null const RoomSummaryCard: React.FC = ({ room, permalinkCreator, - onClose, onSearchChange, onSearchCancel, focusRoomSearch, @@ -416,11 +413,6 @@ const RoomSummaryCard: React.FC = ({ }); }; - const onRoomMembersClick = (ev: Event): void => { - RightPanelStore.instance.pushCard({ phase: RightPanelPhases.RoomMemberList }, true); - PosthogTrackers.trackInteraction("WebRightPanelRoomInfoPeopleButton", ev); - }; - const isRoomEncrypted = useIsEncrypted(cli, room); const roomContext = useContext(RoomContext); const e2eStatus = roomContext.e2eStatus; @@ -558,12 +550,6 @@ const RoomSummaryCard: React.FC = ({ /> )} - {header} @@ -589,13 +575,6 @@ const RoomSummaryCard: React.FC = ({ - {!isVideoRoom && ( <> From 1a9b527be925ed3b226cc7263b5d5f41650d7350 Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Mon, 8 Jul 2024 18:46:30 +0530 Subject: [PATCH 04/12] Remove code for focusing close button from tac item See https://github.com/matrix-org/matrix-react-sdk/pull/12410 There's no longer a close button to focus so we instead focus the thread tab. This is done in RightPaneltabs.tsx so we just need to remove this code. --- src/components/structures/ThreadPanel.tsx | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/components/structures/ThreadPanel.tsx b/src/components/structures/ThreadPanel.tsx index d1e83601747..98b65005463 100644 --- a/src/components/structures/ThreadPanel.tsx +++ b/src/components/structures/ThreadPanel.tsx @@ -37,9 +37,6 @@ import { ButtonEvent } from "../views/elements/AccessibleButton"; import Spinner from "../views/elements/Spinner"; import Heading from "../views/typography/Heading"; import { clearRoomNotification } from "../../utils/notifications"; -import { useDispatcher } from "../../hooks/useDispatcher"; -import dis from "../../dispatcher/dispatcher"; -import { Action } from "../../dispatcher/actions"; interface IProps { roomId: string; @@ -259,14 +256,6 @@ const ThreadPanel: React.FC = ({ roomId, onClose, permalinkCreator }) => } }, [timelineSet, timelinePanel]); - useDispatcher(dis, (payload) => { - // This actually foucses the close button on the threads panel, as its the only interactive element, - // but at least it puts the user in the right area of the app. - if (payload.action === Action.FocusThreadsPanel) { - closeButonRef.current?.focus(); - } - }); - return ( Date: Mon, 8 Jul 2024 18:51:05 +0530 Subject: [PATCH 05/12] Introduce a room info icon to the header This was previously present in the legacy room header but not in the new header. --- src/components/views/rooms/RoomHeader.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/components/views/rooms/RoomHeader.tsx b/src/components/views/rooms/RoomHeader.tsx index d37ff18a768..3d5e9e96b3b 100644 --- a/src/components/views/rooms/RoomHeader.tsx +++ b/src/components/views/rooms/RoomHeader.tsx @@ -20,6 +20,7 @@ import { Icon as VideoCallIcon } from "@vector-im/compound-design-tokens/icons/v import { Icon as VoiceCallIcon } from "@vector-im/compound-design-tokens/icons/voice-call.svg"; import { Icon as CloseCallIcon } from "@vector-im/compound-design-tokens/icons/close.svg"; import { Icon as ThreadsIcon } from "@vector-im/compound-design-tokens/icons/threads-solid.svg"; +import { Icon as RoomInfoIcon } from "@vector-im/compound-design-tokens/icons/info-solid.svg"; import { Icon as NotificationsIcon } from "@vector-im/compound-design-tokens/icons/notifications-solid.svg"; import { Icon as VerifiedIcon } from "@vector-im/compound-design-tokens/icons/verified.svg"; import { Icon as ErrorIcon } from "@vector-im/compound-design-tokens/icons/error.svg"; @@ -335,6 +336,17 @@ export default function RoomHeader({ )} + + { + evt.stopPropagation(); + RightPanelStore.instance.showOrHidePanel(RightPanelPhases.RoomSummary); + }} + aria-label={_t("right_panel|room_summary_card|title")} + > + + + Date: Mon, 8 Jul 2024 18:55:02 +0530 Subject: [PATCH 06/12] BaseCard changes - Adds id, ariaLabelledBy and role props to implement tab accessibility. - Adds hideHeaderButtons prop to hide header buttons (think back and close buttons). - Change confusing header rendering code: header is not rendered ONLY when no header is passed AND hideHeaderButtons is true. --- src/components/views/right_panel/BaseCard.tsx | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/src/components/views/right_panel/BaseCard.tsx b/src/components/views/right_panel/BaseCard.tsx index 2afae0bc287..bb07426a112 100644 --- a/src/components/views/right_panel/BaseCard.tsx +++ b/src/components/views/right_panel/BaseCard.tsx @@ -26,8 +26,12 @@ import { CardContext } from "./context"; interface IProps { header?: ReactNode | null; + hideHeaderButtons?: boolean; footer?: ReactNode; className?: string; + id?: string; + role?: "tabpanel"; + ariaLabelledBy?: string; withoutScrollContainer?: boolean; closeLabel?: string; onClose?(ev: ButtonEvent): void; @@ -62,6 +66,10 @@ const BaseCard: React.FC = forwardRef( onClose, onBack, className, + id, + ariaLabelledBy, + role, + hideHeaderButtons, header, footer, withoutScrollContainer, @@ -100,13 +108,31 @@ const BaseCard: React.FC = forwardRef( children = {children}; } + let headerButtons: React.ReactElement | undefined; + if (!hideHeaderButtons) { + headerButtons = ( + <> + {backButton} + {closeButton} + + ); + } + + const shouldRenderHeader = header || !hideHeaderButtons; + return ( -
- {header !== null && ( +
+ {shouldRenderHeader && (
- {backButton} - {closeButton} + {headerButtons}
{header}
)} From ce87e1c87de41af3524811ee9847b8f27b7600bc Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Mon, 8 Jul 2024 19:00:51 +0530 Subject: [PATCH 07/12] Refactor repeated code into function Created a new function createSpaceScopeHeader which returns the component if the room is a space room. Previously this code was duplicated in every component that uses SpaceScopeHeader component. --- src/components/views/rooms/SpaceScopeHeader.tsx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/components/views/rooms/SpaceScopeHeader.tsx b/src/components/views/rooms/SpaceScopeHeader.tsx index 377742dd122..b9f53b7b8ab 100644 --- a/src/components/views/rooms/SpaceScopeHeader.tsx +++ b/src/components/views/rooms/SpaceScopeHeader.tsx @@ -21,18 +21,23 @@ import { Text } from "@vector-im/compound-web"; import RoomAvatar from "../avatars/RoomAvatar"; import { useRoomName } from "../../../hooks/useRoomName"; +/** + * Returns a space scope header if needed + * @param room The room object + * @returns rendered component if the room is a space room, otherwise returns null + */ +export function createSpaceScopeHeader(room?: Room | null): React.JSX.Element | null { + if (room?.isSpaceRoom()) return ; + else return null; +} + /** * Scope header used to decorate right panels that are scoped to a space. - * When room is not a space renders nothing. - * Otherwise renders room avatar and name. + * It renders room avatar and name. */ export const SpaceScopeHeader: React.FC<{ room: Room }> = ({ room }) => { const roomName = useRoomName(room); - if (!room.isSpaceRoom()) { - return null; - } - return ( Date: Mon, 8 Jul 2024 19:05:30 +0530 Subject: [PATCH 08/12] Pass BaseCard attributes and use helper function Actually using the code from the last two commits --- src/components/structures/ThreadPanel.tsx | 4 ++++ .../views/right_panel/RoomSummaryCard.tsx | 8 +++++++- src/components/views/right_panel/UserInfo.tsx | 5 +++-- src/components/views/rooms/MemberList.tsx | 20 ++++++++++++++----- .../views/rooms/ThirdPartyMemberInfo.tsx | 6 ++---- 5 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/components/structures/ThreadPanel.tsx b/src/components/structures/ThreadPanel.tsx index 98b65005463..1fca77c27ec 100644 --- a/src/components/structures/ThreadPanel.tsx +++ b/src/components/structures/ThreadPanel.tsx @@ -266,6 +266,7 @@ const ThreadPanel: React.FC = ({ roomId, onClose, permalinkCreator }) => }} > = ({ roomId, onClose, permalinkCreator }) => empty={!hasThreads} /> } + id="thread-panel" className="mx_ThreadPanel" + ariaLabelledBy="thread-panel-tab" + role="tabpanel" onClose={onClose} withoutScrollContainer={true} ref={card} diff --git a/src/components/views/right_panel/RoomSummaryCard.tsx b/src/components/views/right_panel/RoomSummaryCard.tsx index 53cb3c2fbb0..dbc8743944d 100644 --- a/src/components/views/right_panel/RoomSummaryCard.tsx +++ b/src/components/views/right_panel/RoomSummaryCard.tsx @@ -524,7 +524,13 @@ const RoomSummaryCard: React.FC = ({ const isFavorite = roomTags.includes(DefaultTagID.Favourite); return ( - + = ({ user, room, onClose, phase = RightPanelPha ); + return ( : undefined} + header={createSpaceScopeHeader(room)} onClose={onClose} closeLabel={closeLabel} cardState={cardState} diff --git a/src/components/views/rooms/MemberList.tsx b/src/components/views/rooms/MemberList.tsx index 828f9691dae..130daf50bd7 100644 --- a/src/components/views/rooms/MemberList.tsx +++ b/src/components/views/rooms/MemberList.tsx @@ -55,7 +55,7 @@ import { SDKContext } from "../../../contexts/SDKContext"; import { canInviteTo } from "../../../utils/room/canInviteTo"; import { inviteToRoom } from "../../../utils/room/inviteToRoom"; import { Action } from "../../../dispatcher/actions"; -import { SpaceScopeHeader } from "./SpaceScopeHeader"; +import { createSpaceScopeHeader } from "./SpaceScopeHeader"; const INITIAL_LOAD_NUM_MEMBERS = 30; const INITIAL_LOAD_NUM_INVITED = 5; @@ -64,6 +64,7 @@ const SHOW_MORE_INCREMENT = 100; interface IProps { roomId: string; searchQuery: string; + hideHeaderButtons?: boolean; onClose(): void; onSearchQueryChanged: (query: string) => void; } @@ -358,7 +359,14 @@ export default class MemberList extends React.Component { public render(): React.ReactNode { if (this.state.loading) { return ( - + ); @@ -415,12 +423,14 @@ export default class MemberList extends React.Component { /> ); - const scopeHeader = room ? : undefined; - return ( {scopeHeader}} + ariaLabelledBy="memberlist-panel-tab" + role="tabpanel" + header={createSpaceScopeHeader(room)} + hideHeaderButtons={this.props.hideHeaderButtons} footer={footer} onClose={this.props.onClose} > diff --git a/src/components/views/rooms/ThirdPartyMemberInfo.tsx b/src/components/views/rooms/ThirdPartyMemberInfo.tsx index 5e02b3b9c81..c2b772e78fe 100644 --- a/src/components/views/rooms/ThirdPartyMemberInfo.tsx +++ b/src/components/views/rooms/ThirdPartyMemberInfo.tsx @@ -28,7 +28,7 @@ import { Action } from "../../../dispatcher/actions"; import ErrorDialog from "../dialogs/ErrorDialog"; import BaseCard from "../right_panel/BaseCard"; import { Flex } from "../../utils/Flex"; -import { SpaceScopeHeader } from "./SpaceScopeHeader"; +import { createSpaceScopeHeader } from "./SpaceScopeHeader"; interface IProps { event: MatrixEvent; @@ -133,10 +133,8 @@ export default class ThirdPartyMemberInfo extends React.Component : undefined; - return ( - + {/* same as userinfo name style */} From a8ead86b6dd35fec6b46186626af71b5cf47d985 Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Mon, 8 Jul 2024 19:06:40 +0530 Subject: [PATCH 09/12] Add, update and remove tests/screenshots/snapshots --- playwright/e2e/crypto/crypto.spec.ts | 4 +- playwright/e2e/crypto/dehydration.spec.ts | 2 +- .../e2e/lazy-loading/lazy-loading.spec.ts | 2 +- playwright/e2e/read-receipts/index.ts | 7 +- .../e2e/right-panel/right-panel.spec.ts | 4 +- .../spaces/threads-activity-centre/index.ts | 8 +- .../threadsActivityCentre.spec.ts | 9 +- ...omSummaryCard-with-verified-e2ee-linux.png | Bin 26731 -> 26725 bytes ...nvite-dialog-room-with-user-pill-linux.png | Bin 21425 -> 21368 bytes .../invite-dialog-room-without-user-linux.png | Bin 15575 -> 15565 bytes .../with-name-and-address-linux.png | Bin 31880 -> 29921 bytes .../structures/ThreadPanel-test.tsx | 39 ------ .../views/right_panel/RightPanelTabs-test.tsx | 72 ++++++++++ .../right_panel/RoomSummaryCard-test.tsx | 15 -- .../RightPanelTabs-test.tsx.snap | 119 ++++++++++++++++ .../RoomSummaryCard-test.tsx.snap | 129 ++---------------- .../views/rooms/RoomHeader-test.tsx | 7 + .../__snapshots__/RoomHeader-test.tsx.snap | 14 ++ .../right-panel/RightPanelStore-test.ts | 18 +++ .../action-handlers/View3pidInvite-test.ts | 6 +- 20 files changed, 259 insertions(+), 196 deletions(-) create mode 100644 test/components/views/right_panel/RightPanelTabs-test.tsx create mode 100644 test/components/views/right_panel/__snapshots__/RightPanelTabs-test.tsx.snap diff --git a/playwright/e2e/crypto/crypto.spec.ts b/playwright/e2e/crypto/crypto.spec.ts index 995c37d358d..98f75d54e14 100644 --- a/playwright/e2e/crypto/crypto.spec.ts +++ b/playwright/e2e/crypto/crypto.spec.ts @@ -103,7 +103,7 @@ const verify = async (page: Page, bob: Bot) => { const bobsVerificationRequestPromise = waitForVerificationRequest(bob); const roomInfo = await openRoomInfo(page); - await roomInfo.getByRole("menuitem", { name: "People" }).click(); + await page.locator(".mx_RightPanelTabs").getByText("People").click(); await roomInfo.getByText("Bob").click(); await roomInfo.getByRole("button", { name: "Verify" }).click(); await roomInfo.getByRole("button", { name: "Start Verification" }).click(); @@ -279,7 +279,7 @@ test.describe("Cryptography", function () { // Assert that verified icon is rendered await page.getByRole("button", { name: "Room members" }).click(); - await page.getByRole("button", { name: "Room information" }).click(); + await page.locator(".mx_RightPanelTabs").getByText("Info").click(); await expect(page.locator('.mx_RoomSummaryCard_badges [data-kind="success"]')).toContainText("Encrypted"); // Take a snapshot of RoomSummaryCard with a verified E2EE icon diff --git a/playwright/e2e/crypto/dehydration.spec.ts b/playwright/e2e/crypto/dehydration.spec.ts index 13da99ccad4..eb9efde4eed 100644 --- a/playwright/e2e/crypto/dehydration.spec.ts +++ b/playwright/e2e/crypto/dehydration.spec.ts @@ -102,7 +102,7 @@ test.describe("Dehydration", () => { await viewRoomSummaryByName(page, app, ROOM_NAME); - await page.getByRole("menuitem", { name: "People" }).click(); + await page.locator(".mx_RightPanelTabs").getByText("People").click(); await expect(page.locator(".mx_MemberList")).toBeVisible(); await getMemberTileByName(page, NAME).click(); diff --git a/playwright/e2e/lazy-loading/lazy-loading.spec.ts b/playwright/e2e/lazy-loading/lazy-loading.spec.ts index 8b815898136..c04bcb8c643 100644 --- a/playwright/e2e/lazy-loading/lazy-loading.spec.ts +++ b/playwright/e2e/lazy-loading/lazy-loading.spec.ts @@ -80,7 +80,7 @@ test.describe("Lazy Loading", () => { async function openMemberlist(page: Page): Promise { await page.locator(".mx_LegacyRoomHeader").getByRole("button", { name: "Room info" }).click(); - await page.locator(".mx_RoomSummaryCard").getByRole("menuitem", { name: "People" }).click(); // \d represents the number of the room members + await page.locator(".mx_RightPanelTabs").getByText("People").click(); } function getMemberInMemberlist(page: Page, name: string): Locator { diff --git a/playwright/e2e/read-receipts/index.ts b/playwright/e2e/read-receipts/index.ts index 4dd0450fb9c..484df2251df 100644 --- a/playwright/e2e/read-receipts/index.ts +++ b/playwright/e2e/read-receipts/index.ts @@ -399,11 +399,10 @@ class Helpers { } /** - * Close the threads panel. (Actually, close any right panel, but for these - * tests we only open the threads panel.) + * Close the threads panel. */ async closeThreadsPanel() { - await this.page.locator(".mx_RightPanel").getByLabel("Close").click(); + await this.page.locator(".mx_LegacyRoomHeader").getByLabel("Threads").click(); await expect(this.page.locator(".mx_RightPanel")).not.toBeVisible(); } @@ -411,7 +410,7 @@ class Helpers { * Return to the list of threads, given we are viewing a single thread. */ async backToThreadsList() { - await this.page.locator(".mx_RightPanel").getByLabel("Threads").click(); + await this.page.locator(".mx_LegacyRoomHeader").getByLabel("Threads").click(); } /** diff --git a/playwright/e2e/right-panel/right-panel.spec.ts b/playwright/e2e/right-panel/right-panel.spec.ts index 4f578748d6e..e323a4b24f9 100644 --- a/playwright/e2e/right-panel/right-panel.spec.ts +++ b/playwright/e2e/right-panel/right-panel.spec.ts @@ -113,7 +113,7 @@ test.describe("RightPanel", () => { test("should handle viewing room member", async ({ page, app }) => { await viewRoomSummaryByName(page, app, ROOM_NAME); - await page.getByRole("menuitem", { name: "People" }).click(); + await page.locator(".mx_RightPanelTabs").getByText("People").click(); await expect(page.locator(".mx_MemberList")).toBeVisible(); await getMemberTileByName(page, NAME).click(); @@ -123,7 +123,7 @@ test.describe("RightPanel", () => { await page.getByRole("button", { name: "Room members" }).click(); await expect(page.locator(".mx_MemberList")).toBeVisible(); - await page.getByRole("button", { name: "Room information" }).click(); + await page.locator(".mx_RightPanelTabs").getByText("Info").click(); await checkRoomSummaryCard(page, ROOM_NAME); }); }); diff --git a/playwright/e2e/spaces/threads-activity-centre/index.ts b/playwright/e2e/spaces/threads-activity-centre/index.ts index 8bafe2e8049..8b013c44bb8 100644 --- a/playwright/e2e/spaces/threads-activity-centre/index.ts +++ b/playwright/e2e/spaces/threads-activity-centre/index.ts @@ -337,12 +337,10 @@ export class Helpers { } /** - * Assert that the thread panel is focused (actually the 'close' button, specifically) + * Assert that the thread tab is focused */ - assertThreadPanelFocused() { - return expect( - this.page.locator(".mx_ThreadPanel").locator(".mx_BaseCard_header").getByLabel("Close"), - ).toBeFocused(); + assertThreadTabFocused() { + return expect(this.page.locator("#thread-panel-tab")).toBeFocused(); } /** diff --git a/playwright/e2e/spaces/threads-activity-centre/threadsActivityCentre.spec.ts b/playwright/e2e/spaces/threads-activity-centre/threadsActivityCentre.spec.ts index 7d0b694ef57..66a3bc58e50 100644 --- a/playwright/e2e/spaces/threads-activity-centre/threadsActivityCentre.spec.ts +++ b/playwright/e2e/spaces/threads-activity-centre/threadsActivityCentre.spec.ts @@ -161,17 +161,12 @@ test.describe("Threads Activity Centre", () => { await util.assertNoTacIndicator(); }); - test("should focus the thread panel close button when clicking an item in the TAC", async ({ - room1, - room2, - util, - msg, - }) => { + test("should focus the thread tab when clicking an item in the TAC", async ({ room1, room2, util, msg }) => { await util.receiveMessages(room1, ["Msg1", msg.threadedOff("Msg1", "Resp1")]); await util.openTac(); await util.clickRoomInTac(room1.name); - await util.assertThreadPanelFocused(); + await util.assertThreadTabFocused(); }); }); diff --git a/playwright/snapshots/crypto/crypto.spec.ts/RoomSummaryCard-with-verified-e2ee-linux.png b/playwright/snapshots/crypto/crypto.spec.ts/RoomSummaryCard-with-verified-e2ee-linux.png index 4211f82b7aabc49b28b2d775b51163fac6fdf4ed..1875f05260da97b7494f23824a2aedfce1e6805c 100644 GIT binary patch literal 26725 zcmd43bx>Tv7bZGHfP^4Hg9lI01a}P*++Bjh;O-E@;K72sJA=E1V8Ly$K?Zks=iU5P z{(1Yy?$+C_S9PoCn%lSg-tN=qeCIpo5UMCIiT;}CH3$Sk|0?xG83aPo2Z5fAp*{nC z(IAd;2mT;ADNBli%120cK%n=auU|w|-P86L&2?3_5Xi@Tv6WZ)tS|5gDOZ$6Z$5qTYt$H&A$2Ej^(llz-9rQBYA-&3iqToos}4n_lq^VzD1RL&Q*w$S@A(U_#c zx3H5RMQ)+}9c4?xa!#|>Xihcd>GK!+a3#_iEhXcJn|W-qsGHJ3@a4^rN9|d|{iBSJ zdVXgI2qtdxX!q4r+F<<}DLFaW>+)gEFSO zO@`NgJx`S$eP^!ja1k68FVkK~`%7iwake#9+dz)sCAx&oBNTS%*;i6sU5!fN`v?V} zM5$56I3_nrPy8K=z9nPhVq^Nq)aHGlP8E)9OeF>uH87~yy?yo}*Hs7o$){lX=4{Kj z*Sp$gKA|T((ag;3_V(tn)gq=XK!Boqa4;1-2^U(PDouo)m+Q4$l85~5A91yuFxjmw z77-C~A=FcgysW=@8R*!Q1}|(RbGaIbnD@8|#5XGtXmQzx7pLcJAsNg#2YAXPjp+} zZ`(VuO#+L}Fl~MB{imp_Zxon}25oCv(aGWK&dDS}#?ylYBR-dl6X9FI-|&eaa73&7 zMsI}96=ay3Q(T)Bc`#unemRMmB)y(BN`<_o{Zyk325G)_^Wpz1250%24 zMZeASY=n*~cy?a9BQ#>ZdGB}aS7V*}V`@l9&#E3uBm{li#?A_dl(@n8$PgoV?P$Jw z_XEdy*;@_Ug^cTdd(PB0tEU)&w|!=EcX7985{n+6OjqCG;N+%QEj6DBo0@L?>|eV$ zca9SYxO<|>S%Vced;fwFml-N zr=oK^6=yk+x^dd!J3)Dto@IlU3DuPo=%u#7AXGg1@%R!-4HrM`Ym*3_LV)*}Y5tqvCB z%rPzq7PhHIA~&6KY2&Q!uYZx#)YL=`6phime@qTvU(cJEQ1mhlXe!ROp(6C;b z#8hORQX zHP8YZs(#PGzo3U_$8lyK)k>sxfvF}oN>XnoNRg1R34>I{WH+ArH4LS^BUZxUm>F8B zeDcM?d1C&^#Ue!UF>oL-ZGk^VYJYRJOtU+;m;n!+b2@=^{w1T{jpQJH#-Xj8cWa6Y z(hK<44U2D8nvD2LoFsAApux~qZ87{}%a6PL7z5}Au}7P-TaJw+81u7#Lk1sahSO_0 zl1wbVDY{^!_T=o|YtTITYH^?n#%0tB%y{DM7HxLaJhK^AEE@68z@|tHA)$`3fr+$R1z;QV zu<^r9Z7eCUwgC;P${y*JxV~>uQN+f}DStA(m(&o6QLmfIh4B(SZ>YyzWC~Vj_s8NL^@L45zPh{f*cBWJOg^uZ z65dD>Br32|ng6iSXZK&ilEFd_s}MW}->Dfci`_%ttED!dyGy8EOMTFIGI1*}Srjo5 z?BI7yta37JIRC4y{^L?WU#drA1nJw}4M#CgR{{6^pTd%TOCy^uL-Pz=whF22>Q(#2 zPKh`C?E!5Ed)u?6T(*9KhPA&0O6^>Bi-J;yhh!UdN7C=2=233Vx7O1I{X(@NgB!?K z+m6SxgrtIqk?C8P^Le__r-CJE>90C9zI#Q60ov?V+Un|nI`&V8)^XCUNtSbt|6Zx2 zQKn_l%;3Lq@)tIrJKf-!<0)sBQ!l^25bJwiJWfb*>*FKlxxKfO5#E}RnrLV7ZLD0b z6v@Z)!`s(ZR*tal>uQXoM+TODY_!#_kEn;phLME%d&03BvE7hv*v(F!lS0DyL!0G?=VzpFk?drac^w-NlfZ{ zaytB6QvT$IzhaXt^CwBp&P4#G5lz7c?|gD;?N3!&1}2;mXx`JeqKZK?s~HXS@|Quq zg`9}ruyIQc+}!RllKT3MXTrIvg9?qp!K2PJ+5*hK`wBSuaN{N%4F!aB0tZ*N_a6Gt z(?P#O;70`8({}`o!oN$m-XaNV*F_;?1VamT{17Xi&AchiV60^-)j~|-sKK|}us*IP z;o!ct)tL{VT?M_4V3%ut0e{ac#`726q=K$Apk2J@soVTyGr|U0kxpUOoP)v!-@{*m zcFEZ?c`;ILiYge&<50zoB$&g@t3rTRll%a(K#k255R4k!a-dO8{z4fqT}&rcaw{{( zh!Nbi=6EdD2ukU>pJ7ex+H{(J!n$ z+1b@q>;jn_a}$&8m6gvv@VKn^_qasg;ZvJcRRqiu^0(F{aOqpj`Fh(o=&z<>+aU5# z_`ag`Y^4@@Jp0daBth)D(4Yo~6L3+U;ZKa?m~X(wtP*@h$|7Q>=Liem9bZr{=ay7ifgf9o`3(sCE7c$_Cf*oqwEoR1Kl0Iv9DUs3E3offQ(w{5kiIJ$ zt;W8J@oMH_TXJHGGN;bV+uPZFPXJ;coE-idToIe}tJ8fHSkCQ6YR=RH6T2>V4p3GJ zZ6qfne%;M)>iAp=8iCYdGaf1eP;F36029S2>?aBGohlQNwDcfam~V%iz- zRs#dcyNY!dAqvtp4OQR3)}U|E>2*CVdCmo%Dl5MVf8<~%%NFc<46Oc|XuR%DYvnhl zqQZ0|U{k@F3V-qa$;{B~S6qsgrY_jXMDc1#H6-Y~Oqal%Z(}~ZdsXi)lHc<-XIFN# zpnN6ZmX{A+s!R>~&@(m1OvTWk{}1kOtmCT?!(Q?dqM$mi`v%qa=uZLMa zNXyEj?Gda4yKZE?KKX|#PqJ`mUpJl?$>O|>X(&u)aCa%HS_i!+eNw$e?w+l* zu|j}^SirtoS~u}UUR4gEfKL@0pm&s!J}eudGFjugFT|PWcbvc1z(X=}{x!Fl>`=&8 zUscx#Y`s8H8J}~O2Rld8$O#LRA>A)Sfm{~3_7P7_%^E%*(QDUI)HJcO;V4oVU9bIF z)Dk5lEn@?P-Ud3?uyaA1{>Ih*WZ*i=H#c+QCebhtZf|Se-PxJ`lt1@?eQ}MmjgOADBOS-LBS2Q6Ca7 zFpVK3gGW1jp8ALRqJA{jAI;^rg;uT1$#4w~%epvUD;TuDeJ!3Xz;}07>yAg77@fAc zc2SW_t*Qa+iI1m?<=PCZ;OC8{+%3_VB0s4H^`&71O@4c5=-HK}l2{C$=y<|na0-{p z0Xe*@FtBfL_PP;ba)eJtp7N9(PYGFQJUf1jP4o$9aXrBLyJ=s((8z!t%GZGTt!Azy zvi$yuXpG*miJysWX1u)oO7~;S)O&o5(;I#oV&d(+x1!R5t!gUT+Pxb^_eCMu&&9}u z{4TC<_F6DAcXoE_Z4M@jp+ez3zobnY4h0C=$~xMh92EZ~Mp@b8VzUjy<{p)T>d)<8 zQ%6!#L5jSHj;r>r!VO2BDZ@;CJvq6bs1yKVn{J~6K3|Fal?o1(o*vTO6PJgltEIWA zr9A4+MD}nMTcU;49`VG~0t|vRQ74wVh@v1*L~Lu3rGUD#P=2xWZ^R~9+9$;rKoS7o zTPSlA#`Uy)?8}IsiglWOL$3WXS=RMxr3Mfl&*l~^(IMFgwAbN>0-o}u;_5EW7FpNc z8JfCUSH4N!1F=6!!*M96H*H#@G-|F8OdmhWeI2xz6Ww6LWyELrU19p&U@&KOBC*0a z_fUZT5sXW%?pTlNOv-?SIp~XANF9Ull3AJEb5U_-g zXYq4F%BtDn4L=PJP8XK~SNx*UcN~+#1`3ohQq&Vy3YzbTA8QgjHymG4G(SVS_|>=8 zzu{P{s;;Pco=wR#B&*}Wg=oH$QqiE3^wPm>pjG|mVNWwoVxq4h!{H=yYv6DNXM&u(eH7XFcGrfrMrFwXa7iHvIQQihj)i$`_ zJ7Pj-@Rl9e$oYPML$Iw`k*yDdIIHlkLcoMGl_|C#IONRn(mt*HdTFHEH|$Z|u7?j8 z#Zc6q>29xGPckY0dMQzU&@_XIDXaA1%wKPcwwtM5W zI7mXu2D)fX9SNfbX&^}{@6J40|Kwn^sTl7H@x-V^t>Km^a1wA_SUEm# zI`V{md}>kUq~XY&&J}x3gRQaq=`H$zEyp{;Z8df2xTBeo-rIRCm8XSfuQda&b7vQ5 z8DLumoX%bYWK_1luaZN5!oi(jCb#wt%C}}-o-g_>PS@)_@(1@Xd3i%WS|(N?(5(;T zP*)szfThapz@~}qCpoYIsDaThOZE=+M+6JQvwx$z428T157ssS{ph@QDFz?mA(8K^ ze~g*21vDWF-(Fnp&?G?x<{@$S)>*v4M#_|;iG{M@HI;uNdt2O7Jmgg*)6nRovJx|i~a&U z)}bz_OkcgPpgwW^q3`YL)O7lt5V=qoRF`*qZ!d!U^EMdv5MsOqp^Pc6a!ABLI(X(? z?8et%$Aq=L(0rAbRU~DgFj^QW*&y!^!P4^|**<7qKD8`ILx;__eL3kXW-^YI-i`qL}g$d<(p`Tf4 z7H5?o+;}hD3~~WjAdPhYM~fS;_o?WC1RZ339q+@4(Iy^lLc*hyhJm4>gS>vbEbZEI z)o(Z*U*T`K^qfpIIBWm;avrM|tj&Cp_j<-hN;KpP+yqz3cDUIEYqri-0fg_wEPS?y?XwPgmWG~QI=Jd7rCYcxKg!WGi$BZ zjv#ks?_3@oVTS>9Dif^XGSUc|0^KHuMBbQJLakYNmee~+u3AH z9K=yceo}h_QdBbnZuZ$q@s znwXjNI-zCe>WCiy1zPUdSSM(A$1%6aDl9+*7Ej8}Vbmwk2Hl?Y?|dyzE|!L~R2Vea zE(p-zf$>QRd)DUVJFMS7vljCo>Q97+SFunU*Q}ip?o19057Bi`(sg&WL2**MjPex5 z9Dy0cm}3!q=d0&odpE`6V4^<@7%X(G zXdCTRw73ShSoQOzjM(2p`RZ9BAwfaeIbY8Ej(wWG2Bt8tcWlt&myvs9^P_{#q#CTZN61!)_e2`F!vx&XUU*o4a2mC24uj8gteGsdnaF7%)%jbD z>EBq2r}mPTtni@0E0jOXu|F#MrZgYEczGehZc!0%#vHd9Z`B;uOh3#Z#C`OmpcE7j z45zx#w!TGR#IE;}4cNY~4}2<5Syt5GWEKeVT+p)w-Z;IsJECrD#@?EmOh3sGA+=YjpT21tEI8+y`{|r-!mdh{ z*l(ck>1F@u(fj<*(xB(cMgP#{EAS7}*9X5&S!0WJi#YI8H*i*~jyGWmZSQ|^g8f+VOMt6~t9*F5>GG?_%rfHN zo2)lcUrN=nz~8%~wevodQlEr+W)iY6zO@0^R2PikzRy)0r@M!nLRmd`9kQkewo9JE z;lX{6W+mUd=_~`2X=pivWL;3fKP<*5M@LH^h}E<|hPTN%^>i;jA6;k=N_+cRS~An% zfT?3CuEhm1?>FUXk49DdT=3zQ)rxHY9+R2ApUmO=dG6)6ImtF;5SoR~fW{%lZV|q^ z&pM1hX4`0Yd>%PvR?s@+?fj#E5(hV;g7Ka%trdnZeo-AUyiz5=%d3&zwc*61H>8be zy)xd}q`h_z%NfSO=+7GxVr%zR$KQQ6p2c*kylYIX^R4J?D%4@1*4vlD43SpTqXoWs zv!)qv3CxJb;e%?mGEm@k71b*1n~~j40emuMA5m@KrL}Pb;ezAXl>i)4=l#@dS+KtP zDQ{YgUD!op8kwoN#iyBP|E@HaDa}&e{7)YUnC&O@4ZEJG%Oz9Urlhag=C>jDQSHWR zMf6Ax3p6ULfU;|Tmnh`~gOj?g0WjN3WN$#R*mSk=`Asy#nPzXznq%wVXwA8`q>WGF zN=yTS9t=gcG0baXQ8p~TUhINBM`Rcfw-;86Dj(?0aAFL%G=1jFLDs;JgIJ6KYa2o8 z#kT`vVdpZK(5KNN_-~8-soLloxewlibF%-Ce5pS@6q!Q~(BLuDDEET1CJ?(y{12XBbr3O2y z(Mm(hSR`cg<9!L87$T&=%Kho?tqkpGGqbX{+T(Wq`uFY((6g-EVdiuMdSax=d@o#n zyP#`#S40&yXMT8iOizSVI-h&sj}!nOZVWM+Ln5MtIZ$4aeXPl&JLQ*9;4)xV=7y$-Mf;MaU68>bx7;PNWGpX z)>)JMKm-B~*~#9d>?F;-g1l(wu1HJLgOcvP96N3Z^1*5;X(ox1)&`*2Sa#ZZsAz-d zGV18>vXHr_v-EVefgy--r|yjP^5R(yi$4hEe>jj+cUE1ksj*w?I4(XcTO6`Udh8@t z#8EfWF0V;+6Ny8F%~2X=LNGQA&7RIL|oaW#R5CT98&`9LgcQeppeB)dsLR zW+MUWFxUUA#j5$mCi-oAaDfa6?>$j%j29mrLJ`VM){l!&RA>;E1k@@$uvx`OXD#FU zNwZj0vt>vKjz0%kz3Agv`TIJW4WzrdJM>B8mOnduoEU)aCI1v{C3%4C0imy==mT3F z8_}nZ)c>kz6JzopVT)ZJ&FI%~oQ&^$E=PcY;h!vC0UqL@BcHFbx&^c|ocO9wn9hzr zC0j(4-J<0;{gwmPf6E1+SfXGndHU`WfW?|?{QEu2KfMpJumB-5Z;!JU`Rg&RPfgk^ zKhp&QixfmeAkNf_oy|{HSIABREp@3kc}!xn5gY4!eXqvHK5Y}dDmWx#wm=<~!+EzW zyU3?IBbD`E4OWnxO8Ca8`3=O=qB%On{R-TCf5S-ZwxB<^3=E5{Czf8^B584;)UQ7Y zSD5F*j)K^b*sHh(I6wUzTx3&_W-tZpAUQvh+XDG>2f>`rmcJ7xy@%jIUOL>#*2(UT zkL0(ff>aCv$taRMwY7lB{Y`Dn!TxO{@Q;&KPPt86Me#5SM%1E@^0&;2=I!L=EMwyU z3yb5^Uuc+2jo0_yvI0@WpJuH9aB&^l-1~ZbOsacPLGb*cXMKzC;!{Fw#lg0kPx{0D z?tj4@YZQsGbaV!!I^HxaO^R}2Nqos~Zrde)FDEeS4#Q@FPa;lMeLOTAI76#qVeU5R z+4?+D7@wMK7gDHDRH&0hl^URW{oy?kQO&;FjlyWFhc5-~ic*PgIlP*YbFeKvRv{$V zuBb4+G`U&&g-xKv^#`f$2|y+OIA8ryn*%iN|20iv_Mu!XB%xfWq1$0{$d0uLJ<8}yhxST;?i8AZ8Q{ujU z`OIIUG$7~&A8v%!(Gmp=qDs%i!lE(6!oq@Rwvo*A4QOrE@!-6AwL4{gk%BloJq2&? z!Y_y)P#{fQHY;m0X7}BrWP;v#kEbHBl~ZF$;*x!eIGdZBK!O6y+0k*}IyAGVxBbDO zCMjt)*{QeI zZqru}s>8?EG8nV<^XHpa6qGTIPv1K$5MOXaC8CI`Rul6ts>2i!_GQ^IUc>}`r?BL* zGV9%qeiieg&`~-$)qNw>7eA6G3)QR?rwVcUl$wN5$H!OvPI_>`w?^wU7Zper$dMfE z^kK1ytN325FPS+U6V^opl)$(f+W7B_^CYtwvxy&l#N}B`pnP`gjX= z?6y2Y?@QXPagIl;o0>dCV}LZ7+|8+H=)&ym^i%TsBN-gV*MF-NGWdrF2J}z%?5uq6 z>awz;JqNqH8+U)G8Q|mMYU}8z`Dj%6hht5R${X=itL4joG8*V(yu7w z78i>XG06qX;rovP!7xZ{tZ`ji=oK-d#Vs?Xvhq{k(ih`E3yby3gQzT8T|FQdRjL^^<0Ye+n6Q7UC{_A6{2jxt%%uI$NsNa1tNftf8pz-H~vPC<5R_xr}GgamxG)Q`xf~-D z|77UzByr7@a#Ylu?Dl*#G!^<&cD+E(UjwFJ@tPbd8wirX&G_%R-)L1#Kwkb0OrguH!Cf3z^8@wbOcc?+w+`5R53EWfm6P zf3}8wdg2txVCu&1Z-cmtO699M(g_MSip!J?KL%gnUl2B03(pQWRCO4%hz{#w!K1KF zXSPoyg;ERNQSvevyIhClKmU`n)V^qcM$h556iTH2Ey4V7?%djX9&1&RMh$+bM-wFa zD`|`S+#HT*?~8hb!_g&IXWJZOLUOwxMfbp12roEVTl4t+=abPDV{JIli?;Tt_7a}2 zwdh5&xzS^04t+xm|1+I|#mfKwIBHKL?#62QKHrRj2o^qUz$XpB*eF_ z9wae3sfeLKmrbLC8fCnG zRK$skeeGw~f}GBg^~~@@Qdzmc`1pLv>=@w&Z5pkf9!T_@B!(i3sUu~~SD7z=TC0^s zLvlk2IS@-<=Jv828sh)GO=Oo*DGSklgj@-k)ioA_n3$-PvPgMA@ka{kwxahnMb{5z zivlUocE=MX$5p7CozUK__-7$#*6+^lIILgFidlnegxjb~2GbM2zhj*`b%>0ZZH6V^ zdXu6(_Yswn7HN-7=AodjdvDOMwpPU>UH`%bIEd*K8t-v6N{Y|+C$M{LL%v^ivf)M+ zm_0_y?^PH~t?eB1q;14(rO6H>UtgAS-PI}&!6c-LpnU%q`tQn(uKCx_*PpFe7c-oJKrm5Hxq`- zY^D*7;F3ZON?cNvTg?DLNhUf$VZbibv90WEeQw7l`rxn<;c%F)yu zhg#MoFM2Ao>A>frtY#brp~QO?dOQLLGNjCIJHI=vD)du)s6{2#1zj;Fy^vLy646Pj z?^l~F-+CQH$kEjw<#9jLX2Z#7XB`%n(+st28gbo}u7zm-`kRLtjvZ%7c(UD@$yF}( zE^wkbmq!xi#9D;)IZ=H~eZ z8?%x(W1IkCOHE75*^#vzg_ud>^#M|X88#E+;)arVTC~s*oc^S_Ikrz*-ht+$2IsF2 zb(ECGVKo~GP(J`0jid+^ipvNIJ^hX^o&IaW3UDER3}H8Cn=Fh> z3|^<(hsl$DQ6xN=I_FEG@PUa&S^Xfwr7*FAWNhWZ1X%i%&+ zRyJodQ_zRANW-qgzb)6w)3e#gH!5q)kLd$$b0de!8&wM20&|n1rz51@Kt!wcCrTE* z{-J@_sQXfFaZ=QTgoO3=^&TEKtjPeR%t$#}z8>uk-t?2w*Kb#)cX4#g(+76Q#Kc5- z5{QFNPpf|xVqh!X{c+>rp+Ie)XU+a zp;>EJBW3IhQaT+BczJa`@a1u|*SD^vW2pYQc-;ProT*Y2_4aZ^rIR%E}l!9(M=zJAJrp zmYTiiMv;+kq4TvzZ(%KN7JmyfBMaexk2ej~sk1@kOO8hCiwG3TK9*_I4JO>1*xAk0 z>98Qw{eMaKhZ!UkZH7|Ep#aU_Gq5Wf{r8*`0j{$&JS=>Qb;O_$8oT6@Fs~EpYIa7egFb)7-Ijc zS%1tF)I3xQlcpeHAE#>Q&gREMzk1O3D6Ibs_y1M=PJ=YPT<;1cyyw<&)7ixtV=SvJ zEOKyYpdUzG7#d+>s8F=j@)6J@W_X}P%Vf{M5}Rf48}YhUOR!QGM$Zo z`nDWRr;zzp6kdnU?|2RR_qgt>uf-@)ndE|vK!Hb#&ykXZx~qf)Cq?)4^uS1Ov)KG} zxm=p+?k6Av3794K&mE^jt%hXh8_BNpma8CiavKW^Db$Z2Kk_*2D+&wm@m}sMtNL^m z8~0(LVD1+iH@M)E!0pyU3~_q>a^_gGM5Lso+n%m(q8}*=NA$v4Jyn|~z0zai%`$>PhFii?g;ijKbCo!aAbJKEVk zrt{$yVWvxMux@eL8yQfuYHihSY-D$EaR6wH8Cz5xoz%m{=IJ(7M@HEav=OpDkdso}Blfpe*vK@FNf3hL+2RWUJ%Y&Ad?5G^fj zyWmo1rwAYhtfm9zssStoa%4ib))o2!KHjZzKY_vx!sKM2`x=6#h&SO2JyWSDeZ2Bn z!_h2<-QzQI@}mpCvh?#ENLO&wND@yf7HgKDfq&%44x4$g*{fHf04w&29J|-33YEg` zXpvmNl^@WDEuI_uT5Kbk9o*K}?_#8MozNwt$hgL4o}3<L1kBgWyu4;o*CBuYh^lFj5H$~#k?84l0*Pl!LhZsb%!!Cb7lkP$ z=a)ZzmZfRqU5nHqvMm1Rj3HT; z(`$N2n}n9zaeX$1st=b1lXPJw+lNn7N^|!8QG&h=`~{Y%XYemJ^AU-~W;xW)?Cft| zy^3sg7XN_#k=5vLvHfOV`;{zUBK;8beQA%_O|Tah37zL zvBgEe>yn>CWLT@t6RHuux#wq)t68sMpK08uAfNV0e##{nnTd_B!REUi4BA4^_$wZ| z`=Nds|0=Up)ulLPYDcr{&&#t{6oAOz8QqpiJD9q=zq6^Kl8hX_1v68abY7hm0O}q8 z`NjU+LwKKc0?ty4n+-VrB1Ond99FuyqU!3}@DdDlTT;_k0^( z-+L+8_-1+sC{^Ms&b7Ut<~4On*deUDp6?u2e%yF^dRk3C3IYI#vMPzUU2&@Y;Vok1 zuALcR8mnq6QQy3A_j`;A$A7BxF$aWhzQKymUigVhGAf8Y*u>9B{vVx z_V)4J)n2Ll;7s4$$y#BcxH#->wAD;Gj%aIJTSPas6SFN|_ySlS;@~A^5w>afiGCI|>aoFYs)cXm!><-oL{9~mHc3Z@{x_}x-PV0q< zQjO@Usu-ikGA*{(uV2&3-ro<+o$;D0~|PO2waP z*cfJdQ&w!0&2m-_<{KcI@b^U@#XSQ&a05`->1XznF>Y%>g{GYSAUa{CGr8JJ;LWH zASQbyJEX04{8dCMG{RI|T)gknCa!fzDR}e=&XcSTT}oOcFTI?BUBZ_G7T^%jT)I}!+_0cZgvE4q>K6Z5`bKfjS7 zs2D@&<1OS4eiv+0ZNoEqieV$2zu_zObzc?wjD-&P9lnn?a&oepL&*Z{{6B{u5hrLs z+ATo5tCddUCdTpmcmtbQ*D{Gj6w$q2`ye^`h8&jKL+N%XBtJT&ybxz&WiwT!_q~M6 zw8JOS`S|*#stcuviU4-n3e=aVX?^5zUv15AO3o<%Jq`cU3$MnHa_s*LfTsbb3arfy zf;Z#~I#a2Q@xc}#z;`fOW2<&#t#)LqaRi@$xPgN}Y=y>0Txuq#H>FM`0+b&M@GBAh zpUlhpgpUpca@J^N!8?=i&VDGMde_%+3p|m(-}cF}clWlVA51wt z304sb({Te}4S-xqWiUIlA6)krhNV7($X@|RV~+;`#2AoKQ1n_HPj09FW@VA_@H7dr z=&M7uo{$WmqhOkve2KT#>|pl(`wi>~7I+RyU#<_RXngrss+j-GOH(&mHqjO0y{L$v;Utt1+>ynXZ`qq*m(sZ z7OiIMzy>?v@C09#0{PLwK`O}pJo(D z+JfHK7PH6WWW%j(tvYhaoKzn_CZALz5s{eXWE%%#K%#qO5@e{cL%*C(u9`xk)qUGx zEkMwXhr8*cU8Y58z! zYU+012U>5bcX-OLy()rB;arg3ym!-;!#&m049-^ON>wK=m?Rehc0UVt4D+02VzYWy8R7L^pjj{ z75^Vt<*9^&CFtH<%~tU%@JPv&Rhu@u!P6blZhl3DLdCLRUu0$)x1sLAz;g?dq)=oT znea1n1s}Gf766gdXzu_1{T**GQCnME@kqbT+dn0XlSDaoZI4xbvfwbxQWE8EzTt@{ z=kx#Aj^2zeW$=5btE+F$Efnq!U0=Jo6k}z*1q$0yDF6qz#nsxlq=86vUQ%&;p*R;B zF`Ue{C6L1DgF|{YcuFJfI-Bj&!ecO6&f7OJ@FP?jiRcq@4h0J``G3y^0K#!b>-il9 zZN68`6ui7aJw_g$o{i1T*X|8(UhSA#8RuH;tcUkw*RyiF zjt~_rHf;1->yA7eD|>6{(MjuTlgjV0utWjp)pntEV|zWTfD(x)j90u1;9h_*nETD? z5%`Q;!1I24d`&Dkl2Nnq@92ysTdnIaZ00mpb zMr14zMGYCs5OBH<`Aj9@!|FQp0YALXW&ScLX%<*+bvgF$QHlq-hKR=yk23-+Q4*5< zE@aI8C1`1We11d(It4Ww8yg?P7W`rluvy-h_dPXREZ6+{0Px9;pS1svfw?=MJIfXm z#o%` z=R4D8oNKZgg+RK8Qy=#y`PRkmo&aWKf9?!G*8uLpc3G27FMavlQ~Az9@zgm$m)XtP zwc;-H6{tu7fS8rl)j)ht>D2cH04udIUw|$uE;Ym+0U5TgR}Qb4+b72#s<;paDL#Qa z#E^jUw~W&l|EFVP0saO9kI}#v^+jcxn3!qlXw`!^W@?LDZhN1B%!(O^E)V&R*K#s} zIxC?r`zEyZOs<{DS70IxP*Q#ZX_)DtUpkkczZA7C@vPav`e?K34r7cI{zL6LfTpY# zw@z>hk>8N40+QX7hzLWX-_Km8KSw^lv!3V<3k!RA z8!Qn)*Z{<_b0s6b)jtvedUOO1FIftDKE@c-KoptDT?dRRm}$U4fJyeSJsDY083e0>n!>g zK*4|&&?wheIVU86SLg*Z1L7uTs=BCR4|sh$TQo9>(Bn&Vi}4A&0oYD0#l=>T9Pofn z!-1kpJQ90kl|`fDg|?w#c53QgXGk01RRDGNq^!;+qxx+O^z=o@4h{|wtVG(8lFR%1 zoA7C*M}D%3U0ET6OmckRt(_eJTX-EkZda{oF;2s$7|cgg93Jm`47>V1M1Cg|bUg12 z2$o5FJRe@DI7Ik;vhLmn_Tus3c6a+&A(Kb4?yHoP_rtB+b@V6v@O%@s;3yK74<9s7 z1}DaIB{F!td^<6P)U1wywIB4;x&a0eN`(Yej2(Y+DlIxE&gu2?pEmU-#E+G21sS0DM(3+(SepyEybKI{I|k&Eo8=`_?5B;ITrm1O(bD zw!FO#?*lsnkQLEgkKpCGU33slZB5zK#|=P@24Rq5V`GyLdVFQXKfAe~G#|kh{nLfQ zU=Uv_6RXDHM*%tCAw6B)Kqx&4GB(@!bpxo)4{!~pB1pd@Lx6PQOner-i+OG4L_UXA zZh8WV$lLY)N%O}?D2Bv7z{s`%z$~$*ofdLmdCbSh7at{(lJt%MA8%@GdG3q=s?)%F z^K`vEm&*s_d4?0f27hxRsWM}U@;X~6pn6=~0vgTx?=nzmyDQtbGim<(nKqY$x?y<1 zt|?I@#-$oVE1`?m(*4U}eu1r#Waw)1GmG$MiLPlIzIxlm5wn^Go4J3sVPaxpg{qg| zx`L*s<~VdeOM9@|+XbV@1b`wYwg0EKuZ)VaYug@F zKv7yzT0l}tQd(}1?ydpp7zr5$98zx)hL#-Z5b2QaP^4r?=@jV!hVJ^d&;7mM`hGm` zulIS^x_(>?>)LByv-cUtaUS~|dw?WPLCXF6_wRhP@WxF&Dc^^&-8Y%^rb?jVrpCr# z;c$R51}P74DQS_+9sofx1Oct{Hcs6*Rs;*A=V!MiQ2Vvshbvz zTfjAOHP@6v8#He293JMF&jxHOaooM!8$F;6Bm)8%nxA)*T~d*{p(jIAt?ioMfLc%Zz*H~ zu+eaGmQIb2$0tA;v$DKga(p2A55UTA2R7E>FYpTUF&a?XEk#C4zlX9d=4OXY<${Bp zXUm-za{k0X1%>d`kBeU>UW)j%og$brFW5B`{dc}O!r|~7al$-C#H5pwn%bkl%3C)x z%(3h17EQkM+h6@oPftZ%6#S%-CVyFFB_flEjtP50vQM^|3A(<9vA+f)|>%>GA))t)S2GLOl zYN=$=;{M*Aja~92sEC5JvY%A+eaS`+WBV(~Le4k?uxD|8p@>QP*j9>m2n9v!7KE2l{_0wxFpbG4vAtySeFT zu9CaeRaMaD{S}aw-_gGbp=o_4LlOQ%BsZwi){7zB#JiJ8F(KM?=&@}@9{q>zJmi4L`HPj*+!C_yMVn!EBnKfZO) zW(17a{Axv^&dh&tbtfzu{eb!=1WS0GH2KQ^YgB{h7Hc3-_t*NKa0R!8L|mG(#d?bz zF$H?8PcC7r)&oC;PZx95Ip=?&AVWxm zI@F)DAtR%8q{$f0H@CX_5rZiLhBZ^`81~yRx7}(7*#2d;H`LB#Xw4p>q2N)n0_(gFKew_ ziwso_4f2rhzRi)*WzkhtBV!hR#s^S_sH65u&f!WuE~Y@xJtr>iuC+B^yuyj~MG!Ak zycpUP<1Oa)tmUg^8z`1-k8C6&IMc{}<8TI@3=o<^@lCDcR(zZ2awdShg*Xl-~SA{5`_xg%`isBLkEjGlZPe{kgz>ibb_1tZqkRPJTh zhryY6yn-J|dvKsRua?FTd=|}g;vT5awioViZ^aD(A!>X)rX(e0dR9t;gkhZB(d~4f zI(^>1BgcTs0LqU4ezp#d<{TSbU}bf+7co-x*nh44(@v?NIl1PA<+Rmfm?^x6HlKl6c6ty1SB&zH_Jd5h0a~?*lptm+qQ*>O?VdQWe!6hXL5Ffkq)o znvZ93)Mw==(Dfz+MZ$og7WE$jSjxQd^$wr}EA0F6BdG&8*wLuC`1nN8aemVDPl{1v zung@>7QnR()mU7$t5QVLOI%_{3X?#hmbS-$%bnCgXiuL{R9JyFQMk3G$9IWB9Dcg4 zZ=CJhiG1wXLJwC;A;!SiRGobLv|`LsEO3JjFEylw%k1JWes%STElRYHkGC2LQK4Ay z&I0?=@{)SQP16c-ZB0#44jYxr_hH1|&+(FC2}*@uza|+Q6&@HBc5`RgSL3)F)?U)q zScxEJQ@c~|f6;NUE(-33z`yC2+ly58tG#R{&yG*WyoweVH~X#!@dqcHdKxz~YnNxu zOSljJVshcTnu{+S10#%UX$N2N2fj<#oKIsw$RQZ&BV82jQXNc}Tq}PiLA#J}aJpz2%7V z@)#R*Pkf;kR2ReL7)c7IB_^Od6&_^L%xO(*<}>Y zDcZm%-?@X7uY7s(!?cFTWxBTR<%x=N=Jp9(=4vo?KO!X0o>X>5aiY;S8GOShq4LVN zg4@VL8_k)<3u;ACDSfJ2d=~_((Z;Py9Z4cyV?Mt0`kA4pv2BI zis8(@I6Eurx0VKO-LO=VFw&%snMpzr%5m34b4L594=*V1Esw8yS!{#fjjg90G*Lv#A!0Te8pDHd404P z<Rk+98e9p&;Y;JW6YVjX9$%8ufI5GL$7pgYSh2i+T3`A$Ge5tsDi`hQtzg$n0GN{PT?R`VEAZ?QHO>n-A?1;UPR;4* zCS;HuU>Ud2jTLt|C;S60+)Z^iPkz(@|6^{v7v=+z9{DOK{i%}5W&lOHVx}1bk zQBkRRIg>L|w(#rgb&E#dZb?Q?KK2n*`uBul?ngw{PJ??$M-E^VWGvvrNmCc&9nX4a^!V#Br@uFVUd&B>1WPCp_oo-;wkQ!!h!bv^O13#P_F?+K39_746`mnG(Fa59Zi;6wM%+~+@BmLUTu8!}>fkA;rj@^S%F zQ(8?vi)C$&AZS0slx}sJI6^^Jw{3h}2|ID^8D(^De9NLUBZa`p$d9p={uN4XuxsVy z{zfT1{1V^I0U5BdfsaBU77u(s2|>R6>G*gX^wjyE-h5!sYH0tQ?o9(37~U5jJv?yP zWpu`aT)lIX#e;AI9dPS4APD}S-YkBWl=iuLi+_9J_U*9QQtWtUTb{PRWu~kS2_8f} zO4p+$JJz7B1=3evm{D0-U7C=x-CH|8@q`%12$8S@#R`ei_ozfz0|BkK$~K?RlzB#hjGiisB%S~qo9qD?VBsa zP@3@Y;NS0e04TOrAQakgJCknejACS&a2_eRSFzKE{eHMP)$I@o*^XihC16gXKT8E# z4zSh)bW>&4gu%^+TWDIEU7IJukk^JR=2{PEX`6J*`FYK&<%ZqKU;Uf-jtXUzzC&`W zW^rme97C5%`1!MKm!~wuB3wZd)+P2)A8x1^b#%NF8-zGG?M(*$zq=$RCMG4tjAyey zO=?AIy8r7}e-L#IOU*C#=PV?fd`TI`Mg7mSzh!0Rb=~ACj_l^lmu1rRIPhpN+M^YD z{D#lyCsa#`MHpf4gw^PFQQ1u}_mqM;rhoATP1Yu``j0pdo&>|ES%qTQ3pR+T3TYWyAr48;Hahl z_fcrF2v6D?JX-1eQ{my4;xVSC4R3|#m+O|H)ti&6UN}jcu8hXUwv&_lRNveCQ)~EH z9V_bU5{p)DZ%>>F$jDjt)^Ksxx2>20&wuSLPgHKe)}>#WkuL}P(Lv$Zr|XKvX3-x~ z6M63v)#T!ihhy;_BBi4$f=)wGH)(O}TM_~<;;xiPg7_94A!g$&Pm zuZ5AZv28|ai_NQ);D)K(H122cN1L66A4yfd_y=Wu<-z+EdnPbO19_$b5=Pg_ zoSlnf*&~HsK7}|4=%fns*J&MD)PnPjGc8vc&7X$PFK7`6(4*AZzW;o5V4FoI^wX!# zJ$hW~7op2k=TU;KRha?Xz|#JYgLnt2T&?%zCM`;xXb%0n0nlFtbx5zR%PPBGO$PI3 zq}W8UNtILfyuVTEc(Y$alt@?-C}SWc{Lg5cl>|(KFtY)zvtK7>zn-+dl`F^UW&!yN ziQgvunOHbA{THW^-CWId+;o-V@+YMSG`qvY!!)Gf0OTFTvX>uloQjlgq!-25F(`cCc}&xwd6i=g6)tfM1!jEHjg)Lh-{$$$;W+CePR zAR$?xPIR7ZM1YtNJWyteS@+uu!utJ<5x{Dy9!)~J!ZBHy@6YGP*f0UJfQgDJ2;C(z zj`&OdxfhO1d#c(Qwfdcr{X!vP+3o3LG+)F`QlN7?q{dl5c?zrzjVA~hWH>`CDj)K< z23Xh~7EQosT?K&~m~L#$C%1$du!AN}1n+@>-7Oj=a#7vatm$g^&e8bH#&ctQL`NUd zi~T;^)Ix(5kk{5`;_+kD)i*NoSo)#Qr%6f@%<}2}t!E|zrZ7}0JtYN|tUShbc9{+n zqu(#T|BqJ!CU}Iicv7)k=`d)O*F(l^Qf3t&6x0!fkbyZlQACG^s@Ul5H)FVuEK3k; z1}*U1rCVVk4qd4qb~t{c?y~cq%1s zw>9elnptFJeVa7hj2#@?GOH*<=lU2=0G=g^Lfgb7sJK{tMI#ma)cFnDHd2y!ZFTjF zpfGYQaxvwdvAqU8qol)|Y?Y+g?Rq+pEU&Fbr@UHF2$Rpkf3;(A;92XwR3Jnz0HBh~ zSc$WDNApz8?Najw+~$&YddPJl@rk+2@di<-fuG7ho^x|{W)!3a=9lSV4`IzC0J^bW z)%5rFvM>V;hj9c@w!ZqeF7bs^;=>O`^rJ8VcXxMO+jRL6<20c2v$C$i{ca5Sc3qM@ z#}tW0cn4?YY;O+$To*wt!32O>TZeiXd?oqg15yS_ErSbq-83ry=XHfBRSo4{%#Sn) zSJ_@KpZ}ZFW(TQvOie8SepKdifA0<6#mLC3(z{9b!8^R*ZKvHLd9H48P(D?UT$rkH zZDYww;L)TLa%eqV=Y z6y;o(pw^|NynP!Ut+colg0JM@nSFW(AFi5?q;ms{wM^1ZT1Y8VNnuen-WEyo~vN2KA|=wA{{8NUC6I zcD4|ItBk{Lpr+J)2$jxrIZ$O_l=jx!Q=X3kOl^$acfOA3Iom5`N(gm~6SaV+=N+_Z z6ho~U?_SX(h!9+dNA6lH8oT$Jh60lG07x5+{u~Cy|4-k%uawb-A50zqmIl7ECo@@Y zT2rD*#U~{EB-&jb;&4sJZ=z9)!-L_Mj+vQR=OHM45*}@}mHu^IC;<3!wOdhKyu3K8 zUd@?ib!FxJgamzkec*}j^IcL?Nh8|oEwI8r&RQaEZEX`1%W`FP6Uv|sM<9gmoJJ&@ z@s0t-v%}DLX}@N>0^slfaHLG=2*8S66AIKDbo;|2?DClj303DUFcFe23%z*wUwM_j zAuMYz5_r*=n3{mq+@=*wYK!L#fuSMVwIiyysAxJVPGCsJ?bZ2TEz!*pq8!hD9!vU@ z)coV_We&J6Sw**ws@6s11B0Jyq<)Kg?Oh-BfSTVPcmDQzifK&;>EB;h)Cs&ea5Fr4 z3+dc!=TYCXnA4&shVvZkyudD@moj%(;erb=);M&RFNGu+%&1|GfncjK;OgySE6`rm z)%k$7EZYqp=`{B)_SbZmKde#xU2 zZ~rb&7{2?MlQaHq$NwKTdUtzGtHq8OF@gdMUTX~GVod-F>zbcsK-6$M>yt{LNrW^X4+-hGthm-ONfHurdm#dbR zo*C%rf!@&z?3V+ZHml3H)P#gGmkR}5I7~5DR$u?m7?N^-a$SLna?tw<&;WpWQEGVx z5Ms)7Z>Zvsc!|Q@{9ZX;TUiN=?|%*L1b3|co9H}@C&=2He-su>%+k3 z*REaR3JzuQlGHxQx3zvPk(-fRpKay^nZVgjZh9gYFw9?1U*r{b#(eGpP!eNmLO~4X zfx)FoIfBV>a^_o=jZfKUv(7C~RM@NO>+E`hxd7PYuucOAo&fvRuDn%J_1cQJ-ErGp zlewD$!_e||3HP}7wuW|RiCV9*!;Z@FAX7b+{8@j8XuyWXws^i@hOfI?4iL@1x?>+T z)O(9#6oASo;X5DQ@;n^pdx`nD+LtP>JPDW)An4|wYVw{SA6$BD*c1Y`=*CE4Zcfhf zoYWEgVHTjbDWaSGSL!vDb#>*A&ykzX;Smv!rY22H6eH=*&Wwm7L|y0DxJ{8OeW_Vl z5}@c;cvcHhU)VDWdO4L7@$5y92`g2YjLGHUrYZApx69cjrRwY#&b>15HPpxBTmHEkB0gBwpwi{`wDgV-n~ zkgB+)4P^J#HXOc(>iY2`v?^e^sW(ab)42lC`)?yK|G2nDbt9}8@sV_eQ;1PHdaK?wHRpMwDGJj zE)?Suq$4a+GD_zrY`Y#Z6Ooc0&_8j)jNe-5h~(wu1huKekdPe!^xJaO`~v<|5y=Mu z%)j(!nay|i@VI$rThpj|_i*zsd-l$Pf&%Am&RmUDd8^lbwUGUGCQ4&$s(>J zT890T0l#*a3K4X7GuFC1sondgPlU&A-{&(n@HwlG(%I7-*n@$520-#Y0ye<7^7jr2 z3REG8{|HU#D9FY9X3w7jqoNeN6s2U7;owd1czwLBJ!WYx$pTkxRtJ^?I)g8N0DIRf z$p8E}B)LJfe<0j(uX%IItM(2;RG>`g$pT;_SC%i#;giA=MRm2uV-`mW$M_E(B$@0w zQ+4p9kqb5~_v{V=+j^syp7{dT)Uwz57w`kBlm=vjDdWa-!>Ap2p6p>yppCw(=(thEoSsr@1UZZx!Z z*P8vYMv6D0#b`(;#MSacJXe_G^=At)U-8>x14q<&hqJ||q3~J>@(`j>E{*iZGX7X3 zHmx8GO*?RPk4LbVJk6wsN=Zf^lE*?VFLw}OiaEIkE524*0j`|V&b?u&p(uQa`gJdG zq@sO=p7>sF-#sM0xnO0T-RQ#Xca$MGVy7oHm7?=&)l+}&wBELqaQ=yFk2(K)!%B>~ z&5BaejHhP{ryFxw?cwaB5{JZln(1)Yq2a>Q(S8wD!S_qSQTOX3Yk#bJ&yl@BXIeqkgTTaJs#qb#U{fZ{J`6^wds0Coy$I6R}L!g<>qK zmg@&;P9JyAc?9YGIwLc>BG%1Vb~y@_b_>s8*Mxnyl-br15FfY9Ca4eg^w^ zjFtFuVZppwV!;+iUL~v1e`LqywN;QYmwz}roB3iOf7wONWXYC~Dgi8J%#D_Ly19W{D%mk(vQwkk`mB7P`?+-+wop`@_XPK; z$?xt;TmP#O9sGe5VJo5S-65J%II~W9_1$|j`pc$naq*~C^|ha9War&|57g>JjtzK) zdRU9SNy7Q|x=iq^x}>xc%`sQU%)&Npy@3bf+h9l!ntS%Ub2rm_9G%Dp!%|q}voSS! zO+*=qXOg2d@-1;2i-+R@$S-3akZjRx~DxISeWRYa<4A0m!&TT z>duez?UQ4chDUysljuWF#{};uNw=vOT(_@4!4I23XQer(nyQms7`yT&^@WsUgEP7cMydx=8U|I ztfjMs_4G}NawR<=kDl#dWK;|DdqCT%uRlmP|9O7xbfe}`_dHP$!4K$3{0g6wcY`t! zY^~U{z~W%Fa&xTn*4$jWz`MetZ0Yg3iw#FQ*7nIlNK)O^^%f0PNpG_yL-4yn5as6@ L@+E)0`1}6=O9fy< literal 26731 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 diff --git a/playwright/snapshots/invite/invite-dialog.spec.ts/invite-dialog-room-with-user-pill-linux.png b/playwright/snapshots/invite/invite-dialog.spec.ts/invite-dialog-room-with-user-pill-linux.png index 0443552daac2fb8679ede9988e49764f6bb4a16e..daafda4b383bb51c41210d16b070010befd35cb9 100644 GIT binary patch literal 21368 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 ADgXcg literal 21425 zcmceeWmr|++u*SY2?>#YKuWqhl#uRj>F#cn0|-b-w{&+NQaTP@2TAGf?pZwlcix!~ z^KoXlya4w;d+oi~y4Rh*n_ziaF;rxHWCR2RR0(krMFfOr7zhYY6A+(*BUb3aMc~I1 zM@2Cqgwi3xEd+#r5F|uCDZ8cY&bw-3_uRZX{8MzgAky%QditYCXW+Ewu8#j_!%WI< zGlQho1cM1LnI9AuyA=d46e_+Vl7+l5?D!T?s+i;G?CVPh)&9GG&h=aPu1W9Seqeuy zkG0YDf=erW=Gc@=1~CIMqfgLGNC~3o^XdB-k2XVIVslAzNlrmUR8&+3_!k^S8qq@m z9uGk#Seb^Fwv4(gzc@dij=sn%N-gq^OpYNMD~SnD*4afEO9)Z)O%kPX?Apb?AkyZh z6m>`@V#bFM4BZl|0(@|)FU~AU9-FkYb7W+`1{$4}>YvIUA9{)i22bK4jkz{;vPP!Oj{F>g)uOe{evyaiigfBETRCB#}-wgQf4E?&M;j>qZ3wE|Bvv z)HU0}RCR6O53p0bRt{JPV5}&7{f6y(op2)nuUKFGs zkiI!Zu4ZC2HV2E2@b}E}e>YhBsJD*QrAs9I83lnErvV*{&aMn!gMh z8TiAMgppH}hG_3pj>qu}xAJij+*UM_lABrc>*9lo3JQ=MC1t6xnNGyK1mfdh+>lH} z8RmHA(FY@`lIFRWfiF>>^Lh86gUb$S-n~P7d9k;@wJ&`SMMz0h%0v{kr(O_bl^zg& zZYHDvKJWjGcazl!eArJd9JU5=+7W@R708Vtkz%W)zE^-OW8}b^KZI0PRUvQB$wpK> z3ht&tnN2Dmf69Y528Aefh#mGY_Aex64vy{FDwJ2lXpdvn;RJQK+a6P6y%%n{hQ>h1 zu*K|;Fw=*3;ItznAM+2mo`6rC_H}mV`0+ zdj`&#(L8_Z11=m;dd|frLx6`@ZL?K+kPprvB)v_aO8eX$2pJ(1`mW_D#(*n`^9me4 zB;jL#mq4G9VnRWtUTUiBtV%4OCs9=3N{H6DPc$^7j^_}?WA7Y<{96IzR51; zwI!vr$YIO%FS8g=9`D>lhFKs@7bk9fjKAiPM9HE_86Db*8It)L;`O9eSMY3Vpe+uz zcAS#T%O-yR;_<%7BM@cP5OPJln>$Vb&!}S-f~ksa-80vk$AdaI z_lm314p1-nf-wB2?aa)yJa&!)ZQ?cZ;*u(k1Z`p z(AaYkDy{H5L^7EC`%VQ|$OOB2wx~{p+a=-&_jMjJQU|r6f;U2oUmqWf;gYX3kT$Wp zXUXo8Plx#9uMH&!SqAz9+<1m=ZeCt?MOymiSyg3a459tG1{;0-QSlPCmtB|T{rzrp zy%qU6EaHZSE9-+q{teG%(>c0eFeMWECkVd@L@DFrW7Q_BFqI6SO_^#Io~jNo4W=BG zW@Ic)S7hP*Q8Y1$i0Dhz1ny0*^LY zPp`asI{uH>0S(4dkVqaqihCZ-rp@TCP=Qfb><0Dw4wf~+c&{te6N95nIlANpCAsl2utq-_Th5P)Of*_|i#hhY;A z()f;Le~d)GFAZj{>*v?DO{@t#MQ^`HJ1vW8-nBb^=N2$rZDbtniUtTIonwr;TmQxGRWFZCRFB^Wtf_f7(jW|`OUfQ>- z9}X~ue*E}hv)IIdjf~CC=X0BFDz0bZS4vL7=4h91pQ9W$E*&C>6aPddSR@GT{tO=V zok}iERaKRToBd#xifwnkU@(c@5LHVj6%rW|62k9^4iO`ik&}y;G#-+b^?!+)z~TI} zrpEcM`^UtG-O9?!)JB(dZi17`(Uq}E79}Mml5~!ho-jOSFY1$3CF|=Vu3rgoT*}BbY*k3~49nrBI9CBElcpXsHBjgW(?Uv$Kc3 z2lq{(0qC?;d~`Sw|6HMpl#uv^O#LxK z+MC_0lXAQ&+r^eFYWLI4qb#wAi{1G;pZTOnU4G{s+0UQXPs=Ze1*BDC=6nzT-uu7u zJl~(Kb#}aQv34%1E!EGOJuAoC_ae5=NjB}(yNx9N-x^N0 z|M1h(doSMmJ3yNxSLo7Wa9qCom9q2 z9N)3x0QuHEY--kQvA^4P3+wGIR$%cQ((bZI=Cn0Np4V~IVy&X1eXMAQ+gcHGQ5rxZ}?!k~_LDvJ77~i8cPU)rJ zZ5=gujzGI6Ls>|BPjOFuh4fBuNN%`c4(;UsZPkB%9U}JRW}q6OHz&-EIBoZq{S*>6U+g}|GIJ(wARLfIbI0JgD+ZC=SCTr!@9 zwq-prMdHX~mA6Cf?iPh~bz-aP$&=Is+<{DmgM0y!ygwbUCe;RhyyI3~Lxw`#$)eP+ z@ExtQb5+%5Km68%@-daOo{;hL3)8(tdG1`K`st?Jbja;u$F_w6Lib=k8BXNuvQIct znrchs+Zs;9J8^RU#JM}1=x*(2mx;+_Us0TJ#_ab$Gxwe{KfkuMwqhCC*yOrdn;G>s zMRJbVVgidZ`)g~6$^7K*Zs_~cK@J6<~YvGo`CvL|lu zY=9J~KBFsiSlmN7-R``3Nc(8kfI44S!dzc!DzA z(4w^&mJ5IU<5Qrh#J3Aj;T#Prx9(RnU^LysH@moz}taoisTK23ijl7NR4fuh1f%|@GNCmxrAd)uF3K)MnFJdXlO`T_m0=cq0Xkwrj!BfKSEZMiBg?LFlBaN8Hk&&f4mbY)?f_+2KnBZ z>rroag=%;4tIohB5b;<&CV(t20NeAY%JkVwR5hPM4ARb_A(tsn)@@cq&A|DYSuHwD zHRZ>z*Mxk#sc$+;is{k?WNvosxRm4`e7x0fGMmdn8^K_k;fCcv;qcHru85laGh*vmnx9e9q{S3U~71zi;W5&s-m!7b;S0H+}pb|_!|>UT8?$Lc-W*5 zbu|fd>=PpslNT@41Q)fh#B?wjb%=RwFiErB9ec8+a4lRxboQ$j?h_b{F;=HXf`t`b zS;-AM#0DI z+feoE*~P^JA?<;E{u{Y;f#}relVjtGfB<(by~U-Dz^0QSJIW0Gz0h+3t<%0EL#jd% zGLr_&x#`gv^#9Df-}xzD$72XHa@u^3>;34|vvH71gC7WVkxY+4Q~7^lkKa!p9Yh2K zl>aX$M@-ve($ZSYM#&14HQ}gIl9H;W+JCq{H80_tZ#qrKP6vm)8MzAkJyPz@Zy7if zP9jK*hgZN?i&{gH90QXRxxGkNme_n*R^Db=s(-RR*w@z=rVJG_yvURd6QGT|Vi@#_ zjcTgVh2c@MvQ`D4;I`&NVo}NV8rinnnJ31vvu;rO?%fuC z^C&txCGrce*Dh@lcGF=`&9LN&+C=&M_srqy*jPX0b)*9}K6RDeL(L zXYhu4bv8t#MtwgiAdxCXs?0m&l$4a@CQXU>Wtk`_SW!>pCH~H$Myu4b*jchXMg1!RG%oWwu6CEAz z$;pkt@`YUED2LxhQ^}E$k?FR0ZEbJ!m<+rdY|ekvx7rsSLB!j=awKrG%Q`6bf;79j z`V<`e@ZkeyaOeEIcjxyv92^{|H4zgEa1?8N6>V7o zXKIQJuwp}5SXel0=F|-#lVN@hb%B9(($>!WbnNJ5WXIrbb}l08Juhs)RTIvtPt710yJ)|J6Ra#yys?Ks1-wvs7gg)Xj0PNmYyGDbFNoU8{V z4e#rBTTMHvoG)DL;y$SS^H<>_j@$L_!|V*i)2dWB?6*%a!~LC?{g9Lf?W=pZKfRa} zn=0Kkf2onRw7o}0XGdUbd3x7rX)dFrk)9|vajS|hX>OxC-Yw5iH!NH)s~x341qE%@ z6kGBc|Lgk%iyf1}@wt(%9u=C#DQ{yA(oUxZC86&|S+7VTnfY<_T7^;xY+g<9d&IH1 z>IU8XU7x)SRbX8w_fz{n$40zD9c8f)%hcZ})b5oA(-7_`_w;uMY+Pe?$&1_Bj~MWu-Cd!`Y)gMS;Mngj@C@Ane-%aGOPO7Wp z#L{+*0ULzrf#jQWS9I`v#s74kA z2?)T$!vkYlJ>1`cEovR8Uu_k?VN2SZ3T%?Enq)psqyQId>gV-m8y2V=wZlO$j18|Uqa zLQL8@A82c?e8Lk(lBHW3LBGJ(HPxeFx9_vIS_1WLwiWyh|6bq@l&NL+tkV&bxR)}! zsa#sY6H`NNiC7UICmU9&_e0CA$n7qxy6SUHpHnS|aSjlxRvhv*8XY!vhj_0PSW!{U zH#JwagYg_VlG0gAX)UMuSXP7%TCp59E8DChwt_e)d{8i~n zLoi9H`C?6+ZC4vLbd~MuUSza(%SDK|=I=+J^hxf$)PSG`*U0hJap4ySdjrjv?t}dI zCT289SfoaOe}8>UPsj=#%s0m8nxh4+Y;44*qzsTt1KDI@XFoeW?(gmW!l7@HCM_eA zSZ19l?E>@zkl^92t^f=JV`GXa@yyIj3ooYF*x2B%<)Ktw)(5?GZb!gqZ1$`K<=$(E0kyZI^TVO0#ia;d#*R?y|;FJ8PjIy$Q1EM`95 zKL2&z{EpipyQZdwL+pj9!g!usp83r0-+maFgoI7Tu(wIMJFO8DsFXYQT{HQCe(dtl zSZT^eyQTI7X2XPMeKRu+<>gEq9C6%!lk|$j`l#~?uG41jTosBM=sSlrWQ;U4V=JTz znwtIE71_`T#R4Z_M#1;)A9&KW*=rj=MLxIN#@HqqNGYs#%)6_lg-pp-zmeE{@#^G& zKiVo;R&LAST1Dh*gUgAeF^++UM>!sAs-u@KD?<>5P^V($@+vGpBI!i~3UHF9nt+h1 zh-54`y3dPfp(k&<9;GF^uovP;Y^4ulm!zBVW~aU(HTujs9>mxwD1w7}$c`zog+rxx z&obm;V2UO5Jt!==1}Uf~qg~K0vd`R67>#t*Uw7RfE)Wgpnf7(-DYSNcLb_Vi7N=CZ zKF0P2Ho*~7lxqpWkb2KR+PUz<@>h&vLSiBgE-rk5F-dSi#pk)XnWix#b%@z!i$T7I zYe?Y2q>VDnES5RSYyrCcmYLlu!Dx0YZ5T3o5pRksSZ8h124Y4$Gv>`YQxfGPoFVU(qS)jVQx+06}ouAjK$Zc%&6cYNj91R~E`{~}c zae_qJ-94!k|Mcs}$K37l?X8#d6SLALmqm8voI%&v1_2A=6I@2!3B6(BiCjo5cQVb_GNhgYwMORY=Q~h5bY|72!*EF7a z{rJX@`m&DIq$OF&v5P|G*r#>%c9ut`ki7ad-GgwDUB~Z?T1`Rz;!!~-l;O;G&Viq4u?en&5@?wR#rEdX=#I zSiY=U6~|{ri?R>VeH>QP|HMk(-Q6`eHSxIaH+kQCS3DG#jNbQ@=8 z!Ys|i9pM(VjEoycZVfWurgAg3W|~JTZ(h&4gsiJjO>%5;AfUlYaZ<(MncU zmU)s1hwt@ifx%#PH5(Nb)n4m7`*V4Cf6Xq6qeXFX@sBH3K|wu7680WjYwN+4BVs|H zVrm66b&aqnxc)~r+x#}*9J8>pcC@#9obUc=aJF23xSJU#&GtAKs`Hz)?s|T5xFp<_ z6mplN9~JkgK_|}a3di-$t*v#2{Z}UmF>`Zs2ga+|;9%X#x5o2Kjg3>e>@#i72;?D= zV>D2Iym*Y`!vM$!Iof=mC_PF;2Hy&{bqt~7{=&Qw;x$P`Qe(2~1L=x9kcmRCO4WCn z&HZ!tPDNxqJAi&sMBEr#oNw=PK#*IelO=O))8o&P3~GL8L?Jdsa759qP5`z_GxfD@ zfWc@VFOC+LWNB_N*-M_Iv;WBg2smA4mtB3-%NnDJi$Ju-SA?^7ae9O)`A|?$)Z~Ra z-MGO=swG_=J7=8qV5ymvuBh+mcZO7;o7U&}^RE8>{(*tr&Cx7(cX!u=g|Oh@(K)ffBb4Xg zK>FkJ=g$jJM=C+VhyGYvc&UyO)Fdpb%#?Avv%UQrY)!Y(r36?xVA_EfGw3up-JDxbiE6rt&Fd?{I|^ijDAI?^Ha;C&pdmeb z_KcUe5hUTKkV}e-bEOl1Mn?YT`=kK7o-e)%^xF1l=pFq=FxUR&Nbl+*O@cw7bjBeA zg5hv&)1?Q8B`A>-bKIJ&&%JnsOxzSn*r-vlZ1je7^*~x-F z$;J_{ql_u#SG!&NN6KV0^FA*0o`%b=X4kyM=^(b!K3Vr267`daU1>TQ+Q_sy5+?(Dtqyx5;?k(p?3H`tx7Fda?{`~F?M!Knb`@=;OQ z+1U78_q9Pn894W?t-e4eEUea+mY7|3r%yJ9#Y997uWnUKG{f*%12wSm@%uMUB8d4l zwY9BGO*zfS$h#=MYK~#}_4kjDk2~i}eg%ceG`=g~5*4YHxi~xTEw(=F&o{DPC{(ri zzXBowBG=<%2Uph%{f@vr5D}hRuz%LAdomgp6*US(AcBw^6ANo)brl;EGjm^6fJmsp z>*^T9D=jzsjW2ftY@S$77lJg5mw+G{StbZz2M4WhFOLW~tiI@E%eYPuap0p-#lBaC zcT}dmlE@;)?Dz8W0`Uw8=3S?d`T6;SUgJ4zj(|Xz7ib&n?G4AiU$vhJRzibnIcL~A z7_7u>exqyXy4-@DTr}L0(m-DqK>sjugEo-lxmcCn$k{r6q49OU{ei%QeJKKWo(~m7 zau=lo$;_&yyPbWH1y+~ppvdCfCy&0yMqGWGP zZhdE@PyI_kATnKv?#u;aH_<$={@AteBMKI24O=Bsmi)HG;Dd3>;KV;lxU>sFo+oN4 z9$On^+7pWg=jrY;*Dh}?>Ljaa&Jq=2W< z=(4BT;^powo7wzXHiauHI=W-70By#t=yP#-x!u|Jq*NT8d3M>?M($+>SQU5|sL`*P z9odgnzJW-t3KcyyiC4=A`YNJMR6*3 zw#aN>eZoc8H)OjG0O$BK>U zXj^Tl1O3LIlW*U=P*6e#28v%6>v1v+4T&;_7MEBj@p9};^tCEcwSofX84)&b^WCM5 zaV%F^zA~c>cw9D_+PK`nmuG{CnTA7m6~G%VkKN`bI)l4Bhd=lD)S)iK)a{p#Y&%M(8!=OXSR1`XQR({&Y>0XWQ_1r^=LVM$LQAML0A<>OWPc zm9@ciI@`qa)Ze!%C!4=cHE3Txp8k!{SlL=J+PuAS`u+HDpz)VZEd1j$A^;=#1v z^CZeO3bKNC8|#3)csnz|6aYDwlkq;4Y&WNA(yI9(;Hen#gslsY^6RHF#yOnqX1?=1 z_dQPV{pwqFJPq!AlYLcKP}#Cx#BW_#{GGCfM%gTK_iGY3{jWS_8Wo#NN%DU0DBk*m zk?V=#j|w7YzlIlYo+0?9 zNVZVsUF}cgzOPpb)z`Df!`#%L=kq_8 zmqU+mE$J$&>QDsj)o;q#S5TmY`&#xv|A38QxY8{sDRp*bSp4kz!t+e;BMKd;<}iLG3$b8R*$peH;O*hvpDL3n)|W)uvJJ=E1S)0@NYTq)+TG5R zYVM{B9``%>g04e?7JF82YVD2oa3-wP{k3ILAP>3hytVtgaLbQ9Q$FusMeum?XetQk zPml|J*Ry=!AZ`f}0%N? z$mIFnf?)n|WO&Kl%L^ipFT+nzGms$<5((Eq&qaFl)K;Z&85TprTLrkPLphpXBKW~) zpwlNH$#)&5zgZr&LM5wkdv$ofSNx-=?3d27Xa1L$5Ves=NtylYcMN6Mr{mF`(y_G4 zG0Oas{pI!*#WYwr#_l2nKJV=6AXCycY~NM_R*iY4KQ$ zjQ4IwNsGRFqeZVsS1(F-HU=&at#0wY{#_)PD%FL?Mc-Nd{`I8Rg@X|7!f9fQc}1+q zYBM5CtJY@bd~J+z#?{Jq(Uv+U@r*A787vO5cmGwk0eKsDo)@ip*WT`; zqSKxSg~V9*zQ;4APg)?6;}w$+9bYPQhVD!L@BqfHtQlabWjDh++r>>yd<^&BT8MAw zfy{PcHIGND$YIxPuh%l{ND1|>&?XY(?v^!w3&hL)(rN?2fNE1>273mcrnK4-lZudI z+Rj(sB_Fh)ZH`BZVSaLEWMF#}DaAX+%NUc2KNOzkcr$u6lOC=;eJd)Pa z9#J5jAVPK&w^+w;bzPP5J`h7lTRWAWZqS`CO`UGx_-1O5m$T+zBphRTb*`zfavPrR zs}j#N>C^8HN6<^6G#%2TfSm5&_*o$#{H3=)QGF&TOhvn5ujz3uN9%LHe9|>Fr5evb zL4R!}0m!T-sH1?^?N;ufR?AJxwa4PBWjw$Rp89)eL%lLUn33bEW#TBx55b^{-xiYq zfW!HC0LjhG)zMYctn2>$`RsN5CCXXExn#4P*miMW>QBR1m-nV!ekHT(kVY4~lyU?4 zJ)CT^f(C1J$N{gza@ir4m}>F;)=aD=ZHt}+VxPDaBQ5R8&T5|eAmeYwHQA7cR}9L* zBBruwL`?O9CmVjBo|Wn}r^P1fcn}D$Uuc`S*)sM=ZKYrF8(a1c|)8<+;TyinFq|dh5k@FnxrDm#E==eR_Z2 zXp2M|6hW9{?g2`Q13bW9g4B_2LrP5aNxDXGY>_J9Q`WosRf-bZ&-Z2mNdz``RvZsU zmH-vvZ0~aI2(L}!SC@Mzr=_MV_N8brcVLxvz#E*yUf(plIP}uo!zq*$l`At9Y)+e} zrTbl1rnZMe=)F6kvcI}LAdL-muLnucHJH!!_AH~h5G&^)t-Q#%j`_xLcU)Xt>D5(T zO%ePglh73zTPJ*%roPl_Ra~fEurP_ zqwf=b)=zT@L>$2XECM@1#hd4^cV@^jo|Y|V=J$)_I3leyscmfV59(M$F0I(5_a9VI};qJ-Z4Z!h$Wj0sJXw?%F>iv4x z7>lCi;XWm(EF~pHKV^Xp%*IbiqXEYRLT@XT(!X;E~YxcC`BFvCyGCXe-^llxSo}RACf#-zAyBy3luV3gT%2-)j zBa!BXrz7vbu`;z)Q|E_nuq04;SOx>8~N}i3dU6556!8Omne^@IM-V7JX{ynDS5R1n<-P%PAhb$6TFm z&z>~%(*CRBC|Ld^o~T8E!gkYobT^ftpMZlC4Vi$!1FFCQO3g|V@rLF6+r*p=fg zL);`oYH2o+k_3O%Xqh@r8G}WJ<{19ursw(B4W8UQBno>hx+Ja-?rCY>oT?>vobQcB zKm%v`XK2W);Z*6q?J>jmcC{nF|MnQe9Q9V+tL^k^OmG~#I7vGz+^a}bz3TM$4g|d# z`R@C#@>lYtrKLSCP*h5%>PqBj58{q0j%u`0?w07@8)hx4mU+gV3{*f@e%cBgaQ;Fc z&rF0~kr31w85?P6XrU4@8}0Xy6ryO+Tn&FZ-&;&M(Asj2%Tl0}Q|K04wemB&Am zhVfn@_;JRrFa9LBA4&kw(9Rzb)o#PJ**Wa8#2^|_@cLlmf`W?r2kMPNn*Hn7?=mHf zXw1p!)y|{uK+)*RHaMJZpW)E@QbI0oZtk4z%A_d)N#bU2e^j0!oRXS)e=vJcXH{~* z8rS&T<$hV%#^H=lK^NkXT&;Q?(~WM$vVB8#@yjWKfCw3i3x$P9=zGJ{Ot}$6J-+9 z8===fu3mngMC`4r)IvX~=apzQ5W zJb2T8_pBU^rSXku?OaNb~miC2wgg>2*f*fF_f)Z#)YGGEqbfIw-1>C-1223_e1S8R_FcJcJqq!}mEgm>Bu z#$N_DP?Bv7;D5=0+pBJCycaJckLz*=*MH`3x?=v~(kB$JvQuD)etWPt0% zLD{(v&cL2(C6SIaPH;{K+GzZ)$M;~P-QARDZKxZs4igP+b-TZHx0jIc?>?hRNCtrEe!W9i zgop1pKS>X%1e&5wchMXVbNt6?sH|aQXUji$Apzuhhto>3!6CM1Eu?e#C2~mxVt`PA zGCnpo*T&r+fW3~pa#?KA>yts0LpmvPVhswUBOV(yHi<+Po)W_cCPw6^Bjas*dZ-8^ zc-%pS@7uTbc*anAdODV>O8j!4c`jaF9GvFra;Cc4N{iVk*TY|5=Nn(`@KU>6OFx4A z2)ZcsQvY`4y!f~60^#ky6NaGvkN#ta&6lr_vy0&O|Ni9PJ%{6oEs)!Ij5M1}P7|4O z^70rptHo(zE8n(Af{Zq;TB$NL|B2!FNdK&G-6ylijPV=&+@G12#Y@bzB4T22-D>-l zZpuk^qH{Qi831Z)HQA7ADwY08`17uyUB14sW~>G9K`ZmY_7Co)K_3^>6e1qgJMyW3CC!E-ya>@JSd((*E{L!S}2vrMyA$;ocM$ z_vKEc6&BVi0iDyUq{S(7C{&GBk1GCc5=sOKieUMH+@A1Lgpcjn`0+4rLrwE#Cjtnk z+vfH}&GPax0E0fnYd3pL{{H>z&2nKpkF&*~?GEq<(f4k)VZ-s>H-iiFydYE$Pwllu z_&Dr#jrK9Ry1F_)KYw6Anm7W`p6m{*;#gQ%CJF`y20}tY3JOtxJp@AF|LvQFm6oQa z$MI@kObj-FtoQc?3_1}B2$D}vPtO1*l*GORlCWJ}U8SX^fOfB~tW;cJ;^+7N4~_(? zI{#8Y_hUIyVB%$EWdZ4=qN`;58b3+>f1yfH#|;`y1qQtu3l&Mpeo#yYSdN8}Q72n9 zsA_%v$Yeg2ef=5@Yx+Ng5M^{905K=o+ZwnddTw^BhGYB-MqlJI2?*Q+)DhgKwzl@} z`t0QFtfV3$AtMdo%b@0F8IjOnzd2Qs+>kMTJS`8}0tCD+?Equ}x)99F^3&5vNJU^r z@TQB7jt)=h|gcx`NLY0+Osi~=mq}H?7CfPYOWp*c1d+EOSYaR}jB4pOHQ>OP#=$>c0ZFGv#@0l4v z3|>U%?zM;N zP=~9-H(3Efq*Y76dyHe$!^8E>sITvAYx9}tb$#o_cYrFp_T-UJR#8^IJ?bH0U|<06 zlEP{#tD*4+WYiNyK}8LG2?wF+RGW?d`sAOPm9?_GY+=;`N-=YDbLHjbFHqjvLFevn zE?C#tWO{mf?CwS*5%3z#6b1Ap$k#%BA6gphRk;m7?R@*HSePhk5}N6^j1 zL95wlCNaMUA&=AM`QEH%cM&6cz3QG0dUOi=6uh5JogdN=vn#T65X&; zCHwT*vjc#MX=wD_CMG4(UR$cOQTRH*Z8cuET4T8{5x)7emOh3ozT5wFQDD>;U;zP6E&b8kO96LRW1O32U%G_)9HCP$9#z3#^v4UxWe1QTj_~7ySPYZ-+2br zE}gbmAGkm#2|heNO#w7zNy#4Q@wu;c;h!ab<_A|FPt^xawpgKEsl2Wx_Yu5~>(XdJ z!ibIZ zl?f!W#rp=-TmV25l4zPaj5FAW%vbALqm+ZKFe0%`Q3CeAxkU79EPE05>hsqDP;r)xUu#<`yW6jv=3WqU>=RAfS z3R$0-g>m1#ONfuhB_i6}+bgkgg%dM7uS9}2;!+*@2-JX)5qT04lCB|sP-g--nMMz2 z>I9elnVG>90+qxnu$qANN=#1167sm%Zw6!xRC@??%n_!~oE#pOS655R$^v?f5&|;f zU5kr)?mx3i51z*Ez>F&E>+1oB$zo`1Xs9GFk3m9G*73NsH|xoasHmu}2Y+y}ut0kE z#&^+2(Co`YENxtJa`GD?)za&9bvoUPS;p`|A|z7MW)Il}Hs`$=)B*Bwv6GEbtyTrH zC@(hO(oCV)fPN6v)mqQ5u5VxOH!3~jd8H@a)ENW%xq>k&uYGBQPzi((x$O?i0@Ck! zE0V4^nMD-<4Gl_lIKiDD=mTM1lM6CvB9`IQ2Ys|VbI_9{cFU&b=K1+~u#X14RDhlb zSef-qwM0cOXzi2C8MuhdjD)S_fIJK;U{Qei@vv1c{U(fMbC$p!E|X9;bfDF(tYZNt6c@ z6O)~zGX(@d+)Qk2bPNpo{ReY0q>$5t#fYmapg#JM#s}~YO0TSS;D6InpFQKLwk4Tq zjE|5@zJ@$OkVz51qWt>tBVs{uF&jI(3bv|>3bP&+B$C;%8v=o3gOYzvPAZQx4LLbE z8(WNq^;EG&$N_2Kv04&nC@t6bSEd15_u}|?8!Q&kLn@_xl2_x}?n1hbubnM2IbOXA z0)_O&di##yVUQlO236G>_^7+xJAmE-QyM}E%vzpID}F>jCEN3Yujfa!a@*9cQzo}N ztddC)!#tpiAtEHCe`v@DkPrU;{#jXu9v%%GB@^MQ^Vb8t)U9tUvugHAncP1NBw%|l)H8*GaQJHA;lm@LF)x@u?zC=!&> z3fNss%8Y9umGT7FyWz{>uP39-K&{RFX>y14t2}5O9^D3{dnu=jBmDX>ZrW~SX=(Z8 zOC+f7zk8QY-Q;;uT2;j=3U)z0h#f~qAKhkZ>P_GQ0R6o+-&hwG7A8+kM?>S_>}<@@ z2ZKe!*80;u7(_z}KxKqvfJBL-gTol< zQ6UkzW#dfG1L$yB7qS)V1;tLFhX%?ZOqIGBQQBW&rcM>k19dHOU>|uAiH0 zYDFV4FK}v)(a@ubr7?A*LD8tO+5#PId%%~yx!93H3=ZecQ&$GJyA{EXhouT0JX?Qy zDEmYQ=$}vs(qGivVF(CkQQtBB!@{CS_qNVrQj#Y2{_bKC6k8J6E#Er68qbwU{v1yD zr_vY(s%8I^yKv*v6&DwGbE}u8baZqCIvOyq<#~A<0JXqj*HTvpRvmQr0O||}8ync$ z&vl1@fq4x5F%Ss}35f-~dbP0!=nTR#I9OR(g?fR>)B@$!(iHbWZ9^weH3#YdxDfEt zLNN6s6^1>%y}jTNsc_&#o?cDk?+Gk06gDyuA)%s@63`Ri8M`@FX(rHq*68f5M1+Qd zP!14qo|lLELPG7p2gC_w`_Vd-l`WsQ;<(u24bTs;IBIo5Ku-YJjEgXwjDIo%2X*Ja z$&h0=KCqWSLyR`SKr#X|Ye8eigY8+;s38?-mWh#{sOZHSxMDQf$_yX@Rmeo{lRJg1 z1!hjp2tF4+T3XL7PQ4Et7pGSCU@`1hs9rt4^u7N>h8j?8(u~XDy6_Ep^7aQ2tEB9> z>G17Mf;=dA0>3{u&$P2U%@(*L%Q-Me0eC^jxKQN2lWG_ydl`<8^h@l-@pGoxhm1D!DlsjU8MqiRM0*NJY{5LWRPFFy}P?P z+sV@|`9JUsUV0Jdz~FUkoV+I^15IZ0b92C#ZPo91NpF}x_`l;BZWr^eDshZD4KdtG z=0-*n4bD4Y6V-zLRTq^rJi-_M&2`jR!etfmgz)S$sk=A8+ORa1WBM>RMV6B!aqE_bh`eWwX>D)JpG;fce#0fvBOmx)LS8cXb0b0&hy6=Iw;uTW07}{oF`zXA?2|QE zeCxN+*;8?H%*96E)|_}MM^<22Rpsr5K>=JxMsmc}4B^)+nF|JJod&?7R8;{LRkuDg zdG6aW;>UE)F7kik80wfSDbz0F8s_Pz|AHXk0qQyY;C<5^6m$bx;{YNaoF5IrFySaV zFDqk$2(_(Dc$V?0Be>x(bxdI2UGJ2E2o1zUP=(9+el0bth7 z4zJzcj~Vj$2le>#_s@b{c5hGmqVpUQ2eJZsAV-FIa>>Ug!$nX0c>XJ@XPZy|3{oxs zqn&I2X{!vw-;fM+OcqH5!+@Dg`C$u(31iuSo^4vkoI>U}bZen44!M=f92=El<+2DN zhz%iTgK5h}oSxbODP6H}>TV2aT&*+qEVak?W|Sar?Jw!;J(kVT4cC+#?jL(ca@U!Xn&h_pVj92mRp|8wdf{Wa zv7oxJdRZfant!j35wm6M@l(iQ;&>xS@I@d9!>@5OdGp}P!S)A6H@b7`4 zg@bQ*@(HGHoO00(u784}RTZBmU=l)@hzRWg^Q}$lO|x0R`C6+bDNnqZz8BCTGEFAM z#Hpo-dCaZvoy4Ju=3ME!f;Lo>dRtGkMS*&3b>WejWWOkuCcWg}d9p?{<5-kTAvcC| z4=K;a$d&w}gprpcz=L!=z38Gv6jhdH3s@UkZ7RMMAkUVFW4vddsnTjk5k+krGLVB{ zJOXoj+NB^?J_9a~g{KI4*r1YyuWU$JM=+Ee-K1{6ItgoZxwf;Qo+uTaB)GH@6N&s9 z2#FJ;T`;5kwFRI3$YfEHb0`@2vi470v(2}x74T7(U5O%XD2h~Co7YJLiym)FM=SR^ zFc>9sPi&|vbnBR$=g_mn{X2?&!UhvcR;*bg`HB-iI23I6oBLwIz}8aO#O7a&I&7qR zhj)ICFW#BzC!TS%KBOodMEW4b}_UR~$W**zp883U19Rapv`B6=m24pp!5cptD zjsteu8uIUa@%`3v`&G_I{!!CX1IqdGN|(KV{ieC#5;Dqs1~IfWLhmz~BchY~G5fMf%#6PfBFvQNeN)y^k$PGpQqmt@Q8dOgh|lu%*U;&r0AtG4l=KS$gB&(Yhon diff --git a/playwright/snapshots/invite/invite-dialog.spec.ts/invite-dialog-room-without-user-linux.png b/playwright/snapshots/invite/invite-dialog.spec.ts/invite-dialog-room-without-user-linux.png index dd6303036bee2b40ece7269705d5345b220b46a8..a66fcada246158a7713f6cd4233a4cb02a858747 100644 GIT binary patch literal 15565 zcmeHu_g7O*+iq-#N>dS(Dk@Eyi1a2PAksThRXRwMo=_|l0Ra)Ehbk>dC-i^_h)C}> zp_c$5^Z+4nhUZ=1`2)^+zw^_R#e&Vw?3vm3-0iwcn3jez?b02;>|M z1adZk{4BWhnmVii{5j*Uqbv_8>Sn@1Ah#hZPvrD`QgCQrzw6es`TwiiE~VmZ}S2YxM)-Vknl>FgAW{p^>Z#_@OJ#4P)AJWcq1*nPc>%Zl1T zTKf82;h6||a7CMekSB+m$B%MX>Z<7(89mJ#V`6Ziq7-DLfS!RsdgH{Hy6;D{>X^A# zmaWWVc~O`I3$1yN8a;hIJp&dE)y7vXT7|A#TbJFpwjCXQ$Z_cEEbVuPZ6fZ|vIS+@ z*eozG41U>@1&gle&?@F35M1H+pHz=cqD+?f!`wFA`k>Oj=OK`Bi4StDeQZ*h3O=vo zC*L+m2h(We3KggCt2xg!kYtn8I11z5yt%Tqbp^V+Y(qs^gs5PWb^D9;@Kkw5D{p0$ z+TPhMoKldT=EXxYRYf3LV>7wrI0im9wUdZ@y;zTT=5F8+PO!U&-&-_P!r&q1U+M{U ztU_h(e8}OH$@(+x{>{G>Xfw_yzc=IG9mIC>t6V}LY^;{<5wO-Y2(4hPfFgD$`q(=` znOq1tmujmQQ*!4HH^LYpkm}DjBY&4>g?y^_+jys-93Yn9wf{#j0|7qr`uamySA_ha zkpo=A)~bz)EQ1`-AkRc~=}AziCX?(#@V?W-7a)*nsfP@dcSERF`fCQ3lD+gt1~0Q! z+^r0z3D*kBTn@^-tjO8zzmtRBbLV6K-KGJ5m}(4|i@v^Pzk0$(1B+pAdQAmB*JPQK ztVAx}`t*A%{4yz0wCk#@|K;3ck9`6lX)%jr=g$~4SZwyiBL*m8S;wpLju4Lksf9Zk z&2nQ*TiZka>aFMEWNfDLq;oxs|9&2> z73>Npe&^?Hk-{QkQY68Vm{xd5pufA_ZItEe4};F8ZB z()lRvqje(ljs+aiW0ROKlRST{^n&gL^N`2=5p@dmHF z#hgUynz0CPl&XHPuBU{VL9&_l*Xi3??V~@kDz492Qc9pQOqP7Q^}wRzSM)z7F%+O@ zzE0`tJ32TSBuk6^v3j)cyAz|4tNJN=$aAf?sSyh#);O_w=Eo1jW_H}9DgTg;rRO8- zFVNXnnI1DQ*#b1dR(l=RsBAqW_4V~-a|-vIa`m!)HOqT2|56|&--JNYhpJ8aRU?t& z?j?gp@S?*use?OGyiaUJE{fWY0h$!1*ZLyAZwl0OF5WhKO5SuTyN{C58F1nBM6jNX z_ajdPjeAMA)gzI>O)!2*vv7#+=kr^UN*Y|JBn4wE=Z#W zXrsd_XS_QYlH1+@T71V534(PN(F&bz|8kJk>u~exmDPw zMxlqrn4$=A{IV%t6@gP2z+N&bUOV7LB;c5U3yQhhBF(=!?NjUQeA< zoO$uc>h894vT#XYV?|aQ#-g%+j$&7Ro%KJPQL>zCwg)9l?;R|sR35%?0XeEUMMe}Zh`5t* zy!$J{KlY;ZR&Lu_X<+fDsk7wp3r{(wupSawO=;I@&hOu?`Cf#oxB~NX!uPXdrTDU4 zwr)qX-U$-(vkQFkq{Y|x@4+-iM#r{HBXz0NXK?wpf`Wpiw+55&n-=&set96*`}Xe( zkm__Xvm(UGxJ~yxsYgaojSeLSUWH@33*RW`Ol*{$Z=;H}7uA8q){CXO- zXSBoLKYxyTA_SN<)OBgCTQ*(>9&b03Vu|)u&J)MGlalM#cMj^)rWaviA; z3ObK1k?ztZe_3iIV^rxkv?83Cm`D{`uBy}jm3yQ+%^T+7;jvwrXxCp-fI!3n>dqM^ zYo>}lf3AOng+<17`mK0XXOav~3D=q1@FPOtlhPbM0Ctj!A_mbA39Nar*y!Y6ZFNKb zewu0B`+)+et+^S!4|1{|e?BX-1Uz83PH%nXd+=>!#J^I8lT(zJ_w|v!;W0KQ^xF07 z$rTciw<7Y|UrRo}DCjbGM5^L%FeSZu+3c30+Aljy{QA&5h-MjVbf&!T7HZ z`}G%FSg^H>3T9baT84**^U-y5!|OQIZsJonwgp5S=!$nWUt=&>l-z_12N ztu-vRgvD}dq#V5%3oWicn%yt>eNZLw{P~zSe>HKmbZ*@-Dkqm!UGoHdkLL~8{?hc} zDA`Fj6rPyq*-_};lhW=sgW5U>Xa*no{Qn{s#*+FOmc;p;_($i&)N%?o|Kv z1NzB8kEwYN2|S7*YV5Uxn^>xKEEY`elJr_1M>={dDlYgp9-!$NhrL#Zkt*A?@}sXS z6$wYiFubOkT8euIZ)|&o!*0^fj^%|5!B^-o<-P;-SD7UbQH6f2dvk$Ai^8}&5?(37 zFq@^8me^d4Vx!W22PBG!AzJ=6b?cf}!Hi_9G+;_~>pt%cD0|8{Up}cE)zv()>`dVK zZ6>}4PKn1LVD?RogM))}lCP?h6RyzRhJYO){(Og*H94uF$xKh**cHVbPRym)pGxTm zbKBn4_i9Uxwu5h1CbM(*EDQ|1P>$=QUDA3T>R|B|?k@}Ki<3yQ*Fw{W&WzI! z*o`JFxQu@rF_Z0zccOy4MIf9A6=%1Xx;!mXW&9CdO*ZA<;^OS%FH*A%78q)>JyB5! zBhn;BGB)<}t0g@Wl#;5?ze4iZWx)M9M>rYRS_-vUN7=@By(ES7kc{Gm9c2gjC(G^R z^z^=ZiHnKtR}rQR@l?l~{-dR(g5$yX#*-%hDwSA{wb2IO)-CEq($>xG90p-%iWkRw zj6d0@Td>{o9@2nK`6ae5#N9er-&vf@KWAx#Ug``g2*hB0<|s$%1T3VF@8jg3KY#9S zKnHQvwy$GtXCD^V8zYGn3&#?-J|*W!pY#M?VQbjmDtOtz>v1%*&kud(c|qrUsUo>p* zGTWUycZzCPp2^Y~>loihY1-SX=-QeXcp22uT-}Ulc3wH|^JkUamszV@Pa&kyr)oZ1 z`N7QDV1uh|l-=#DNVYMPuxc@JX`JW`Ikib?zK89$sR3`A%(l^n7^&@?S__A5H{BFG z9~tCvYz10ctzmf_+0mP!u!ooZ9Fv%s8n9*utwlT2%d4R_p;>)tX~Pj8myPuFc!T!Q zF8F9X?Z~qK(f)UVhYvGLN}iHyo11GB4$EyjRxxeSXB?9rttGppx@~s}MKP(Ltk;o% zdLlL)?Coz}2RiD6IIpX(|1EHznvi=Ugz5t}lh zfV}0fpK7`nlptjfEzXKa*s^9b#q9q7J_E{Hc^;pRS9RJWHD$6%F)K_RP7TpH1V zSoRO-5j=6x1SdaIWOj5c)gAqE0=IYEPMYLILYL6&fv{N>ww5yMj^yiV&Jyr-fxv?S z=50DV+ZW^Yz6C_bPcqKo+o)Cu#O_NaF(xJ2x&CFiSHkv+@M@(qnm=fHxNsGas$Nr{ zFu&~U>$~2en~O;|^O*^zFDNKLkFd(5NO+9qaf_;*45Xd(5BgqabFSZ4I$A&v^l@7iX>qHptf8dlCWWlFD15S%-RQ?YPr~HR+L%I}*7m^Im--(O(Z4N( zoq-0c=;)C-5g=d%{U&LbU=e2^z4ved)Vfwy^ZJHnHTDB^gj-bTiz2>PuV25;z<@xu zu8F(1eY%B4nT){j&mTDscM_&7p!0TzFAfUo zo~b47pajqDP6CFA@7vj_udjE^RV#oQu(3TcHC>bT7I@vQwBa^Nij4)JqV-j&5iigq zyE)haV5&|{G?;7LuP9MUyOzHJb|esOE@=&rt-Zan4Dt1c;m7}%ve#NknkR4b2wCir z=5yFo=hflDlUc`Bb4}Y zGp}!{+r^xqZ03a@lO)DX1k=DJIoBu3vu0L+hpSaL)eN}vk?$)bBO}1nG_(DxWFrOa zngQ-p#fJn<^ZI>M#a-pU9Xt{qYo9H&KGU#H6`G9n3lL@PGUL7ekK5PmFqv8@1u^zQwzDQWWy5=R9rnCv)F9mG7jVgpv zjg|Uu_fyLpZgoV8*VNed#3?`VVEX#yq0XjcAp13f({!le6>trmUtb_Mpxhs&1+ZSoV}NX{S-E9%~Dw_M&MV^Zhk zgm#+HiMC8GBYYj&FVIDLAzN)nXWfgIxT&I8fCe=(Fm`8B%Ju03|+%jC6gD8NyItj{8u^{{>Pm$qP)RVLe-2j)R?Wv|qb*-%ZyyNs zM8RaL+OiTisjVseS30xO;ugP2nz&x2{}e(gXy5;RcXdP(PXB9hOR(db#0s?(CL2lS zsV#IK3JCyVk9REcupuuIvx!?O=_MD&<54gI@Ok)nd4FJb`S!(}Rf}tIxL*x!zZESd zcQhZ6-TJ!YN0h9)PbL$C+`{Z%B6aa0)34|g*3tU<>gwvuQa-NfZT(O++%CKxZht*l zTu5m9o1uBlQYuV_v@@`^wdIViMf+`cX=`iS+uN(g@%qk&amvffSHK#G>vbHl_MHiW z0*yyoLOoL3TO9&d*jW5`wAos=dt{5zwqO}a?{!`to`_GMm?XW{^0c!U_yzCYwQLTd z92*-W`;eiTCL?6i>DovhK-wJvZYm-#?_*>nT*~*&vuDrHSBs31i0|L;adX>ur-9c1_uXY?kYo#$7&5Fn4;KK?(f?mVm-O)TdB3p&*dQX{5L+#E4h2v+r8i}!^ zzfOXsGfU6bk+>TIF5Er5ZXVGhQV%lbP=;Q;983hi?y@>b=`FXg_H-uSvW^=kf5NB+ zitA(>Fh7q``A0~ng&JEpX*M$2f>oSUrbSRMb}IIT!CA>EAAko&JwkE-`^r!Y9!_DTgCX>jih_8f12Vyd zfn}T=t`@u0;Y1X*4SpDHwsWRU`V-LY?d=&E8KG3n{pR0!={owdlr^Oy~owGdVe_Utloyy3%d#_mEi}K#Qw|RZ5Wz!mz#9$z7Gu z-IW_W2E0ZkkI74Yw-@1(-rY&UJTfxJ`*FjT(d4ekqPpnS*|2!eorW$^r|}9H!5J4hKU!+Z zV_5Xs57WZoY`~WVOqb3{Fr22uhN$<7BK)Z9ax>uR8N5{d=u3|Va<62L^z`W}G`!W?dV%rJ1ld-GM1hB85fM<1Y z^aQ$jp_?4C%o87S&A+JhY=5tj96c;WP#kk~w`4T4vqw7qjqq(`8JUTce8nfSOJKbr zV5(EGckIK~;%<@Z?{Ct|Q`H6(8gpl*%*IQ%Z~FdrI?8N8sy8CM4g5SbbGxse20?FH zT0JGrJvw%29y6?rYjjgy`}t%bE=$;*o<88HKw~5)$j&|BxT9R4JM7k&kPjhj+#*nm zmgNV`AEsD{MlK!){h>kMWsT?cDRynU3t#Qp&gNUd^L-px{R+bf9PRdJ_5{XHTg#an zIN?Z}x)$BCn;s*#vu0C$By8WY@KWkjw}j5spA&p+#Ee{ z3}$%(S)K)wfNzW9lT8sm4*p}3-oG#0`YOvSkh(9w&TjVJ;P^f!J6yJiw+5y%QzSbQ z*djpT#GVjDGh*g#CNKYfk8KCImwF(a@1YPvAr8VEbZUTYFH=+F2XZwH4B|w>DwnvW zq)cHGUJ`JV%GWhOO9Q=nKj>q4c-aJwQRH)@D-%-)~09sI&DEiall-Zk>b_H=f*o-_N%H@ ztwy*NRs&kr_VPyeTxi>$jm9GW&5Fs)XSuC881dQIK#u#sBK>Nr!uFP_AN?qZ3y`#fTQpY1Fw&60Y%~>A~yK65K?UBe9g4NzCO{n-ehZKc8SPBk{}5x!Sfk2)at zmiwChdsw8QYm+qtq`!=}ZsnUjV2G6e*xTz~$FI&2+p+Mb#ZKr#2daL|h#&csyg9=}|&P9^&wS3HuNoo#Jp^))We#@5#HRtCCI zJUS+qa&^IXVNM=JF&d$i3z!I9=j}aJXjp7+e8aaUf1Pfx>{Q>$$iTldz%>H`8VFq` z_?oMExj{n?g_1R#z#?ea*en90kTdiJU#wbV%dBtUX+)Twy*~o0;7qBK;$Y6PPzj(c+zdSOFj5Tus-c)S5@1 zYA}V$M@ey!jTOL}gAc{VYb#=W0$rui-?0py&fQH)aGE<3JCoH4Y7)7sqi}@z(k8r? zA_XngO~EQC7FacMaUOS6M#GiVC6adiekeA>B;eg36g@QKO2I5q z0UX5UQ0hPe+S{M?`;@{Kj4wrFiP5FLZ}1GvqN_Gq8+EwzCRU(e4r@Q46KKuQtvmt8 z5*H~4b>$^#^J{C3C!!Zr{QUetNG|*a4;{a$5rNV~;^d1%Jk1>rwZQt`bsfbwM>Uvm zyzBZI&wTmZM_bh11jfZ=?-rRi>Me^|!gZR1GNqL}(Xn?~ldol-bvoTeT z?^kLvhHvc&xF86$<&v%Yfs4k>E4aJAICn&+gpDV690HohL`E$Q`stv&km=dP%(aE+>7F|l9$a5C&$Ed7pXk(7!;<_5oyRo zsFPPyQ`6GY0aDbTHsvC4Kh|Nj ztO5d}2i2!yqwX&ujJ3bT%#7~jR9Tf`|JB@#EVuPdn;6X3J@uu8Y`cG0G&b08QyT=) zd_xxPQ$g8UO3&7L`75>8Txr$Uz-`3;(Sp-t=B-TfS6mPFVtevUpTssXEZOaY|Hd50 z`w?avFnQv{rK{h^GklZoyVbW*Slcb+i7BE)JUH5DYQHk|tcesntkAlGKC)3}ffDGvkKQq7M_xy9NzI$WV2=PyGW@hHh`kfPV z42ri_JHJN6!eFZHVs;!gxPZ36Pci`uoa4iLnz1kMsrflyKVw(Cq%K3cFF zLN_S@n_D0qhK@-@)o0J5SY;c0HfKYWPZs9q>w)eAei^_b9qsL7RW24FMgl_S92Nk6 z8XFti+hc*P^je=3cbk1O6}n;#QHR$=uU@-xV<Ht_Qs9uoE&FN{TNXK%G%g& zRXZEbGhAc_+uxX(ot<@QI9RO1H#qL3?pFEaQFYxk4Rxq7L*#E885QFt z?yF2pO!V~Li=DTy6j_;>>(z5nz^iqz)!K18MrTFZWR=MdB;CwlMf2>(L`Ou=k9os? z_`{TgX=Xe0I@*W@712+jzi(cbSUD-FzlZwSu%5m!*3%J0BWq=%EbYFCgMUk8k2?3f zvbFC1MGl4=isu=>g%*b$p_N-z2?p@{Ua!TCg?1O}<3-Y(Jm$R{O!h+;8pYJ^|4Bb` zdo!=V^K6*4%<8Kc9sY-(z3PEQ&JzbwX+QP(X5h`8RIYfGT8@e8SJi9NywXu4E4A{r zRtmH1=u6_1<=NiU-Y82y_dK#V$?NhRwwAvnea{})Oy(vv5hsnSH? zBN?NhyVo_PUOr6ZP)m3rl3ewAOh-rO8XcVoFwyO?oFmBy+n&^N+a3&nsw+bUkxG`0 z0VJEQq-^w~m%q+u^;Lsw0K|d)oB&Zs|EKBE^%UuSiMBR2hk`t!D05lw^+`=x(oQhF zIfx)m2#=VSdti0&tIO!!5et`xi3Wwn`etTmfLsA=In^zccmtOXVwK#{^=sG4?D{gn z!yem`R_NLx!Kt- zU%vPyHfjsxP+ayUt!^<2T=ETkIr*M&IaJyo07kd=_to?b5|ViMFZ0sh-x|Y5)@#<* zH3$Mc4M+JxccJG=J%f2BQ}=HUNbVQ;b$Gn((##oB}2RwocTIRuB6~F(ge? z9Ls+NGp#<}yE>yed2?vFBzkcot9hkSR91xj*K3`C#(J@;$rvV=!x!2q#6MHY#S!FJ zbW)8>lJr-W>70%Te1h9b!QPP%k8GZAmRqDS_X{u2INn(&xx~0ozi+!>Hr6(W@Qi#| zFD<)=Py0q%&zenHstqOMMj%)uys1}UI}eme{Kag{czdNq ztnwYki@UqJ;18{zJ$drv<;$56N=Cqj{9lawqe8GF#TMzxeW|8;CcO9WI}GM& z1MHY8;kj~{7HK@8|^ozBlqt;IJGCzrTFX-$5# zE_{=;m@sG%EL`+?hZG$^-;3TM%4jrxcyK)Y@BMRScA%ytXY`M&yQ_OL zR!yV3FAEEDjleghszc9sRQ4_#r^*$J-i!nj$u#Jm9Jf2wq@1NwJ7`@Hsk?hSf((-G z^zattrXVvZwZ5dp4&UJN!=PZu!Ku#;Nfz5~C6cThb(4;fk#V{7(VZ7fU*Q&iIYA}a zU^b{{+UGjSL6>=&Xupg>_ceGc-J}cwx?*##?E>`n?gie2vaM%l%S^%k%8D-asl!`d zlWBI(&l~f` zJ&w*qK1cA0i`SfCf`AI1$FMi|a39gm)YFh!50#aagwelOkYhOIC?@-b;9+a>>9RAB z$GSIY=|tSA++7-hRoV38qP(1FUZ$w z;v4o~S)ygTYpmm%UKoLZ`Vy>$3?(BfARx##<0p`(?RW1YG&$i?_ych`6Z#?E465Sl>MAEUgYhQj{MW-!yp-2V6!M)&vMo+e%W-ojCO!v#AV@Y))g8TIYrzgAj&GvJ{Xu2}Fv9!yzktNn z4zNi1{8@NoPfx`n_1z43bHcv;-~ar{1Ick#*?>E|ydFpUZhTwX;|E6mtXEIZo>9cH zBQ2o)#e>%%!iEnNtG4bCVSD1|$I14@)6-M#&lC$pzhh4S5!? z0cUkPl!2CM@+fgX6sVPSbV=3hr3Rt$vQWypde!*vKi1YtN=iCAe{jH0?AyA{GP|Rz zs!jPe6!?dYWlr_aL%Alo!b;vcbiksT2B;kRdFC7gNven+o>?sr|Mlx-wlxu$je!^V zd8w^!WR#%l^e*kPbJtMuf0iSsav19QUh#AVgEDb)ax!{nZuSiBtznYWENFn=Sf%Om!CWAS>;8Sr{?Ow4U%x=4dvA4Q#HJiKR)_!7 zw_`)4lsnMcq9p3h5umF_y&BkHy@1?Eya&ojAs*@*!{-FOA0Xkk96yMcL zir8zc3sV&qfvCH(jp?Wp*YI{bwWn$~0pZdw>R9}I&)rx(Y2$s~st*W_I!6|pOitER zEImCv9!+qHZ0%+nQ&5o42EaK)s%+5M zbLbSuytN%?$w_)l4RB^U4wPQ^EzrlE|Ic_sIqiIY9?q$SHy5A)ok5&pIu`y)#1@wu zJBj-Szhj|*fbO!d$re`S6Q1%P2NK2q=T=N2k6wmu(3hA*#^omPV1;6C&-`V@<)AwV zM~4QYjBxK9D9^Jq*<+P@RXPaTF|Q+NtMXj(S2(pz-*_#h;?GHeUe~vfu}a54H~T~_{fwa) zFbRb$8d00fElm2Z)shes4+5({Bk2HT^=nLv;KT;mn3zIxHd@6Sh|J3w*X8vo#+BW7 zIi5;G%f45v)v6ehT}(Xt$OgFR-ar^GVtyFAR5rH$p@z}<|LIR>gjWhYpZMIu1?SF zWMOkd%q3p*zLjAb0zizPLL+xuYdj1b&<{{gZq*wl4|-dNs0ao@T0?0v->#D(yJs+- z+{V`2@_CuVHWQ?-CWZVq*zR(FwtH^Nz7fiN>X3&FAUZYBUW|;gd$hC zR}NA}GD>^Z%KrN)eZZ73W(C8B1J>YAtFsg zdI&pdKk|)oz>dZYe_sn{$r*of)o|_&5fiP)2xN87` zoM3@KjwjI_2Unb-Z}Y+1F)xGrs*s{?o_Pr5ABe`?JCFR5mk9nrY}1olEA|^dnQE_p zN1URI_~)PFmppURUzlfPh@@8;1v*p?4e#um?weLtuFvZ0>wkH3{7T|Kmmk*B9*I_A{SGZ8xVD7YqJSLyYoO>D1|9dw1E< zmp;~UhUI$kV=NO{I9WMa&vBgR;o)Hef80FJB<4;*Ah(^KRx6;HUTzueesj=SHdnmf^mrte&EpJ^c50SJ%>gU)algE(n&B=(~`&Y^DT2$dltYV zOP#@3l1kNr+L>3>iWd@n*VZ-$-O77rObU$R`q(b=Uf{h@#BOK{^BJz?$#3O2e|`|- zB^>I0Aaw$F-;MM0!*id%Mwh@T05pyIiw_5Atv z=(u92rJKY8yE+>i2b_l2@Q9Qgo$Y>>Cb`#u)yO>9v-hhnS;0Y}Zk$3U|A4uUv2i`& zz7?cL`t6FU%I1y=1DyPi4p;E!D!6PqzQr z&8@&aAZB6$61`IX-{<%&6e81@A-D}uQB{5K$jKZfExg9bM_)t`0lvJqg5Ie_FhU@` zY&TNOI2@sIl-UpF--WlDK#K?@6wtKN$GT)FkKp>VgDfcZ1nP%;2x_9&F z)X&M|Zk>80psM;xIJ)*;d+iAb8nbTk{rb$|D;JN4a z=X&$d+&nxZImX5zNT8GHKJ&Po`|c0kv7mM6`o5}VSoY|)9)m#kI72N-U)35|BJZ#} zChELB;DbUSFRm~8Mzq?&3VlQqjc(3mmNq4bh>EEbO+zj0&z`*Y5~ z^P*BITjm+=sAiMHBw@F(@Y9r6ua2Y2z+%4O&?8is_HQMa3uWqaYDoa8AMSE2cd}=4 zxRhg9iC>IKxpM8=V!{;G8I6QfiWQFi*&2dUOL_GU2 zFmJvxkH=zn>_Q_V^3luI!mLeTKTRv6dUWQ`^RllKn$$E^c3OtCbaK4r|G-GRifpXB zg(43_4R4M2^zyzs3ufe~vuWjmQn0_b>6$Xok3^I>hc{2U%kl7EGkfp5=12N%={5Vy zT{a#{iZ={W_yl(Gc4uxbdga|!85CkPQg;B!r%N4DgAGjy>*lO!rz+ULwxn$g66I6Q zbDST{y}_adw|I z4lyYICkcGapP`Pp#1LE$!6TRF+jrI$`f`ks;8TLQ)wH|c4m(>)_Wey_8mb-KGQX?ftMug+AB;?GD(N z?W}93!e_5xEQ@gzTCJB6Nf|SMOnF=v6hC%h;UYohBxv1XD7x)6Qr7@hnVb8p_eJpL z;H{r##kih&ui+O5h*gHj@vh!y5>md5L7L29D88_vO66q5ygTwK;@7hJRI)nxgg~$O zQzxaybV;Xor1Gy`N;+8inUDFftFjW2v!?`X*91f69opmrA=o$ zPlwVt1MybH{jc*B0}BfTxuru;Gf}(7<4+k>#gTgKIHX7}AVpkGBwf^tj+uVBFd>X3 zM)_fbSO9tDewyE&ehBhA=XJ$HXM#%F-hfpFgRbI%!(GZ4Y=%3YFew+J95U6Wec{t5 z-}?QIoK)&)dHb@p+P>0lfZBFab84?n{IZLJrp1PzJjE5XBcbD^e$sHvXOjRQ+8D4^ZCdOMt+$!WJpkhuBY45a4~!_IdBu9`etHcf*;CD zM<-D`4uH4!^Jt&emyIBioz=jquB`I(u$g2IEp2}uBvSRE|<3Nel|Eb_^+T( zl0@+M-Y!++!Gm|qV+6%;7Q6E8=IN_O#U`luc-v|Pc_BgV&)x$Kfz-&zNJqR3YYew9 z3^w%PYo|;|<@#FQKs*d)ZEd~3v!3F$Tkzb_ZKykFp{vfX*+J@H1_z}Ps;%feCcZV* z$@b|(o{UiS(MKK%nDbp?rtc|q$(s%)tQ-?jHW8(1#V>VDQ@jsr6IE4Hs=c8ys28RXSTa) z9boB7&tElCwPba;J%8wdKw6J&6mL?;u)gbPlG4UqQ`0(MTMdnloV3DGjPQCC6XmIm z&1X2`7(`6y+cQRq3roy7&65?6U5YqEQZhv3ThnnD83WX&dghjNC`{S*hdUvc@0ok; zC-nib;YT#|&wGFFnmODZ)6^t}7%L!W2SuwJ>$eaBE!o#)aZK6Qu?;L*139`*?%hWU z@Z4ln^E#HiGvE`~Jn6UGWc7TsFW z!}8s+QaorP5g!=x^eH)c%>I*B_K?#spGxp073`CPS7)kRN7;ytn4YnpyVffEiHAdu zq78^$lX83S2U>~d>_TrTY6H8tSiWB5znloIr*3SFMO9v{_tmX3EyTx1F!K%< z@klu2Hc$2zDTXLp)t8wee@8~r!!{u zd!gf9hOi-MVn~5S$a=~9*49>hytK45t7~$B#UWWUWYfh<+IK`LFvkJ6s6n9Ajm>nK z-Lrr<7mUKiP3pAj#EH@9>?)bdl1KVshog4jwL=cuvD}rS+?B27C$`qz_!vEQS`DHjhoarKV+1g^bXxF@c z`P=vH_wV21r@wvsW~H*Hhf&yS+qG_Qx$DH)czAFIM-bBDs&;B0j=!qhFpEXra4R@> zx!uA3(p+CTEw@j$VXL21Xq3-#sTNM#3))U805%-O=@vvnjFF#G9i&+pkM; zPMi-lHBn_{kQY}UQuZH+mv(>oSyb&`_{lsmha|H;jXgA^E1mBwe$9+AtxqRNO;x>C zL9Q;gtT5dFrG-+iZ&F}mV>7)rT-TlyIQ6@Op&S!1_pS~H41> z({QV*_36`KWg$_CmO(h72(LtfugB?oHV+Rk7w`4R{QZXyNdRL?Yfq1s--j+O z9gev{8M)=Y`RpIKH4ce;FAVn0_DltFRdv}>;>O2(4DvULR(}%hQ`uFoSv6*eHvP^R zm_Jy{Q5i?{1T8UYnN_>O5ixz8+8%k;To6c1e}Kw|)&9b2t$t=N%W~iSjU|OJmJ|gz z_swS|vv~`tJWAKE_xSk#{AgCeP~7mx(Z{EfvUB-<|7%9x8}kXzL$;>UxD|8-S_-Qz z<>t1Q;2ep2Ybz!$E=x|u*gT8WodHk8)O1ORoVVZaxl-U8L3x$SsHrGdLY*V0W3as0 zhX|jQ{t-%hG`CNo?{;hA;iSCM>qHdU!0iSE!u_?2W*zzFO$`u~D(BG|`Q|T_Z$i+F z%uL`FRa7M@*;8}%FV}lh*CtLd*mr#{^`0-wY>(wv^4+VWwCkee1qB2SetnA8Rkm=E zL9MPbn3GEX1gEOLF_E+nT5bx7dOoR_)<@xkn`8VuMOpO1;!71%gI!oqyUC*+i zr_!h{V0~vg3|&z&(l>8j0v0+>*Vt*b)`RRfU*|`gS5fjG$Pz`Pvvc_O_f}&}PXJ>s zzRqz1lCIB&3)$IK$MB0iU*?8ydYfQ_o3Dqgub$DU_jO*vS4Pc#r4u0ftrl_~Y?M)y zCzr+!{kC3YhyWwG%Bh@-xqX+B%CD(=CzI|)C zN6lz5X7a?o|MzOfis#4~W}b#w;;D6J#(qY=prL-jC=2`0wGwe6a-kZje9$4B_FSQ~ z%5C4E7#D~YZ6G~mVxCwW^}2k|QV#1+;P=rW)Vpmg!Osc+e{&oQ$F=64fP8Dk@9_x< zw1mB#Qd3jQN29}7LQga28f#Mb7QR@m&BrzPt(=*^k4#83u5cnzgMx!qgMwzeQ|g`0l3*uqZby{*pcva`Qu65`_{BC2U=A8z{m6sso4z!N@7U=rCbwADl}_AZ8+@X_wJBDoRG+U6i)qf2Lx)62S;%X zXr&cAhGqz1HyhJdyY8Pq1EykR`TQnc_9*WbG&D4L&2~%LcSlD@Yw7A*l|Ac_ z>``Rp;VB@j?r)N0KWSy&iwW3Y$65JJhU2V4Ea+B#$AOU4GI-l|NjWbsuO3bl7ZZzl z^M*?)VC~Jh%i@+#?d)dSVlMWiDmh7T1#B$dLhN|sq9(di6gC$}4fXZUv9d~fkXt@} z{8)F{924N<;o)Im(4TzE>*mdyRjve6OUu-cAEmrze$~{-%|pafYwLYBJuSeVS7=*H za4qbQPRQ3$-^IlZOnAaz`#Y3kLqo%>SFhIlP-J`;N2*D|W6~jsr>plqN!kw=m>3!v z4cB_jnv~o5TSf(3{-gk>?yOUoPB-%(ET8G=p%=JoYdg(p74$we)wO)I&UZ=P1z#~Y zH#ZXyJ?>G>LA*9dcu^@f;rf^(eE5?>I6Rwp$zQ(|DjgF3P zdBZ1fM0tv|4YeRqNAuoCdQSd4;MJ0h2y3XxbDlAqg(?$DohqzJ7dqz>J+D|%xE&r< z?6ct0&XkGi7K?7n44i+W=lXy-V5)mAsf0mrlg7(l>~^*1N)`O=O~so<`=PkX0U@4M z&+b3FQ>j~7BhU0=mB&`_*y+3B3pf=XE4L?y;|2$`;!dwl9?VpXu5N6SFYFB^JA{_& z=i=mV^tRBfVx{!$r2`=>ww_T3I98RIyjjc$4slAfM`|vAP`o98PcZvBJ!}<5;J}(E+TO=%IcNkbv(gT zs%D4N%@GcLXu(-*5z0`w8?-E8+SPh_WqCrzFHR=ndI)Nnf{fDP#J~2Y_oER;pNYHLU8W>l+oBZ_nqX5kn65J32Z91Oy_W z{KJ-6zwA~^ZQ41mJ)ZdNc(Auk!)y`_b(N+A6iAJTKu5=gwfTW5GTGD1%edGQIC1UK z7YyMhz*wcgi5G4>ZCM;GFEpZjmUaTo-wHVh5@;DNGy{R2lGAX(*49>>ux{|yWW?%B zm!^)+@Vy$_&IAQ&jao6T*rI*|h{;1Otz=oZR5Y4`E4HfjoW6`yB>O{{x)nu4a+{9i ze0-%OHnn;?LCnm+(6CbW1FNu3foUbWY1^t{I-CV)+lGtSBNzc2a;UU9J^+S1PZ!S8 znRvZ=)OmHb2g=NBi4ERw=MULiZidQs+Wd}<&}cBptv?nxO%dIu3BQnI0R=N(wZ9&wUL2TE z)kLSnS$6GCC;3KEV{e!Zk%G-Do@h+gMNEaWTt}E}4CC0{#@PwNP2O__)9;ay=xYl$ ztat{2Wc1^Pdh*m6vV7RZFcyor)FvyuQAZR}n%^;L_vG7U9-a6_JtkyAc7aK`v(7 zXI5?2<)>eMJ%u$l+G=$>uXyc8GrBNPF8C*9R#%B6`YpG{jtB(CqTbh{;jJRJL3Zo> zZ|gql@KY-J)oEiaF?(Y*m+b4>67Ild6C##{6;t;@uW~0kONmuFA--+)z^D-kBhV$BGEFL|>46`t)fS z%Tznks=}cUh-Ah-rEc=|MIvI;B4;2EjjlgdgW3kti=U`dNYQZ{Zsmnj=KN7(&Q-h$ zzFKL@7%ObB>KlNXWHK4}xR#367%>|4+*+_$wr(09JNtB3xvKuhKpMsvHuUY=ZGn~_ z?=O=;<1iTNfU9;ased-!`wQRc#XEp(<%tDL-St^oGw_nSx_bP_kItkGIfJ7`&vPIqtyUr!Y$#pBPmK>7Yu92F zY+Ns}Tnl?Fab@vth!W)dlqs~^#kC)>Khf^*qT6(muUL@=A~Ek;{~5tE?s(jJ?xEB4zwVS z4fwfNuV2S*d93XHAx>z%i%^%X;fTDXSkUNXsL9U;b%L*`Vt8CE@DCJKYN)RLGs`m; zH!$RAyoAu6q+1WajeHm-oJE(&qdb2&eJlApA!DqFFt!{lTXcAjPG{!}wH0vb?{czsASApn9`cdL!DF-*iPP|t-E)1pX zBcgOU9$$4#VLkk`yV?)acQRa3=@Kr*FaFOVKid@dcRi?d@JZS1PZMVH_yoQB9W<*XMGhiq7xSu>6XC?!co1ZnAhv&k3la z9!-6Te5(goz{QbLVcpbUzkZEZJRcYV7#VXB_gmVb1+w4)Kf`Y~P41E(Mxi$F`tTh6 z%vd`No0G?i62L8#TjTTUu?WTs{pI#O0H!d92fIXQ|E$1v0|#@2O<#t33~$NoP{A(O zP`)ly*1!Bn>ATi-XUN+Q^&kRi0Gs6yaS3K@?6g}t{uYTWE-bVFw)E90hJ{9J%~>n+ zB{tQ&5evE;BgyCovDjX-l_hb-bRF2-$I}PRg!R|k8-yFW<6MpFkF^)_@b<&;d%;gz z4CB66qGa}EZV0Vmvj+n=b@eb3gYwM>G}MApt26VB4O%T&a@=x>2jUg=qNr=&>RxL( z#&433fGd1PjXI)Z}0vK*`En$3o93bks%lF1T+IfK^ zIa+2Lg+}9lU$}6gDA3N%PDoJD|BypGQbsV?*Zm_s^5<1Ts$9A9^NB>V zG6L_TO*n>wxpnTA+)>n>yAvFIFj{Uu+mohZ_bchIni6PA{I3UFDwkcpQM3C`dy!kt z;*=~TRVor75T5X(S^#8X1ggQD7p{wHQ%>PtuZRZBJUK4QHuXGU;_;*9iajnrKZCZUF0$R8$4{yP&edw-NyY@V`d7NH0 z`>2red2paoP5z9?&u~-~k95834*8A$3N_MAQp_os{ctX9LpJB6@$f^-OARLP>S11( zOx*5|;*1P3nV{Z?X$XAm9op|%NGxbfggy*)!bNAsE7vd)y#<|4Gg&+PcR(ecnb#JA)7tU+KgE z?0SDch=3N3_K)=J=23(}87@@t{QW>*zfYDFv`T=Jr2TpV%o^W1^@&VQP6l8O>S>Kv zMMZD<|M@-Bg}NwR3srL@n{LTGfg4_6e0{^FtpM~cCRSKe0~}|J%E4CVn$UIQcEUh* zscz0aC9#-$Hmqs?imiU6V`PkuiBW=6lf7R9`V|h$Gl1(#Ns)kChvNEe|73dp)A@m` zh<{XR`K@kb?9Av!auEV<9L_@Slv))&gRVe6s8helil>BBXKeX3y6g+A0;@+a5G?0( zVdZ-*9BypKJ_fZj|%G_m3Oe z)#@X^vw_y>(tj&&mX91YSe}*`ur1>ExVLHXwXwFssrM{ThhC!VX7l6&H=F^RLg^w^ zC&Hmou6j8SLS^%5)1mznc+JL|8GFAmvTTV*K`^P(hBkx@nR_#i#>q$KdqKi$+ z+Z?1esDwc97+!m-Ek=?%#tBy>cKtdqp%_Y0y?MmRfR1Jeck&T)11TEz8cOua7>HM-l;?+4m8}s!jzopbp8Zyw& zzi+4~9|xhHSLI`#9%8b8!ME21MKLIWOAX7(A{mOTUiX!X7I#v7JN~S%~ zB7mBY^z{BwnkjbCZ`iJ4E)rpmX!e;i2ng8e|EhUJsbmMe8Gh|NQX(KLYrLB+-{7I{ zQu^V;2V=0=fLCm|>vrOK?XZ*O4}V94mN?mZCF;pk+h@v&Q^0x)~L92^NBK6nCAaUwzM&MR(?dqI`f-cfj_-#v|zu5a*c$701v z$(CL>Nk%R{_aYX~!0G+S*~|J$iU}4^%4X+&E`_=cTqww%4s&?XkQ) zJ=Xz$Q!?i48QwmdMu-idfH*YEWAg<8a-^rHJH3X+ynVZ}`Ivj6`iXpCW0)=(0?F0X{}{XS z9+*#;U0nF7aGAg{;st9dE|8!FBbcJS9GtCw^0WKuMyKa7h(njW;9Y6o^X0X6gu3;@ z?ab=7n{(@iIXY+Q>DM-I2e(y&q7jE?;FAv*VhbEK=&a##!vz+`1_or>%f09)$06y3 zKfAid>U`=6!6ri=+9utDDs9ayiT)wb-^W4y%L|zf=c3VCFJm(mhmI4du8s9rUceC? z@Vz;zL2<|zFP}=_{_QRY{CyftpYHDy&p`s0IcI>B>2TIJ!e%q|Q3&$Y-=0K8L=@BD z2lTfTkZ5%6ty&Q49q^t8yMOy)`60?p%qSmwzt6KkW~_0av;}88;*woDYLm^&M;C!C zOLumg88Etny;rY< zx~-`e@R6krq;bI?mp{S#J9w9kBT{is?7 zA8o3+dZ_b2@5z(Hj~@#P7SU)lGw=BbOGG6LAOn-tGcjENaeaBvM_*ARlIGvFe?8Q{mt%F4i&4Rs zx_1zvHdciY3wwh^vZ_8ZHlF2V3w!W12?J0Y=VMc-3B58j(Q3D_Y5d$vZkkV*sw`j^bNGNjc568 zZV2j>w1wh)5pAEMYeq(Ncoh;75_}eufS8q)_XJ2b&&>e_W6R@+fd|}%HoqfK6X)^h|Kvlyz3GIY2BS&`Gtk-s?Tg~ z6^34`7>=RpXnWgxKYskMR0`x;3lO+#ZQVChTs6bV=1m>XgVQXH@_lHH`ykutMt8{VooLsQAtZ^U{3!s>v{5i znfJ!u>3~{^ikfQVVP&x#`CvDZpg+QBB$mFN{HQq<7T=j3Qu3L)E3OP2B z9h59q>+-8Gzc^APvH5pNTpYvQK>444v9=E0Q;a>jymY~%OCqjs4yZ9tW|IW@v-JV* ziNA`^3c{d3LEes!?~+*9r>j}%9sYKi3bL5PIsx9JlH82A7`|zm{!xCZLK{F^pB1$W zWKD9kQRM$doT@7#BJSickHnQGPfB_Pm*W8|ONl%$jT z;nwuX&`IoC;aX<~!0?o(m%hI`t_|wXTwN^#0s?~Xe9_5~uau;t7QaThdXYkk&R&A>oU@8Bpl6pu=T%j}wKJb&Bz zwA8d9`^5`@3`aIkRZXpsBTDoe8w(4|g>!wNyk&S?L;Qdd?C=Yj|1!n@t4X~7%>?0p z+Wue4y#8ll|Ff|F^ZES$NY#I&>OWHT|D$r|KbrO*P5Y0g{f}zeT!9P<+kSLRCScTA zCS}xoie?SIRan}26&7W;k^lRfbR|bhZT2v!8T{se`88vjQv3So2oGc&omV(C&B?YK z2x>+lg~oUE--;{DHZ)JJZ9V`OOfN?a_{+>T6b(CeDOpX>n!vS+d$T>9reeM+m+smb z#bVEZqg1`zwsy1h>V0RwJhPkK4wN`*N`JUkQQ%RE-d$MCc0FxiPl*q>_QTV=YWKTl zOa<6d^p27-{kra|z~zS|e&+5(-Unq}Z0d91P@{UKsSAl;d4cv4P;wO<5wSewrc0`H zpe{j`J(5KgHV~WAtzX=G>fV}5A*EIQeOPf&;g$S z=vD>f`KuR4X5Hn&hc#7)L{;gQuB+$eRR-5e56%Bp1Zk!T`e}E$Drb_hnaw%XTvZs` z7rHO3sv@eeibGaMYma#ecfy29}Q^zl!f zfk0})u2l}Z4ZA7VJS}XVlxS%^30)L^rDma@#rxyY4%Hykx28IS9_Aw*hek*0frG4s zdAX0idm|mu0w;E|*5*6(wZUTjnQ)h5=9l}hvvBFYL$1dYmAGd8xZsSZs~aU6vR94? z2`uoG|9-@z%3gFC6{cq%m=UJ;2nO?3&HetgG&?wO&V473YVkqd_l;)s(doYfvpZmA z`EM<5c&YGp=9fPE&B5l1Ul_cg8UgKdy?IwXp?K_B*AF@^>i+77t6wUnfGlx&*R_O=Y$fHE^iI5+NC*GD@1A773XTRh2aW~w^8f$< diff --git a/playwright/snapshots/right-panel/right-panel.spec.ts/with-name-and-address-linux.png b/playwright/snapshots/right-panel/right-panel.spec.ts/with-name-and-address-linux.png index 7fbf4be835a0082af1a82babb387fd857d43be0a..8c346560838f938aef96598b807feb842c196b70 100644 GIT binary patch literal 29921 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 literal 31880 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 diff --git a/test/components/structures/ThreadPanel-test.tsx b/test/components/structures/ThreadPanel-test.tsx index 4f66379a3d9..19122e4ccef 100644 --- a/test/components/structures/ThreadPanel-test.tsx +++ b/test/components/structures/ThreadPanel-test.tsx @@ -36,8 +36,6 @@ 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 defaultDispatcher from "../../../src/dispatcher/dispatcher"; -import { Action } from "../../../src/dispatcher/actions"; jest.mock("../../../src/utils/Feedback"); @@ -148,43 +146,6 @@ describe("ThreadPanel", () => { fireEvent.click(getByRole(container, "button", { name: "Mark all as read" })); await waitFor(() => expect(mockClient.sendReadReceipt).not.toHaveBeenCalled()); }); - - it("focuses the close button on FocusThreadsPanel dispatch", () => { - const ROOM_ID = "!roomId:example.org"; - - stubClient(); - mockPlatformPeg(); - const mockClient = mocked(MatrixClientPeg.safeGet()); - - const room = new Room(ROOM_ID, mockClient, mockClient.getUserId() ?? "", { - pendingEventOrdering: PendingEventOrdering.Detached, - }); - - render( - - - - - , - ); - - // Unfocus it first so we know it's not just focused by coincidence - screen.getByTestId("base-card-close-button").blur(); - expect(screen.getByTestId("base-card-close-button")).not.toHaveFocus(); - - defaultDispatcher.dispatch({ action: Action.FocusThreadsPanel }, true); - - expect(screen.getByTestId("base-card-close-button")).toHaveFocus(); - }); }); describe("Filtering", () => { diff --git a/test/components/views/right_panel/RightPanelTabs-test.tsx b/test/components/views/right_panel/RightPanelTabs-test.tsx new file mode 100644 index 00000000000..dae7b1a79a5 --- /dev/null +++ b/test/components/views/right_panel/RightPanelTabs-test.tsx @@ -0,0 +1,72 @@ +/* +Copyright 2024 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import React from "react"; +import { render, fireEvent } from "@testing-library/react"; + +import dis from "../../../../src/dispatcher/dispatcher"; +import RightPanelStore from "../../../../src/stores/right-panel/RightPanelStore"; +import { RightPanelPhases } from "../../../../src/stores/right-panel/RightPanelStorePhases"; +import { RightPanelTabs } from "../../../../src/components/views/right_panel/RightPanelTabs"; +import { Action } from "../../../../src/dispatcher/actions"; + +describe("", () => { + it("Component renders the correct tabs", () => { + const { container, getByRole } = render(); + expect(container).toMatchSnapshot(); + + // We expect Info, People and Threads as tabs + expect(getByRole("tab", { name: "Info" })).toBeDefined(); + expect(getByRole("tab", { name: "People" })).toBeDefined(); + expect(getByRole("tab", { name: "Threads" })).toBeDefined(); + }); + + it("Correct tab is active", () => { + const { container } = render(); + expect(container).toMatchSnapshot(); + // Assert that the active tab is Info + expect(container.querySelectorAll("[aria-selected='true'").length).toEqual(1); + expect(container.querySelector("[aria-selected='true'")).toHaveAccessibleName("People"); + }); + + it("Renders nothing for some phases, eg: FilePanel", () => { + const { container } = render(); + expect(container).toBeEmptyDOMElement(); + }); + + it("onClick behaviors work as expected", () => { + const spy = jest.spyOn(RightPanelStore.instance, "pushCard"); + const { getByRole } = render(); + + // Info -> People + fireEvent.click(getByRole("tab", { name: "People" })); + expect(spy).toHaveBeenLastCalledWith({ phase: RightPanelPhases.RoomMemberList }, true); + + // People -> Threads + fireEvent.click(getByRole("tab", { name: "Threads" })); + expect(spy).toHaveBeenLastCalledWith({ phase: RightPanelPhases.ThreadPanel }, true); + + // Threads -> Info + fireEvent.click(getByRole("tab", { name: "Info" })); + expect(spy).toHaveBeenLastCalledWith({ phase: RightPanelPhases.RoomSummary }, true); + }); + + it("Threads tab is focused on action", () => { + const { getByRole } = render(); + dis.dispatch({ action: Action.FocusThreadsPanel }, true); + expect(getByRole("tab", { name: "Threads" })).toHaveFocus(); + }); +}); diff --git a/test/components/views/right_panel/RoomSummaryCard-test.tsx b/test/components/views/right_panel/RoomSummaryCard-test.tsx index f90144a3ba4..1ddea763829 100644 --- a/test/components/views/right_panel/RoomSummaryCard-test.tsx +++ b/test/components/views/right_panel/RoomSummaryCard-test.tsx @@ -35,7 +35,6 @@ import { flushPromises, getMockClientWithEventEmitter, mockClientMethodsUser } f import { PollHistoryDialog } from "../../../../src/components/views/dialogs/PollHistoryDialog"; import { RoomPermalinkCreator } from "../../../../src/utils/permalinks/Permalinks"; import { _t } from "../../../../src/languageHandler"; -import SettingsStore from "../../../../src/settings/SettingsStore"; import { tagRoom } from "../../../../src/utils/room/tagRoom"; import { DefaultTagID } from "../../../../src/stores/room-list/models"; import { Action } from "../../../../src/dispatcher/actions"; @@ -195,7 +194,6 @@ describe("", () => { @@ -212,7 +210,6 @@ describe("", () => { @@ -270,18 +267,6 @@ describe("", () => { expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ action: "open_room_settings" }); }); - it("renders room members options when new room UI is not enabled", () => { - jest.spyOn(SettingsStore, "getValue").mockReturnValue(false); - const { getByText } = getComponent(); - - fireEvent.click(getByText(_t("common|people"))); - - expect(RightPanelStore.instance.pushCard).toHaveBeenCalledWith( - { phase: RightPanelPhases.RoomMemberList }, - true, - ); - }); - describe("pinning", () => { it("renders pins options when pinning feature is enabled", () => { mocked(settingsHooks.useFeatureEnabled).mockImplementation((feature) => feature === "feature_pinning"); diff --git a/test/components/views/right_panel/__snapshots__/RightPanelTabs-test.tsx.snap b/test/components/views/right_panel/__snapshots__/RightPanelTabs-test.tsx.snap new file mode 100644 index 00000000000..7634ebbc971 --- /dev/null +++ b/test/components/views/right_panel/__snapshots__/RightPanelTabs-test.tsx.snap @@ -0,0 +1,119 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` Component renders the correct tabs 1`] = ` +
+ +
+`; + +exports[` Correct tab is active 1`] = ` +
+ +
+`; diff --git a/test/components/views/right_panel/__snapshots__/RoomSummaryCard-test.tsx.snap b/test/components/views/right_panel/__snapshots__/RoomSummaryCard-test.tsx.snap index 13d038adca0..8f8322d44d0 100644 --- a/test/components/views/right_panel/__snapshots__/RoomSummaryCard-test.tsx.snap +++ b/test/components/views/right_panel/__snapshots__/RoomSummaryCard-test.tsx.snap @@ -3,7 +3,10 @@ exports[` has button to edit topic when expanded 1`] = `
has button to edit topic when expanded 1`] = `
-
-
+ />
@@ -244,36 +239,6 @@ exports[` has button to edit topic when expanded 1`] = ` data-orientation="horizontal" role="separator" /> - +