Compare commits

..

43 Commits

Author SHA1 Message Date
RiotRobot 2f4299e836 v1.7.7 2020-09-14 16:00:49 +01:00
RiotRobot 3d53908686 Prepare changelog for v1.7.7 2020-09-14 16:00:49 +01:00
RiotRobot 0eccd03a78 Upgrade matrix-react-sdk to 3.4.1 2020-09-14 15:57:32 +01:00
RiotRobot 70febe3109 v1.7.6 2020-09-14 13:46:13 +01:00
RiotRobot 9ed26c66a6 Prepare changelog for v1.7.6 2020-09-14 13:46:13 +01:00
RiotRobot 6d124e6c28 Upgrade matrix-react-sdk to 3.4.0 2020-09-14 13:44:41 +01:00
RiotRobot c8a0d94b61 Upgrade matrix-js-sdk to 8.3.0 2020-09-14 13:42:53 +01:00
RiotRobot cf448f1f0a v1.7.6-rc.1 2020-09-09 16:00:06 +01:00
RiotRobot ff2fe80537 Prepare changelog for v1.7.6-rc.1 2020-09-09 16:00:06 +01:00
RiotRobot 2ad02e4feb Upgrade matrix-react-sdk to 3.4.0-rc.1 2020-09-09 15:56:58 +01:00
RiotRobot fcdda7a956 Upgrade matrix-js-sdk to 8.3.0-rc.1 2020-09-09 15:56:42 +01:00
J. Ryan Stinnett eaa46d1794 Merge pull request #15125 from RiotTranslateBot/weblate-element-web-element-web
Update from Weblate
2020-09-09 14:44:18 +01:00
Weblate 0f633d922e Merge branch 'origin/develop' into Weblate. 2020-09-09 13:37:52 +00:00
TERMICO 5a5be814b6 Translated using Weblate (Spanish)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/es/
2020-09-09 13:37:52 +00:00
riverside6 bbfbef7f24 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/de/
2020-09-09 13:37:52 +00:00
Travis Ralston da0afeda9b Merge pull request #15114 from vector-im/jaywink/jitsi-openidjwt-auth
Support usage of Jitsi widgets with "openidtoken-jwt" auth
2020-09-08 08:19:07 -06:00
Jason Robinson 7018a498a7 Quieten some IDE warnings 2020-09-08 12:52:17 +03:00
Jason Robinson 579650a1dd Move most of the OpenID token flow to WidgetAPI 2020-09-08 12:50:53 +03:00
Jason Robinson a7abd8599e More usage of constants 2020-09-08 11:44:11 +03:00
Jason Robinson 3309b2ec55 Block on matrix-org/matrix-react-sdk#5172
And shuffle code around a bit.
2020-09-08 11:37:50 +03:00
Jason Robinson 151dd5709c Fix import
Co-authored-by: Travis Ralston <travpc@gmail.com>
2020-09-08 11:32:09 +03:00
Jason Robinson 21c862fe2b Remove console.log 2020-09-07 20:47:07 +03:00
Jason Robinson 3b434a70d2 Fix typo 2020-09-07 20:36:26 +03:00
Jason Robinson acfd7252bd Remove todo 2020-09-07 20:26:05 +03:00
Jason Robinson 4164df647c Improve error messsage of Jitsi widget
If openidtoken request fails, show
an error. Also render error a bit nicer
in generic widget load errors.
2020-09-07 19:51:16 +03:00
Jason Robinson 2205f0611e Add some links to the openidtoken-jwt spec 2020-09-07 19:25:44 +03:00
Jason Robinson 0410a6b3be Use Jitsi domain in the JWT issuer 2020-09-07 19:23:36 +03:00
Jason Robinson 8534328921 Implement OpenID token fetch from Jitsi widget
Using MSC1960 to fetch an OpenID token via postmessage API. This is needed
for Jitsi openidtoken-jwt auth.
2020-09-07 18:10:19 +03:00
Jason Robinson 5108697ac8 Add support for Jitsi openidtoken-jwt auth
If the widget URL specifies this auth, generate a JWT token
containing the info needed by the Jitsi backend.
2020-09-04 13:14:52 +03:00
@a2sc:matrix.org e608c92506 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/de/
2020-09-02 13:42:40 +00:00
RiotRobot e5a4092adc Reset matrix-react-sdk back to develop branch 2020-09-01 17:51:03 +01:00
RiotRobot 3ed750a9ab Reset matrix-js-sdk back to develop branch 2020-09-01 17:50:49 +01:00
RiotRobot 7f8326e245 Merge branch 'master' into develop 2020-09-01 17:50:12 +01:00
Boo Teille c71b8d61c4 Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/fr/
2020-09-01 12:42:39 +00:00
Michael Telatynski 7bdb8104dc Merge pull request #15064 from vector-im/t3chguy/lint-ts
Fix eslint ts override tsx matching and delint
2020-09-01 09:10:48 +01:00
Michael Telatynski ae8595690d delint 2020-08-29 01:14:51 +01:00
Michael Telatynski 23622db74b Fix eslint ts override tsx matching 2020-08-28 19:41:19 +01:00
Lizzy cbe0cd12af Translated using Weblate (Spanish)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/es/
2020-08-27 15:42:32 +00:00
J. Ryan Stinnett cb94a89411 Merge pull request #15050 from vector-im/jryans/testing-code-review
Add testing to review guidelines
2020-08-26 17:58:30 +01:00
pebles 4ad02dc202 Translated using Weblate (Spanish)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/es/
2020-08-26 15:03:09 +00:00
Jarshvor 5be2df1fb2 Translated using Weblate (Spanish)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/es/
2020-08-26 15:03:08 +00:00
Lizzy e6d4f09099 Translated using Weblate (Spanish)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/es/
2020-08-26 15:03:08 +00:00
J. Ryan Stinnett bc1cad01c4 Add testing to review guidelines
This adds a initial statement on testing to the review guidelines. No
requirements are made at this time, but reviewers are encouraged to request
tests where they believe it is reasonable to provide them.

