From bfad85a3af36fe35a25ab4cc83091b003dbceda8 Mon Sep 17 00:00:00 2001 From: Robin Date: Fri, 2 Oct 2026 14:49:44 +0200 Subject: [PATCH 1/2] Remove wait_for_key_rotation_ms config option I learned that makeKeyDelay has been deprecated in matrix-js-sdk ever since the switch to the new encryption manager, so this config option has no effect. --- config/config.devenv.json | 1 - config/config.sample.json | 1 - config/config_netlify_preview.json | 1 - config/config_netlify_preview_sdk.json | 1 - src/config/ConfigOptions.ts | 6 ------ src/state/CallViewModel/localMember/LocalMember.ts | 1 - vite-embedded.config.ts | 14 -------------- 7 files changed, 25 deletions(-) diff --git a/config/config.devenv.json b/config/config.devenv.json index 294209a67..b78314d3c 100644 --- a/config/config.devenv.json +++ b/config/config.devenv.json @@ -7,7 +7,6 @@ }, "ssla": "https://static.element.io/legal/element-software-and-services-license-agreement-uk-1.pdf", "matrix_rtc_session": { - "wait_for_key_rotation_ms": 3000, "membership_event_expiry_ms": 180000000, "network_error_retry_ms": 100 } diff --git a/config/config.sample.json b/config/config.sample.json index 9f7ab61ac..387c0a3dc 100644 --- a/config/config.sample.json +++ b/config/config.sample.json @@ -11,7 +11,6 @@ "ssla": "https://static.element.io/legal/element-software-and-services-license-agreement-uk-1.pdf", "matrix_rtc_mode": "compatibility", "matrix_rtc_session": { - "wait_for_key_rotation_ms": 3000, "membership_event_expiry_ms": 180000000, "network_error_retry_ms": 100 } diff --git a/config/config_netlify_preview.json b/config/config_netlify_preview.json index 179177bac..f8e4fc53c 100644 --- a/config/config_netlify_preview.json +++ b/config/config_netlify_preview.json @@ -7,7 +7,6 @@ }, "ssla": "https://static.element.io/legal/element-software-and-services-license-agreement-uk-1.pdf", "matrix_rtc_session": { - "wait_for_key_rotation_ms": 3000, "membership_event_expiry_ms": 180000000, "network_error_retry_ms": 100 }, diff --git a/config/config_netlify_preview_sdk.json b/config/config_netlify_preview_sdk.json index fa60fe8d4..77d885ea0 100644 --- a/config/config_netlify_preview_sdk.json +++ b/config/config_netlify_preview_sdk.json @@ -7,7 +7,6 @@ }, "ssla": "https://static.element.io/legal/element-software-and-services-license-agreement-uk-1.pdf", "matrix_rtc_session": { - "wait_for_key_rotation_ms": 3000, "membership_event_expiry_ms": 180000000, "network_error_retry_ms": 100 } diff --git a/src/config/ConfigOptions.ts b/src/config/ConfigOptions.ts index 872e35168..5d18695a9 100644 --- a/src/config/ConfigOptions.ts +++ b/src/config/ConfigOptions.ts @@ -207,12 +207,6 @@ export interface ConfigOptions { * Take care when changing these options. */ matrix_rtc_session?: { - /** - * How long (in milliseconds) to wait before rotating end-to-end media encryption keys - * when someone leaves a call. - */ - wait_for_key_rotation_ms?: number; - /** * How long we wait before retrying after a network error on any of the requests. */ diff --git a/src/state/CallViewModel/localMember/LocalMember.ts b/src/state/CallViewModel/localMember/LocalMember.ts index 5af8eb016..feb49554c 100644 --- a/src/state/CallViewModel/localMember/LocalMember.ts +++ b/src/state/CallViewModel/localMember/LocalMember.ts @@ -1004,7 +1004,6 @@ export function enterRTCSession( delayedLeaveEventRestartLocalTimeoutMs: delayedLeaveTimings.restart_timeout_ms, networkErrorRetryMs: sessionConfig.network_error_retry_ms, - makeKeyDelay: sessionConfig.wait_for_key_rotation_ms, membershipEventExpiryMs: sessionConfig.membership_event_expiry_ms, keyRotationParticipantLimit: sessionConfig.key_rotation_participant_limit, unstableSendStickyEvents: matrixRTCMode === MatrixRTCMode.Matrix_2_0, diff --git a/vite-embedded.config.ts b/vite-embedded.config.ts index 36f2779b2..322adbc0a 100644 --- a/vite-embedded.config.ts +++ b/vite-embedded.config.ts @@ -6,7 +6,6 @@ Please see LICENSE in the repository root for full details. */ import { defineConfig, mergeConfig } from "vite"; -import generateFile from "vite-plugin-generate-file"; import fullConfig from "./vite.config.ts"; @@ -19,19 +18,6 @@ export default defineConfig((env) => defineConfig({ base, // Use relative URLs to allow the app to be hosted under any path publicDir: false, // Don't serve the public directory which only contains the favicon - plugins: [ - generateFile([ - { - type: "json", - output: "./config.json", - data: { - matrix_rtc_session: { - wait_for_key_rotation_ms: 5000, - }, - }, - }, - ]), - ], }), ), ); From 64b932f1281e114568527913999eb4a58083104d Mon Sep 17 00:00:00 2001 From: Robin Date: Fri, 2 Oct 2026 14:57:34 +0200 Subject: [PATCH 2/2] Remove unused vite-plugin-generate-file dependency --- package.json | 1 - pnpm-lock.yaml | 35 ----------------------------------- 2 files changed, 36 deletions(-) diff --git a/package.json b/package.json index c7642f57a..b30f57ce3 100644 --- a/package.json +++ b/package.json @@ -129,7 +129,6 @@ "uuid": "^14.0.0", "vaul": "^1.0.0", "vite": "^8.0.0", - "vite-plugin-generate-file": "^0.3.0", "vite-plugin-html": "^3.2.2", "vite-plugin-node-polyfills": "^0.28.0", "vite-plugin-node-stdlib-browser": "^0.2.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2cd2452c5..73a7796ba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -268,9 +268,6 @@ importers: vite: specifier: ^8.0.0 version: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(sass@1.103.1)(terser@5.46.1)(yaml@2.9.0) - vite-plugin-generate-file: - specifier: ^0.3.0 - version: 0.3.1 vite-plugin-html: specifier: ^3.2.2 version: 3.2.2(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(sass@1.103.1)(terser@5.46.1)(yaml@2.9.0)) @@ -4465,10 +4462,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@4.3.0: - resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} - hasBin: true - js-yaml@4.3.1: resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} hasBin: true @@ -4703,14 +4696,6 @@ packages: resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - mimic-function@5.0.1: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} @@ -5904,9 +5889,6 @@ packages: react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc - vite-plugin-generate-file@0.3.1: - resolution: {integrity: sha512-tiA3gkPM21MS2+RyqsBMT33GSlM9LM1TJjf6vGvV/e/ml3e3vTKfuH3l2N0NpUgcayvj1fXnmlo5YBuahA6bsg==} - vite-plugin-html@3.2.2: resolution: {integrity: sha512-vb9C9kcdzcIo/Oc3CLZVS03dL5pDlOFuhGlZYDCJ840BhWl/0nGeZWf3Qy7NlOayscY4Cm/QRgULCQkEZige5Q==} peerDependencies: @@ -10034,10 +10016,6 @@ snapshots: js-tokens@4.0.0: {} - js-yaml@4.3.0: - dependencies: - argparse: 2.0.1 - js-yaml@4.3.1: dependencies: argparse: 2.0.1 @@ -10286,12 +10264,6 @@ snapshots: bn.js: 4.12.3 brorand: 1.1.0 - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - mimic-function@5.0.1: {} min-indent@1.0.1: {} @@ -11652,13 +11624,6 @@ snapshots: - '@types/react' - '@types/react-dom' - vite-plugin-generate-file@0.3.1: - dependencies: - ejs: 3.1.10 - js-yaml: 4.3.0 - mime-types: 2.1.35 - picocolors: 1.1.1 - vite-plugin-html@3.2.2(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(sass@1.103.1)(terser@5.46.1)(yaml@2.9.0)): dependencies: '@rollup/pluginutils': 4.2.1