);
diff --git a/src/components/views/rooms/RoomListPanel/RoomListView.tsx b/src/components/views/rooms/RoomListPanel/RoomListView.tsx
index a0c9184211..b29affc0be 100644
--- a/src/components/views/rooms/RoomListPanel/RoomListView.tsx
+++ b/src/components/views/rooms/RoomListPanel/RoomListView.tsx
@@ -11,8 +11,6 @@ import { useRoomListViewModel } from "../../../viewmodels/roomlist/RoomListViewM
import { RoomList } from "./RoomList";
import { EmptyRoomList } from "./EmptyRoomList";
import { RoomListPrimaryFilters } from "./RoomListPrimaryFilters";
-import { _t } from "../../../../languageHandler";
-import { ReleaseAnnouncement } from "../../../structures/ReleaseAnnouncement";
/**
* Host the room list and the (future) room filters
@@ -30,17 +28,9 @@ export function RoomListView(): JSX.Element {
}
return (
<>
-
-
-
-
-
+
+
+
{listBody}
>
);
diff --git a/src/components/views/spaces/QuickSettingsButton.tsx b/src/components/views/spaces/QuickSettingsButton.tsx
index 95171bb957..1bd3c49291 100644
--- a/src/components/views/spaces/QuickSettingsButton.tsx
+++ b/src/components/views/spaces/QuickSettingsButton.tsx
@@ -31,7 +31,6 @@ import QuickThemeSwitcher from "./QuickThemeSwitcher";
import Modal from "../../../Modal";
import DevtoolsDialog from "../dialogs/DevtoolsDialog";
import { SdkContextClass } from "../../../contexts/SDKContext";
-import { ReleaseAnnouncement } from "../../structures/ReleaseAnnouncement";
const QuickSettingsButton: React.FC<{
isPanelCollapsed: boolean;
@@ -169,16 +168,7 @@ const QuickSettingsButton: React.FC<{
return (
<>
-
- {button}
-
-
+ {button}
{contextMenu}
>
);
diff --git a/src/components/views/spaces/SpacePanel.tsx b/src/components/views/spaces/SpacePanel.tsx
index fb2e4cc1df..7a51cfe0c6 100644
--- a/src/components/views/spaces/SpacePanel.tsx
+++ b/src/components/views/spaces/SpacePanel.tsx
@@ -79,7 +79,6 @@ import { Landmark, LandmarkNavigation } from "../../../accessibility/LandmarkNav
import { KeyboardShortcut } from "../settings/KeyboardShortcut";
import { ModuleApi } from "../../../modules/Api.ts";
import { useModuleSpacePanelItems } from "../../../modules/ExtrasApi.ts";
-import { ReleaseAnnouncement } from "../../structures/ReleaseAnnouncement";
const useSpaces = (): [Room[], MetaSpace[], Room[], SpaceKey] => {
const invites = useEventEmitterState(SpaceStore.instance, UPDATE_INVITED_SPACES, () => {
@@ -415,74 +414,65 @@ const SpacePanel: React.FC = () => {
onDragEndHandler();
}}
>
- {
+ const navAction = getKeyBindingsManager().getNavigationAction(ev);
+ if (
+ navAction === KeyBindingAction.NextLandmark ||
+ navAction === KeyBindingAction.PreviousLandmark
+ ) {
+ LandmarkNavigation.findAndFocusNextLandmark(
+ Landmark.ACTIVE_SPACE_BUTTON,
+ navAction === KeyBindingAction.PreviousLandmark,
+ );
+ ev.stopPropagation();
+ ev.preventDefault();
+ return;
+ }
+ onKeyDownHandler(ev);
+ }}
+ ref={ref}
+ aria-label={_t("common|spaces")}
>
-
-
+
+
)}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index e0ad7f5f6c..4aa8bf0100 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -2219,26 +2219,6 @@
"one": "Currently removing messages in %(count)s room",
"other": "Currently removing messages in %(count)s rooms"
},
- "release_announcement": {
- "done": "Done",
- "filter": {
- "description": "Filter your chats with a single click. Expand to view more filters.",
- "title": "New quick filters"
- },
- "intro": {
- "description": "The chats list has been updated to be more clear and simple to use.",
- "title": "Chats has a new look!"
- },
- "next": "Next",
- "settings": {
- "description": "To show or hide message previews, go to All settings > Preferences > Room list",
- "title": "Some settings have moved"
- },
- "sort": {
- "description": "Change the ordering of your chats from most recent to A-Z",
- "title": "Sort your chats"
- }
- },
"room": {
"more_options": "More Options",
"open_room": "Open room %(roomName)s"
@@ -2908,10 +2888,6 @@
"rule_suppress_notices": "Messages sent by bot",
"rule_tombstone": "When rooms are upgraded",
"show_message_desktop_notification": "Show message in desktop notification",
- "sounds_release_announcement": {
- "description": "Your notification ping and call ringer have been updated—clearer, quicker, and less disruptive",
- "title": "We’ve refreshed your sounds"
- },
"voip": "Audio and Video calls"
},
"preferences": {
diff --git a/src/stores/ReleaseAnnouncementStore.ts b/src/stores/ReleaseAnnouncementStore.ts
index f828ff198f..f005fd4b30 100644
--- a/src/stores/ReleaseAnnouncementStore.ts
+++ b/src/stores/ReleaseAnnouncementStore.ts
@@ -17,14 +17,10 @@ import ToastStore from "./ToastStore";
/**
* The features are shown in the array order.
+ * We include a `_test_dummy` value to enable tests to function even where there are no running release announcements.
+ * This value must be at the end of the list.
*/
-const FEATURES = [
- "newNotificationSounds",
- "newRoomList_intro",
- "newRoomList_sort",
- "newRoomList_filter",
- "newRoomList_settings",
-] as const;
+const FEATURES = ["_test_dummy1", "_test_dummy2"] as const;
/**
* All the features that can be shown in the release announcements.
*/
diff --git a/test/unit-tests/components/structures/ReleaseAnnouncement-test.tsx b/test/unit-tests/components/structures/ReleaseAnnouncement-test.tsx
index d7f576ddef..bb0274e9af 100644
--- a/test/unit-tests/components/structures/ReleaseAnnouncement-test.tsx
+++ b/test/unit-tests/components/structures/ReleaseAnnouncement-test.tsx
@@ -22,12 +22,7 @@ describe("ReleaseAnnouncement", () => {
function renderReleaseAnnouncement() {
return render(
-
+
content
,
);
diff --git a/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomListHeaderView-test.tsx.snap b/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomListHeaderView-test.tsx.snap
index df1080844e..16a67295af 100644
--- a/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomListHeaderView-test.tsx.snap
+++ b/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomListHeaderView-test.tsx.snap
@@ -25,7 +25,7 @@ exports[` compose menu should display the compose menu 1`]
class="_icon-button_1pz9o_8 mx_SpaceMenu_button"
data-kind="primary"
data-state="closed"
- id="radix-_r_q_"
+ id="radix-_r_i_"
role="button"
style="--cpd-icon-button-size: 20px;"
tabindex="0"
@@ -55,7 +55,6 @@ exports[` compose menu should display the compose menu 1`]
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
>
compose menu should display the compose menu 1`]
aria-expanded="false"
aria-haspopup="menu"
aria-label="Room Options"
- aria-labelledby="_r_12_"
+ aria-labelledby="_r_m_"
class="_icon-button_1pz9o_8"
data-kind="primary"
data-state="closed"
- id="radix-_r_10_"
+ id="radix-_r_k_"
role="button"
style="--cpd-icon-button-size: 32px;"
tabindex="0"
@@ -93,18 +92,17 @@ exports[` compose menu should display the compose menu 1`]
compose menu should not display the compose menu
class="_icon-button_1pz9o_8 mx_SpaceMenu_button"
data-kind="primary"
data-state="closed"
- id="radix-_r_1k_"
+ id="radix-_r_14_"
role="button"
style="--cpd-icon-button-size: 20px;"
tabindex="0"
@@ -195,7 +193,6 @@ exports[` compose menu should not display the compose menu
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
>
compose menu should not display the compose menu
aria-expanded="false"
aria-haspopup="menu"
aria-label="Room Options"
- aria-labelledby="_r_1s_"
+ aria-labelledby="_r_18_"
class="_icon-button_1pz9o_8"
data-kind="primary"
data-state="closed"
- id="radix-_r_1q_"
+ id="radix-_r_16_"
role="button"
style="--cpd-icon-button-size: 32px;"
tabindex="0"
@@ -233,11 +230,10 @@ exports[` compose menu should not display the compose menu
space menu should display the space menu 1`] = `
class="_icon-button_1pz9o_8 mx_SpaceMenu_button"
data-kind="primary"
data-state="closed"
- id="radix-_r_4e_"
+ id="radix-_r_36_"
role="button"
style="--cpd-icon-button-size: 20px;"
tabindex="0"
@@ -469,7 +463,6 @@ exports[` space menu should display the space menu 1`] = `
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
>
space menu should display the space menu 1`] = `
aria-expanded="false"
aria-haspopup="menu"
aria-label="Room Options"
- aria-labelledby="_r_4m_"
+ aria-labelledby="_r_3a_"
class="_icon-button_1pz9o_8"
data-kind="primary"
data-state="closed"
- id="radix-_r_4k_"
+ id="radix-_r_38_"
role="button"
style="--cpd-icon-button-size: 32px;"
tabindex="0"
@@ -507,18 +500,17 @@ exports[` space menu should display the space menu 1`] = `
space menu should not display the space menu 1`]
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
>
space menu should not display the space menu 1`]
aria-expanded="false"
aria-haspopup="menu"
aria-label="Room Options"
- aria-labelledby="_r_5e_"
+ aria-labelledby="_r_3q_"
class="_icon-button_1pz9o_8"
data-kind="primary"
data-state="closed"
- id="radix-_r_5c_"
+ id="radix-_r_3o_"
role="button"
style="--cpd-icon-button-size: 32px;"
tabindex="0"
@@ -615,18 +606,17 @@ exports[` space menu should not display the space menu 1`]
-
-
-
-
`;
diff --git a/test/unit-tests/stores/ReleaseAnnouncementStore-test.tsx b/test/unit-tests/stores/ReleaseAnnouncementStore-test.tsx
index 824c757905..7a7a735c9a 100644
--- a/test/unit-tests/stores/ReleaseAnnouncementStore-test.tsx
+++ b/test/unit-tests/stores/ReleaseAnnouncementStore-test.tsx
@@ -117,13 +117,13 @@ describe("ReleaseAnnouncementStore", () => {
it("should listen to release announcement data changes in the store", async () => {
const secondStore = new ReleaseAnnouncementStore();
- expect(secondStore.getReleaseAnnouncement()).toBe("newNotificationSounds");
+ expect(secondStore.getReleaseAnnouncement()).toBe("_test_dummy1");
const promise = listenReleaseAnnouncementChanged();
await secondStore.nextReleaseAnnouncement();
- expect(await promise).toBe("newRoomList_intro");
- expect(releaseAnnouncementStore.getReleaseAnnouncement()).toBe("newRoomList_intro");
+ expect(await promise).toBe("_test_dummy2");
+ expect(releaseAnnouncementStore.getReleaseAnnouncement()).toBe("_test_dummy2");
});
it("should return null when there are toasts on screen", async () => {