@@ -22,7 +22,6 @@
|
|||||||
"@juggle/resize-observer": "^3.3.1",
|
"@juggle/resize-observer": "^3.3.1",
|
||||||
"@livekit/components-core": "^0.11.0",
|
"@livekit/components-core": "^0.11.0",
|
||||||
"@livekit/components-react": "^2.0.0",
|
"@livekit/components-react": "^2.0.0",
|
||||||
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz",
|
|
||||||
"@opentelemetry/api": "^1.4.0",
|
"@opentelemetry/api": "^1.4.0",
|
||||||
"@opentelemetry/context-zone": "^1.9.1",
|
"@opentelemetry/context-zone": "^1.9.1",
|
||||||
"@opentelemetry/exporter-jaeger": "^1.9.1",
|
"@opentelemetry/exporter-jaeger": "^1.9.1",
|
||||||
|
|||||||
5
src/@types/global.d.ts
vendored
5
src/@types/global.d.ts
vendored
@@ -23,11 +23,6 @@ declare global {
|
|||||||
webkitFullscreenElement: HTMLElement | null;
|
webkitFullscreenElement: HTMLElement | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Window {
|
|
||||||
// TODO: https://gitlab.matrix.org/matrix-org/olm/-/issues/10
|
|
||||||
OLM_OPTIONS: Record<string, string>;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface HTMLElement {
|
interface HTMLElement {
|
||||||
// Safari only supports this prefixed, so tell the type system about it
|
// Safari only supports this prefixed, so tell the type system about it
|
||||||
webkitRequestFullscreen: () => void;
|
webkitRequestFullscreen: () => void;
|
||||||
|
|||||||
@@ -32,8 +32,6 @@ enum LoadState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class DependencyLoadStates {
|
class DependencyLoadStates {
|
||||||
// TODO: decide where olm should be initialized (see TODO comment below)
|
|
||||||
// olm: LoadState = LoadState.None;
|
|
||||||
public config: LoadState = LoadState.None;
|
public config: LoadState = LoadState.None;
|
||||||
public sentry: LoadState = LoadState.None;
|
public sentry: LoadState = LoadState.None;
|
||||||
public openTelemetry: LoadState = LoadState.None;
|
public openTelemetry: LoadState = LoadState.None;
|
||||||
@@ -128,18 +126,6 @@ export class Initializer {
|
|||||||
private loadStates = new DependencyLoadStates();
|
private loadStates = new DependencyLoadStates();
|
||||||
|
|
||||||
private initStep(resolve: (value: void | PromiseLike<void>) => void): void {
|
private initStep(resolve: (value: void | PromiseLike<void>) => void): void {
|
||||||
// TODO: Olm is initialized with the client currently (see `initClient()` and `olm.ts`)
|
|
||||||
// we need to decide if we want to init it here or keep it in initClient
|
|
||||||
// if (this.loadStates.olm === LoadState.None) {
|
|
||||||
// this.loadStates.olm = LoadState.Loading;
|
|
||||||
// // TODO: https://gitlab.matrix.org/matrix-org/olm/-/issues/10
|
|
||||||
// window.OLM_OPTIONS = {};
|
|
||||||
// Olm.init({ locateFile: () => olmWasmPath }).then(() => {
|
|
||||||
// this.loadStates.olm = LoadState.Loaded;
|
|
||||||
// this.initStep(resolve);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// config
|
// config
|
||||||
if (this.loadStates.config === LoadState.None) {
|
if (this.loadStates.config === LoadState.None) {
|
||||||
this.loadStates.config = LoadState.Loading;
|
this.loadStates.config = LoadState.Loading;
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ import type { MatrixClient } from "matrix-js-sdk/src/client";
|
|||||||
import type { Room } from "matrix-js-sdk/src/models/room";
|
import type { Room } from "matrix-js-sdk/src/models/room";
|
||||||
import IndexedDBWorker from "./IndexedDBWorker?worker";
|
import IndexedDBWorker from "./IndexedDBWorker?worker";
|
||||||
import { generateUrlSearchParams, getUrlParams } from "./UrlParams";
|
import { generateUrlSearchParams, getUrlParams } from "./UrlParams";
|
||||||
import { loadOlm } from "./olm";
|
|
||||||
import { Config } from "./config/Config";
|
import { Config } from "./config/Config";
|
||||||
import { E2eeType } from "./e2ee/e2eeType";
|
import { E2eeType } from "./e2ee/e2eeType";
|
||||||
import { EncryptionSystem, saveKeyForRoom } from "./e2ee/sharedKeyManagement";
|
import { EncryptionSystem, saveKeyForRoom } from "./e2ee/sharedKeyManagement";
|
||||||
@@ -97,8 +96,6 @@ export async function initClient(
|
|||||||
clientOptions: ICreateClientOpts,
|
clientOptions: ICreateClientOpts,
|
||||||
restore: boolean,
|
restore: boolean,
|
||||||
): Promise<MatrixClient> {
|
): Promise<MatrixClient> {
|
||||||
await loadOlm();
|
|
||||||
|
|
||||||
let indexedDB: IDBFactory | undefined;
|
let indexedDB: IDBFactory | undefined;
|
||||||
try {
|
try {
|
||||||
indexedDB = window.indexedDB;
|
indexedDB = window.indexedDB;
|
||||||
@@ -198,7 +195,7 @@ export async function initClient(
|
|||||||
await client.store.startup();
|
await client.store.startup();
|
||||||
}
|
}
|
||||||
|
|
||||||
await client.initCrypto();
|
await client.initRustCrypto();
|
||||||
client.setGlobalErrorOnUnknownDevices(false);
|
client.setGlobalErrorOnUnknownDevices(false);
|
||||||
// Once startClient is called, syncs are run asynchronously.
|
// Once startClient is called, syncs are run asynchronously.
|
||||||
// Also, sync completion is communicated only via events.
|
// Also, sync completion is communicated only via events.
|
||||||
|
|||||||
29
src/olm.ts
29
src/olm.ts
@@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2022 New Vector Ltd
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import Olm from "@matrix-org/olm";
|
|
||||||
import olmWasmPath from "@matrix-org/olm/olm.wasm?url";
|
|
||||||
|
|
||||||
// https://gitlab.matrix.org/matrix-org/olm/-/issues/10
|
|
||||||
window.OLM_OPTIONS = {};
|
|
||||||
|
|
||||||
let olmLoaded: Promise<void> | null = null;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads Olm, if not already loaded.
|
|
||||||
*/
|
|
||||||
export const loadOlm = (): Promise<void> =>
|
|
||||||
(olmLoaded ??= Olm.init({ locateFile: () => olmWasmPath }));
|
|
||||||
@@ -1924,10 +1924,6 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@matrix-org/olm/-/olm-3.2.15.tgz#55f3c1b70a21bbee3f9195cecd6846b1083451ec"
|
resolved "https://registry.yarnpkg.com/@matrix-org/olm/-/olm-3.2.15.tgz#55f3c1b70a21bbee3f9195cecd6846b1083451ec"
|
||||||
integrity sha512-S7lOrndAK9/8qOtaTq/WhttJC/o4GAzdfK0MUPpo8ApzsJEC0QjtwrkC3KBXdFP1cD1MXi/mlKR7aaoVMKgs6Q==
|
integrity sha512-S7lOrndAK9/8qOtaTq/WhttJC/o4GAzdfK0MUPpo8ApzsJEC0QjtwrkC3KBXdFP1cD1MXi/mlKR7aaoVMKgs6Q==
|
||||||
|
|
||||||
"@matrix-org/olm@https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz":
|
|
||||||
version "3.2.14"
|
|
||||||
resolved "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz#acd96c00a881d0f462e1f97a56c73742c8dbc984"
|
|
||||||
|
|
||||||
"@nodelib/fs.scandir@2.1.5":
|
"@nodelib/fs.scandir@2.1.5":
|
||||||
version "2.1.5"
|
version "2.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
|
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
|
||||||
|
|||||||
Reference in New Issue
Block a user