diff --git a/lang/main-es.json b/lang/main-es.json index 9eda9309d6e0..deaf52d65984 100644 --- a/lang/main-es.json +++ b/lang/main-es.json @@ -956,6 +956,8 @@ "waitingParticipants": "{{waitingParticipants}} personas", "encryptionKeySyncFailed": "La sincronización de la clave de cifrado ha fallado. Se recomienda salir de la reunión y vuelva a unirse para restaurar la comunicación segura.", "encryptionKeySyncFailedTitle": "Error de Sincronización de Cifrado", + "cryptoFailedTitle": "La operación criptográfica ha fallado", + "cryptoFailed": "La operación criptográfica ha fallado. No puede acceder al video ni al audio de la reunión. Se recomienda reiniciar el navegador. Si eres el organizador de la reunión, vuelva a crearla.", "encryptionKeySyncRestored": "La sincronización de claves para el cifrado se ha restaurado con éxito. Su comunicación segura está ahora activa.", "encryptionKeySyncRestoredTitle": "Cifrado Restaurado" }, diff --git a/lang/main.json b/lang/main.json index 59d46b95ed5c..f50b89066b19 100644 --- a/lang/main.json +++ b/lang/main.json @@ -1090,6 +1090,8 @@ "whiteboardLimitTitle": "Whiteboard usage", "encryptionKeySyncFailed": "The encryption key synchronization has failed. It is recommended that you leave the meeting and rejoin to restore secure communication.", "encryptionKeySyncFailedTitle": "Encryption Sync Failed", + "cryptoFailedTitle": "Cryptographic operation failed", + "cryptoFailed": "Cryptographic operation has failed. You cannot access video or audio of the meeting. It is recommended that you restart the browser. If you are the meeting organizer, recreate it.", "encryptionKeySyncRestored": "The encryption key synchronization has been successfully restored. Your secure communication is now active.", "encryptionKeySyncRestoredTitle": "Encryption Restored" }, diff --git a/package.json b/package.json index 0df8e8572927..a41e57a17089 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "js-md5": "0.6.1", "js-sha512": "0.8.0", "jwt-decode": "2.2.0", - "lib-jitsi-meet": "https://github.com/internxt/lib-jitsi-meet/releases/download/v.0.0.16/lib-jitsi-meet-0.0.16.tgz", + "lib-jitsi-meet": "https://github.com/internxt/lib-jitsi-meet/releases/download/v.0.0.17/lib-jitsi-meet-0.0.17.tgz", "lodash-es": "4.17.21", "moment": "2.29.4", "moment-duration-format": "2.2.2", diff --git a/react/features/e2ee/middleware.ts b/react/features/e2ee/middleware.ts index 085c6b290b08..e2e8e83ce5d5 100644 --- a/react/features/e2ee/middleware.ts +++ b/react/features/e2ee/middleware.ts @@ -168,6 +168,14 @@ StateListenerRegistry.register( }, NOTIFICATION_TIMEOUT_TYPE.STICKY)); }); + conference.on(JitsiConferenceEvents.E2EE_CRYPTO_FAILED, () => { + logger.debug(`E2EE: crypto failure detected`); + dispatch(showWarningNotification({ + titleKey: 'notify.cryptoFailedTitle', + descriptionKey: 'notify.cryptoFailed' + }, NOTIFICATION_TIMEOUT_TYPE.STICKY)); + }); + conference.on(JitsiConferenceEvents.E2EE_KEY_SYNC_AFTER_TIMEOUT, () => { dispatch(showNotification({ titleKey: 'notify.encryptionKeySyncRestoredTitle', diff --git a/yarn.lock b/yarn.lock index ec36b8c18863..ddfec083d22d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2790,9 +2790,9 @@ eslint-scope "5.1.1" "@noble/ciphers@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-2.0.1.tgz#fb07d6479d11fd10d7f601b6fb8fb9925b7accf7" - integrity sha512-xHK3XHPUW8DTAobU+G0XT+/w+JLM7/8k1UFdB5xg/zTFPnFCobhftzw8wl4Lw2aq/Rvir5pxfZV5fEazmeCJ2g== + version "2.1.1" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-2.1.1.tgz#c8c74fcda8c3d1f88797d0ecda24f9fc8b92b052" + integrity sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw== "@noble/curves@~2.0.0": version "2.0.1" @@ -2812,9 +2812,9 @@ integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== "@noble/post-quantum@^0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@noble/post-quantum/-/post-quantum-0.5.2.tgz#51fdd58a97e3dae2cbe2349d2af2b10fcd8f226c" - integrity sha512-etMDBkCuB95Xj/gfsWYBD2x+84IjL4uMLd/FhGoUUG/g+eh0K2eP7pJz1EmvpN8Df3vKdoWVAc7RxIBCHQfFHQ== + version "0.5.4" + resolved "https://registry.yarnpkg.com/@noble/post-quantum/-/post-quantum-0.5.4.tgz#bd1095647c61e4c8fd317fa8a3977db8cd28a4b9" + integrity sha512-leww0zzIirrvwaYMPI9fj6aRIlA/c6Y0/lifQQ1YOOyHEr0MNH3yYpjXeiVG+tWdPps4XxGclFWX2INPO3Yo5w== dependencies: "@noble/curves" "~2.0.0" "@noble/hashes" "~2.0.0" @@ -4858,13 +4858,20 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@>=13.7.0": +"@types/node@*": version "24.10.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01" integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ== dependencies: undici-types "~7.16.0" +"@types/node@>=13.7.0": + version "25.0.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.3.tgz#79b9ac8318f373fbfaaf6e2784893efa9701f269" + integrity sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA== + dependencies: + undici-types "~7.16.0" + "@types/node@^20.1.0", "@types/node@^20.1.1", "@types/node@^20.11.28", "@types/node@^20.11.30": version "20.19.25" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.25.tgz#467da94a2fd966b57cc39c357247d68047611190" @@ -11117,9 +11124,9 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -"lib-jitsi-meet@https://github.com/internxt/lib-jitsi-meet/releases/download/v.0.0.16/lib-jitsi-meet-0.0.16.tgz": - version "0.0.16" - resolved "https://github.com/internxt/lib-jitsi-meet/releases/download/v.0.0.16/lib-jitsi-meet-0.0.16.tgz#2951a8f7e224dd8ac17bab27906bd6123c1c4b77" +"lib-jitsi-meet@https://github.com/internxt/lib-jitsi-meet/releases/download/v.0.0.17/lib-jitsi-meet-0.0.17.tgz": + version "0.0.17" + resolved "https://github.com/internxt/lib-jitsi-meet/releases/download/v.0.0.17/lib-jitsi-meet-0.0.17.tgz#0d2d2a0b2b95797854d1685a421e9d6cac762fdc" dependencies: "@hexagon/base64" "^2.0.4" "@jitsi/js-utils" "^2.6.7"