diff --git a/apps/web/playwright/e2e/crypto/history-sharing.spec.ts b/apps/web/playwright/e2e/crypto/history-sharing.spec.ts index 29676036ba4..cefa38b580f 100644 --- a/apps/web/playwright/e2e/crypto/history-sharing.spec.ts +++ b/apps/web/playwright/e2e/crypto/history-sharing.spec.ts @@ -13,7 +13,6 @@ import { createRoom, sendMessageInCurrentRoom } from "./utils"; test.use({ displayName: "Alice", - labsFlags: ["feature_share_history_on_invite"], }); /** Tests for MSC4268: encrypted history sharing */ diff --git a/apps/web/playwright/snapshots/invite/invite-dialog.spec.ts/send-your-first-message-view-linux.png b/apps/web/playwright/snapshots/invite/invite-dialog.spec.ts/send-your-first-message-view-linux.png index 9b14c9e11ba..7e795251a8a 100644 Binary files a/apps/web/playwright/snapshots/invite/invite-dialog.spec.ts/send-your-first-message-view-linux.png and b/apps/web/playwright/snapshots/invite/invite-dialog.spec.ts/send-your-first-message-view-linux.png differ diff --git a/apps/web/src/components/views/rooms/RoomHeader/RoomHeader.tsx b/apps/web/src/components/views/rooms/RoomHeader/RoomHeader.tsx index 7197e42be45..3fa4dbe7a80 100644 --- a/apps/web/src/components/views/rooms/RoomHeader/RoomHeader.tsx +++ b/apps/web/src/components/views/rooms/RoomHeader/RoomHeader.tsx @@ -446,7 +446,6 @@ export default function RoomHeader({ const roomName = useRoomName(room); const joinRule = useRoomState(room, (state) => state.getJoinRule()); const historyVisibility = useRoomState(room, (state) => state.getHistoryVisibility()); - const historySharingEnabled = useFeatureEnabled("feature_share_history_on_invite"); const dmMember = useDmMember(room); const isDirectMessage = !!dmMember; const isRoomEncrypted = useIsEncrypted(client, room); @@ -532,7 +531,7 @@ export default function RoomHeader({ )} - {isRoomEncrypted && historySharingEnabled && historyVisibilityIcon(historyVisibility)} + {isRoomEncrypted && historyVisibilityIcon(historyVisibility)} diff --git a/apps/web/src/i18n/strings/en_EN.json b/apps/web/src/i18n/strings/en_EN.json index 3f628fc9582..6405d2fe7b2 100644 --- a/apps/web/src/i18n/strings/en_EN.json +++ b/apps/web/src/i18n/strings/en_EN.json @@ -1577,9 +1577,6 @@ "report_to_moderators": "Report to moderators", "report_to_moderators_description": "In rooms that support moderation, the “Report” button will let you report abuse to room moderators.", "room_list_sections": "Room list sections", - "share_history_on_invite": "Share encrypted history with new members", - "share_history_on_invite_description": "When inviting a user to an encrypted room that has history visibility set to \"shared\", share encrypted history with that user, and accept encrypted history when you are invited to such a room.", - "share_history_on_invite_warning": "This feature is EXPERIMENTAL and not all security precautions are implemented. Do not enable on production accounts.", "sliding_sync": "Sliding Sync mode", "sliding_sync_description": "Under active development, cannot be disabled. Currently, not compatible with Element Call.", "sliding_sync_disabled_notice": "Sign in again to disable", diff --git a/apps/web/src/settings/Settings.tsx b/apps/web/src/settings/Settings.tsx index 4b05f7320c8..67d0a31e14a 100644 --- a/apps/web/src/settings/Settings.tsx +++ b/apps/web/src/settings/Settings.tsx @@ -212,7 +212,6 @@ export interface Settings { "feature_mjolnir": IFeature; "feature_custom_themes": IFeature; "feature_exclude_insecure_devices": IFeature; - "feature_share_history_on_invite": IFeature; "feature_html_topic": IFeature; "feature_bridge_state": IFeature; "feature_jump_to_date": IFeature; @@ -522,29 +521,6 @@ export const SETTINGS: Settings = { supportedLevelsAreOrdered: true, default: false, }, - "feature_share_history_on_invite": { - isFeature: true, - labsGroup: LabGroup.Encryption, - displayName: _td("labs|share_history_on_invite"), - description: () => ( - <> - {_t("labs|share_history_on_invite_description")} -
- {_t( - "settings|warning", - {}, - { - w: (sub) => {sub}, - description: _t("labs|share_history_on_invite_warning"), - }, - )} -
- - ), - supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS_WITH_CONFIG_PRIORITISED, - supportedLevelsAreOrdered: true, - default: false, - }, // Defaulted to true Feb 26, intention is to remove entirely, all being well, // as this fixes bugs where display name / avatar are missing and also makes // Element Web consistent with Element X. diff --git a/apps/web/src/stores/RoomViewStore.tsx b/apps/web/src/stores/RoomViewStore.tsx index 7d06391e328..f875d2f26da 100644 --- a/apps/web/src/stores/RoomViewStore.tsx +++ b/apps/web/src/stores/RoomViewStore.tsx @@ -544,11 +544,9 @@ export class RoomViewStore extends EventEmitter { const joinOpts: IJoinRoomOpts = { viaServers, + acceptSharedHistory: true, ...(payload.opts ?? {}), }; - if (SettingsStore.getValue("feature_share_history_on_invite")) { - joinOpts.acceptSharedHistory = true; - } try { const cli = MatrixClientPeg.safeGet(); await retry( diff --git a/apps/web/src/utils/MultiInviter.ts b/apps/web/src/utils/MultiInviter.ts index 46fd84cc269..09ae6adb9c9 100644 --- a/apps/web/src/utils/MultiInviter.ts +++ b/apps/web/src/utils/MultiInviter.ts @@ -228,10 +228,10 @@ export default class MultiInviter { } } - const opts: InviteOpts = {}; + const opts: InviteOpts = { + shareEncryptedHistory: true, + }; if (this.reason !== undefined) opts.reason = this.reason; - if (SettingsStore.getValue("feature_share_history_on_invite")) opts.shareEncryptedHistory = true; - return this.matrixClient.invite(roomId, addr, opts); } else { throw new Error("Unsupported address"); diff --git a/apps/web/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap b/apps/web/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap index 583012faa48..1d106acfd6c 100644 --- a/apps/web/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap +++ b/apps/web/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap @@ -212,7 +212,7 @@ exports[`RoomView for a local room in state ERROR should match the snapshot 1`]

Could not start a chat with this user

@@ -417,7 +417,7 @@ exports[`RoomView for a local room in state NEW should match the snapshot 1`] = > @user:example.com + + + +
@@ -2838,6 +2856,24 @@ exports[`RoomView should not display the timeline when the room encryption is lo > !roomviewshouldnotdisplaythetimelinewhentheroomencryptionisloading:example.org + + + + @@ -3023,7 +3059,7 @@ exports[`RoomView should not display the timeline when the room encryption is lo tabindex="0" >