From 303f06cc61cb50e0891c8af9c709287cf686b3c6 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 2 Mar 2022 13:52:50 -0700 Subject: [PATCH 01/24] Step 2: Remove the decorator --- babel.config.js | 1 - package.json | 1 - tsconfig.json | 4 ++-- yarn.lock | 25 +------------------------ 4 files changed, 3 insertions(+), 28 deletions(-) diff --git a/babel.config.js b/babel.config.js index fe720e0a4dd..d2248cd0c97 100644 --- a/babel.config.js +++ b/babel.config.js @@ -13,7 +13,6 @@ module.exports = { "@babel/preset-react", ], "plugins": [ - ["@babel/plugin-proposal-decorators", {legacy: true}], "@babel/plugin-proposal-export-default-from", "@babel/plugin-proposal-numeric-separator", "@babel/plugin-proposal-class-properties", diff --git a/package.json b/package.json index 97b3ac6c895..52c2ffebc86 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,6 @@ "@babel/eslint-parser": "^7.12.10", "@babel/eslint-plugin": "^7.12.10", "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-decorators": "^7.12.12", "@babel/plugin-proposal-export-default-from": "^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", "@babel/plugin-proposal-numeric-separator": "^7.12.7", diff --git a/tsconfig.json b/tsconfig.json index b0a58196f57..e48ae0f7b91 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { - "experimentalDecorators": true, - "emitDecoratorMetadata": true, + "experimentalDecorators": false, + "emitDecoratorMetadata": false, "resolveJsonModule": true, "esModuleInterop": true, "module": "commonjs", diff --git a/yarn.lock b/yarn.lock index 901e436ebd9..169134774e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -116,7 +116,7 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.1": +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": version "7.17.1" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21" integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ== @@ -354,17 +354,6 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-decorators@^7.12.12": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz#c36372ddfe0360cac1ee331a238310bddca11493" - integrity sha512-WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.1" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/plugin-syntax-decorators" "^7.17.0" - charcodes "^0.2.0" - "@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" @@ -503,13 +492,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz#a2be3b2c9fe7d78bd4994e790896bc411e2f166d" - integrity sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" @@ -3414,11 +3396,6 @@ character-reference-invalid@^1.0.0: resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== -charcodes@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/charcodes/-/charcodes-0.2.0.tgz#5208d327e6cc05f99eb80ffc814707572d1f14e4" - integrity sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ== - cheerio-select@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.5.0.tgz#faf3daeb31b17c5e1a9dabcee288aaf8aafa5823" From 1bbecdff6c03f56969afb20f5bc046bb74a45fe9 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 2 Mar 2022 14:16:10 -0700 Subject: [PATCH 02/24] Step 3.1: Stop using `getComponent` in tests --- test/app-tests/joining-test.tsx | 10 +++------- test/app-tests/loading-test.tsx | 34 ++++++++++++++++----------------- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/test/app-tests/joining-test.tsx b/test/app-tests/joining-test.tsx index 1ea411fec1e..046e91ebd75 100644 --- a/test/app-tests/joining-test.tsx +++ b/test/app-tests/joining-test.tsx @@ -18,7 +18,6 @@ limitations under the License. import PlatformPeg from 'matrix-react-sdk/src/PlatformPeg'; import WebPlatform from '../../src/vector/platform/WebPlatform'; -import * as sdk from "matrix-react-sdk/src/index"; import * as jssdk from "matrix-js-sdk/src/matrix"; import "../skin-sdk"; import "../jest-mocks"; @@ -28,15 +27,12 @@ import ReactTestUtils from "react-dom/test-utils"; import {makeType} from "matrix-react-sdk/src/utils/TypeUtils"; import {ValidatedServerConfig} from "matrix-react-sdk/src/utils/AutoDiscoveryUtils"; import {sleep} from "../test-utils"; -import * as test_utils from "../test-utils"; import MockHttpBackend from "matrix-mock-request"; import "fake-indexeddb/auto"; import { RoomView as RoomViewClass } from 'matrix-react-sdk/src/components/structures/RoomView'; - - -const MatrixChat = sdk.getComponent('structures.MatrixChat'); -const RoomDirectory = sdk.getComponent('structures.RoomDirectory'); -const RoomPreviewBar = sdk.getComponent('rooms.RoomPreviewBar'); +import MatrixChat from "matrix-react-sdk/src/components/structures/MatrixChat"; +import RoomDirectory from "matrix-react-sdk/src/components/structures/RoomDirectory"; +import RoomPreviewBar from "matrix-react-sdk/src/components/views/rooms/RoomPreviewBar"; const HS_URL='http://localhost'; const IS_URL='http://localhost'; diff --git a/test/app-tests/loading-test.tsx b/test/app-tests/loading-test.tsx index 068164dcee3..e008d01e313 100644 --- a/test/app-tests/loading-test.tsx +++ b/test/app-tests/loading-test.tsx @@ -26,9 +26,8 @@ import ReactDOM from 'react-dom'; import ReactTestUtils from 'react-dom/test-utils'; import MatrixReactTestUtils from 'matrix-react-test-utils'; import * as jssdk from 'matrix-js-sdk/src/matrix'; -import * as sdk from 'matrix-react-sdk/src/index'; import {MatrixClientPeg} from 'matrix-react-sdk/src/MatrixClientPeg'; -import {Views} from 'matrix-react-sdk/src/components/structures/MatrixChat'; +import MatrixChat, {Views} from 'matrix-react-sdk/src/components/structures/MatrixChat'; import dis from 'matrix-react-sdk/src/dispatcher/dispatcher'; import * as test_utils from '../test-utils'; import MockHttpBackend from 'matrix-mock-request'; @@ -41,6 +40,8 @@ import {cleanLocalstorage} from "../test-utils"; import {IndexedDBCryptoStore} from "matrix-js-sdk/src/crypto/store/indexeddb-crypto-store"; import { RoomView as RoomViewClass } from 'matrix-react-sdk/src/components/structures/RoomView'; import LoginComponent from 'matrix-react-sdk/src/components/structures/auth/Login'; +import WelcomeComponent from "matrix-react-sdk/src/components/views/auth/Welcome"; +import EmbeddedPage from "matrix-react-sdk/src/components/structures/EmbeddedPage"; const DEFAULT_HS_URL='http://my_server'; const DEFAULT_IS_URL='http://my_is'; @@ -124,7 +125,6 @@ describe('loading:', function() { }; } - const MatrixChat = sdk.getComponent('structures.MatrixChat'); const fragParts = parseQsFromFragment(windowLocation); const config = Object.assign({ @@ -269,7 +269,7 @@ describe('loading:', function() { return awaitLoginComponent(matrixChat).then(() => { // we expect a single component ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.auth.Login')); + matrixChat, LoginComponent); // the only outstanding request should be a GET /login // (in particular there should be no /register request for @@ -290,7 +290,7 @@ describe('loading:', function() { }).then(() => { // once the sync completes, we should have a room view ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.EmbeddedPage')); + matrixChat, EmbeddedPage); expect(windowLocation.hash).toEqual("#/home"); }); }); @@ -343,7 +343,7 @@ describe('loading:', function() { // once the sync completes, we should have a home page httpBackend.verifyNoOutstandingExpectation(); ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.EmbeddedPage')); + matrixChat, EmbeddedPage); expect(windowLocation.hash).toEqual("#/home"); }); }); @@ -384,7 +384,7 @@ describe('loading:', function() { // we expect a single component ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.auth.Login'), + matrixChat, LoginComponent, ); // the only outstanding request should be a GET /login @@ -413,7 +413,7 @@ describe('loading:', function() { // we should see a home page, even though we previously had // a stored mx_last_room_id ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.EmbeddedPage')); + matrixChat, EmbeddedPage); expect(windowLocation.hash).toEqual("#/home"); }); }); @@ -447,7 +447,7 @@ describe('loading:', function() { // once the sync completes, we should have a welcome page httpBackend.verifyNoOutstandingExpectation(); ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('auth.Welcome')); + matrixChat, WelcomeComponent); expect(windowLocation.hash).toEqual("#/welcome"); }); }); @@ -480,7 +480,7 @@ describe('loading:', function() { // once the sync completes, we should have a welcome page httpBackend.verifyNoOutstandingExpectation(); ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('auth.Welcome')); + matrixChat, WelcomeComponent); expect(windowLocation.hash).toEqual("#/welcome"); expect(MatrixClientPeg.get().baseUrl).toEqual(DEFAULT_HS_URL); expect(MatrixClientPeg.get().idBaseUrl).toEqual(DEFAULT_IS_URL); @@ -539,7 +539,7 @@ describe('loading:', function() { }).then(() => { // once the sync completes, we should have a home page ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.EmbeddedPage')); + matrixChat, EmbeddedPage); // we simulate a click on the 'login' button by firing off // the relevant dispatch. @@ -561,7 +561,7 @@ describe('loading:', function() { // we expect a single component ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.auth.Login'), + matrixChat, LoginComponent, ); }); @@ -569,7 +569,7 @@ describe('loading:', function() { // ILAG renders this obsolete. I think. it('should allow us to return to the app', function() { const login = ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.auth.Login') + matrixChat, LoginComponent ); const linkText = 'Return to app'; @@ -586,7 +586,7 @@ describe('loading:', function() { return sleep(1).then(() => { // we should be straight back into the home page ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.EmbeddedPage')); + matrixChat, EmbeddedPage); }); }); */ @@ -733,19 +733,19 @@ function awaitRoomView(matrixChat, retryLimit?, retryCount?) { function awaitLoginComponent(matrixChat, attempts?) { return MatrixReactTestUtils.waitForRenderedComponentWithType( - matrixChat, sdk.getComponent('structures.auth.Login'), attempts, + matrixChat, LoginComponent, attempts, ); } function awaitWelcomeComponent(matrixChat, attempts?) { return MatrixReactTestUtils.waitForRenderedComponentWithType( - matrixChat, sdk.getComponent('auth.Welcome'), attempts, + matrixChat, WelcomeComponent, attempts, ); } function moveFromWelcomeToLogin(matrixChat) { ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('auth.Welcome')); + matrixChat, WelcomeComponent); dis.dispatch({ action: 'start_login' }); return awaitLoginComponent(matrixChat); } From 585c777878e4d04b2d92b21ebd2189d963e76f31 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 2 Mar 2022 14:10:42 -0700 Subject: [PATCH 03/24] Step 3.2: Stop using `getComponent` --- src/components/views/auth/VectorAuthPage.tsx | 7 +++---- src/vector/app.tsx | 5 ++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/components/views/auth/VectorAuthPage.tsx b/src/components/views/auth/VectorAuthPage.tsx index d37739a0324..7df756a67d1 100644 --- a/src/components/views/auth/VectorAuthPage.tsx +++ b/src/components/views/auth/VectorAuthPage.tsx @@ -15,9 +15,10 @@ limitations under the License. */ import React, { CSSProperties } from 'react'; -import * as sdk from 'matrix-react-sdk/src/index'; import SdkConfig from 'matrix-react-sdk/src/SdkConfig'; +import VectorAuthFooter from "./VectorAuthFooter"; + export default class VectorAuthPage extends React.PureComponent { static replaces = 'AuthPage'; @@ -44,8 +45,6 @@ export default class VectorAuthPage extends React.PureComponent { } render() { - const AuthFooter = sdk.getComponent('auth.AuthFooter'); - const pageStyle = { background: `center/cover fixed url(${VectorAuthPage.getWelcomeBackgroundUrl()})`, }; @@ -80,7 +79,7 @@ export default class VectorAuthPage extends React.PureComponent { { this.props.children } - + ); } diff --git a/src/vector/app.tsx b/src/vector/app.tsx index 7a3abc0c175..b887bef9f8f 100644 --- a/src/vector/app.tsx +++ b/src/vector/app.tsx @@ -19,7 +19,6 @@ limitations under the License. */ import React from 'react'; -import * as sdk from 'matrix-react-sdk/src/index'; import PlatformPeg from 'matrix-react-sdk/src/PlatformPeg'; import { _td, newTranslatableError } from 'matrix-react-sdk/src/languageHandler'; import AutoDiscoveryUtils from 'matrix-react-sdk/src/utils/AutoDiscoveryUtils'; @@ -30,6 +29,7 @@ import { IConfigOptions } from "matrix-react-sdk/src/IConfigOptions"; import { logger } from "matrix-js-sdk/src/logger"; import { createClient } from "matrix-js-sdk/src/matrix"; import { SnakedObject } from "matrix-react-sdk/src/utils/SnakedObject"; +import MatrixChat from "matrix-react-sdk/src/components/structures/MatrixChat"; import { parseQs } from './url_utils'; import VectorBasePlatform from "./platform/VectorBasePlatform"; @@ -133,7 +133,6 @@ export async function loadApp(fragParams: {}) { const defaultDeviceName = snakedConfig.get("default_device_display_name") ?? platform.getDefaultDeviceDisplayName(); - const MatrixChat = sdk.getComponent('structures.MatrixChat'); return ; } -async function verifyServerConfig() { +async function verifyServerConfig(): Promise { let validatedConfig; try { logger.log("Verifying homeserver configuration"); From 384903361d5ff3c608fedecf2105100201c00ca8 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 2 Mar 2022 16:39:14 -0700 Subject: [PATCH 04/24] Step 4: Disable/remove bulk of skinner code --- src/vector/index.ts | 5 +---- src/vector/init.tsx | 21 --------------------- test/skin-sdk.js | 2 +- 3 files changed, 2 insertions(+), 26 deletions(-) diff --git a/src/vector/index.ts b/src/vector/index.ts index 87388799c30..e27129d9aaa 100644 --- a/src/vector/index.ts +++ b/src/vector/index.ts @@ -110,7 +110,6 @@ async function start() { preparePlatform, loadOlm, loadConfig, - loadSkin, loadLanguage, loadTheme, loadApp, @@ -160,10 +159,9 @@ async function start() { const loadLanguagePromise = loadLanguage(); // as quickly as we possibly can, set a default theme... const loadThemePromise = loadTheme(); - const loadSkinPromise = loadSkin(); // await things settling so that any errors we have to render have features like i18n running - await settled(loadSkinPromise, loadThemePromise, loadLanguagePromise); + await settled(loadThemePromise, loadLanguagePromise); let acceptBrowser = supportedBrowser; if (!acceptBrowser && window.localStorage) { @@ -211,7 +209,6 @@ async function start() { // assert things started successfully // ################################## await loadOlmPromise; - await loadSkinPromise; await loadThemePromise; await loadLanguagePromise; diff --git a/src/vector/init.tsx b/src/vector/init.tsx index e810d6c8268..0e43700ae99 100644 --- a/src/vector/init.tsx +++ b/src/vector/init.tsx @@ -127,27 +127,6 @@ export async function loadLanguage() { } } -export async function loadSkin() { - // Ensure the skin is the very first thing to load for the react-sdk. We don't even want to reference - // the SDK until we have to in imports. - logger.log("Loading skin..."); - // load these async so that its code is not executed immediately and we can catch any exceptions - const [sdk, skin] = await Promise.all([ - import( - /* webpackChunkName: "matrix-react-sdk" */ - /* webpackPreload: true */ - "matrix-react-sdk"), - import( - /* webpackChunkName: "element-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"), - ]); - sdk.loadSkin(skin); - logger.log("Skin loaded!"); -} - export async function loadTheme() { setTheme(); } diff --git a/test/skin-sdk.js b/test/skin-sdk.js index eaeff52043e..3a3067ea640 100644 --- a/test/skin-sdk.js +++ b/test/skin-sdk.js @@ -6,4 +6,4 @@ import * as sdk from "matrix-react-sdk"; import * as skin from "../src/component-index"; -sdk.loadSkin(skin); +// sdk.loadSkin(skin); From e1f9e9a8f8f64711cd7ac77fb326156b4d0d9320 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 24 Mar 2022 21:42:23 -0600 Subject: [PATCH 05/24] Step 8.1: Remove skin-sdk.js --- test/app-tests/joining-test.tsx | 1 - test/app-tests/loading-test.tsx | 1 - test/skin-sdk.js | 9 --------- 3 files changed, 11 deletions(-) delete mode 100644 test/skin-sdk.js diff --git a/test/app-tests/joining-test.tsx b/test/app-tests/joining-test.tsx index 046e91ebd75..618cb103487 100644 --- a/test/app-tests/joining-test.tsx +++ b/test/app-tests/joining-test.tsx @@ -19,7 +19,6 @@ limitations under the License. import PlatformPeg from 'matrix-react-sdk/src/PlatformPeg'; import WebPlatform from '../../src/vector/platform/WebPlatform'; import * as jssdk from "matrix-js-sdk/src/matrix"; -import "../skin-sdk"; import "../jest-mocks"; import React from "react"; import ReactDOM from "react-dom"; diff --git a/test/app-tests/loading-test.tsx b/test/app-tests/loading-test.tsx index e008d01e313..ccdcaccdda2 100644 --- a/test/app-tests/loading-test.tsx +++ b/test/app-tests/loading-test.tsx @@ -19,7 +19,6 @@ limitations under the License. import PlatformPeg from 'matrix-react-sdk/src/PlatformPeg'; import WebPlatform from '../../src/vector/platform/WebPlatform'; -import '../skin-sdk'; import "../jest-mocks"; import React from 'react'; import ReactDOM from 'react-dom'; diff --git a/test/skin-sdk.js b/test/skin-sdk.js deleted file mode 100644 index 3a3067ea640..00000000000 --- a/test/skin-sdk.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * skin-sdk.js - * - * Skins the react-sdk with the vector components - */ - -import * as sdk from "matrix-react-sdk"; -import * as skin from "../src/component-index"; -// sdk.loadSkin(skin); From 0bcb1d18cefc3393af927599748fa5fa9b74a89c Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 24 Mar 2022 22:23:17 -0600 Subject: [PATCH 06/24] Step 10.1: Ensure the js-sdk browser bundle gets pulled We no longer have implicit imports which would have called this path, so manually call it. We have to disable lint as it doesn't like us doing this, but we only end up with a single entry point. --- src/vector/app.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/vector/app.tsx b/src/vector/app.tsx index b887bef9f8f..1c38a2c84a4 100644 --- a/src/vector/app.tsx +++ b/src/vector/app.tsx @@ -18,6 +18,9 @@ See the License for the specific language governing permissions and limitations under the License. */ +// To ensure we load the browser-request version +import "matrix-js-sdk"; // eslint-disable-line no-restricted-imports + import React from 'react'; import PlatformPeg from 'matrix-react-sdk/src/PlatformPeg'; import { _td, newTranslatableError } from 'matrix-react-sdk/src/languageHandler'; From 5459c1eb9630da9af26060f48bbf110514a24a94 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 24 Mar 2022 23:43:46 -0600 Subject: [PATCH 07/24] Step 10.2: Move hacky welcome page replacement to react-sdk --- res/welcome.html | 3 +- res/welcome/images/matrix.svg | 153 ------------------ .../structures/VectorEmbeddedPage.tsx | 34 ---- src/i18n/strings/en_EN.json | 2 +- 4 files changed, 3 insertions(+), 189 deletions(-) delete mode 100644 res/welcome/images/matrix.svg delete mode 100644 src/components/structures/VectorEmbeddedPage.tsx diff --git a/res/welcome.html b/res/welcome.html index bb3f84fe64f..ef01d8876cb 100644 --- a/res/welcome.html +++ b/res/welcome.html @@ -173,7 +173,8 @@

_t("Welcome to Element")

-

_t("Decentralised, encrypted chat & collaboration powered by [matrix]")

+ +

_t("Decentralised, encrypted chat & collaboration powered by $matrixLogo")

diff --git a/res/welcome/images/matrix.svg b/res/welcome/images/matrix.svg deleted file mode 100644 index 13adcab25a2..00000000000 --- a/res/welcome/images/matrix.svg +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/components/structures/VectorEmbeddedPage.tsx b/src/components/structures/VectorEmbeddedPage.tsx deleted file mode 100644 index 85adb2fb3f7..00000000000 --- a/src/components/structures/VectorEmbeddedPage.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2016 OpenMarket Ltd -Copyright 2017 Vector Creations Ltd -Copyright 2019 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 EmbeddedPage from 'matrix-react-sdk/src/components/structures/EmbeddedPage'; -import sanitizeHtml from 'sanitize-html'; -import { _t } from 'matrix-react-sdk/src/languageHandler'; - -export default class VectorEmbeddedPage extends EmbeddedPage { - static replaces = 'EmbeddedPage'; - - // we're overriding the base component here, for Element-specific tweaks - translate(s: string) { - s = sanitizeHtml(_t(s)); - // ugly fix for https://github.com/vector-im/element-web/issues/4243 - // eslint-disable-next-line max-len - s = s.replace(/\[matrix\]/, 'Matrix'); - return s; - } -} diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 24cdd0fc3dd..aef27979d67 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -26,7 +26,7 @@ "Go to element.io": "Go to element.io", "Failed to start": "Failed to start", "Welcome to Element": "Welcome to Element", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralised, encrypted chat & collaboration powered by [matrix]", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Decentralised, encrypted chat & collaboration powered by $matrixLogo", "Sign In": "Sign In", "Create Account": "Create Account", "Explore rooms": "Explore rooms" From 5b592eca4fb1ebe597c3c7c0c061aba8f2ce83c2 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 24 Mar 2022 23:41:19 -0600 Subject: [PATCH 08/24] Step 10.3: Use module replacement to achieve component overrides This is the same system as the customisations override, however deliberately using a different JSON file to avoid conflicts. Forks would be expected to use the customisations file, not the components file, to override/add components. --- components.json | 5 ++++ .../views/auth/VectorAuthFooter.tsx | 2 -- .../views/auth/VectorAuthHeaderLogo.tsx | 4 +-- src/components/views/auth/VectorAuthPage.tsx | 8 +++--- webpack.config.js | 26 +++++++++++++------ 5 files changed, 27 insertions(+), 18 deletions(-) create mode 100644 components.json diff --git a/components.json b/components.json new file mode 100644 index 00000000000..cc5046ed695 --- /dev/null +++ b/components.json @@ -0,0 +1,5 @@ +{ + "src/components/views/auth/AuthFooter.tsx": "src/components/views/auth/VectorAuthFooter.tsx", + "src/components/views/auth/AuthHeaderLogo.tsx": "src/components/views/auth/VectorAuthHeaderLogo.tsx", + "src/components/views/auth/AuthPage.tsx": "src/components/views/auth/VectorAuthPage.tsx" +} diff --git a/src/components/views/auth/VectorAuthFooter.tsx b/src/components/views/auth/VectorAuthFooter.tsx index 0cdfdc0a23d..87557ab4bd2 100644 --- a/src/components/views/auth/VectorAuthFooter.tsx +++ b/src/components/views/auth/VectorAuthFooter.tsx @@ -44,6 +44,4 @@ const VectorAuthFooter = () => { ); }; -VectorAuthFooter.replaces = 'AuthFooter'; - export default VectorAuthFooter; diff --git a/src/components/views/auth/VectorAuthHeaderLogo.tsx b/src/components/views/auth/VectorAuthHeaderLogo.tsx index deaf9cc2320..d44e3e5a7b2 100644 --- a/src/components/views/auth/VectorAuthHeaderLogo.tsx +++ b/src/components/views/auth/VectorAuthHeaderLogo.tsx @@ -19,9 +19,7 @@ import React from 'react'; import SdkConfig from 'matrix-react-sdk/src/SdkConfig'; export default class VectorAuthHeaderLogo extends React.PureComponent { - static replaces = 'AuthHeaderLogo'; - - render() { + public render() { const brandingConfig = SdkConfig.getObject("branding"); const logoUrl = brandingConfig?.get("auth_header_logo_url") ?? "themes/element/img/logos/element-logo.svg"; diff --git a/src/components/views/auth/VectorAuthPage.tsx b/src/components/views/auth/VectorAuthPage.tsx index 7df756a67d1..d2e6d9f8db2 100644 --- a/src/components/views/auth/VectorAuthPage.tsx +++ b/src/components/views/auth/VectorAuthPage.tsx @@ -20,12 +20,10 @@ import SdkConfig from 'matrix-react-sdk/src/SdkConfig'; import VectorAuthFooter from "./VectorAuthFooter"; export default class VectorAuthPage extends React.PureComponent { - static replaces = 'AuthPage'; - - static welcomeBackgroundUrl; + private static welcomeBackgroundUrl; // cache the url as a static to prevent it changing without refreshing - static getWelcomeBackgroundUrl() { + private static getWelcomeBackgroundUrl() { if (VectorAuthPage.welcomeBackgroundUrl) return VectorAuthPage.welcomeBackgroundUrl; const brandingConfig = SdkConfig.getObject("branding"); @@ -44,7 +42,7 @@ export default class VectorAuthPage extends React.PureComponent { return VectorAuthPage.welcomeBackgroundUrl; } - render() { + public render() { const pageStyle = { background: `center/cover fixed url(${VectorAuthPage.getWelcomeBackgroundUrl()})`, }; diff --git a/webpack.config.js b/webpack.config.js index ad64899c947..bd20c2cf066 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -50,14 +50,24 @@ try { } catch (e) { // ignore - not important } -const moduleReplacementPlugins = Object.entries(fileOverrides).map(([oldPath, newPath]) => { - return new webpack.NormalModuleReplacementPlugin( - // because the input is effectively defined by the person running the build, we don't - // need to do anything special to protect against regex overrunning, etc. - new RegExp(oldPath.replace(/\//g, '[\\/\\\\]').replace(/\./g, '\\.')), - path.resolve(__dirname, newPath), - ); -}); + +function parseOverridesToReplacements(overrides) { + return Object.entries(overrides).map(([oldPath, newPath]) => { + return new webpack.NormalModuleReplacementPlugin( + // because the input is effectively defined by the person running the build, we don't + // need to do anything special to protect against regex overrunning, etc. + new RegExp(oldPath.replace(/\//g, '[\\/\\\\]').replace(/\./g, '\\.')), + path.resolve(__dirname, newPath), + ); + }); +} + +const moduleReplacementPlugins = [ + ...parseOverridesToReplacements(require('./components.json')), + + // Allow customisations to override the default components too + ...parseOverridesToReplacements(fileOverrides), +]; module.exports = (env, argv) => { // Establish settings based on the environment and args. From 7bd584abe03a76f0b1fd932c48c8d419994c90b4 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 28 Mar 2022 15:17:56 -0600 Subject: [PATCH 09/24] Step 13: Update documentation for skinning --- README.md | 7 ---- docs/app-load.md | 3 ++ docs/customisations.md | 6 ++-- docs/skinning thoughts.md | 68 --------------------------------------- docs/theming.md | 2 +- 5 files changed, 7 insertions(+), 79 deletions(-) delete mode 100644 docs/skinning thoughts.md diff --git a/README.md b/README.md index 919d58a1a58..1362830b73f 100644 --- a/README.md +++ b/README.md @@ -264,9 +264,6 @@ top of the underlying `matrix-react-sdk`. `matrix-react-sdk` provides both the higher and lower level React components useful for building Matrix communication apps using React. -After creating a new component you must run `yarn reskindex` to regenerate -the `component-index.js` for the app (used in future for skinning). - Please note that Element is intended to run correctly without access to the public internet. So please don't depend on resources (JS libs, CSS, images, fonts) hosted by external CDNs or servers but instead please package all dependencies @@ -313,7 +310,6 @@ cd element-web yarn link matrix-js-sdk yarn link matrix-react-sdk yarn install -yarn reskindex yarn start ``` @@ -364,9 +360,6 @@ ___ When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be automatically picked up by webpack and built. -If you add or remove any components from the Element skin, you will need to rebuild -the skin's index by running, `yarn reskindex`. - If any of these steps error with, `file table overflow`, you are probably on a mac which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again. You'll need to do this in each new terminal you open before building Element. diff --git a/docs/app-load.md b/docs/app-load.md index 7908ce68b08..a043d204635 100644 --- a/docs/app-load.md +++ b/docs/app-load.md @@ -1,5 +1,8 @@ # App load order +**Dev note**: As of March 2022, the skin is no longer part of the app load order at all. The document's graphs have +been kept untouched for posterity. + Old slow flow: ![image](https://user-images.githubusercontent.com/2403652/73848963-00a2a080-4821-11ea-97d4-1200fc2638f3.png) diff --git a/docs/customisations.md b/docs/customisations.md index 5af98a01f94..fed7e616f6d 100644 --- a/docs/customisations.md +++ b/docs/customisations.md @@ -34,9 +34,9 @@ default, Element Web does *not* ship with this file to prevent conflicts. ### Custom components -Instead of implementing skinning from the react-sdk, maintainers can use the above system to override components -if they wish. Maintenance and API surface compatibility are left as a responsibility for the project - the layering -in Element Web (including the react-sdk) do not make guarantees that properties/state machines won't change. +Maintainers can use the above system to override components if they wish. Maintenance and API surface compatibility are +left as a responsibility for the project - the layering in Element Web (including the react-sdk) do not make guarantees +that properties/state machines won't change. ### Component visibility customisation diff --git a/docs/skinning thoughts.md b/docs/skinning thoughts.md deleted file mode 100644 index 0466aaa0350..00000000000 --- a/docs/skinning thoughts.md +++ /dev/null @@ -1,68 +0,0 @@ -== Skinning refactor == - -matrix-react-sdk - - base images - - base CSS - - all the components needed to build a workable app (including the top layer) - -element-web: the Element skin - - Element-specific classes (e.g. login header/footer) - - Element-specific themes - - light - - dark - -i.e. the only things which should go into element-web are bits which apply vector-specific skinning -specifically "Stuff that any other brand would not want to use. (e.g. Element logos, links, T&Cs)" - - Questions: - - Electron app? (should probably be a separate repo in its own right? but might as well go here for now) - - index.html & index.js? (should be in matrix-react-sdk, given the SDK is useless without them?) - -ideally matrix-react-sdk itself should ship with a default skin which actually works built in. - -status skin (can go in the same app for now) - - has status theme - - which inherits from Element light theme - - how do we share graphics between skins? - - shove them into react-sdk, or... - - guess we do ../../vector/img - - this means keeping the skin name in the images (unless /img is a shortcut to the right skin's images) - -out of scope: - - making the components more independent, so they can be used in isolation. - - that said, the bits which should probably be used by being embeded into a different app: - - login/reg - - RoomView + RoomSettings - - MessageComposer - - RoomList - - MemberList - - MemberInfo - - Voip UI - - UserSettings - - sharing different js-sdks between the different isolated modules - -other changes: - - how do we handle i18n? - - each skin should really be its own i18n project. As long as all the commonality stuff is in matrix-react-sdk this shouldn't be too bad. - - ability to associate components with a given skin - - skins/vector/src <-- components - - skins/vector/css - - skins/vector/img - - skins/vector/fonts - - gather together themes (per skin) into a single place too - - skins/vector/themes/foo/css - - skins/vector/themes/foo/img - - skins/vector/themes/foo/fonts - - ideally element-web would contain almost nothing but skins/vector directory. - - ability to entirely replace CSS rather than override it for a given theme - - e.g. if we replace `Login.js` with `StatusLogin.js`, then we should similarly be able to replace `_Login.scss` with `_StatusLogin.scss`. - -random thoughts; - - should we be able to change the entire skin at runtime (more like wordpress) - to the extent of replacing entire components? - - might pose security issues if a theme can be swapped out to replace MatrixChat or other fundamental functionality at runtime - - if so, perhaps skins & themes should converge... - ------------------ - -Immediate plan for Status: - * Implement it as a theme for the Element skin - * Ideally move skins to a sensible level (possibly even including src?) diff --git a/docs/theming.md b/docs/theming.md index 972c65e71f7..10dc0008e17 100644 --- a/docs/theming.md +++ b/docs/theming.md @@ -6,7 +6,7 @@ Element app via CSS & custom imagery. They are *NOT* co be confused with 'skins', which describe apps which sit on top of matrix-react-sdk - e.g. in theory Element itself is a react-sdk skin. -As of Jan 2017, skins are not fully supported; Element is the only available skin. +As of March 2022, skins are not fully supported; Element is the only available skin. To define a theme for Element: From 9c23f6c476955830e5e1d51527c5f358a4a087fb Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 28 Mar 2022 15:26:22 -0600 Subject: [PATCH 10/24] Step 14: Remove reskindex --- .eslintignore | 1 + .gitignore | 1 + package.json | 9 +++------ scripts/docker-link-repos.sh | 1 - scripts/fetch-develop.deps.sh | 8 -------- src/header | 15 --------------- 6 files changed, 5 insertions(+), 30 deletions(-) delete mode 100644 src/header diff --git a/.eslintignore b/.eslintignore index fabbe104974..e5cc476988c 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ src/vector/modernizr.js +# Legacy skinning file that some people might still have src/component-index.js diff --git a/.gitignore b/.gitignore index 52152e1a114..e0a77f171de 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ electron/pub /config.json /config.json.* /config.local*.json +# Legacy skinning file that some people might still have /src/component-index.js /.tmp /webpack-stats.json diff --git a/package.json b/package.json index 52c2ffebc86..fb1928e05a7 100644 --- a/package.json +++ b/package.json @@ -30,21 +30,18 @@ "i18n": "matrix-gen-i18n", "prunei18n": "matrix-prune-i18n", "diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && matrix-gen-i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json", - "reskindex": "reskindex -h src/header", - "reskindex:watch": "reskindex -h src/header -w", - "reskindex:watch-react": "node scripts/yarn-sub.js matrix-react-sdk reskindex:watch", "clean": "rimraf lib webapp", "build": "yarn clean && yarn build:genfiles && yarn build:bundle", "build-stats": "yarn clean && yarn build:genfiles && yarn build:bundle-stats", "build:jitsi": "node scripts/build-jitsi.js", "build:res": "node scripts/copy-res.js", - "build:genfiles": "yarn reskindex && yarn build:res && yarn build:jitsi", + "build:genfiles": "yarn build:res && yarn build:jitsi", "build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js", "build:bundle": "webpack --progress --bail --mode production", "build:bundle-stats": "webpack --progress --bail --mode production --json > webpack-stats.json", "dist": "scripts/package.sh", - "start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,element-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js\"", - "start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,element-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js --https\"", + "start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js\"", + "start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js --https\"", "start:res": "yarn build:jitsi && node scripts/copy-res.js -w", "start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --mode development --disable-host-check --hot", "lint": "yarn lint:types && yarn lint:js && yarn lint:style", diff --git a/scripts/docker-link-repos.sh b/scripts/docker-link-repos.sh index 54c89bacae7..cf824d87ad2 100644 --- a/scripts/docker-link-repos.sh +++ b/scripts/docker-link-repos.sh @@ -32,7 +32,6 @@ cd react-sdk yarn link yarn link matrix-js-sdk yarn --network-timeout=100000 install -yarn reskindex cd ../ echo "Setting up element-web with react-sdk and js-sdk packages" diff --git a/scripts/fetch-develop.deps.sh b/scripts/fetch-develop.deps.sh index 65159d1a1b1..71850188a63 100755 --- a/scripts/fetch-develop.deps.sh +++ b/scripts/fetch-develop.deps.sh @@ -92,16 +92,8 @@ pushd matrix-react-sdk yarn link yarn link matrix-js-sdk yarn install --pure-lockfile -yarn reskindex popd yarn link matrix-react-sdk ############################## - -# Link the reskindex binary in place: if we used `yarn link`, -# Yarn would do this for us, but we don't because we'd have -# to define the Yarn binary prefix somewhere so it could put the -# intermediate symlinks there. Instead, we do it ourselves. -mkdir -p node_modules/.bin -ln -sfv ../matrix-react-sdk/scripts/reskindex.js node_modules/.bin/reskindex diff --git a/src/header b/src/header deleted file mode 100644 index e80658c1039..00000000000 --- a/src/header +++ /dev/null @@ -1,15 +0,0 @@ -/* -Copyright 2018 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. -*/ From ef1d90ad4114fba0b84627a28b971d86c6c92004 Mon Sep 17 00:00:00 2001 From: Robin Date: Wed, 6 Apr 2022 13:08:58 -0400 Subject: [PATCH 11/24] Handle forced disconnects from Jitsi (#21697) --- src/vector/jitsi/index.ts | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/vector/jitsi/index.ts b/src/vector/jitsi/index.ts index 055d4aff4f8..c801d2ad031 100644 --- a/src/vector/jitsi/index.ts +++ b/src/vector/jitsi/index.ts @@ -281,6 +281,18 @@ function createJWTToken() { ); } +async function notifyHangup() { + if (widgetApi) { + // We send the hangup event before setAlwaysOnScreen, because the latter + // can cause the receiving side to instantly stop listening. + try { + await widgetApi.transport.send(ElementWidgetActions.HangupCall, {}); + } finally { + await widgetApi.setAlwaysOnScreen(false); + } + } +} + function joinConference() { // event handler bound in HTML let jwt; if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) { @@ -353,16 +365,7 @@ function joinConference() { // event handler bound in HTML meetApi.on("readyToClose", () => { switchVisibleContainers(); - - if (widgetApi) { - // We send the hangup event before setAlwaysOnScreen, because the latter - // can cause the receiving side to instantly stop listening. - // ignored promise because we don't care if it works - // noinspection JSIgnoredPromiseFromCall - widgetApi.transport.send(ElementWidgetActions.HangupCall, {}).finally(() => - widgetApi.setAlwaysOnScreen(false), - ); - } + notifyHangup(); document.getElementById("jitsiContainer").innerHTML = ""; meetApi = null; @@ -372,6 +375,14 @@ function joinConference() { // event handler bound in HTML } }); + meetApi.on("errorOccurred", ({ error }) => { + if (error.isFatal) { + // We got disconnected. Since Jitsi Meet might send us back to the + // prejoin screen, we're forced to act as if we hung up entirely. + notifyHangup(); + } + }); + meetApi.on("audioMuteStatusChanged", ({ muted }) => { const action = muted ? ElementWidgetActions.MuteAudio : ElementWidgetActions.UnmuteAudio; widgetApi.transport.send(action, {}); From cec31d0e714e2b77b75db009995970134ce465c3 Mon Sep 17 00:00:00 2001 From: Kat Gerasimova Date: Thu, 7 Apr 2022 14:59:25 +0100 Subject: [PATCH 12/24] Don't label threads issues with Z-Labs (#21707) Threads is out of labs now, so shouldn't be labelled as Z-Labs in our issue tracker any more --- .github/workflows/triage-labelled.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/triage-labelled.yml b/.github/workflows/triage-labelled.yml index d95cccc730e..20c6c532d57 100644 --- a/.github/workflows/triage-labelled.yml +++ b/.github/workflows/triage-labelled.yml @@ -12,7 +12,6 @@ jobs: contains(github.event.issue.labels.*.name, 'A-Maths') || contains(github.event.issue.labels.*.name, 'A-Message-Pinning') || contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') || - contains(github.event.issue.labels.*.name, 'A-Threads') || contains(github.event.issue.labels.*.name, 'A-Location-Sharing') || contains(github.event.issue.labels.*.name, 'Z-IA') || contains(github.event.issue.labels.*.name, 'A-Themes-Custom') || From 96d9fac281835332ab2b49ecbda2dd02a4d48a02 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 12 Apr 2022 10:47:59 +0100 Subject: [PATCH 13/24] Reset matrix-js-sdk back to develop branch --- package.json | 2 +- yarn.lock | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 03fb5f55df9..a1c80d4b7a1 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "gfm.css": "^1.1.2", "jsrsasign": "^10.2.0", "katex": "^0.12.0", - "matrix-js-sdk": "17.0.0", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-react-sdk": "3.42.3", "matrix-widget-api": "^0.1.0-beta.18", "prop-types": "^15.7.2", diff --git a/yarn.lock b/yarn.lock index 428dfb2fa11..0e0b7e158a6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8169,7 +8169,7 @@ mathml-tag-names@^2.1.3: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== -"matrix-analytics-events@github:matrix-org/matrix-analytics-events#daad3faed54f0b1f1e026a7498b4653e4d01cd90": +"matrix-analytics-events@github:matrix-org/matrix-analytics-events.git#daad3faed54f0b1f1e026a7498b4653e4d01cd90": version "0.0.1" resolved "https://codeload.github.com/matrix-org/matrix-analytics-events/tar.gz/daad3faed54f0b1f1e026a7498b4653e4d01cd90" @@ -8195,6 +8195,22 @@ matrix-js-sdk@17.0.0: request "^2.88.2" unhomoglyph "^1.0.6" +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": + version "17.0.0" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/b58d09aa9a7a3578c43185becb41ab0b17ce0f98" + dependencies: + "@babel/runtime" "^7.12.5" + another-json "^0.2.0" + browser-request "^0.3.3" + bs58 "^4.0.1" + content-type "^1.0.4" + loglevel "^1.7.1" + matrix-events-sdk "^0.0.1-beta.7" + p-retry "^4.5.0" + qs "^6.9.6" + request "^2.88.2" + unhomoglyph "^1.0.6" + matrix-mock-request@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-1.2.3.tgz#56b15d86e2601a9b48a854844396d18caab649c8" From 03ab1237ed77fd8ada5fe15b758da1ccc47c9ba6 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 12 Apr 2022 10:48:13 +0100 Subject: [PATCH 14/24] Reset matrix-react-sdk back to develop branch --- package.json | 2 +- yarn.lock | 36 +++++++++--------------------------- 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index a1c80d4b7a1..c66ca35d2aa 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "jsrsasign": "^10.2.0", "katex": "^0.12.0", "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", - "matrix-react-sdk": "3.42.3", + "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", "matrix-widget-api": "^0.1.0-beta.18", "prop-types": "^15.7.2", "react": "17.0.2", diff --git a/yarn.lock b/yarn.lock index 0e0b7e158a6..4c2ef1c4e55 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3001,11 +3001,6 @@ brorand@^1.0.1, brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -browser-encrypt-attachment@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/browser-encrypt-attachment/-/browser-encrypt-attachment-0.3.0.tgz#205a94caadf0dc7e81413941812f655bd190ff1c" - integrity sha1-IFqUyq3w3H6BQTlBgS9lW9GQ/xw= - browser-process-hrtime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" @@ -8173,28 +8168,16 @@ mathml-tag-names@^2.1.3: version "0.0.1" resolved "https://codeload.github.com/matrix-org/matrix-analytics-events/tar.gz/daad3faed54f0b1f1e026a7498b4653e4d01cd90" +matrix-encrypt-attachment@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/matrix-encrypt-attachment/-/matrix-encrypt-attachment-1.0.3.tgz#6e016587728c396549c833985f39cbf6c07ee97b" + integrity sha512-NwfoDY/yHL9Zo8KrY5GP8ymAoZJpEFKEK+IgJKdWf5xtsIFf7KIU2pbw8+Eq592j//nSDOC+/Ff4Fk8gVvDZpw== + matrix-events-sdk@^0.0.1-beta.7: version "0.0.1-beta.7" resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1-beta.7.tgz#5ffe45eba1f67cc8d7c2377736c728b322524934" integrity sha512-9jl4wtWanUFSy2sr2lCjErN/oC8KTAtaeaozJtrgot1JiQcEI4Rda9OLgQ7nLKaqb4Z/QUx/fR3XpDzm5Jy1JA== -matrix-js-sdk@17.0.0: - version "17.0.0" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-17.0.0.tgz#6edf2f8d05da003e98a6cf5269a4717adfe4e406" - integrity sha512-8nv+a1e6n4x4DYKiBFRS6/CIpsE22+31K+9/4Y5MB8m3iraSVBtdZ5y/9ktQnjQuo9I85TvyqHL2obRWF7UD5Q== - dependencies: - "@babel/runtime" "^7.12.5" - another-json "^0.2.0" - browser-request "^0.3.3" - bs58 "^4.0.1" - content-type "^1.0.4" - loglevel "^1.7.1" - matrix-events-sdk "^0.0.1-beta.7" - p-retry "^4.5.0" - qs "^6.9.6" - request "^2.88.2" - unhomoglyph "^1.0.6" - "matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": version "17.0.0" resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/b58d09aa9a7a3578c43185becb41ab0b17ce0f98" @@ -8219,10 +8202,9 @@ matrix-mock-request@^1.2.3: bluebird "^3.5.0" expect "^1.20.2" -matrix-react-sdk@3.42.3: +"matrix-react-sdk@github:matrix-org/matrix-react-sdk#develop": version "3.42.3" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.42.3.tgz#fd721a6d54a6a1964b15f4bc3f074e81af184962" - integrity sha512-nF2qDNTelLFhKb3vfrFZUy5K2L/+2RJ6Y+Dj+W8d8J9VskVH97oj7QrQyKMjo7TZOwsUi34v9hTi5xQZJUNsWA== + resolved "https://codeload.github.com/matrix-org/matrix-react-sdk/tar.gz/7600182a35a7742820c5ab17988ef1b545c74759" dependencies: "@babel/runtime" "^7.12.5" "@sentry/browser" "^6.11.0" @@ -8230,7 +8212,6 @@ matrix-react-sdk@3.42.3: "@types/geojson" "^7946.0.8" await-lock "^2.1.0" blurhash "^1.1.3" - browser-encrypt-attachment "^0.3.0" browser-request "^0.3.3" cheerio "^1.0.0-rc.9" classnames "^2.2.6" @@ -8259,8 +8240,9 @@ matrix-react-sdk@3.42.3: lodash "^4.17.20" maplibre-gl "^1.15.2" matrix-analytics-events "github:matrix-org/matrix-analytics-events.git#daad3faed54f0b1f1e026a7498b4653e4d01cd90" + matrix-encrypt-attachment "^1.0.3" matrix-events-sdk "^0.0.1-beta.7" - matrix-js-sdk "17.0.0" + matrix-js-sdk "github:matrix-org/matrix-js-sdk#develop" matrix-widget-api "^0.1.0-beta.18" minimist "^1.2.5" opus-recorder "^8.0.3" From a0e08bff4f4e6552cb8965489c8021bcd362d9d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Fri, 15 Apr 2022 16:23:02 +0200 Subject: [PATCH 15/24] Document `feature_message_right_click_context_menu` (#21480) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- docs/labs.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/labs.md b/docs/labs.md index 72b8b09baeb..f05d41babc4 100644 --- a/docs/labs.md +++ b/docs/labs.md @@ -183,6 +183,12 @@ Threads can be access by clicking their summary below the root event on the room This feature might work in degraded mode if the homeserver a user is connected to does not advertise support for the unstable feature `org.matrix.msc3440` when calling the `/versions` API endpoint. +## Right-click Message Context Menu (`feature_message_right_click_context_menu`) + +Enables showing a right-click context menu when right-clicking messages in the +timeline. This menu shows options that can usually be found in the message +action bar or in the message options. + ## Voice & video rooms (`feature_video_rooms`) [In Development] Enables support for creating and joining video rooms, which are persistent video chats that users can jump in and out of. From f46a6f2d920bb269b46f8d4bd52eca557cb1aec5 Mon Sep 17 00:00:00 2001 From: Element Translate Bot Date: Tue, 19 Apr 2022 15:05:42 +0200 Subject: [PATCH 16/24] Translations update from Weblate (#21846) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Translated using Weblate (Slovak) Currently translated at 97.0% (33 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/ * Translated using Weblate (Hebrew) Currently translated at 97.0% (33 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/he/ * Translated using Weblate (Hebrew) Currently translated at 97.0% (33 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/he/ * Translated using Weblate (Hebrew) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/he/ * Translated using Weblate (Dutch) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/ * Translated using Weblate (Slovak) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/id/ * Added translation using Weblate (Uzbek) * Translated using Weblate (Ukrainian) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/ * Translated using Weblate (Slovak) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/ * Translated using Weblate (Norwegian Nynorsk) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/nn/ * Translated using Weblate (Norwegian Nynorsk) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/nn/ * Translated using Weblate (Greek) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/el/ * Translated using Weblate (Vietnamese) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/vi/ * Translated using Weblate (Dutch) Currently translated at 100.0% (34 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/ * Translated using Weblate (Dutch) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/id/ * Translated using Weblate (Italian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/it/ * Translated using Weblate (Czech) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/ * Translated using Weblate (Albanian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/ * Translated using Weblate (Polish) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/ * Translated using Weblate (Polish) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/ * Translated using Weblate (Polish) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/ * Translated using Weblate (Polish) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/ * Translated using Weblate (Swedish) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/ * Translated using Weblate (Estonian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/et/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/pt_BR/ * Translated using Weblate (Danish) Currently translated at 94.2% (33 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/da/ * Translated using Weblate (Danish) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/da/ * Translated using Weblate (German) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/de/ * Translated using Weblate (German) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/de/ * Translated using Weblate (French) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/ * Translated using Weblate (Portuguese) Currently translated at 88.5% (31 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/pt/ * Translated using Weblate (Portuguese) Currently translated at 88.5% (31 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/pt/ * Translated using Weblate (Hebrew) Currently translated at 94.2% (33 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/he/ * Translated using Weblate (Slovak) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/ * Translated using Weblate (Finnish) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/fi/ * Translated using Weblate (Turkish) Currently translated at 97.1% (34 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/ * Translated using Weblate (Galician) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/ * Added translation using Weblate (Sorani) * Translated using Weblate (Russian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/ * Translated using Weblate (Estonian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/et/ * Translated using Weblate (Japanese) Currently translated at 94.2% (33 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/ * Translated using Weblate (Icelandic) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/is/ * Translated using Weblate (Japanese) Currently translated at 94.2% (33 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/ * Translated using Weblate (Japanese) Currently translated at 94.2% (33 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/ * Translated using Weblate (Galician) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/ * Translated using Weblate (Japanese) Currently translated at 94.2% (33 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/ * Translated using Weblate (Japanese) Currently translated at 94.2% (33 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/ * Translated using Weblate (Icelandic) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/is/ * Translated using Weblate (Persian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/ * Translated using Weblate (Japanese) Currently translated at 94.2% (33 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/ * Translated using Weblate (Persian) Currently translated at 100.0% (35 of 35 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/ * Translated using Weblate (Hebrew) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/he/ * Translated using Weblate (Japanese) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/ * Translated using Weblate (Japanese) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/ * Translated using Weblate (Hebrew) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/he/ * Translated using Weblate (French) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/ * Translated using Weblate (Japanese) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/ * Translated using Weblate (Bosnian) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/bs/ * Translated using Weblate (Icelandic) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/is/ * Translated using Weblate (Hindi) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/hi/ * Translated using Weblate (Hebrew) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/he/ * Translated using Weblate (Czech) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/ * Translated using Weblate (Galician) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/ * Translated using Weblate (Estonian) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/et/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/ * Translated using Weblate (Russian) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/ * Translated using Weblate (Russian) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/ * Translated using Weblate (Italian) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/it/ * Translated using Weblate (Swedish) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/id/ * Translated using Weblate (Slovak) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/ * Translated using Weblate (Spanish) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/es/ * Translated using Weblate (Albanian) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/ * Translated using Weblate (Dutch) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/ * Added translation using Weblate (Armenian) * Translated using Weblate (Armenian) Currently translated at 41.9% (13 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/hy/ * Translated using Weblate (French) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/ * Translated using Weblate (German) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/de/ * Translated using Weblate (Turkish) Currently translated at 100.0% (31 of 31 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/ Co-authored-by: Weblate Co-authored-by: Marek Ľach Co-authored-by: a5r0n Co-authored-by: Vulcan Co-authored-by: jelv Co-authored-by: Jozef Gaal Co-authored-by: Linerly Co-authored-by: Yorqinbek Co-authored-by: Ihor Hordiichuk Co-authored-by: Bjørn I.Svindseth Co-authored-by: pkst-ellak Co-authored-by: Bui Minh Duc Co-authored-by: Johan Smits Co-authored-by: random Co-authored-by: waclaw66 Co-authored-by: Besnik Bleta Co-authored-by: Hexandcube Co-authored-by: Skibbi Co-authored-by: Norbert Co-authored-by: Szimszon Co-authored-by: TR_SLimey Co-authored-by: LinAGKar Co-authored-by: Jeff Huang Co-authored-by: Priit Jõerüüt Co-authored-by: lvre <7uu3qrbvm@relay.firefox.com> Co-authored-by: Alfred Makne Poulsen Co-authored-by: libexus Co-authored-by: Paragoumba Co-authored-by: Helder Ferreira Co-authored-by: Eduardo Ervideira Co-authored-by: SPiRiT Co-authored-by: Shi-nobi Co-authored-by: Mahmut Tuncer Co-authored-by: Xose M Co-authored-by: ENIGMA Co-authored-by: Nikita Epifanov Co-authored-by: Suguru Hirahara Co-authored-by: Sveinn í Felli Co-authored-by: xmeta Co-authored-by: nafi3h Co-authored-by: Alexandre Franke Co-authored-by: Nermin Co-authored-by: Arya Bhosale Co-authored-by: oleg-fiksel Co-authored-by: Dimitriy Ryazantcev Co-authored-by: iaiz Co-authored-by: FIONover Co-authored-by: Lucas Co-authored-by: joshua Co-authored-by: Metehan Özyürek --- src/i18n/strings/cs.json | 3 ++- src/i18n/strings/de_DE.json | 3 ++- src/i18n/strings/es.json | 3 ++- src/i18n/strings/et.json | 3 ++- src/i18n/strings/fr.json | 3 ++- src/i18n/strings/gl.json | 3 ++- src/i18n/strings/hu.json | 3 ++- src/i18n/strings/hy.json | 16 ++++++++++++++++ src/i18n/strings/id.json | 3 ++- src/i18n/strings/it.json | 3 ++- src/i18n/strings/nl.json | 5 +++-- src/i18n/strings/ru.json | 5 +++-- src/i18n/strings/sk.json | 3 ++- src/i18n/strings/sq.json | 3 ++- src/i18n/strings/sv.json | 3 ++- src/i18n/strings/tr.json | 3 ++- src/i18n/strings/uk.json | 3 ++- src/i18n/strings/zh_Hant.json | 3 ++- 18 files changed, 52 insertions(+), 19 deletions(-) create mode 100644 src/i18n/strings/hy.json diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 1b022d2a2dc..69580ca8877 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Používání %(brand)s v mobilních zařízeních", "Switch to space by number": "Přepnout na prostor podle čísla", "Next recently visited room or community": "Další nedávno navštívená místnost nebo komunita", - "Previous recently visited room or community": "Nedávno navštívená místnost nebo komunita" + "Previous recently visited room or community": "Nedávno navštívená místnost nebo komunita", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Decentralizovaný, šifrovaný chat a spolupráce na platformě $matrixLogo" } diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index e63f6dc013f..97743f8b71c 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Verwende %(brand)s am Handy", "Switch to space by number": "Zum n-ten Space wechseln", "Next recently visited room or community": "Nächster kürzlich besuchter Raum", - "Previous recently visited room or community": "Vorheriger kürzlich besuchter Raum" + "Previous recently visited room or community": "Vorheriger kürzlich besuchter Raum", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Dezentralisierter, verschlüsselter Chat & Zusammenarbeit unterstützt von $matrixLogo" } diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 8bbfe59aef0..4e8b64c7901 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -34,5 +34,6 @@ "%(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": "Funciona con Matrix", "Use %(brand)s on mobile": "Usar %(brand)s en modo móvil", - "Switch to space by number": "Cambiar a espacio por número" + "Switch to space by number": "Cambiar a espacio por número", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Conversaciones y colaboración descentralizadas y cifradas gracias a $matrixLogo" } diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index f70f6bb00c9..d6c6619798a 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Kasuta rakendust %(brand)s nutiseadmes", "Switch to space by number": "Vaata kogukonnakeskust tema numbri alusel", "Next recently visited room or community": "Järgmine hiljuti külastatud jututuba või kogukond", - "Previous recently visited room or community": "Eelmine hiljuti külastatud jututuba või kogukond" + "Previous recently visited room or community": "Eelmine hiljuti külastatud jututuba või kogukond", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Hajutatud ja krüpteeritud suhtlus- ning ühistöörakendus, mille aluseks on $matrixLogo" } diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 032ad0528c0..3c4b336d643 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Utiliser %(brand)s sur téléphone", "Switch to space by number": "Afficher un espace par son numéro", "Next recently visited room or community": "Prochain salon ou communauté récemment visité", - "Previous recently visited room or community": "Salon ou communauté précédemment visité" + "Previous recently visited room or community": "Salon ou communauté précédemment visité", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Messagerie décentralisée, chiffrée & une collaboration alimentée par $matrixLogo" } diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json index d17425034a8..fac07c72d4f 100644 --- a/src/i18n/strings/gl.json +++ b/src/i18n/strings/gl.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Utiliza %(brand)s no móbil", "Switch to space by number": "Cambiar a espazo polo número", "Next recently visited room or community": "Seguinte sala ou comunidade visitada recentemente", - "Previous recently visited room or community": "Sala ou Comunidade visitada recentemente" + "Previous recently visited room or community": "Sala ou Comunidade visitada recentemente", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Conversas & colaboración descentralizadas e cifradas grazas a $matrixLogo" } diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 72c5e75032d..370a41973b0 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Mobilon használd ezt: %(brand)s", "Switch to space by number": "Tér váltás számmal", "Next recently visited room or community": "Következő nemrég meglátogatott szoba vagy közösség", - "Previous recently visited room or community": "Előző nemrég meglátogatott szoba vagy közösség" + "Previous recently visited room or community": "Előző nemrég meglátogatott szoba vagy közösség", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Elosztott, titkosított csevegés & együttműködés ezzel: $matrixLogo" } diff --git a/src/i18n/strings/hy.json b/src/i18n/strings/hy.json new file mode 100644 index 00000000000..0e3bf6ffcdd --- /dev/null +++ b/src/i18n/strings/hy.json @@ -0,0 +1,16 @@ +{ + "Explore rooms": "Փնտրել սենյակներ", + "Failed to start": "Չի ստացվում սկսել", + "Use %(brand)s on mobile": "Օգտագործում է %(brand)s հեռախոսի վրա", + "You need to be using HTTPS to place a screen-sharing call.": "Դուք պետք է օգտագործեք HTTPS միացում որպիսի կարողանաք կատարել էկրանը ցույց տալով զանգ", + "%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s%(browserName)s%(osName)s", + "Unknown device": "Անծանոթ սարք", + "Welcome to Element": "Բարի գալուստ Element", + "Your browser can't run %(brand)s": "Ձեր բրաուզերը չի թողարկում %(brand)s", + "Unsupported browser": "Չհամապատասխանող բրաուզեր", + "Dismiss": "Հեռացնել", + "Open": "Բացել", + "Unable to load config file: please refresh the page to try again.": "Ֆայլի ներմուծման սխալ․ խնդրում ենք թարմացնել էջը և նորից փորձել։", + "Invalid JSON": "Չաշխատող JSON", + "Your Element is misconfigured": "Ձեր Element֊ը սխալ է կարգավորված" +} diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json index 82e6cffc9f3..f360cbfc5b6 100644 --- a/src/i18n/strings/id.json +++ b/src/i18n/strings/id.json @@ -36,5 +36,6 @@ "Your Element is misconfigured": "Anda mengatur Element dengan salah", "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Konfigurasi tidak valid: hanya bisa menentukan satu dari default_server_config, default_server_name, atau default_hs_url.", "Next recently visited room or community": "Ruangan atau komunitas berikutnya yang baru saja dilihat", - "Previous recently visited room or community": "Ruangan atau komunitas sebelumnya yang baru saja dilihat" + "Previous recently visited room or community": "Ruangan atau komunitas sebelumnya yang baru saja dilihat", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Obrolan & kolaborasi terdesentralisasi dan terenkripsi, diberdayakan oleh $matrixLogo" } diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index e711c9c3c95..fbaec34669c 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Usa %(brand)s su mobile", "Switch to space by number": "Passa allo spazio per numero", "Next recently visited room or community": "Prossima stanza o comunità visitata di recente", - "Previous recently visited room or community": "Precedente stanza o comunità visitata di recente" + "Previous recently visited room or community": "Precedente stanza o comunità visitata di recente", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Chat e collaborazioni criptate e decentralizzate offerte da $matrixLogo" } diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index e878a260c31..c6ed9c32615 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -7,7 +7,7 @@ "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentrale en versleutelde chat & samenwerken dankzij [matrix]", "Sign In": "Inloggen", "Create Account": "Registreren", - "Explore rooms": "Kamers verkennen", + "Explore rooms": "Kamers ontdekken", "Unexpected error preparing the app. See console for details.": "Er is een onverwachte fout opgetreden bij het voorbereiden van de app. Zie de console voor details.", "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuratiefout: kan slechts één van default_server_config, default_server_name, of default_hs_url opgeven.", "Invalid configuration: no default server specified.": "Configuratie ongeldig: geen standaardserver opgegeven.", @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Gebruik %(brand)s op uw mobiel", "Switch to space by number": "Wissel naar Space met nummer", "Next recently visited room or community": "Volgende recent bezochte kamer of community", - "Previous recently visited room or community": "Vorige recent bezochte kamer of community" + "Previous recently visited room or community": "Vorige recent bezochte kamer of community", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Gedecentraliseerde, versleutelde chat & samenwerking mogelijk gemaakt door $matrixLogo" } diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 4577e14c34e..6af9402af1a 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -12,7 +12,7 @@ "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Неверная конфигурация: можно указывать только один из следующих параметров: default_server_config, default_server_name или default_hs_url.", "Invalid configuration: no default server specified.": "Неверная конфигурация: сервер по умолчанию не указан.", "The message from the parser is: %(message)s": "Сообщение из парсера: %(message)s", - "Invalid JSON": "Нерабочий JSON", + "Invalid JSON": "Неверный JSON", "Go to your browser to complete Sign In": "Перейдите в браузер для завершения входа", "Open user settings": "Открыть настройки пользователя", "Missing indexeddb worker script!": "Отсутствует скрипт воркера для indexeddb!", @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Воспользуйтесь %(brand)s на мобильном телефоне", "Switch to space by number": "Переключение на пространство по номеру", "Next recently visited room or community": "Следующая недавно посещенная комната или сообщество", - "Previous recently visited room or community": "Предыдущая недавно посещенная комната или сообщество" + "Previous recently visited room or community": "Предыдущая недавно посещенная комната или сообщество", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Децентрализованное, зашифрованное общение и сотрудничество на основе $matrixLogo" } diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index bfd4256f66a..3e58210be37 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Používať %(brand)s pri mobilných zariadeniach", "Switch to space by number": "Prepnúť do priestoru podľa čísla", "Next recently visited room or community": "Ďalšia nedávno navštívená miestnosť alebo komunita", - "Previous recently visited room or community": "Predchádzajúca nedávno navštívená miestnosť alebo komunita" + "Previous recently visited room or community": "Predchádzajúca nedávno navštívená miestnosť alebo komunita", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Decentralizované, šifrované konverzácie a spolupráca na platforme $matrixLogo" } diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json index 77231f683d2..9c97c75cf2a 100644 --- a/src/i18n/strings/sq.json +++ b/src/i18n/strings/sq.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Përdor %(brand)s në celular", "Switch to space by number": "Kalo te hapësira me numrin", "Next recently visited room or community": "Dhomë ose bashkësi e vizituar më parë pasuese", - "Previous recently visited room or community": "Dhomë ose bashkësi e vizituar më parë e mëparshme" + "Previous recently visited room or community": "Dhomë ose bashkësi e vizituar më parë e mëparshme", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Fjalosje & bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në $matrixLogo" } diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index 5563f343319..343dcfee541 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Använd %(brand)s på mobilen", "Switch to space by number": "Byt till utrymme med nummer", "Previous recently visited room or community": "Tidigare nyligen besökta rum eller gemenskap", - "Next recently visited room or community": "Nästa nyligen besökta rum eller gemenskap" + "Next recently visited room or community": "Nästa nyligen besökta rum eller gemenskap", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Decentraliserad krypterad chatt & samarbete som drivs av $matrixLogo" } diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json index f8caae72d1d..10d9ecdc348 100644 --- a/src/i18n/strings/tr.json +++ b/src/i18n/strings/tr.json @@ -35,5 +35,6 @@ "Missing indexeddb worker script!": "Indexeddb worker kodu eksik!", "Use %(brand)s on mobile": "Mobilde %(brand)s kullan", "Switch to space by number": "Sayı ile belirtilen alana geç", - "Previous recently visited room or community": "En son ziyaret edilen oda veya topluluk" + "Previous recently visited room or community": "En son ziyaret edilen oda veya topluluk", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "$matrixLogo tarafından merkeziyetsiz, şifrelenmiş sohbet & iş birliği" } diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index c73e6b22144..28cac78c7a5 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "Користуйтеся %(brand)s на мобільному", "Switch to space by number": "Перейдіть до простору за номером", "Next recently visited room or community": "Наступна нещодавно відвідана кімната або спільнота", - "Previous recently visited room or community": "Попередня нещодавно відвідана кімната або спільнота" + "Previous recently visited room or community": "Попередня нещодавно відвідана кімната або спільнота", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Децентралізована, зашифрована бесіда та співпраця на основі $matrixLogo" } diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 7db0a43e677..07925a13800 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -36,5 +36,6 @@ "Use %(brand)s on mobile": "在行動裝置上使用 %(brand)s", "Switch to space by number": "依數字切換至空間", "Next recently visited room or community": "下一個近期造訪過的聊天室或社群", - "Previous recently visited room or community": "前一個近期造訪過的聊天室或社群" + "Previous recently visited room or community": "前一個近期造訪過的聊天室或社群", + "Decentralised, encrypted chat & collaboration powered by $matrixLogo": "去中心化、加密的聊天與協作,威力本源 $matrixLogo" } From 3daddf3d1a8f760716fb415e2d88c7eca7345ab9 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 19 Apr 2022 15:17:59 +0100 Subject: [PATCH 17/24] Upgrade matrix-js-sdk to 17.1.0-rc.1 --- package.json | 2 +- yarn.lock | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c66ca35d2aa..9b46bdd35d1 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "gfm.css": "^1.1.2", "jsrsasign": "^10.2.0", "katex": "^0.12.0", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", + "matrix-js-sdk": "17.1.0-rc.1", "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", "matrix-widget-api": "^0.1.0-beta.18", "prop-types": "^15.7.2", diff --git a/yarn.lock b/yarn.lock index 4c2ef1c4e55..77622a94615 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8178,6 +8178,23 @@ matrix-events-sdk@^0.0.1-beta.7: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1-beta.7.tgz#5ffe45eba1f67cc8d7c2377736c728b322524934" integrity sha512-9jl4wtWanUFSy2sr2lCjErN/oC8KTAtaeaozJtrgot1JiQcEI4Rda9OLgQ7nLKaqb4Z/QUx/fR3XpDzm5Jy1JA== +matrix-js-sdk@17.1.0-rc.1: + version "17.1.0-rc.1" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-17.1.0-rc.1.tgz#e96582e6c35d7c1e77c54b397fa6748fbdabe031" + integrity sha512-iqMS+Sxj6Y+cGS5oV7hnoQp0v58O+4HVjGkxfrJ0mskCJ8xsNQU3M4V8NA8e7atXHzhgqcfbB8RkcHe+WGE1fw== + dependencies: + "@babel/runtime" "^7.12.5" + another-json "^0.2.0" + browser-request "^0.3.3" + bs58 "^4.0.1" + content-type "^1.0.4" + loglevel "^1.7.1" + matrix-events-sdk "^0.0.1-beta.7" + p-retry "^4.5.0" + qs "^6.9.6" + request "^2.88.2" + unhomoglyph "^1.0.6" + "matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": version "17.0.0" resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/b58d09aa9a7a3578c43185becb41ab0b17ce0f98" From dc649eae77db271e730942ae7e4a8b78c642bc0e Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 19 Apr 2022 15:18:50 +0100 Subject: [PATCH 18/24] Upgrade matrix-react-sdk to 3.43.0-rc.1 --- package.json | 2 +- yarn.lock | 27 ++++++--------------------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 9b46bdd35d1..9cf85af14b4 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "jsrsasign": "^10.2.0", "katex": "^0.12.0", "matrix-js-sdk": "17.1.0-rc.1", - "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", + "matrix-react-sdk": "3.43.0-rc.1", "matrix-widget-api": "^0.1.0-beta.18", "prop-types": "^15.7.2", "react": "17.0.2", diff --git a/yarn.lock b/yarn.lock index 77622a94615..9a861749645 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8164,7 +8164,7 @@ mathml-tag-names@^2.1.3: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== -"matrix-analytics-events@github:matrix-org/matrix-analytics-events.git#daad3faed54f0b1f1e026a7498b4653e4d01cd90": +"matrix-analytics-events@github:matrix-org/matrix-analytics-events#daad3faed54f0b1f1e026a7498b4653e4d01cd90": version "0.0.1" resolved "https://codeload.github.com/matrix-org/matrix-analytics-events/tar.gz/daad3faed54f0b1f1e026a7498b4653e4d01cd90" @@ -8195,22 +8195,6 @@ matrix-js-sdk@17.1.0-rc.1: request "^2.88.2" unhomoglyph "^1.0.6" -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": - version "17.0.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/b58d09aa9a7a3578c43185becb41ab0b17ce0f98" - dependencies: - "@babel/runtime" "^7.12.5" - another-json "^0.2.0" - browser-request "^0.3.3" - bs58 "^4.0.1" - content-type "^1.0.4" - loglevel "^1.7.1" - matrix-events-sdk "^0.0.1-beta.7" - p-retry "^4.5.0" - qs "^6.9.6" - request "^2.88.2" - unhomoglyph "^1.0.6" - matrix-mock-request@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-1.2.3.tgz#56b15d86e2601a9b48a854844396d18caab649c8" @@ -8219,9 +8203,10 @@ matrix-mock-request@^1.2.3: bluebird "^3.5.0" expect "^1.20.2" -"matrix-react-sdk@github:matrix-org/matrix-react-sdk#develop": - version "3.42.3" - resolved "https://codeload.github.com/matrix-org/matrix-react-sdk/tar.gz/7600182a35a7742820c5ab17988ef1b545c74759" +matrix-react-sdk@3.43.0-rc.1: + version "3.43.0-rc.1" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.43.0-rc.1.tgz#0c2e81d0fee9c0227ac4ee3886f124d2a29f4e6e" + integrity sha512-QSqReJHJ9qweXzBkbF2mIEnSoAsstOY3FcShKCFTIzDryE6dCaGSqUEXN1nTRjI3EZRKm3/ICSSQKBRmGjHhBA== dependencies: "@babel/runtime" "^7.12.5" "@sentry/browser" "^6.11.0" @@ -8259,7 +8244,7 @@ matrix-mock-request@^1.2.3: matrix-analytics-events "github:matrix-org/matrix-analytics-events.git#daad3faed54f0b1f1e026a7498b4653e4d01cd90" matrix-encrypt-attachment "^1.0.3" matrix-events-sdk "^0.0.1-beta.7" - matrix-js-sdk "github:matrix-org/matrix-js-sdk#develop" + matrix-js-sdk "17.1.0-rc.1" matrix-widget-api "^0.1.0-beta.18" minimist "^1.2.5" opus-recorder "^8.0.3" From f5797428fff75845e1a2b86c4099f8c68484758d Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 19 Apr 2022 15:21:51 +0100 Subject: [PATCH 19/24] Prepare changelog for v1.10.11-rc.1 --- CHANGELOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 711e4971632..789026e18ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,49 @@ +Changes in [1.10.11-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.10.11-rc.1) (2022-04-19) +=========================================================================================================== + +## ✨ Features + * Handle forced disconnects from Jitsi ([\#21697](https://github.com/vector-im/element-web/pull/21697)). Fixes #21517. + * Improve performance of switching to rooms with lots of servers and ACLs ([\#8347](https://github.com/matrix-org/matrix-react-sdk/pull/8347)). + * Avoid a reflow when setting caret position on an empty composer ([\#8348](https://github.com/matrix-org/matrix-react-sdk/pull/8348)). + * Add message right-click context menu as a labs feature ([\#5672](https://github.com/matrix-org/matrix-react-sdk/pull/5672)). Contributed by @SimonBrandner. + * Live location sharing - basic maximised beacon map ([\#8310](https://github.com/matrix-org/matrix-react-sdk/pull/8310)). + * Live location sharing - render users own beacons in timeline ([\#8296](https://github.com/matrix-org/matrix-react-sdk/pull/8296)). + * Improve Threads beta around degraded mode ([\#8318](https://github.com/matrix-org/matrix-react-sdk/pull/8318)). + * Live location sharing - beacon in timeline happy path ([\#8285](https://github.com/matrix-org/matrix-react-sdk/pull/8285)). + * Add copy button to View Source screen ([\#8278](https://github.com/matrix-org/matrix-react-sdk/pull/8278)). Fixes #21482. Contributed by @olivialivia. + * Add heart effect ([\#6188](https://github.com/matrix-org/matrix-react-sdk/pull/6188)). Contributed by @CicadaCinema. + * Update new room icon ([\#8239](https://github.com/matrix-org/matrix-react-sdk/pull/8239)). + +## 🐛 Bug Fixes + * Fix: "Code formatting button does not escape backticks" ([\#8181](https://github.com/matrix-org/matrix-react-sdk/pull/8181)). Contributed by @yaya-usman. + * Fix beta indicator dot causing excessive CPU usage ([\#8340](https://github.com/matrix-org/matrix-react-sdk/pull/8340)). Fixes #21793. + * Fix overlapping timestamps on empty messages ([\#8205](https://github.com/matrix-org/matrix-react-sdk/pull/8205)). Fixes #21381. Contributed by @goelesha. + * Fix power selector not showing up in user info when state_default undefined ([\#8297](https://github.com/matrix-org/matrix-react-sdk/pull/8297)). Fixes #21669. + * Avoid looking up settings during timeline rendering ([\#8313](https://github.com/matrix-org/matrix-react-sdk/pull/8313)). Fixes #21740. + * Fix a soft crash with video rooms ([\#8333](https://github.com/matrix-org/matrix-react-sdk/pull/8333)). + * Fixes call tiles overflow ([\#8096](https://github.com/matrix-org/matrix-react-sdk/pull/8096)). Fixes #20254. Contributed by @luixxiul. + * Fix a bug with emoji autocomplete sorting where adding the final ":" would cause the emoji with the typed shortcode to no longer be at the top of the autocomplete list. ([\#8086](https://github.com/matrix-org/matrix-react-sdk/pull/8086)). Fixes #19302. Contributed by @commonlawfeature. + * Fix image preview sizing for edge cases ([\#8322](https://github.com/matrix-org/matrix-react-sdk/pull/8322)). Fixes #20088. + * Refactor SecurityRoomSettingsTab and remove unused state ([\#8306](https://github.com/matrix-org/matrix-react-sdk/pull/8306)). Fixes matrix-org/element-web-rageshakes#12002. + * Don't show the prompt to enable desktop notifications immediately after registration ([\#8274](https://github.com/matrix-org/matrix-react-sdk/pull/8274)). + * Stop tracking threads if threads support is disabled ([\#8308](https://github.com/matrix-org/matrix-react-sdk/pull/8308)). Fixes #21766. + * Fix some issues with threads rendering ([\#8305](https://github.com/matrix-org/matrix-react-sdk/pull/8305)). Fixes #21670. + * Fix threads rendering issue in Safari ([\#8298](https://github.com/matrix-org/matrix-react-sdk/pull/8298)). Fixes #21757. + * Fix space panel width change on hovering over space item ([\#8299](https://github.com/matrix-org/matrix-react-sdk/pull/8299)). Fixes #19891. + * Hide the reply in thread button in deployments where beta is forcibly disabled ([\#8294](https://github.com/matrix-org/matrix-react-sdk/pull/8294)). Fixes #21753. + * Prevent soft crash around room list header context menu when space changes ([\#8289](https://github.com/matrix-org/matrix-react-sdk/pull/8289)). Fixes matrix-org/element-web-rageshakes#11416, matrix-org/element-web-rageshakes#11692, matrix-org/element-web-rageshakes#11739, matrix-org/element-web-rageshakes#11772, matrix-org/element-web-rageshakes#11891 matrix-org/element-web-rageshakes#11858 and matrix-org/element-web-rageshakes#11456. + * When selecting reply in thread on a thread response open existing thread ([\#8291](https://github.com/matrix-org/matrix-react-sdk/pull/8291)). Fixes #21743. + * Handle thread bundled relationships coming from the server via MSC3666 ([\#8292](https://github.com/matrix-org/matrix-react-sdk/pull/8292)). Fixes #21450. + * Fix: Avatar preview does not update when same file is selected repeatedly ([\#8288](https://github.com/matrix-org/matrix-react-sdk/pull/8288)). Fixes #20098. + * Fix a bug where user gets a warning when changing powerlevel from **Admin** to **custom level (100)** ([\#8248](https://github.com/matrix-org/matrix-react-sdk/pull/8248)). Fixes #21682. Contributed by @Jumeb. + * Use a consistent alignment for all text items in a list ([\#8276](https://github.com/matrix-org/matrix-react-sdk/pull/8276)). Fixes #21731. Contributed by @luixxiul. + * Fixes button labels being collapsed per a character in CJK languages ([\#8212](https://github.com/matrix-org/matrix-react-sdk/pull/8212)). Fixes #21287. Contributed by @luixxiul. + * Fix: Remove jittery timeline scrolling after jumping to an event ([\#8263](https://github.com/matrix-org/matrix-react-sdk/pull/8263)). + * Fix regression of edits showing up in the timeline with hidden events shown ([\#8260](https://github.com/matrix-org/matrix-react-sdk/pull/8260)). Fixes #21694. + * Fix reporting events not working ([\#8257](https://github.com/matrix-org/matrix-react-sdk/pull/8257)). Fixes #21713. + * Make Jitsi widgets in video rooms immutable ([\#8244](https://github.com/matrix-org/matrix-react-sdk/pull/8244)). Fixes #21647. + * Fix: Ensure links to events scroll the correct events into view ([\#8250](https://github.com/matrix-org/matrix-react-sdk/pull/8250)). Fixes #19934. + Changes in [1.10.9](https://github.com/vector-im/element-web/releases/tag/v1.10.9) (2022-04-12) =============================================================================================== From 2a5486a4da84b647c6f413901d23c3187c46df33 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 19 Apr 2022 15:21:52 +0100 Subject: [PATCH 20/24] v1.10.11-rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9cf85af14b4..b90d872da30 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.10.9", + "version": "1.10.11-rc.1", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From 9b333e9c44c6f824ac5e58f30d405d430e1766a4 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 26 Apr 2022 11:54:38 +0100 Subject: [PATCH 21/24] Upgrade matrix-js-sdk to 17.1.0 --- package.json | 2 +- yarn.lock | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b90d872da30..8ff5a348bb4 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "gfm.css": "^1.1.2", "jsrsasign": "^10.2.0", "katex": "^0.12.0", - "matrix-js-sdk": "17.1.0-rc.1", + "matrix-js-sdk": "17.1.0", "matrix-react-sdk": "3.43.0-rc.1", "matrix-widget-api": "^0.1.0-beta.18", "prop-types": "^15.7.2", diff --git a/yarn.lock b/yarn.lock index 9a861749645..9bc3a2e3235 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8164,7 +8164,7 @@ mathml-tag-names@^2.1.3: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== -"matrix-analytics-events@github:matrix-org/matrix-analytics-events#daad3faed54f0b1f1e026a7498b4653e4d01cd90": +"matrix-analytics-events@github:matrix-org/matrix-analytics-events.git#daad3faed54f0b1f1e026a7498b4653e4d01cd90": version "0.0.1" resolved "https://codeload.github.com/matrix-org/matrix-analytics-events/tar.gz/daad3faed54f0b1f1e026a7498b4653e4d01cd90" @@ -8178,6 +8178,23 @@ matrix-events-sdk@^0.0.1-beta.7: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1-beta.7.tgz#5ffe45eba1f67cc8d7c2377736c728b322524934" integrity sha512-9jl4wtWanUFSy2sr2lCjErN/oC8KTAtaeaozJtrgot1JiQcEI4Rda9OLgQ7nLKaqb4Z/QUx/fR3XpDzm5Jy1JA== +matrix-js-sdk@17.1.0: + version "17.1.0" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-17.1.0.tgz#15335b2f8987c7a7f1b5ef91432f981dbe052fc7" + integrity sha512-1MZYo+B4FnZMII1/Mw0E7WX4erCxnPpeA8fankY5Ql82LQQVSnceOpX2XAsRlDHcxcdExB929KKqVrk/eqDM/A== + dependencies: + "@babel/runtime" "^7.12.5" + another-json "^0.2.0" + browser-request "^0.3.3" + bs58 "^4.0.1" + content-type "^1.0.4" + loglevel "^1.7.1" + matrix-events-sdk "^0.0.1-beta.7" + p-retry "^4.5.0" + qs "^6.9.6" + request "^2.88.2" + unhomoglyph "^1.0.6" + matrix-js-sdk@17.1.0-rc.1: version "17.1.0-rc.1" resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-17.1.0-rc.1.tgz#e96582e6c35d7c1e77c54b397fa6748fbdabe031" From f2cfb75d18779caa84bf75dee2e081af703b0b7a Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 26 Apr 2022 11:55:44 +0100 Subject: [PATCH 22/24] Upgrade matrix-react-sdk to 3.43.0 --- package.json | 2 +- yarn.lock | 29 ++++++----------------------- 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 8ff5a348bb4..c62951c4758 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "jsrsasign": "^10.2.0", "katex": "^0.12.0", "matrix-js-sdk": "17.1.0", - "matrix-react-sdk": "3.43.0-rc.1", + "matrix-react-sdk": "3.43.0", "matrix-widget-api": "^0.1.0-beta.18", "prop-types": "^15.7.2", "react": "17.0.2", diff --git a/yarn.lock b/yarn.lock index 9bc3a2e3235..a567c1a1880 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8164,7 +8164,7 @@ mathml-tag-names@^2.1.3: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== -"matrix-analytics-events@github:matrix-org/matrix-analytics-events.git#daad3faed54f0b1f1e026a7498b4653e4d01cd90": +"matrix-analytics-events@github:matrix-org/matrix-analytics-events#daad3faed54f0b1f1e026a7498b4653e4d01cd90": version "0.0.1" resolved "https://codeload.github.com/matrix-org/matrix-analytics-events/tar.gz/daad3faed54f0b1f1e026a7498b4653e4d01cd90" @@ -8195,23 +8195,6 @@ matrix-js-sdk@17.1.0: request "^2.88.2" unhomoglyph "^1.0.6" -matrix-js-sdk@17.1.0-rc.1: - version "17.1.0-rc.1" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-17.1.0-rc.1.tgz#e96582e6c35d7c1e77c54b397fa6748fbdabe031" - integrity sha512-iqMS+Sxj6Y+cGS5oV7hnoQp0v58O+4HVjGkxfrJ0mskCJ8xsNQU3M4V8NA8e7atXHzhgqcfbB8RkcHe+WGE1fw== - dependencies: - "@babel/runtime" "^7.12.5" - another-json "^0.2.0" - browser-request "^0.3.3" - bs58 "^4.0.1" - content-type "^1.0.4" - loglevel "^1.7.1" - matrix-events-sdk "^0.0.1-beta.7" - p-retry "^4.5.0" - qs "^6.9.6" - request "^2.88.2" - unhomoglyph "^1.0.6" - matrix-mock-request@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-1.2.3.tgz#56b15d86e2601a9b48a854844396d18caab649c8" @@ -8220,10 +8203,10 @@ matrix-mock-request@^1.2.3: bluebird "^3.5.0" expect "^1.20.2" -matrix-react-sdk@3.43.0-rc.1: - version "3.43.0-rc.1" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.43.0-rc.1.tgz#0c2e81d0fee9c0227ac4ee3886f124d2a29f4e6e" - integrity sha512-QSqReJHJ9qweXzBkbF2mIEnSoAsstOY3FcShKCFTIzDryE6dCaGSqUEXN1nTRjI3EZRKm3/ICSSQKBRmGjHhBA== +matrix-react-sdk@3.43.0: + version "3.43.0" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.43.0.tgz#a9bff7e221b96c30c4957ce6924e1dea8f01ea4f" + integrity sha512-eJZaNsZWT5G3HIJhK6mwSa5G+Q6RWNKlJkOcur7CPwx7KeZisJiMa10HJhRVfUAXW7uHTKPHYS4pCErvHUMv4w== dependencies: "@babel/runtime" "^7.12.5" "@sentry/browser" "^6.11.0" @@ -8261,7 +8244,7 @@ matrix-react-sdk@3.43.0-rc.1: matrix-analytics-events "github:matrix-org/matrix-analytics-events.git#daad3faed54f0b1f1e026a7498b4653e4d01cd90" matrix-encrypt-attachment "^1.0.3" matrix-events-sdk "^0.0.1-beta.7" - matrix-js-sdk "17.1.0-rc.1" + matrix-js-sdk "17.1.0" matrix-widget-api "^0.1.0-beta.18" minimist "^1.2.5" opus-recorder "^8.0.3" From a7974216416cbbccc6f79c28d959e6b5c556ad40 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 26 Apr 2022 11:57:39 +0100 Subject: [PATCH 23/24] Prepare changelog for v1.10.11 --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 789026e18ff..fb19ed1aed7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,11 @@ -Changes in [1.10.11-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.10.11-rc.1) (2022-04-19) -=========================================================================================================== +Changes in [1.10.11](https://github.com/vector-im/element-web/releases/tag/v1.10.11) (2022-04-26) +================================================================================================= ## ✨ Features * Handle forced disconnects from Jitsi ([\#21697](https://github.com/vector-im/element-web/pull/21697)). Fixes #21517. * Improve performance of switching to rooms with lots of servers and ACLs ([\#8347](https://github.com/matrix-org/matrix-react-sdk/pull/8347)). * Avoid a reflow when setting caret position on an empty composer ([\#8348](https://github.com/matrix-org/matrix-react-sdk/pull/8348)). - * Add message right-click context menu as a labs feature ([\#5672](https://github.com/matrix-org/matrix-react-sdk/pull/5672)). Contributed by @SimonBrandner. + * Add message right-click context menu as a labs feature ([\#5672](https://github.com/matrix-org/matrix-react-sdk/pull/5672)). * Live location sharing - basic maximised beacon map ([\#8310](https://github.com/matrix-org/matrix-react-sdk/pull/8310)). * Live location sharing - render users own beacons in timeline ([\#8296](https://github.com/matrix-org/matrix-react-sdk/pull/8296)). * Improve Threads beta around degraded mode ([\#8318](https://github.com/matrix-org/matrix-react-sdk/pull/8318)). From b9668aceffc8ef291826d05b6d6f0e71752bceca Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 26 Apr 2022 11:57:40 +0100 Subject: [PATCH 24/24] v1.10.11 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c62951c4758..021368599dd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.10.11-rc.1", + "version": "1.10.11", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": {