Skip to content

Commit a1939f6

Browse files
authored
chore: remove release announcement labs flag (#32775)
1 parent ba1b76d commit a1939f6

4 files changed

Lines changed: 20 additions & 33 deletions

File tree

apps/web/src/i18n/strings/en_EN.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1554,7 +1554,6 @@
15541554
"notification_settings_beta_caption": "Introducing a simpler way to change your notification settings. Customize your %(brand)s, just the way you like.",
15551555
"notification_settings_beta_title": "Notification Settings",
15561556
"notifications": "Enable the notifications panel in the room header",
1557-
"release_announcement": "Release announcement",
15581557
"render_reaction_images": "Render custom images in reactions",
15591558
"render_reaction_images_description": "Sometimes referred to as \"custom emojis\".",
15601559
"report_to_moderators": "Report to moderators",

apps/web/src/settings/Settings.tsx

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ export enum LabGroup {
9999

100100
export enum Features {
101101
NotificationSettings2 = "feature_notification_settings2",
102-
ReleaseAnnouncement = "feature_release_announcement",
103102
}
104103

105104
export const labGroupNames: Record<LabGroup, TranslationKey> = {
@@ -206,7 +205,6 @@ export interface Settings {
206205
// [settingName: `feature_${string}`]: IFeature;
207206
"feature_video_rooms": IFeature;
208207
[Features.NotificationSettings2]: IFeature;
209-
[Features.ReleaseAnnouncement]: IFeature;
210208
"feature_msc3531_hide_messages_pending_moderation": IFeature;
211209
"feature_report_to_moderators": IFeature;
212210
"feature_latex_maths": IFeature;
@@ -1356,16 +1354,6 @@ export const SETTINGS: Settings = {
13561354
// Contains room IDs
13571355
shouldExportToRageshake: false,
13581356
},
1359-
/**
1360-
* Enable or disable the release announcement feature
1361-
*/
1362-
[Features.ReleaseAnnouncement]: {
1363-
isFeature: true,
1364-
labsGroup: LabGroup.Ui,
1365-
supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS_WITH_CONFIG,
1366-
default: true,
1367-
displayName: _td("labs|release_announcement"),
1368-
},
13691357
/**
13701358
* Managed by the {@link ReleaseAnnouncementStore}
13711359
* Store the release announcement data

apps/web/src/stores/ReleaseAnnouncementStore.ts

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import { cloneDeep } from "lodash";
1212

1313
import SettingsStore from "../settings/SettingsStore";
1414
import { SettingLevel } from "../settings/SettingLevel";
15-
import { Features } from "../settings/Settings";
1615
import ToastStore from "./ToastStore";
1716

1817
/**
@@ -60,6 +59,12 @@ export class ReleaseAnnouncementStore extends TypedEventEmitter<ReleaseAnnouncem
6059
*/
6160
private index = 0;
6261

62+
/**
63+
* Whether the release announcement is enabled. Useful to disable it in e2e tests.
64+
* @private
65+
*/
66+
private enabled = true;
67+
6368
/**
6469
* The singleton instance of the ReleaseAnnouncementStore.
6570
*/
@@ -94,11 +99,17 @@ export class ReleaseAnnouncementStore extends TypedEventEmitter<ReleaseAnnouncem
9499
}
95100

96101
/**
97-
* Check if the release announcement is enabled.
98-
* @private
102+
* Enable the release announcement. This will allow the release announcement to be shown when calling `getReleaseAnnouncement` or `nextReleaseAnnouncement`.
99103
*/
100-
private isReleaseAnnouncementEnabled(): boolean {
101-
return SettingsStore.getValue(Features.ReleaseAnnouncement);
104+
public enable(): void {
105+
this.enabled = true;
106+
}
107+
108+
/**
109+
* Disable the release announcement. This will prevent the release announcement from being shown when calling `getReleaseAnnouncement` or `nextReleaseAnnouncement`.
110+
*/
111+
public disable(): void {
112+
this.enabled = false;
102113
}
103114

104115
/**
@@ -107,8 +118,7 @@ export class ReleaseAnnouncementStore extends TypedEventEmitter<ReleaseAnnouncem
107118
*/
108119
public getReleaseAnnouncement(): Feature | null {
109120
// Do nothing if the release announcement is disabled
110-
const isReleaseAnnouncementEnabled = this.isReleaseAnnouncementEnabled();
111-
if (!isReleaseAnnouncementEnabled) return null;
121+
if (!this.enabled) return null;
112122

113123
// also don't show release announcements if any toasts are on screen
114124
if (ToastStore.sharedInstance().getToasts().length > 0) return null;
@@ -133,9 +143,8 @@ export class ReleaseAnnouncementStore extends TypedEventEmitter<ReleaseAnnouncem
133143
* @private
134144
*/
135145
private async markReleaseAnnouncementAsViewed(): Promise<void> {
136-
// Do nothing if the release announcement is disabled
137-
const isReleaseAnnouncementEnabled = this.isReleaseAnnouncementEnabled();
138-
if (!isReleaseAnnouncementEnabled) return;
146+
// Do nothing if the release announcement is disabled;
147+
if (!this.enabled) return;
139148

140149
const viewedReleaseAnnouncements = this.getViewedReleaseAnnouncements();
141150

apps/web/test/unit-tests/stores/ReleaseAnnouncementStore-test.tsx

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ describe("ReleaseAnnouncementStore", () => {
2626
beforeEach(() => {
2727
// Default settings
2828
settings = {
29-
feature_release_announcement: true,
3029
releaseAnnouncementData: {},
3130
};
3231
const watchCallbacks: Array<CallbackFn> = [];
@@ -58,13 +57,6 @@ describe("ReleaseAnnouncementStore", () => {
5857
releaseAnnouncementStore = new ReleaseAnnouncementStore();
5958
});
6059

61-
/**
62-
* Disables the release announcement feature.
63-
*/
64-
function disableReleaseAnnouncement() {
65-
settings["feature_release_announcement"] = false;
66-
}
67-
6860
/**
6961
* Listens to the next release announcement change event.
7062
*/
@@ -79,8 +71,7 @@ describe("ReleaseAnnouncementStore", () => {
7971
});
8072

8173
it("should return null when the release announcement is disabled", async () => {
82-
disableReleaseAnnouncement();
83-
74+
releaseAnnouncementStore.disable();
8475
expect(releaseAnnouncementStore.getReleaseAnnouncement()).toBeNull();
8576

8677
// Wait for the next release announcement change event

0 commit comments

Comments
 (0)