Fixes https://github.com/vector-im/element-web/issues/14945
2020-08-26 15:57:31 +01:00
13 changed files with 191 additions and 57 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ module.exports = {
"quotes": "off",
},
"overrides": [{
"files": ["src/**/*.{ts, tsx}"],
"files": ["src/**/*.{ts,tsx}"],
"extends": ["matrix-org/ts", "matrix-org/react"],
"env": {
"browser": true,
+26
View File
@@ -1,3 +1,29 @@
Changes in [1.7.7](https://github.com/vector-im/element-web/releases/tag/v1.7.7) (2020-09-14)
=============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.6...v1.7.7)
* Upgrade to React SDK 3.4.1
Changes in [1.7.6](https://github.com/vector-im/element-web/releases/tag/v1.7.6) (2020-09-14)
=============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.6-rc.1...v1.7.6)
* Upgrade to React SDK 3.4.0 and JS SDK 8.3.0
Changes in [1.7.6-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.6-rc.1) (2020-09-09)
=======================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.5...v1.7.6-rc.1)
* Upgrade to React SDK 3.4.0-rc.1 and JS SDK 8.3.0-rc.1
* Update from Weblate
[\#15125](https://github.com/vector-im/element-web/pull/15125)
* Support usage of Jitsi widgets with "openidtoken-jwt" auth
[\#15114](https://github.com/vector-im/element-web/pull/15114)
* Fix eslint ts override tsx matching and delint
[\#15064](https://github.com/vector-im/element-web/pull/15064)
* Add testing to review guidelines
[\#15050](https://github.com/vector-im/element-web/pull/15050)
Changes in [1.7.5](https://github.com/vector-im/element-web/releases/tag/v1.7.5) (2020-09-01)
=============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.5-rc.1...v1.7.5)
+2
View File
@@ -14,6 +14,7 @@ When reviewing code, here are some things we look for and also things we avoid:
* Performance
* Accessibility
* Security
* Quality via automated and manual testing
* Comments and documentation where needed
* Sharing knowledge of different areas among the team
* Ensuring it's something we're comfortable maintaining for the long term
@@ -34,6 +35,7 @@ When reviewing code, here are some things we look for and also things we avoid:
* Reviewers should be explicit about required versus optional changes
* Reviews are conversations and the PR author should feel comfortable
discussing and pushing back on changes before making them
* Reviewers are encouraged to ask for tests where they believe it is reasonable
* Core team should lead by example through their tone and language
* Take the time to thank and point out good code changes
* Using softer language like "please" and "what do you think?" goes a long way
+4 -3
View File
@@ -1,7 +1,7 @@
{
"name": "riot-web",
"productName": "Riot",
"version": "1.7.5",
"version": "1.7.7",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -59,8 +59,9 @@
"browser-request": "^0.3.3",
"gfm.css": "^1.1.2",
"highlight.js": "^9.13.1",
"matrix-js-sdk": "8.2.0",
"matrix-react-sdk": "3.3.0",
"jsrsasign": "^9.1.5",
"matrix-js-sdk": "8.3.0",
"matrix-react-sdk": "3.4.1",
"olm": "https://packages.matrix.org/npm/olm/olm-3.1.4.tgz",
"prop-types": "^15.7.2",
"react": "^16.9.0",
@@ -78,17 +78,26 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
<div>
<h2 id="step2_heading">Use Element on mobile</h2>
<p><strong>iOS</strong> (iPhone or iPad)</p>
<a href="https://apps.apple.com/app/vector/id1083446067" target="_blank"
className="mx_ClearDecoration">
<a
href="https://apps.apple.com/app/vector/id1083446067"
target="_blank"
className="mx_ClearDecoration"
>
<img height="48" src="themes/element/img/download/apple.svg" alt="Apple App Store" />
</a>
<p className="mx_Spacer"><strong>Android</strong></p>
<a href="https://play.google.com/store/apps/details?id=im.vector.app" target="_blank"
className="mx_ClearDecoration">
<a
href="https://play.google.com/store/apps/details?id=im.vector.app"
target="_blank"
className="mx_ClearDecoration"
>
<img height="48" src="themes/element/img/download/google.svg" alt="Google Play Store" />
</a>
<a href="https://f-droid.org/repository/browse/?fdid=im.vector.app" target="_blank"
className="mx_ClearDecoration">
<a
href="https://f-droid.org/repository/browse/?fdid=im.vector.app"
target="_blank"
className="mx_ClearDecoration"
>
<img height="48" src="themes/element/img/download/fdroid.svg" alt="F-Droid" />
</a>
</div>
+2 -2
View File
@@ -15,7 +15,7 @@
"Invalid JSON": "Ungültiges JSON",
"Go to your browser to complete Sign In": "Gehe zu deinem Browser, um die Anmeldung abzuschließen",
"Open user settings": "Öffne Nutzer-Einstellungen",
"Unable to load config file: please refresh the page to try again.": "Konfigurationsdatei kann nicht geladen werden: Bitte aktualisieren Sie die Seite, um es erneut zu versuchen.",
"Unable to load config file: please refresh the page to try again.": "Konfigurationsdatei kann nicht geladen werden: Bitte aktualisiere die Seite, um es erneut zu versuchen.",
"Missing indexeddb worker script!": "Fehlendes indexeddb Worker-Skript!",
"Previous/next recently visited room or community": "Vorheriger/nächster kürzlich besuchter Raum oder Community",
"Unsupported browser": "Nicht unterstützter Browser",
@@ -32,5 +32,5 @@
"Open": "Öffnen",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s verwendet erweiterte Browserfunktionen, die von Ihrem aktuellen Browser nicht unterstützt werden.",
"Your browser can't run %(brand)s": "Dein Browser kann %(brand)s nicht ausführen",
"Powered by Matrix": "Betrieben von Matrix"
"Powered by Matrix": "Betrieben mit Matrix"
}
+7 -6
View File
@@ -4,7 +4,7 @@
"powered by Matrix": "con el poder de Matrix",
"You need to be using HTTPS to place a screen-sharing call.": "Debes usar HTTPS para hacer una llamada con pantalla compartida.",
"Welcome to Element": "Bienvenido a Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversaciones cifradas y descentralizadas y colaboración con el poder de [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversaciones cifradas y descentralizadas &amp; colaboración impulsada por [matrix]",
"Sign In": "Iniciar sesión",
"Create Account": "Crear cuenta",
"Explore rooms": "Explorar salas",
@@ -15,10 +15,10 @@
"Invalid JSON": "JSON inválido",
"Open user settings": "Abrir opciones de usuario",
"Go to your browser to complete Sign In": "Abre tu navegador web para completar el registro",
"Missing indexeddb worker script!": "¡Worker script “indexeddb” faltante!",
"Missing indexeddb worker script!": "Falta el script de trabajo indexeddb!",
"Unable to load config file: please refresh the page to try again.": "No se ha podido cargar el archivo de configuración. Recarga la página para intentar nuevamente.",
"Previous/next recently visited room or community": "Anterior/siguiente sala o comunidad visitada recientemente",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Escritorio (%(platformName)s)",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "Navegador no soportado",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Por favor, instale <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, o <safariLink>Safari</safariLink> para la mejor experiencia.",
@@ -26,10 +26,11 @@
"I understand the risks and wish to continue": "Entiendo los riesgos y deseo continuar",
"Go to element.io": "Ir a element.io",
"Failed to start": "Fallo al iniciar",
"Your Element is misconfigured": "Su Element está mal configurado",
"Your Element is misconfigured": "Tu elemento está mal configurado",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Su configuración de Element contiene JSON inválido. Por favor corríjalo e inténtelo de nuevo.",
"Download Completed": "Descarga completada",
"Open": "Abrir",
"Your browser can't run %(brand)s": "Su navegador es compatible con %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s utiliza funciones avanzadas no soportadas por su navegador."
"Your browser can't run %(brand)s": "Su navegador es incompatible con %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s usa funciones avanzadas que su navegador actual no soporta.",
"Powered by Matrix": "Desarrollado por Matrix"
}
+2 -1
View File
@@ -31,5 +31,6 @@
"Your Element is misconfigured": "Votre Element est mal configuré",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configuration de votre Element contient du JSON invalide. Veuillez corriger le problème et recharger la page.",
"Your browser can't run %(brand)s": "Votre navigateur ne peut pas exécuter %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s nécessite des fonctionnalités avancées que votre navigateur actuel ne supporte pas."
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s nécessite des fonctionnalités avancées que votre navigateur actuel ne supporte pas.",
"Powered by Matrix": "Propulsé par Matrix"
}
+2
View File
@@ -17,6 +17,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import olmWasmPath from "olm/olm.wasm";
import Olm from 'olm';
@@ -127,6 +128,7 @@ export async function loadSkin() {
import(
/* webpackChunkName: "riot-web-component-index" */
/* webpackPreload: true */
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore - this module is generated so may fail lint
"../component-index"),
]);
+3 -1
View File
@@ -11,7 +11,9 @@
<div class="joinConferencePrompt">
<!-- TODO: i18n -->
<h2>Jitsi Video Conference</h2>
<button type="button" id="joinButton">Join Conference</button>
<div id="widgetActionContainer">
<button type="button" id="joinButton">Join Conference</button>
</div>
</div>
</div>
</div>
+102 -13
View File
@@ -18,7 +18,10 @@ limitations under the License.
require("./index.scss");
import * as qs from 'querystring';
import { Capability, WidgetApi } from "matrix-react-sdk/src/widgets/WidgetApi";
import {Capability, WidgetApi} from 'matrix-react-sdk/src/widgets/WidgetApi';
import {KJUR} from 'jsrsasign';
const JITSI_OPENIDTOKEN_JWT_AUTH = 'openidtoken-jwt';
// Dev note: we use raw JS without many dependencies to reduce bundle size.
// We do not need all of React to render a Jitsi conference.
@@ -33,6 +36,8 @@ let conferenceId: string;
let displayName: string;
let avatarUrl: string;
let userId: string;
let jitsiAuth: string;
let roomId: string;
let widgetApi: WidgetApi;
@@ -69,40 +74,118 @@ let widgetApi: WidgetApi;
displayName = qsParam('displayName', true);
avatarUrl = qsParam('avatarUrl', true); // http not mxc
userId = qsParam('userId');
jitsiAuth = qsParam('auth', true);
roomId = qsParam('roomId', true);
if (widgetApi) {
await widgetApi.waitReady();
await widgetApi.setAlwaysOnScreen(false); // start off as detachable from the screen
// See https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification
if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) {
// Request credentials, give callback to continue when received
widgetApi.requestOpenIDCredentials(credentialsResponseCallback);
} else {
enableJoinButton();
}
// TODO: register widgetApi listeners for PTT controls (https://github.com/vector-im/riot-web/issues/12795)
} else {
enableJoinButton();
}
// TODO: register widgetApi listeners for PTT controls (https://github.com/vector-im/riot-web/issues/12795)
document.getElementById("joinButton").onclick = () => joinConference();
} catch (e) {
console.error("Error setting up Jitsi widget", e);
document.getElementById("jitsiContainer").innerText = "Failed to load Jitsi widget";
switchVisibleContainers();
document.getElementById("widgetActionContainer").innerText = "Failed to load Jitsi widget";
}
})();
/**
* Enable or show error depending on what the credentials response is.
*/
function credentialsResponseCallback() {
if (widgetApi.openIDCredentials) {
console.info('Successfully got OpenID credentials.');
enableJoinButton();
} else {
console.warn('OpenID credentials request was blocked by user.');
document.getElementById("widgetActionContainer").innerText = "Failed to load Jitsi widget";
}
}
function enableJoinButton() {
document.getElementById("joinButton").onclick = () => joinConference();
}
function switchVisibleContainers() {
inConference = !inConference;
document.getElementById("jitsiContainer").style.visibility = inConference ? 'unset' : 'hidden';
document.getElementById("joinButtonContainer").style.visibility = inConference ? 'hidden' : 'unset';
}
/**
* Create a JWT token fot jitsi openidtoken-jwt auth
*
* See https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification
*/
function createJWTToken() {
// Header
const header = {alg: 'HS256', typ: 'JWT'};
// Payload
const payload = {
// As per Jitsi token auth, `iss` needs to be set to something agreed between
// JWT generating side and Prosody config. Since we have no configuration for
// the widgets, we can't set one anywhere. Using the Jitsi domain here probably makes sense.
iss: jitsiDomain,
sub: jitsiDomain,
aud: `https://${jitsiDomain}`,
room: "*",
context: {
matrix: {
token: widgetApi.openIDCredentials.accessToken,
room_id: roomId,
},
user: {
avatar: avatarUrl,
name: displayName,
},
},
};
// Sign JWT
// The secret string here is irrelevant, we're only using the JWT
// to transport data to Prosody in the Jitsi stack.
return KJUR.jws.JWS.sign(
'HS256',
JSON.stringify(header),
JSON.stringify(payload),
'notused',
);
}
function joinConference() { // event handler bound in HTML
let jwt;
if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) {
if (!widgetApi.openIDCredentials || !widgetApi.openIDCredentials.accessToken) {
// We've failing to get a token, don't try to init conference
console.warn('Expected to have an OpenID credential, cannot initialize widget.');
document.getElementById("widgetActionContainer").innerText = "Failed to load Jitsi widget";
return;
}
jwt = createJWTToken();
}
switchVisibleContainers();
// noinspection JSIgnoredPromiseFromCall
if (widgetApi) widgetApi.setAlwaysOnScreen(true); // ignored promise because we don't care if it works
if (widgetApi) {
// ignored promise because we don't care if it works
// noinspection JSIgnoredPromiseFromCall
widgetApi.setAlwaysOnScreen(true);
}
console.warn(
"[Jitsi Widget] The next few errors about failing to parse URL parameters are fine if " +
"they mention 'external_api' or 'jitsi' in the stack. They're just Jitsi Meet trying to parse " +
"our fragment values and not recognizing the options.",
);
const meetApi = new JitsiMeetExternalAPI(jitsiDomain, {
const options = {
width: "100%",
height: "100%",
parentNode: document.querySelector("#jitsiContainer"),
@@ -113,7 +196,10 @@ function joinConference() { // event handler bound in HTML
MAIN_TOOLBAR_BUTTONS: [],
VIDEO_LAYOUT_FIT: "height",
},
});
jwt: jwt,
};
const meetApi = new JitsiMeetExternalAPI(jitsiDomain, options);
if (displayName) meetApi.executeCommand("displayName", displayName);
if (avatarUrl) meetApi.executeCommand("avatarUrl", avatarUrl);
if (userId) meetApi.executeCommand("email", userId);
@@ -121,8 +207,11 @@ function joinConference() { // event handler bound in HTML
meetApi.on("readyToClose", () => {
switchVisibleContainers();
// noinspection JSIgnoredPromiseFromCall
if (widgetApi) widgetApi.setAlwaysOnScreen(false); // ignored promise because we don't care if it works
if (widgetApi) {
// ignored promise because we don't care if it works
// noinspection JSIgnoredPromiseFromCall
widgetApi.setAlwaysOnScreen(false);
}
document.getElementById("jitsiContainer").innerHTML = "";
});
+3 -3
View File
@@ -27,7 +27,7 @@ import BaseEventIndexManager, {
MatrixEvent,
MatrixProfile,
SearchArgs,
SearchResult
SearchResult,
} from 'matrix-react-sdk/src/indexing/BaseEventIndexManager';
import dis from 'matrix-react-sdk/src/dispatcher/dispatcher';
import {_t, _td} from 'matrix-react-sdk/src/languageHandler';
@@ -99,7 +99,7 @@ interface IPCPayload {
class SeshatIndexManager extends BaseEventIndexManager {
private pendingIpcCalls: Record<number, { resolve, reject }> = {};
private nextIpcCallId: number = 0;
private nextIpcCallId = 0;
constructor() {
super();
@@ -216,7 +216,7 @@ class SeshatIndexManager extends BaseEventIndexManager {
export default class ElectronPlatform extends VectorBasePlatform {
private eventIndexManager: BaseEventIndexManager = new SeshatIndexManager();
private pendingIpcCalls: Record<number, { resolve, reject }> = {};
private nextIpcCallId: number = 0;
private nextIpcCallId = 0;
// this is the opaque token we pass to the HS which when we get it in our callback we can resolve to a profile
private ssoID: string = randomString(32);
+22 -21
View File
@@ -3160,15 +3160,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
create-react-class@^15.6.3:
version "15.6.3"
resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036"
integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==
dependencies:
fbjs "^0.8.9"
loose-envify "^1.3.1"
object-assign "^4.1.1"
cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -4688,7 +4679,7 @@ fbjs@0.1.0-alpha.7:
promise "^7.0.3"
whatwg-fetch "^0.9.0"
fbjs@^0.8.4, fbjs@^0.8.9:
fbjs@^0.8.4:
version "0.8.17"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
@@ -6914,6 +6905,11 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
jsrsasign@^9.1.5:
version "9.1.5"
resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-9.1.5.tgz#fe286425d2c05b2d0865d24ded53e34b12abd2ca"
integrity sha512-iJLF8FvZHlwyQudrRtQomHj1HdPAcM8QSRTt0FJo8a6iFgaGCpKUrE7lWyELpAjrFs8jUC/Azc0vfhlj3yqHPQ==
jsx-ast-utils@^2.2.3:
version "2.3.0"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.3.0.tgz#edd727794ea284d7fda575015ed1b0cde0289ab6"
@@ -7186,7 +7182,7 @@ longest-streak@^2.0.1:
resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4"
integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -7312,10 +7308,10 @@ mathml-tag-names@^2.1.1:
resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==
matrix-js-sdk@8.2.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-8.2.0.tgz#6fbdadcdc563e41671d407d772a4d52ec8adc480"
integrity sha512-yKF/H1Matgf4b7bfa/gOPNcgMEujogC1r89Au8ZYKfv3dmNdJupE9ktdGJ28QVeKIyF5Ew1stLI4MdGWT1gYPw==
matrix-js-sdk@8.3.0:
version "8.3.0"
resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-8.3.0.tgz#a57a6d071619c24b6e8501ae21fa4d21f6bbd052"
integrity sha512-ndKedUtZt72/4KWjlMevNwNDGfhPTOn/i4U6Iv1ZEfm7uZfbp5u3hVIyr8tyOiVuvMIxmcTajRdwSlRsNtYFkA==
dependencies:
"@babel/runtime" "^7.8.3"
another-json "^0.2.0"
@@ -7335,10 +7331,10 @@ matrix-mock-request@^1.2.3:
bluebird "^3.5.0"
expect "^1.20.2"
matrix-react-sdk@3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.3.0.tgz#42749f59151a1fbd8be81d917b7f2dfc406a4ad5"
integrity sha512-042QFASwbYYX69TQTzzSnRyaD4NXiME/Unn+GmUfWJBnGieuNaYb7ZFxVdUuPpks2UfHJF6xswsr1LpKWi92IQ==
matrix-react-sdk@3.4.1:
version "3.4.1"
resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.4.1.tgz#820fe83081c475f98158c4e9e71a3c8e1afa7c14"
integrity sha512-aAfMgJuutQas3rF+Z7iOOkOuhwYNG+ugq7bmF8CEs00IYY6UEfreqiqGBwnvTm+1b1Sdl6p2kjgil8941veCZg==
dependencies:
"@babel/runtime" "^7.10.5"
await-lock "^2.0.1"
@@ -7348,7 +7344,6 @@ matrix-react-sdk@3.3.0:
classnames "^2.2.6"
commonmark "^0.29.1"
counterpart "^0.18.6"
create-react-class "^15.6.3"
diff-dom "^4.1.6"
diff-match-patch "^1.0.5"
emojibase-data "^5.0.1"
@@ -7366,7 +7361,7 @@ matrix-react-sdk@3.3.0:
is-ip "^2.0.0"
linkifyjs "^2.1.9"
lodash "^4.17.19"
matrix-js-sdk "8.2.0"
matrix-js-sdk "8.3.0"
minimist "^1.2.5"
pako "^1.0.11"
parse5 "^5.1.1"
@@ -7382,6 +7377,7 @@ matrix-react-sdk@3.3.0:
react-focus-lock "^2.4.1"
react-transition-group "^4.4.1"
resize-observer-polyfill "^1.5.1"
rfc4648 "^1.4.0"
sanitize-html "^1.27.1"
tar-js "^0.3.0"
text-encoding-utf-8 "^1.0.2"
@@ -10291,6 +10287,11 @@ retry@^0.12.0:
resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
rfc4648@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/rfc4648/-/rfc4648-1.4.0.tgz#c75b2856ad2e2d588b6ddb985d556f1f7f2a2abd"
integrity sha512-3qIzGhHlMHA6PoT6+cdPKZ+ZqtxkIvg8DZGKA5z6PQ33/uuhoJ+Ws/D/J9rXW6gXodgH8QYlz2UCl+sdUDmNIg==
rgb-regex@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"