From 858d71218ca633066775c791084fa5750a7f9594 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 21 Jul 2021 18:11:06 -0600 Subject: [PATCH 01/57] Remove voice messages labs flag docs For https://github.com/matrix-org/matrix-react-sdk/pull/6437 --- docs/labs.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/labs.md b/docs/labs.md index 1051f29597a..f880e3cd587 100644 --- a/docs/labs.md +++ b/docs/labs.md @@ -125,14 +125,6 @@ or feedback for this functionality at this time. Allows users to receive encrypted messages by creating a device that is stored encrypted on the server, as described in [MSC2697](https://github.com/matrix-org/matrix-doc/pull/2697). -## Voice messages (`feature_voice_messages`) - -Offers a way to send more time-sensitive information through the power of voice. When enabled, use the microphone -icon on the lower right to start recording your message. You will have a chance to review after you're done recording, -and if it sounds fine then send it off for the rest of the room to hear. - -Voice messages are automatically downloaded to ensure they are ready for playback as soon as possible. - ## Do not disturb (`feature_dnd`) Enables UI for turning on "do not disturb" mode for the current device. When DND mode is engaged, popups From 1cffed2336a4f77b73ddc9eaede0970abbdb8e7a Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 27 Jul 2021 15:04:55 +0100 Subject: [PATCH 02/57] Dismiss electron download toast when clicking Open --- src/vector/platform/ElectronPlatform.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/vector/platform/ElectronPlatform.tsx b/src/vector/platform/ElectronPlatform.tsx index c97b7dc9225..dfec829d107 100644 --- a/src/vector/platform/ElectronPlatform.tsx +++ b/src/vector/platform/ElectronPlatform.tsx @@ -257,12 +257,15 @@ export default class ElectronPlatform extends VectorBasePlatform { }); electron.on('userDownloadCompleted', (ev, { path, name }) => { + const key = `DOWNLOAD_TOAST_${path}`; + const onAccept = () => { electron.send('userDownloadOpen', { path }); + ToastStore.sharedInstance().dismissToast(key); }; ToastStore.sharedInstance().addOrReplaceToast({ - key: `DOWNLOAD_TOAST_${path}`, + key, title: _t("Download Completed"), props: { description: name, From 9d356aa931d5e5d455bccb32709bf2a9fa9a2e55 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 2 Aug 2021 13:20:30 +0100 Subject: [PATCH 03/57] Reset matrix-js-sdk back to develop branch --- package.json | 2 +- yarn.lock | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 6a93a119ec8..1706160df0a 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "highlight.js": "^10.5.0", "jsrsasign": "^10.2.0", "katex": "^0.12.0", - "matrix-js-sdk": "12.2.0", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-react-sdk": "3.27.0", "matrix-widget-api": "^0.1.0-beta.15", "prop-types": "^15.7.2", diff --git a/yarn.lock b/yarn.lock index cd913d6a391..394483c8c22 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7309,6 +7309,21 @@ matrix-js-sdk@12.2.0: request "^2.88.2" unhomoglyph "^1.0.6" +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": + version "12.2.0" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/8a1bc98d4eb5cecd9373ed067c9fbfb6718d2e4f" + 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" + 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 2504c062f1d1920fda121f7c72522e3f2d844036 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 2 Aug 2021 13:20:41 +0100 Subject: [PATCH 04/57] Reset matrix-react-sdk back to develop branch --- package.json | 2 +- yarn.lock | 23 +++-------------------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 1706160df0a..eb6c4136cf2 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "jsrsasign": "^10.2.0", "katex": "^0.12.0", "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", - "matrix-react-sdk": "3.27.0", + "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", "matrix-widget-api": "^0.1.0-beta.15", "prop-types": "^15.7.2", "react": "^17.0.2", diff --git a/yarn.lock b/yarn.lock index 394483c8c22..39fd6d5ba81 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7293,23 +7293,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-js-sdk@12.2.0: - version "12.2.0" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-12.2.0.tgz#e1dc7ddac054289cb24ee3d11dba8a5ba5ddecf5" - integrity sha512-foSs3uKRc6uvFNhgY35eErBvLWVDd5RNIxxsdFKlmU3B+70YUf3BP3petyBNW34ORyOqNdX36IiApfLo3npNEw== - 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" - 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": +matrix-js-sdk@12.2.0, "matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": version "12.2.0" resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/8a1bc98d4eb5cecd9373ed067c9fbfb6718d2e4f" dependencies: @@ -7332,10 +7316,9 @@ matrix-mock-request@^1.2.3: bluebird "^3.5.0" expect "^1.20.2" -matrix-react-sdk@3.27.0: +"matrix-react-sdk@github:matrix-org/matrix-react-sdk#develop": version "3.27.0" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.27.0.tgz#76605ab2b6b3431bcaf6b28428694627495d872a" - integrity sha512-DCtJq8tCF0mAHnRfjIMnhdoDG01iAXQ9i49mj049PfaERARVrZVc4imeXjwWbMrZM+rFIMiVTRzYktohmDLrcg== + resolved "https://codeload.github.com/matrix-org/matrix-react-sdk/tar.gz/e2ef5d1737acda03c186560182fa7daddff8479b" dependencies: "@babel/runtime" "^7.12.5" await-lock "^2.1.0" From 4b12b711eeded3e6f0270a1d7de7d3cfb1d01a0c Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk Date: Sun, 1 Aug 2021 16:17:58 +0200 Subject: [PATCH 05/57] Add data-mx-theme to theme css for hot-reload --- src/vector/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vector/index.html b/src/vector/index.html index 1a242a80ed8..29b1f132214 100644 --- a/src/vector/index.html +++ b/src/vector/index.html @@ -43,7 +43,7 @@ if (match) { var title = match[1].charAt(0).toUpperCase() + match[1].slice(1); %> - + <% } else { %> <% } From b677edbc58d54dee274f0b193b2a931554451f33 Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk Date: Sun, 1 Aug 2021 16:28:38 +0200 Subject: [PATCH 06/57] Make CSS Hot-reload work in a hacky way --- package.json | 4 +- src/vector/devcss.ts | 33 ++++++++++++ src/vector/index.ts | 8 +++ webpack.config.js | 119 ++++++++++++++++++++++++++++++++++--------- yarn.lock | 38 +++++++++++++- 5 files changed, 174 insertions(+), 28 deletions(-) create mode 100644 src/vector/devcss.ts diff --git a/package.json b/package.json index eb6c4136cf2..fcf2b1fa53b 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "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: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 --progress --mode development --disable-host-check", + "start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development --disable-host-check --hot", "lint": "yarn lint:types && yarn lint:js && yarn lint:style", "lint:js": "eslint --max-warnings 0 src", "lint:js-fix": "eslint --fix src", @@ -141,6 +141,8 @@ "rimraf": "^3.0.2", "shell-escape": "^0.2.0", "simple-proxy-agent": "^1.1.0", + "string-replace-loader": "2", + "style-loader": "2", "stylelint": "^13.9.0", "stylelint-config-standard": "^20.0.0", "stylelint-scss": "^3.18.0", diff --git a/src/vector/devcss.ts b/src/vector/devcss.ts new file mode 100644 index 00000000000..1937ca949d0 --- /dev/null +++ b/src/vector/devcss.ts @@ -0,0 +1,33 @@ +/* +Copyright 2021 The Matrix.org Foundation C.I.C. + +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. +*/ + +/** + * This code will be autoremoved on production builds. + * The purpose of this code is that the webpack's `string-replace-loader` + * pretty much search for this string in this specific file and replaces it + * like a macro before any previous compilations, which allows us to inject + * some css requires statements that are specific to the themes we have turned + * on by ourselves. Without that very specific workaround, webpack would just + * import all the CSSes, which would make the whole thing useless, as on my + * machine with i9 the recompilation for all themes turned ou would take way + * over 30s, which is definitely too high for nice css reloads speed. + * + * For more details, see webpack.config.js:184 (string-replace-loader) + */ +if (process.env.NODE_ENV === 'development') { + "use theming"; +} + diff --git a/src/vector/index.ts b/src/vector/index.ts index 88171670693..fe424c47f2d 100644 --- a/src/vector/index.ts +++ b/src/vector/index.ts @@ -25,6 +25,14 @@ require('gfm.css/gfm.css'); require('highlight.js/styles/github.css'); require('katex/dist/katex.css'); +/** + * This require is necessary only for purposes of CSS hot reload, as otherwise + * webpack has some incredibly problems figuring out which css files should be + * hot reloaded, even with proper hints for the loader. + * + * On production build it's going to be an empty module, so don't worry about that. + */ +require('./devcss'); // These are things that can run before the skin loads - be careful not to reference the react-sdk though. import { parseQsFromFragment } from "./url_utils"; import './modernizr'; diff --git a/webpack.config.js b/webpack.config.js index bb1d5d9ff5f..03ac4a8eff1 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,6 +1,7 @@ /* eslint-disable quote-props */ const path = require('path'); +const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const TerserPlugin = require('terser-webpack-plugin'); @@ -10,9 +11,35 @@ const HtmlWebpackInjectPreload = require('@principalstudio/html-webpack-inject-p let ogImageUrl = process.env.RIOT_OG_IMAGE_URL; if (!ogImageUrl) ogImageUrl = 'https://app.element.io/themes/element/img/logos/opengraph.png'; -const additionalPlugins = [ - // This is where you can put your customisation replacements. -]; +const cssThemes = { + // CSS themes + "theme-legacy": "./node_modules/matrix-react-sdk/res/themes/legacy-light/css/legacy-light.scss", + "theme-legacy-dark": "./node_modules/matrix-react-sdk/res/themes/legacy-dark/css/legacy-dark.scss", + "theme-light": "./node_modules/matrix-react-sdk/res/themes/light/css/light.scss", + "theme-dark": "./node_modules/matrix-react-sdk/res/themes/dark/css/dark.scss", + "theme-light-custom": "./node_modules/matrix-react-sdk/res/themes/light-custom/css/light-custom.scss", + "theme-dark-custom": "./node_modules/matrix-react-sdk/res/themes/dark-custom/css/dark-custom.scss", +}; + +function getActiveThemes() { + const theme = process.env.MATRIX_THEMES ?? 'light,dark'; + const themes = theme.split(',').filter(x => x).map(x => x.trim()).filter(x => x); + return themes; +} + +const ACTIVE_THEMES = getActiveThemes(); +function getThemesImports() { + const imports = ACTIVE_THEMES.map((t, index) => { + const themeImportPath = cssThemes[`theme-${t}`].replace('./node_modules/', ''); + return themeImportPath; + }); + const s = JSON.stringify(ACTIVE_THEMES); + return ` + window.MX_insertedThemeStylesCounter = 0 + window.MX_DEV_ACTIVE_THEMES = (${s}); + ${imports.map(i => `import("${i}")`).join('\n')}; + `; +} module.exports = (env, argv) => { let nodeEnv = argv.mode; @@ -29,6 +56,7 @@ module.exports = (env, argv) => { // application to productions standards nodeEnv = "production"; } + const devMode = nodeEnv !== 'production'; const development = {}; if (argv.mode === "production") { @@ -48,6 +76,13 @@ module.exports = (env, argv) => { return { ...development, + watch: true, + watchOptions: { + aggregateTimeout: 200, + poll: 1000, + ignored: [/node_modules([\\]+|\/)+(?!matrix-react-sdk|matrix-js-sdk)/], + }, + node: { // Mock out the NodeFS module: The opus decoder imports this wrongly. fs: 'empty', @@ -59,14 +94,7 @@ module.exports = (env, argv) => { "jitsi": "./src/vector/jitsi/index.ts", "usercontent": "./node_modules/matrix-react-sdk/src/usercontent/index.js", "recorder-worklet": "./node_modules/matrix-react-sdk/src/audio/RecorderWorklet.ts", - - // CSS themes - "theme-legacy": "./node_modules/matrix-react-sdk/res/themes/legacy-light/css/legacy-light.scss", - "theme-legacy-dark": "./node_modules/matrix-react-sdk/res/themes/legacy-dark/css/legacy-dark.scss", - "theme-light": "./node_modules/matrix-react-sdk/res/themes/light/css/light.scss", - "theme-dark": "./node_modules/matrix-react-sdk/res/themes/dark/css/dark.scss", - "theme-light-custom": "./node_modules/matrix-react-sdk/res/themes/light-custom/css/light-custom.scss", - "theme-dark-custom": "./node_modules/matrix-react-sdk/res/themes/dark-custom/css/dark-custom.scss", + ...(devMode ? {} : cssThemes), }, optimization: { @@ -89,7 +117,7 @@ module.exports = (env, argv) => { // This fixes duplicate files showing up in chrome with sourcemaps enabled. // See https://github.com/webpack/webpack/issues/7128 for more info. - namedModules: false, + namedModules: true, // Minification is normally enabled by default for webpack in production mode, but // we use a CSS optimizer too and need to manage it ourselves. @@ -150,6 +178,14 @@ module.exports = (env, argv) => { /olm[\\/](javascript[\\/])?olm\.js$/, ], rules: [ + devMode && { + test: /devcss\.ts$/, + loader: 'string-replace-loader', + options: { + search: '"use theming";', + replace: getThemesImports(), + }, + }, { test: /\.worker\.ts$/, loader: "worker-loader", @@ -181,7 +217,7 @@ module.exports = (env, argv) => { { test: /\.css$/, use: [ - MiniCssExtractPlugin.loader, + devMode ? 'style-loader' : MiniCssExtractPlugin.loader, { loader: 'css-loader', options: { @@ -219,7 +255,7 @@ module.exports = (env, argv) => { // It's important that this plugin is last otherwise we end // up with broken CSS. - require('postcss-preset-env')({stage: 3, browsers: 'last 2 versions'}), + require('postcss-preset-env')({ stage: 3, browsers: 'last 2 versions' }), ], parser: "postcss-scss", "local-plugins": true, @@ -230,7 +266,31 @@ module.exports = (env, argv) => { { test: /\.scss$/, use: [ - MiniCssExtractPlugin.loader, + /** + * This code is hopeful that no .scss outside of our themes will be directly imported in any + * of the JS/TS files. + * Should be MUCH better with webpack 5, but we're stuck to this solution for now. + */ + devMode ? { + loader: 'style-loader', options: { + attributes: { + 'data-mx-theme': 'replace_me', + }, + // Properly disable all other instances of themes + insert: function insertBeforeAt(element) { + const isMatrixTheme = element.attributes['data-mx-theme'].value === 'replace_me'; + const parent = document.querySelector('head'); + + element.disabled = true; + if (isMatrixTheme) { + element.attributes['data-mx-theme'].value = window.MX_DEV_ACTIVE_THEMES[window.MX_insertedThemeStylesCounter]; + window.MX_insertedThemeStylesCounter++; + } + + parent.appendChild(element); + }, + }, + } : MiniCssExtractPlugin.loader, { loader: 'css-loader', options: { @@ -257,7 +317,7 @@ module.exports = (env, argv) => { // It's important that this plugin is last otherwise we end // up with broken CSS. - require('postcss-preset-env')({stage: 3, browsers: 'last 2 versions'}), + require('postcss-preset-env')({ stage: 3, browsers: 'last 2 versions' }), ], parser: "postcss-scss", "local-plugins": true, @@ -374,9 +434,15 @@ module.exports = (env, argv) => { }, plugins: [ + new webpack.EnvironmentPlugin({ + NODE_ENV: 'development', // use 'development' unless process.env.NODE_ENV is defined + DEBUG: false, + }), + // This exports our CSS using the splitChunks and loaders above. new MiniCssExtractPlugin({ - filename: 'bundles/[hash]/[name].css', + filename: "bundles/[hash]/[name].css", + chunkFilename: "bundles/[hash]/[name].css", ignoreOrder: false, // Enable to remove warnings about conflicting order }), @@ -437,7 +503,6 @@ module.exports = (env, argv) => { files: [{ match: /.*Inter.*\.woff2$/ }], }), - ...additionalPlugins, ], output: { @@ -457,17 +522,21 @@ module.exports = (env, argv) => { // configuration for the webpack-dev-server devServer: { // serve unwebpacked assets from webapp. - contentBase: './webapp', + contentBase: [ + './src/', + './webapp', + './bundles/**', + './node_modules/matrix-react-sdk/**', + './node_modules/matrix-js-sdk/**', + ], // Only output errors, warnings, or new compilations. // This hides the massive list of modules. stats: 'minimal', - - // hot module replacement doesn't work (I think we'd need react-hot-reload?) - // so webpack-dev-server reloads the page on every update which is quite - // tedious in Riot since that can take a while. - hot: false, - inline: false, + hot: true, + injectHot: true, + hotOnly: true, + inline: true, }, }; }; diff --git a/yarn.lock b/yarn.lock index 39fd6d5ba81..74e40d7f901 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1454,7 +1454,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7": +"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": version "7.0.8" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818" integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg== @@ -1919,7 +1919,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -7130,6 +7130,15 @@ loader-utils@^1.0.0, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4 emojis-list "^3.0.0" json5 "^1.0.1" +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -10196,6 +10205,15 @@ schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7 ajv "^6.12.4" ajv-keywords "^3.5.2" +schema-utils@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -10718,6 +10736,14 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" +string-replace-loader@2: + version "2.3.0" + resolved "https://registry.yarnpkg.com/string-replace-loader/-/string-replace-loader-2.3.0.tgz#7f29be7d73c94dd92eccd5c5a15651181d7ecd3d" + integrity sha512-HYBIHStViMKLZC/Lehxy42OuwsBaPzX/LjcF5mkJlE2SnHXmW6SW6eiHABTXnY8ZCm/REbdJ8qnA0ptmIzN0Ng== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.6.5" + string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -10833,6 +10859,14 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +style-loader@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" + integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + style-search@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" From a9f3f873a5d24a6544e2d975d077aded204b6bf6 Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk Date: Sun, 1 Aug 2021 17:05:33 +0200 Subject: [PATCH 07/57] Add a .env config and explanation how to use HMR --- .env.example | 13 ++++++++ .gitignore | 1 + README.md | 51 +++++++++++++++++++------------- package.json | 1 + webpack.config.js | 75 +++++++++++++++++++++++++++++------------------ yarn.lock | 5 ++++ 6 files changed, 98 insertions(+), 48 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 00000000000..52f2a023a21 --- /dev/null +++ b/.env.example @@ -0,0 +1,13 @@ +# If you want to have proper hot-reload css experience, define one and set this on. +CSS_HOT_RELOAD=1 +# Define which one theme you want to load for hot-reload purposes. +# You can load multiple themes at once, but switching between is quite buggy with the hot-reload turned on. +# To use a single theme just uncomment a line with the theme you want to use. +MATRIX_THEMES='light' +#MATRIX_THEMES='dark' +#MATRIX_THEMES='light-legacy' +#MATRIX_THEMES='dark-legacy' +#MATRIX_THEMES='light-custom' +#MATRIX_THEMES='dark-custom' +# If you want to use multiple themes, define the combinations manually like below: +#MATRIX_THEMES='light,dark' diff --git a/.gitignore b/.gitignore index bc6255165b1..52152e1a114 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ electron/pub /webpack-stats.json .vscode .vscode/ +.env diff --git a/README.md b/README.md index 8bf6ecd8cfc..76acfcaf851 100644 --- a/README.md +++ b/README.md @@ -30,14 +30,14 @@ and [element-ios](https://github.com/vector-im/element-ios). Getting Started =============== -The easiest way to test Element is to just use the hosted copy at https://app.element.io. -The `develop` branch is continuously deployed to https://develop.element.io +The easiest way to test Element is to just use the hosted copy at . +The `develop` branch is continuously deployed to for those who like living dangerously. To host your own copy of Element, the quickest bet is to use a pre-built released version of Element: -1. Download the latest version from https://github.com/vector-im/element-web/releases +1. Download the latest version from 1. Untar the tarball on your web server 1. Move (or symlink) the `element-x.x.x` directory to an appropriate name 1. Configure the correct caching headers in your webserver (see below) @@ -46,7 +46,7 @@ released version of Element: 1. Enter the URL into your browser and log into Element! Releases are signed using gpg and the OpenPGP standard, and can be checked against the public key located -at https://packages.riot.im/element-release-key.asc. +at . Note that for the security of your chats will need to serve Element over HTTPS. Major browsers also do not allow you to use VoIP/video @@ -72,7 +72,7 @@ access to Element (or other apps) due to sharing the same domain. We have put some coarse mitigations into place to try to protect against this situation, but it's still not good practice to do it in the first place. See -https://github.com/vector-im/element-web/issues/1977 for more details. + for more details. Configuration best practices ---------------------------- @@ -80,15 +80,15 @@ Configuration best practices Unless you have special requirements, you will want to add the following to your web server configuration when hosting Element Web: -- The `X-Frame-Options: SAMEORIGIN` header, to prevent Element Web from being +* The `X-Frame-Options: SAMEORIGIN` header, to prevent Element Web from being framed and protect from [clickjacking][owasp-clickjacking]. -- The `frame-ancestors 'none'` directive to your `Content-Security-Policy` +* The `frame-ancestors 'none'` directive to your `Content-Security-Policy` header, as the modern replacement for `X-Frame-Options` (though both should be included since not all browsers support it yet, see [this][owasp-clickjacking-csp]). -- The `X-Content-Type-Options: nosniff` header, to [disable MIME +* The `X-Content-Type-Options: nosniff` header, to [disable MIME sniffing][mime-sniffing]. -- The `X-XSS-Protection: 1; mode=block;` header, for basic XSS protection in +* The `X-XSS-Protection: 1; mode=block;` header, for basic XSS protection in legacy browsers. [mime-sniffing]: @@ -127,10 +127,10 @@ guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it alread 1. Clone the repo: `git clone https://github.com/vector-im/element-web.git`. 1. Switch to the element-web directory: `cd element-web`. 1. Install the prerequisites: `yarn install`. - * If you're using the `develop` branch, then it is recommended to set up a + * If you're using the `develop` branch, then it is recommended to set up a proper development environment (see [Setting up a dev environment](#setting-up-a-dev-environment) below). Alternatively, you - can use https://develop.element.io - the continuous integration release of + can use - the continuous integration release of the develop branch. 1. Configure the app by copying `config.sample.json` to `config.json` and modifying it. See the [configuration docs](docs/config.md) for details. @@ -148,15 +148,16 @@ Running as a Desktop app ======================== Element can also be run as a desktop app, wrapped in Electron. You can download a -pre-built version from https://element.io/get-started or, if you prefer, +pre-built version from or, if you prefer, build it yourself. -To build it yourself, follow the instructions at https://github.com/vector-im/element-desktop. +To build it yourself, follow the instructions at . Many thanks to @aviraldg for the initial work on the Electron integration. Other options for running as a desktop app: - * @asdf:matrix.org points out that you can use nativefier and it just works(tm) + +* @asdf:matrix.org points out that you can use nativefier and it just works(tm) ```bash yarn global add nativefier @@ -171,6 +172,7 @@ Running from Docker The Docker image can be used to serve element-web as a web server. The easiest way to use it is to use the prebuilt image: + ```bash docker run -p 80:80 vectorim/element-web ``` @@ -178,11 +180,13 @@ docker run -p 80:80 vectorim/element-web To supply your own custom `config.json`, map a volume to `/app/config.json`. For example, if your custom config was located at `/etc/element-web/config.json` then your Docker command would be: + ```bash docker run -p 80:80 -v /etc/element-web/config.json:/app/config.json vectorim/element-web ``` To build the image yourself: + ```bash git clone https://github.com/vector-im/element-web.git element-web cd element-web @@ -192,6 +196,7 @@ docker build . If you're building a custom branch, or want to use the develop branch, check out the appropriate element-web branch and then run: + ```bash docker build -t \ --build-arg USE_CUSTOM_SDKS=true \ @@ -224,6 +229,7 @@ Caching requirements ==================== Element requires the following URLs not to be cached, when/if you are serving Element from your own webserver: + ``` /config.*.json /i18n @@ -261,6 +267,10 @@ 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 into Element itself. +CSS hot-reload is currently an opt-in development feature, and if you want to have +it working properly on your environment, create a `.env` file in this repository +with proper environmental, see `.env.example` for documentation and example. + Setting up a dev environment ============================ @@ -302,14 +312,15 @@ yarn reskindex yarn start ``` - Wait a few seconds for the initial build to finish; you should see something like: + ``` [element-js] [webpack.Progress] 100% [element-js] [element-js] ℹ 「wdm」: 1840 modules [element-js] ℹ 「wdm」: Compiled successfully. ``` + Remember, the command will not terminate since it runs the web server and rebuilds source files when they change. This development server also disables caching, so do NOT use it in production. @@ -317,7 +328,7 @@ Wait a few seconds for the initial build to finish; you should see something lik Configure the app by copying `config.sample.json` to `config.json` and modifying it. See the [configuration docs](docs/config.md) for details. -Open http://127.0.0.1:8080/ in your browser to see your newly built Element. +Open in your browser to see your newly built Element. **Note**: The build script uses inotify by default on Linux to monitor directories for changes. If the inotify limits are too low your build will fail silently or with @@ -393,14 +404,14 @@ Triaging issues We strive to completely cover all applicable issues with these core labels: 1. __Type__ — Every issue is assigned a type: - - __[T-Defect](https://github.com/vector-im/element-web/labels/T-Defect):__ + * __[T-Defect](https://github.com/vector-im/element-web/labels/T-Defect):__ Bugs, crashes, hangs, vulnerabilities, or other reported problems - - __[T-Enhancement](https://github.com/vector-im/element-web/labels/T-Enhancement):__ + * __[T-Enhancement](https://github.com/vector-im/element-web/labels/T-Enhancement):__ New features, changes in functionality, performance boosts, user-facing improvements - - __[T-Task](https://github.com/vector-im/element-web/labels/T-Task):__ + * __[T-Task](https://github.com/vector-im/element-web/labels/T-Task):__ Refactoring, enabling or disabling functionality, other engineering tasks - - __[T-Other](https://github.com/vector-im/element-web/labels/T-Other):__ + * __[T-Other](https://github.com/vector-im/element-web/labels/T-Other):__ Questions, user support, anything else 2. __Severity__ — All issues labeled `T-Defect` are also assigned a severity: diff --git a/package.json b/package.json index fcf2b1fa53b..1b2c87f3317 100644 --- a/package.json +++ b/package.json @@ -104,6 +104,7 @@ "concurrently": "^5.3.0", "cpx": "^1.5.0", "css-loader": "^3.6.0", + "dotenv": "^10.0.0", "eslint": "7.18.0", "eslint-config-google": "^0.14.0", "eslint-plugin-matrix-org": "github:matrix-org/eslint-plugin-matrix-org#main", diff --git a/webpack.config.js b/webpack.config.js index 03ac4a8eff1..035cfdb977e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,5 +1,6 @@ /* eslint-disable quote-props */ +const dotenv = require('dotenv'); const path = require('path'); const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); @@ -21,26 +22,31 @@ const cssThemes = { "theme-dark-custom": "./node_modules/matrix-react-sdk/res/themes/dark-custom/css/dark-custom.scss", }; +let dotenvConfig = { parsed: {} }; +try { + dotenvConfig = dotenv.config(); +} catch (err) { + dotenvConfig = { + parsed: { + CSS_HOT_RELOAD: 0, + MATRIX_THEMES: 'light', + }, + }; +} + +const CSS_HOT_RELOAD = process.env.CSS_HOT_RELOAD ?? dotenvConfig.CSS_HOT_RELOAD; +const MATRIX_THEMES = process.env.MATRIX_THEMES ?? dotenvConfig.MATRIX_THEMES; + function getActiveThemes() { - const theme = process.env.MATRIX_THEMES ?? 'light,dark'; + // We want to use `light` theme by default if it's not defined. + const theme = MATRIX_THEMES; const themes = theme.split(',').filter(x => x).map(x => x.trim()).filter(x => x); + if (themes.length > 1) { + throw new Error('Please see `.env.example` for proper hotreload&themes configuation.'); + } return themes; } -const ACTIVE_THEMES = getActiveThemes(); -function getThemesImports() { - const imports = ACTIVE_THEMES.map((t, index) => { - const themeImportPath = cssThemes[`theme-${t}`].replace('./node_modules/', ''); - return themeImportPath; - }); - const s = JSON.stringify(ACTIVE_THEMES); - return ` - window.MX_insertedThemeStylesCounter = 0 - window.MX_DEV_ACTIVE_THEMES = (${s}); - ${imports.map(i => `import("${i}")`).join('\n')}; - `; -} - module.exports = (env, argv) => { let nodeEnv = argv.mode; if (process.env.CI_PACKAGE) { @@ -57,6 +63,7 @@ module.exports = (env, argv) => { nodeEnv = "production"; } const devMode = nodeEnv !== 'production'; + const useCssHotReload = CSS_HOT_RELOAD === '1' && devMode; const development = {}; if (argv.mode === "production") { @@ -73,16 +80,22 @@ module.exports = (env, argv) => { const reactSdkSrcDir = path.resolve(require.resolve("matrix-react-sdk/package.json"), '..', 'src'); const jsSdkSrcDir = path.resolve(require.resolve("matrix-js-sdk/package.json"), '..', 'src'); + const ACTIVE_THEMES = getActiveThemes(); + function getThemesImports() { + const imports = ACTIVE_THEMES.map((t, index) => { + const themeImportPath = cssThemes[`theme-${ t }`].replace('./node_modules/', ''); + return themeImportPath; + }); + const s = JSON.stringify(ACTIVE_THEMES); + return ` + window.MX_insertedThemeStylesCounter = 0 + window.MX_DEV_ACTIVE_THEMES = (${ s }); + ${ imports.map(i => `import("${ i }")`).join('\n') }; + `; + } + return { ...development, - - watch: true, - watchOptions: { - aggregateTimeout: 200, - poll: 1000, - ignored: [/node_modules([\\]+|\/)+(?!matrix-react-sdk|matrix-js-sdk)/], - }, - node: { // Mock out the NodeFS module: The opus decoder imports this wrongly. fs: 'empty', @@ -94,7 +107,7 @@ module.exports = (env, argv) => { "jitsi": "./src/vector/jitsi/index.ts", "usercontent": "./node_modules/matrix-react-sdk/src/usercontent/index.js", "recorder-worklet": "./node_modules/matrix-react-sdk/src/audio/RecorderWorklet.ts", - ...(devMode ? {} : cssThemes), + ...(useCssHotReload ? {} : cssThemes), }, optimization: { @@ -178,7 +191,7 @@ module.exports = (env, argv) => { /olm[\\/](javascript[\\/])?olm\.js$/, ], rules: [ - devMode && { + useCssHotReload && { test: /devcss\.ts$/, loader: 'string-replace-loader', options: { @@ -217,7 +230,7 @@ module.exports = (env, argv) => { { test: /\.css$/, use: [ - devMode ? 'style-loader' : MiniCssExtractPlugin.loader, + MiniCssExtractPlugin.loader, { loader: 'css-loader', options: { @@ -271,8 +284,14 @@ module.exports = (env, argv) => { * of the JS/TS files. * Should be MUCH better with webpack 5, but we're stuck to this solution for now. */ - devMode ? { + useCssHotReload ? { loader: 'style-loader', options: { + /** + * If we refactor the `theme.js` in `matrix-react-sdk` a little bit, + * we could try using `lazyStyleTag` here to add and remove styles on demand, + * that would nicely resolve issues of race conditions for themes, + * at least for development purposes. + */ attributes: { 'data-mx-theme': 'replace_me', }, @@ -430,7 +449,7 @@ module.exports = (env, argv) => { }, ], }, - ], + ].filter(Boolean), }, plugins: [ diff --git a/yarn.lock b/yarn.lock index 74e40d7f901..495862952c6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4024,6 +4024,11 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + duplexer@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" From da4a49fd3159b202c52a0b10e8ba75a09b21c69c Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk Date: Sun, 1 Aug 2021 17:13:29 +0200 Subject: [PATCH 08/57] Add a default theme for CI --- webpack.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpack.config.js b/webpack.config.js index 035cfdb977e..7aab5d1387e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -39,7 +39,7 @@ const MATRIX_THEMES = process.env.MATRIX_THEMES ?? dotenvConfig.MATRIX_THEMES; function getActiveThemes() { // We want to use `light` theme by default if it's not defined. - const theme = MATRIX_THEMES; + const theme = MATRIX_THEMES ?? 'light'; const themes = theme.split(',').filter(x => x).map(x => x.trim()).filter(x => x); if (themes.length > 1) { throw new Error('Please see `.env.example` for proper hotreload&themes configuation.'); From 88df5c33a9e85674d39c1621c130d8122ce3f9a4 Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk <3636685+Palid@users.noreply.github.com> Date: Mon, 2 Aug 2021 11:09:10 +0200 Subject: [PATCH 09/57] Update webpack.config.js Co-authored-by: Germain --- webpack.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpack.config.js b/webpack.config.js index 7aab5d1387e..0701b0f437f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -42,7 +42,7 @@ function getActiveThemes() { const theme = MATRIX_THEMES ?? 'light'; const themes = theme.split(',').filter(x => x).map(x => x.trim()).filter(x => x); if (themes.length > 1) { - throw new Error('Please see `.env.example` for proper hotreload&themes configuation.'); + throw new Error('Please see `.env.example` for proper hot reload & themes configuration.'); } return themes; } From 10fb3859faab523dad0f9cce23fa7110fd943569 Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk <“palid@users.noreply.github.com”> Date: Mon, 2 Aug 2021 22:27:13 +0200 Subject: [PATCH 10/57] Add better docs and iframe support --- .env.example | 3 +- webpack.config.js | 74 +++++++++++++++++++---------------------------- 2 files changed, 32 insertions(+), 45 deletions(-) diff --git a/.env.example b/.env.example index 52f2a023a21..65d7581ad00 100644 --- a/.env.example +++ b/.env.example @@ -1,7 +1,6 @@ # If you want to have proper hot-reload css experience, define one and set this on. CSS_HOT_RELOAD=1 # Define which one theme you want to load for hot-reload purposes. -# You can load multiple themes at once, but switching between is quite buggy with the hot-reload turned on. # To use a single theme just uncomment a line with the theme you want to use. MATRIX_THEMES='light' #MATRIX_THEMES='dark' @@ -9,5 +8,7 @@ MATRIX_THEMES='light' #MATRIX_THEMES='dark-legacy' #MATRIX_THEMES='light-custom' #MATRIX_THEMES='dark-custom' +# You can load multiple themes at once, but switching between them may require full page reload. +# It will also multiple compliation times by the number of turned on themes. # If you want to use multiple themes, define the combinations manually like below: #MATRIX_THEMES='light,dark' diff --git a/webpack.config.js b/webpack.config.js index 0701b0f437f..8df042d14c0 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -9,6 +9,7 @@ const TerserPlugin = require('terser-webpack-plugin'); const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const HtmlWebpackInjectPreload = require('@principalstudio/html-webpack-inject-preload'); +dotenv.config(); let ogImageUrl = process.env.RIOT_OG_IMAGE_URL; if (!ogImageUrl) ogImageUrl = 'https://app.element.io/themes/element/img/logos/opengraph.png'; @@ -22,28 +23,10 @@ const cssThemes = { "theme-dark-custom": "./node_modules/matrix-react-sdk/res/themes/dark-custom/css/dark-custom.scss", }; -let dotenvConfig = { parsed: {} }; -try { - dotenvConfig = dotenv.config(); -} catch (err) { - dotenvConfig = { - parsed: { - CSS_HOT_RELOAD: 0, - MATRIX_THEMES: 'light', - }, - }; -} - -const CSS_HOT_RELOAD = process.env.CSS_HOT_RELOAD ?? dotenvConfig.CSS_HOT_RELOAD; -const MATRIX_THEMES = process.env.MATRIX_THEMES ?? dotenvConfig.MATRIX_THEMES; - function getActiveThemes() { // We want to use `light` theme by default if it's not defined. - const theme = MATRIX_THEMES ?? 'light'; + const theme = process.env.MATRIX_THEMES ?? 'dark'; const themes = theme.split(',').filter(x => x).map(x => x.trim()).filter(x => x); - if (themes.length > 1) { - throw new Error('Please see `.env.example` for proper hot reload & themes configuration.'); - } return themes; } @@ -63,7 +46,7 @@ module.exports = (env, argv) => { nodeEnv = "production"; } const devMode = nodeEnv !== 'production'; - const useCssHotReload = CSS_HOT_RELOAD === '1' && devMode; + const useCssHotReload = process.env.CSS_HOT_RELOAD === '1' && devMode; const development = {}; if (argv.mode === "production") { @@ -88,10 +71,10 @@ module.exports = (env, argv) => { }); const s = JSON.stringify(ACTIVE_THEMES); return ` - window.MX_insertedThemeStylesCounter = 0 - window.MX_DEV_ACTIVE_THEMES = (${ s }); - ${ imports.map(i => `import("${ i }")`).join('\n') }; - `; + window.MX_insertedThemeStylesCounter = 0; + window.MX_DEV_ACTIVE_THEMES = (${ s }); + ${ imports.map(i => `import("${ i }")`).join('\n') }; + `; } return { @@ -285,27 +268,30 @@ module.exports = (env, argv) => { * Should be MUCH better with webpack 5, but we're stuck to this solution for now. */ useCssHotReload ? { - loader: 'style-loader', options: { - /** - * If we refactor the `theme.js` in `matrix-react-sdk` a little bit, - * we could try using `lazyStyleTag` here to add and remove styles on demand, - * that would nicely resolve issues of race conditions for themes, - * at least for development purposes. - */ - attributes: { - 'data-mx-theme': 'replace_me', - }, - // Properly disable all other instances of themes + loader: 'style-loader', + /** + * If we refactor the `theme.js` in `matrix-react-sdk` a little bit, + * we could try using `lazyStyleTag` here to add and remove styles on demand, + * that would nicely resolve issues of race conditions for themes, + * at least for development purposes. + */ + options: { + insert: function insertBeforeAt(element) { - const isMatrixTheme = element.attributes['data-mx-theme'].value === 'replace_me'; const parent = document.querySelector('head'); - - element.disabled = true; - if (isMatrixTheme) { - element.attributes['data-mx-theme'].value = window.MX_DEV_ACTIVE_THEMES[window.MX_insertedThemeStylesCounter]; - window.MX_insertedThemeStylesCounter++; + // We're in iframe + if (!window.MX_DEV_ACTIVE_THEMES) { + parent.appendChild(element); + return; } - + // Properly disable all other instances of themes + element.disabled = true; + element.onload = () => { + element.disabled = true; + }; + const theme = window.MX_DEV_ACTIVE_THEMES[window.MX_insertedThemeStylesCounter]; + element.setAttribute('data-mx-theme', theme); + window.MX_insertedThemeStylesCounter++; parent.appendChild(element); }, }, @@ -460,8 +446,8 @@ module.exports = (env, argv) => { // This exports our CSS using the splitChunks and loaders above. new MiniCssExtractPlugin({ - filename: "bundles/[hash]/[name].css", - chunkFilename: "bundles/[hash]/[name].css", + filename: useCssHotReload ? "bundles/[name].css" : "bundles/[hash]/[name].css", + chunkFilename: useCssHotReload ? "bundles/[name].css" : "bundles/[hash]/[name].css", ignoreOrder: false, // Enable to remove warnings about conflicting order }), From c90430954bc1d8fa947bc2734b275783391e3099 Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Thu, 29 Jul 2021 16:17:04 +0100 Subject: [PATCH 11/57] Update issue labelling guidelines in README Add "prevalence" labels to use as a guideline for how often issues crop up. Combine prevalence and severity to indicate correspondence to how defects should be prioritised by the team. --- README.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 8bf6ecd8cfc..22166b66bfc 100644 --- a/README.md +++ b/README.md @@ -415,19 +415,24 @@ We strive to completely cover all applicable issues with these core labels: * __[S-Tolerable](https://github.com/vector-im/element-web/labels/S-Tolerable):__ Purely cosmetic or low / no impact to users -3. __Priority__ — All issues which are not `T-Other` are assigned a priority: - * __[P1](https://github.com/vector-im/element-web/labels/P1):__ Next - * __[P2](https://github.com/vector-im/element-web/labels/P2):__ Later - * __[P3](https://github.com/vector-im/element-web/labels/P3):__ Eventually - * __[P4](https://github.com/vector-im/element-web/labels/P4):__ Interesting — - Not yet scheduled, will accept patches - * __[P5](https://github.com/vector-im/element-web/labels/P5):__ Dubious — - Will not schedule, would consider patches +3. __Prevalence__ — All issues labeled `T-Defect` are also assigned a prevalence: + * __[P-High](https://github.com/vector-im/element-web/labels/P-High):__ Affects most users regularly or impacts most users' first experience (e.g. registration) + * __[P-Medium](https://github.com/vector-im/element-web/labels/P-Medium):__ Affects some users regularly or most users rarely + * __[P-Low](https://github.com/vector-im/element-web/labels/P-Low):__ Most users are unlikely to come across this or it is a corner case 4. __Area__ — Most issues are assigned one or several "areas" using one of the many `A-` prefixed labels, e.g. `A-Composer` or `A-Spaces`. Each area label maps to a group of features or portion of the UI surface in the app. +The Priority label is now deprecated. Defects will now be classed based on their severity and frequency +| Labels | Equivalent priority | What it means | +| ----------- | ----------- | ----------- | +| S‑Critical and F‑High
S‑Critical and F‑Medium
S‑Major and F‑High | P1 | These issues should be worked on in this sprint or next sprint. If the backlog of issues is too long, we should reevaluate why the bugs are not caught earlier. | +| S‑Critical and F‑Low
S‑Major and F‑Medium
S‑Minor and F‑High | P2 | When all the highest priority bugs are done, this is the next set to tackle. Ideally we should be fixing a few issues from this group every week. | +| S‑Major and F‑Low
S‑Minor and F‑Medium
S‑Tolerable and F‑High | P3 | These issues are wishful thinking. We hope to get to them one day, but we they are low priority. There are likely to be some good new contributor issues in here. | +| S‑Minor and F‑Low
S‑Tolerable and F‑Medium
S‑Minor and F‑Low | P4 and P5 | These issues are unlikely to be actively looked at by the webapp team, but may be picked up by community. | + + ### Other common labels We have a handful of other labels which are added on an as-needed basis, and not expected to be exhaustive: From e2ff2f5369ea5fd4539b6d25cc3574d99eed7416 Mon Sep 17 00:00:00 2001 From: Vancha Date: Tue, 3 Aug 2021 11:15:15 +0000 Subject: [PATCH 12/57] Added translation using Weblate (Frisian) --- src/i18n/strings/fy.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/fy.json diff --git a/src/i18n/strings/fy.json b/src/i18n/strings/fy.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/src/i18n/strings/fy.json @@ -0,0 +1 @@ +{} From d6606afd7247c273a0415ddf5e4a612d809eef07 Mon Sep 17 00:00:00 2001 From: Kat Gerasimova Date: Tue, 3 Aug 2021 13:35:31 +0100 Subject: [PATCH 13/57] Improve wording for triage label usage in README Signed-off-by: Ekaterina Gerasimova --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 22166b66bfc..9b877c22fa4 100644 --- a/README.md +++ b/README.md @@ -419,12 +419,13 @@ We strive to completely cover all applicable issues with these core labels: * __[P-High](https://github.com/vector-im/element-web/labels/P-High):__ Affects most users regularly or impacts most users' first experience (e.g. registration) * __[P-Medium](https://github.com/vector-im/element-web/labels/P-Medium):__ Affects some users regularly or most users rarely * __[P-Low](https://github.com/vector-im/element-web/labels/P-Low):__ Most users are unlikely to come across this or it is a corner case + This label may also be used for other types of issue. 4. __Area__ — Most issues are assigned one or several "areas" using one of the many `A-` prefixed labels, e.g. `A-Composer` or `A-Spaces`. Each area label maps to a group of features or portion of the UI surface in the app. -The Priority label is now deprecated. Defects will now be classed based on their severity and frequency +The Priority label is now deprecated. Defects will now be classed based on their severity and prevalence: | Labels | Equivalent priority | What it means | | ----------- | ----------- | ----------- | | S‑Critical and F‑High
S‑Critical and F‑Medium
S‑Major and F‑High | P1 | These issues should be worked on in this sprint or next sprint. If the backlog of issues is too long, we should reevaluate why the bugs are not caught earlier. | From 99c9824e15df9e0628185d9b75f1a1602816d337 Mon Sep 17 00:00:00 2001 From: Kat Gerasimova Date: Tue, 3 Aug 2021 14:08:02 +0100 Subject: [PATCH 14/57] Fix typo in triage text in the README Signed-off-by: Ekaterina Gerasimova --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9b877c22fa4..b97bdef63a7 100644 --- a/README.md +++ b/README.md @@ -428,10 +428,10 @@ We strive to completely cover all applicable issues with these core labels: The Priority label is now deprecated. Defects will now be classed based on their severity and prevalence: | Labels | Equivalent priority | What it means | | ----------- | ----------- | ----------- | -| S‑Critical and F‑High
S‑Critical and F‑Medium
S‑Major and F‑High | P1 | These issues should be worked on in this sprint or next sprint. If the backlog of issues is too long, we should reevaluate why the bugs are not caught earlier. | -| S‑Critical and F‑Low
S‑Major and F‑Medium
S‑Minor and F‑High | P2 | When all the highest priority bugs are done, this is the next set to tackle. Ideally we should be fixing a few issues from this group every week. | -| S‑Major and F‑Low
S‑Minor and F‑Medium
S‑Tolerable and F‑High | P3 | These issues are wishful thinking. We hope to get to them one day, but we they are low priority. There are likely to be some good new contributor issues in here. | -| S‑Minor and F‑Low
S‑Tolerable and F‑Medium
S‑Minor and F‑Low | P4 and P5 | These issues are unlikely to be actively looked at by the webapp team, but may be picked up by community. | +| S‑Critical and P‑High
S‑Critical and P‑Medium
S‑Major and P‑High | P1 | These issues should be worked on in this sprint or next sprint. If the backlog of issues is too long, we should reevaluate why the bugs are not caught earlier. | +| S‑Critical and P‑Low
S‑Major and P‑Medium
S‑Minor and P‑High | P2 | When all the highest priority bugs are done, this is the next set to tackle. Ideally we should be fixing a few issues from this group every week. | +| S‑Major and P‑Low
S‑Minor and P‑Medium
S‑Tolerable and P‑High | P3 | These issues are wishful thinking. We hope to get to them one day, but we they are low priority. There are likely to be some good new contributor issues in here. | +| S‑Minor and P‑Low
S‑Tolerable and P‑Medium
S‑Minor and P‑Low | P4 and P5 | These issues are unlikely to be actively looked at by the webapp team, but may be picked up by community. | ### Other common labels From 942700ee3b52367f5f42a746043b19846306b4e2 Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk Date: Tue, 3 Aug 2021 15:09:54 +0200 Subject: [PATCH 15/57] Bump eslint deps --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 39fd6d5ba81..ba87b98cb73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4252,8 +4252,8 @@ eslint-config-google@^0.14.0: integrity sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw== "eslint-plugin-matrix-org@github:matrix-org/eslint-plugin-matrix-org#main": - version "0.3.4" - resolved "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/45f6937539192e3820edcafc4d6d4d4187e85a6a" + version "0.3.5" + resolved "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/1d274dffca311b7a66c7efc9e309f4f6ea8d0717" eslint-plugin-react-hooks@^4.2.0: version "4.2.0" From 1dc6a5627367307717822190fee0929ff1f1a9fe Mon Sep 17 00:00:00 2001 From: Glandos Date: Mon, 2 Aug 2021 16:37:36 +0000 Subject: [PATCH 16/57] Translated using Weblate (French) 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/fr/ --- src/i18n/strings/fr.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index a64ffb3c9e3..675e46f6526 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -33,5 +33,6 @@ "Your browser can't run %(brand)s": "Votre navigateur ne peut pas exécuter %(brand)s", "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s nécessite des fonctionnalités avancées que votre navigateur actuel ne prend pas en charge.", "Powered by Matrix": "Propulsé par Matrix", - "Use %(brand)s on mobile": "Utiliser %(brand)s sur téléphone" + "Use %(brand)s on mobile": "Utiliser %(brand)s sur téléphone", + "Switch to space by number": "Afficher un espace par son numéro" } From c3af46dc27b6f04afb5ec82de306a52635a5b9c0 Mon Sep 17 00:00:00 2001 From: Oskars G Date: Sun, 1 Aug 2021 19:24:01 +0000 Subject: [PATCH 17/57] Translated using Weblate (Latvian) Currently translated at 94.1% (32 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/lv/ --- src/i18n/strings/lv.json | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/i18n/strings/lv.json b/src/i18n/strings/lv.json index 6268c3f37bd..b3afc2caf9a 100644 --- a/src/i18n/strings/lv.json +++ b/src/i18n/strings/lv.json @@ -1,36 +1,38 @@ { - "Dismiss": "Aizvērt", + "Dismiss": "Aizvērt/atcelt", "powered by Matrix": "Tiek darbināta ar Matrix", "Unknown device": "Nezināma ierīce", - "You need to be using HTTPS to place a screen-sharing call.": "Lai veiktu ekrāna kopīgošanas zvanu, nepieciešams izmantot HTTPS savienojumu.", - "Welcome to Element": "Esiet laipni gaidīti Element", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralizēta, šifrēta čata & kopdarbošanās sistēma uz [matrix] bāzes", - "Sign In": "Pierakstīties", + "You need to be using HTTPS to place a screen-sharing call.": "Ekrāna kopīgošanai nepieciešams izmantot HTTPS savienojumu.", + "Welcome to Element": "Esiet laipni gaidīti Elementā", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralizēta, šifrēta tērziņu & kopdarbības vide uz [matrix] bāzes", + "Sign In": "Ierakstīties", "Create Account": "Izveidot kontu", - "Explore rooms": "Pārlūkot istabas", + "Explore rooms": "Pārlūkot telpas", "Unexpected error preparing the app. See console for details.": "Negaidīta kļūda, sagatavojot lietotni. Sīkāku informāciju skatiet konsolē.", "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Kļūdaina konfigurācija: var norādīt tikai vienu no parametriem default_server_config, default_server_name, vai default_hs_url.", "Invalid configuration: no default server specified.": "Kļūdaina konfigurācija: nav norādīts noklusējuma serveris.", - "The message from the parser is: %(message)s": "Ziņojums no parsētāja ir: %(message)s", + "The message from the parser is: %(message)s": "No pārsētāja ir ziņa: %(message)s", "Invalid JSON": "Kļūdains JSON", - "Unable to load config file: please refresh the page to try again.": "Neizdevās ielādēt konfigurācijas datni. Lūdzu, pārlādējiet lapu, lai mēģinātu vēlreiz.", + "Unable to load config file: please refresh the page to try again.": "Neizdevās ielādēt konfigurācijas failu. Lai atkārtotu mēģinātu, lūdzu pārlādējiet lapu.", "Open user settings": "Atvērt lietotāja iestatījumus", - "Go to your browser to complete Sign In": "Pārejiet uz pārlūku, lai pabeigtu pierakstīšanos", + "Go to your browser to complete Sign In": "Dodieties uz pārlūku, lai pabeigtu pierakstīšanos", "Unsupported browser": "Neatbalstīts pārlūks", - "Please install Chrome, Firefox, or Safari for the best experience.": "Labākajai izmantošanas pieredzei, lūdzu, instalējiet Chrome, Firefox vai Safari pārlūku.", - "You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Jūs varat turpināt lietot savu pašreizējo pārlūku, bet dažas vai visas funkcijas nestrādās, un lietotnes izskats var būt nepareizs.", - "I understand the risks and wish to continue": "Es pieņemu riskus un vēlos turpināt", - "Go to element.io": "Ej uz element.io", + "Please install Chrome, Firefox, or Safari for the best experience.": "Lai gūtu labāko lietošanas pieredzi, lūdzu, instalējiet Chromium, Firefox vai Safari pārlūku.", + "You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Jūs varat turpināt lietot savu pašreizējo pārlūku, bet dažas funkcijas nestrādās un lietotnes izskats/saskarne var būt atspoguļoti nekorekti.", + "I understand the risks and wish to continue": "Es apzinos riskus un vēlos turpināt", + "Go to element.io": "Doties uz element.io", "Failed to start": "Neizdevās palaist", - "Powered by Matrix": "Darbojas uz Matrix", - "Previous/next recently visited room or community": "Iepriekšējā/nākošā nesen apmeklētā istaba vai kopiena", - "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s izmanto pārlūku papildus funkcijas, kas netiek atbalstītas šajā pārlūkā.", + "Powered by Matrix": "Griežas uz Matrix tehnoloģijas", + "Previous/next recently visited room or community": "Iepriekšējā/nākošā nesen apmeklētā telpa vai kopiena", + "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s izmanto pārlūku papildfunkcijas, kuras netiek atbalstītas šajā pārlūkā.", "Your browser can't run %(brand)s": "Jūsu pārlūks nevar palaist %(brand)s", "Missing indexeddb worker script!": "Trūkst indexeddb worker skripta!", "Open": "Atvērt", - "Download Completed": "Lejupielāde pabeigta", - "Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Jūsu Element konfigurācija satur kļūdainu JSON. Lūdzu, salabojiet problēmu un pārlādējiet lapu.", + "Download Completed": "Lejuplāde pabeigta", + "Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Jūsu Element konfigurācija satur kļūdainu JSON. Lūdzu, izlabojiet un pārlādējiet lapu.", "Your Element is misconfigured": "Jūsu Element ir nokonfigurēts kļūdaini", "%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)", - "%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)" + "%(brand)s Desktop (%(platformName)s)": "%(brand)s Galdvirsmas (%(platformName)s)", + "Switch to space by number": "Pārslēgties uz atstarpi/tukšumu ar numuru", + "Use %(brand)s on mobile": "Mobilajā tālrunī izmanojiet %(brand)s" } From 484563477ed0618aa88c5f97c286fa3b33683888 Mon Sep 17 00:00:00 2001 From: Vancha Date: Tue, 3 Aug 2021 12:20:43 +0000 Subject: [PATCH 18/57] Translated using Weblate (Frisian) 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/fy/ --- src/i18n/strings/fy.json | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fy.json b/src/i18n/strings/fy.json index 0967ef424bc..fa55c9dc5d5 100644 --- a/src/i18n/strings/fy.json +++ b/src/i18n/strings/fy.json @@ -1 +1,36 @@ -{} +{ + "Sign In": "Ynskriuwe", + "Failed to start": "Iepenjen mislearre", + "You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Jo kinne fierder gean mei jo eigen browser, mar guon funksjes kinne net wurkje en uterlik kin de applikaasje der ôfwikend út sjen.", + "Please install Chrome, Firefox, or Safari for the best experience.": "Graach Chrome, Firefox, ofSafari ynstallearre foar de beste ûnderfining.", + "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s brûkt avansearre browser funksjes dy net stipe wurde troch de browser dy jo no brûke.", + "Powered by Matrix": "Fersoarge troch Matrix", + "%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)", + "Previous/next recently visited room or community": "Foarige/Folgjende resintlik besochte keamer as mienskip", + "Switch to space by number": "Wikselje fan romte mei nûmer", + "Unexpected error preparing the app. See console for details.": "Ûnferwachte flater by it klearmeitsjen fan de applikaasje. Sjoch yn'e konsole foar details.", + "The message from the parser is: %(message)s": "It berjocht fan de ferwurker is: %(message)s", + "Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Jo Element konfiguraasje hat ûnjildige JSON. Nei dat jo dit oplost ha kin dizze side ferfarske wurde.", + "Use %(brand)s on mobile": "Brûk %(brand)s op mobyl", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Desintralisearre, fersifere chat & gearwurking fersoarge troch [matrix]", + "You need to be using HTTPS to place a screen-sharing call.": "Jo moatte HTTPS brûke om te skiljen en jo skermynhâld te dielen.", + "%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)", + "Go to your browser to complete Sign In": "Gean nei jo browser om it ynskriuwen ôf te rûnen", + "Download Completed": "Klear mei Delheljen", + "Unable to load config file: please refresh the page to try again.": "Kin konfiguraasje bestân net lade: ferfarskje de side en probearje it noch ris.", + "Open user settings": "Brûkersynstellingen iepenje", + "Dismiss": "Negearre", + "Explore rooms": "Keamers ûntdekke", + "Create Account": "Account Meitsje", + "Welcome to Element": "Wolkom by Element", + "I understand the risks and wish to continue": "Ik begryp de risiko's en wol graach fierder gean", + "Go to element.io": "Gean nei element.io", + "Your browser can't run %(brand)s": "Jo browser kin %(brand)s net útfiere", + "Unsupported browser": "Net stipe browser", + "Unknown device": "Ûnbekend apparaat", + "Open": "Iepenje", + "Invalid JSON": "Ûnjildiche JSON", + "Your Element is misconfigured": "Jo Element is net goed konfigurearre", + "Invalid configuration: no default server specified.": "Ûnjildiche konfiguraasje: gjin standert tsjinner selektearre.", + "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ûnjildige konfiguraasje: kin allinnich kieze út default_server_config, default_server_name, as default_hs_url." +} From c29ef4bb5f1bf854d5df04b571047ead341716b0 Mon Sep 17 00:00:00 2001 From: Kat Gerasimova Date: Tue, 3 Aug 2021 15:09:53 +0100 Subject: [PATCH 19/57] Add empty line to improve rendering in README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Šimon Brandner --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b97bdef63a7..7f7b81c370d 100644 --- a/README.md +++ b/README.md @@ -419,7 +419,8 @@ We strive to completely cover all applicable issues with these core labels: * __[P-High](https://github.com/vector-im/element-web/labels/P-High):__ Affects most users regularly or impacts most users' first experience (e.g. registration) * __[P-Medium](https://github.com/vector-im/element-web/labels/P-Medium):__ Affects some users regularly or most users rarely * __[P-Low](https://github.com/vector-im/element-web/labels/P-Low):__ Most users are unlikely to come across this or it is a corner case - This label may also be used for other types of issue. + + This label may also be used for other types of issues. 4. __Area__ — Most issues are assigned one or several "areas" using one of the many `A-` prefixed labels, e.g. `A-Composer` or `A-Spaces`. Each area label From cfb1aefbc62c046ae3f9fd1b2fbce97e619ff165 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 3 Aug 2021 17:17:20 +0100 Subject: [PATCH 20/57] Update eslint-plugin-matrix-org --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index eb6c4136cf2..b718f37a82a 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "css-loader": "^3.6.0", "eslint": "7.18.0", "eslint-config-google": "^0.14.0", - "eslint-plugin-matrix-org": "github:matrix-org/eslint-plugin-matrix-org#main", + "eslint-plugin-matrix-org": "github:matrix-org/eslint-plugin-matrix-org#2306b3d4da4eba908b256014b979f1d3d43d2945", "eslint-plugin-react": "^7.22.0", "eslint-plugin-react-hooks": "^4.2.0", "extract-text-webpack-plugin": "^4.0.0-beta.0", diff --git a/yarn.lock b/yarn.lock index ba87b98cb73..1bf80d27ec1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4251,9 +4251,9 @@ eslint-config-google@^0.14.0: resolved "https://registry.yarnpkg.com/eslint-config-google/-/eslint-config-google-0.14.0.tgz#4f5f8759ba6e11b424294a219dbfa18c508bcc1a" integrity sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw== -"eslint-plugin-matrix-org@github:matrix-org/eslint-plugin-matrix-org#main": +"eslint-plugin-matrix-org@github:matrix-org/eslint-plugin-matrix-org#2306b3d4da4eba908b256014b979f1d3d43d2945": version "0.3.5" - resolved "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/1d274dffca311b7a66c7efc9e309f4f6ea8d0717" + resolved "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/2306b3d4da4eba908b256014b979f1d3d43d2945" eslint-plugin-react-hooks@^4.2.0: version "4.2.0" From 3aa5b1c901686ddeb782dbac924e30ec105c9613 Mon Sep 17 00:00:00 2001 From: jelv Date: Tue, 3 Aug 2021 16:12:11 +0000 Subject: [PATCH 21/57] 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/ --- src/i18n/strings/nl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index 47322348e04..8c3f756228b 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -7,7 +7,7 @@ "Decentralised, encrypted chat & collaboration powered by [matrix]": "Gedecentraliseerd en versleuteld chatten & samenwerken dankzij [matrix]", "Sign In": "Inloggen", "Create Account": "Registreren", - "Explore rooms": "Gesprekken ontdekken", + "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.", From cc1a1e751b893143ac61a74c18c84a1b46cdc9fc Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk Date: Tue, 3 Aug 2021 18:37:48 +0200 Subject: [PATCH 22/57] Add some additional HMR cleanup for dev --- src/vector/devcss.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/vector/devcss.ts b/src/vector/devcss.ts index 1937ca949d0..75ce2b2af26 100644 --- a/src/vector/devcss.ts +++ b/src/vector/devcss.ts @@ -28,6 +28,19 @@ limitations under the License. * For more details, see webpack.config.js:184 (string-replace-loader) */ if (process.env.NODE_ENV === 'development') { - "use theming"; + ("use theming"); + /** + * Clean up old hot-module script injections as they hog up memory + * and anything other than the newest one is really not needed at all. + * We don't need to do it more frequently than every half a minute or so, + * but it's done to delay full page reload due to app slowness. + */ + setInterval(() => { + const elements = Array.from(document.querySelectorAll("script[src*=hot-update]")); + if (elements.length > 1) { + const oldInjects = elements.slice(0, elements.length - 1); + oldInjects.forEach(e => e.remove()); + } + }, 1000); } From 06d536afbc44f434e41465071a39e39aff940c09 Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk Date: Tue, 3 Aug 2021 18:38:00 +0200 Subject: [PATCH 23/57] Revert nameModules in webpackConfig --- webpack.config.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/webpack.config.js b/webpack.config.js index 8df042d14c0..b2cb981ef63 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -113,7 +113,7 @@ module.exports = (env, argv) => { // This fixes duplicate files showing up in chrome with sourcemaps enabled. // See https://github.com/webpack/webpack/issues/7128 for more info. - namedModules: true, + namedModules: false, // Minification is normally enabled by default for webpack in production mode, but // we use a CSS optimizer too and need to manage it ourselves. @@ -528,18 +528,14 @@ module.exports = (env, argv) => { devServer: { // serve unwebpacked assets from webapp. contentBase: [ - './src/', './webapp', - './bundles/**', - './node_modules/matrix-react-sdk/**', - './node_modules/matrix-js-sdk/**', ], // Only output errors, warnings, or new compilations. // This hides the massive list of modules. stats: 'minimal', - hot: true, - injectHot: true, + // hot: false, + // injectHot: false, hotOnly: true, inline: true, }, From 1c10292343019255b44b3d3273e1c2c4ea4793f9 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 3 Aug 2021 18:10:36 +0100 Subject: [PATCH 24/57] Switch to new changelog generator See https://github.com/matrix-org/matrix-react-sdk/pull/6537 / https://github.com/matrix-org/matrix-js-sdk/pull/1824 --- package.json | 1 + release_config.yaml | 3 + yarn.lock | 306 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 307 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index eb6c4136cf2..52803421b1d 100644 --- a/package.json +++ b/package.json @@ -97,6 +97,7 @@ "@types/sanitize-html": "^2.3.1", "@typescript-eslint/eslint-plugin": "^4.17.0", "@typescript-eslint/parser": "^4.17.0", + "allchange": "github:matrix-org/allchange", "autoprefixer": "^9.8.6", "babel-jest": "^26.6.3", "babel-loader": "^8.2.2", diff --git a/release_config.yaml b/release_config.yaml index 49d7ccd519b..4d207a32d89 100644 --- a/release_config.yaml +++ b/release_config.yaml @@ -1 +1,4 @@ signing_id: releases@riot.im +subprojects: + matrix-react-sdk: + includeByDefault: true diff --git a/yarn.lock b/yarn.lock index ba87b98cb73..dfce2b98387 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1309,6 +1309,107 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@octokit/auth-token@^2.4.4": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3" + integrity sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== + dependencies: + "@octokit/types" "^6.0.3" + +"@octokit/core@^3.5.0": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" + integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== + dependencies: + "@octokit/auth-token" "^2.4.4" + "@octokit/graphql" "^4.5.8" + "@octokit/request" "^5.6.0" + "@octokit/request-error" "^2.0.5" + "@octokit/types" "^6.0.3" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^6.0.1": + version "6.0.12" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" + integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== + dependencies: + "@octokit/types" "^6.0.3" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^4.5.8": + version "4.6.4" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.4.tgz#0c3f5bed440822182e972317122acb65d311a5ed" + integrity sha512-SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg== + dependencies: + "@octokit/request" "^5.6.0" + "@octokit/types" "^6.0.3" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-9.3.0.tgz#160347858d727527901c6aae7f7d5c2414cc1f2e" + integrity sha512-oz60hhL+mDsiOWhEwrj5aWXTOMVtQgcvP+sRzX4C3cH7WOK9QSAoEtjWh0HdOf6V3qpdgAmUMxnQPluzDWR7Fw== + +"@octokit/plugin-paginate-rest@^2.6.2": + version "2.15.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.0.tgz#9c956c3710b2bd786eb3814eaf5a2b17392c150d" + integrity sha512-/vjcb0w6ggVRtsb8OJBcRR9oEm+fpdo8RJk45khaWw/W0c8rlB2TLCLyZt/knmC17NkX7T9XdyQeEY7OHLSV1g== + dependencies: + "@octokit/types" "^6.23.0" + +"@octokit/plugin-request-log@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== + +"@octokit/plugin-rest-endpoint-methods@5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.6.0.tgz#c28833b88d0f07bf94093405d02d43d73c7de99b" + integrity sha512-2G7lIPwjG9XnTlNhe/TRnpI8yS9K2l68W4RP/ki3wqw2+sVeTK8hItPxkqEI30VeH0UwnzpuksMU/yHxiVVctw== + dependencies: + "@octokit/types" "^6.23.0" + deprecation "^2.3.1" + +"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== + dependencies: + "@octokit/types" "^6.0.3" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.0.tgz#6084861b6e4fa21dc40c8e2a739ec5eff597e672" + integrity sha512-4cPp/N+NqmaGQwbh3vUsYqokQIzt7VjsgTYVXiwpUP2pxd5YiZB2XuTedbb0SPtv9XS7nzAKjAuQxmY8/aZkiA== + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.16.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + universal-user-agent "^6.0.0" + +"@octokit/rest@^18.6.7": + version "18.8.0" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.8.0.tgz#ba24f7ba554f015a7ae2b7cc2aecef5386ddfea5" + integrity sha512-lsuNRhgzGnLMn/NmQTNCit/6jplFWiTUlPXhqN0zCMLwf2/9pseHzsnTW+Cjlp4bLMEJJNPa5JOzSLbSCOahKw== + dependencies: + "@octokit/core" "^3.5.0" + "@octokit/plugin-paginate-rest" "^2.6.2" + "@octokit/plugin-request-log" "^1.0.2" + "@octokit/plugin-rest-endpoint-methods" "5.6.0" + +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.23.0": + version "6.23.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.23.0.tgz#b39f242b20036e89fa8f34f7962b4e9b7ff8f65b" + integrity sha512-eG3clC31GSS7K3oBK6C6o7wyXPrkP+mu++eus8CSZdpRytJ5PNszYxudOQ0spWZQ3S9KAtoTG6v1WK5prJcJrA== + dependencies: + "@octokit/openapi-types" "^9.3.0" + "@principalstudio/html-webpack-inject-preload@^1.2.7": version "1.2.7" resolved "https://registry.yarnpkg.com/@principalstudio/html-webpack-inject-preload/-/html-webpack-inject-preload-1.2.7.tgz#0c1f0b32a34d814b36ce84111f89990441cc64e8" @@ -1939,6 +2040,17 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" +"allchange@github:matrix-org/allchange": + version "0.0.1" + resolved "https://codeload.github.com/matrix-org/allchange/tar.gz/56b37b06339a3ac3fe771f3ec3d0bff798df8dab" + dependencies: + "@octokit/rest" "^18.6.7" + cli-color "^2.0.0" + js-yaml "^4.1.0" + loglevel "^1.7.1" + semver "^7.3.5" + yargs "^17.0.1" + alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -1971,7 +2083,7 @@ ansi-html@0.0.7: resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= -ansi-regex@^2.0.0: +ansi-regex@^2.0.0, ansi-regex@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= @@ -2041,6 +2153,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -2398,6 +2515,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +before-after-hook@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" + integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== + big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -3025,6 +3147,18 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +cli-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-2.0.0.tgz#11ecfb58a79278cf6035a60c54e338f9d837897c" + integrity sha512-a0VZ8LeraW0jTuCkuAGMNufareGHhyZU9z8OGsW0gXd1hZGi1SRuNRXdbGkraBBKnhyUhyebFWnRbp+dIn0f0A== + dependencies: + ansi-regex "^2.1.1" + d "^1.0.1" + es5-ext "^0.10.51" + es6-iterator "^2.0.3" + memoizee "^0.4.14" + timers-ext "^0.1.7" + cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -3043,6 +3177,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -3654,6 +3797,14 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -3806,6 +3957,11 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + des.js@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" @@ -4209,6 +4365,42 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.51, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.53" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@^2.0.3, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -4414,6 +4606,14 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= + dependencies: + d "1" + es5-ext "~0.10.14" + eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -4586,6 +4786,13 @@ express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + dependencies: + type "^2.0.0" + extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -5085,7 +5292,7 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -6253,6 +6460,11 @@ is-primitive@^2.0.0: resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= +is-promise@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + is-regex@^1.0.3, is-regex@^1.0.4, is-regex@^1.1.2, is-regex@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" @@ -6875,6 +7087,13 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -7228,6 +7447,13 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= + dependencies: + es5-ext "~0.10.2" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7453,6 +7679,20 @@ memoize-one@^5.1.1: resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== +memoizee@^0.4.14: + version "0.4.15" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.53" + es6-weak-map "^2.0.3" + event-emitter "^0.3.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" + memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -7806,6 +8046,16 @@ neo-async@^2.5.0, neo-async@^2.6.1: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +next-tick@1, next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -11116,6 +11366,14 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +timers-ext@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== + dependencies: + es5-ext "~0.10.46" + next-tick "1" + timsort@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" @@ -11303,6 +11561,16 @@ type-is@~1.6.17, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.0.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -11452,6 +11720,11 @@ unist-util-stringify-position@^2.0.0: dependencies: "@types/unist" "^2.0.2" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -11990,6 +12263,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -12037,6 +12319,11 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -12068,7 +12355,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.3: +yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== @@ -12106,6 +12393,19 @@ yargs@^15.3.1, yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yargs@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb" + integrity sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + zwitch@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" From 2d6a8d3d1e972f5a624544498b3b027a7d58c921 Mon Sep 17 00:00:00 2001 From: Kat Gerasimova Date: Wed, 4 Aug 2021 10:19:53 +0100 Subject: [PATCH 25/57] Make triage wording in README friendlier Co-authored-by: James Salter --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7f7b81c370d..28e4a97a666 100644 --- a/README.md +++ b/README.md @@ -431,7 +431,7 @@ The Priority label is now deprecated. Defects will now be classed based on their | ----------- | ----------- | ----------- | | S‑Critical and P‑High
S‑Critical and P‑Medium
S‑Major and P‑High | P1 | These issues should be worked on in this sprint or next sprint. If the backlog of issues is too long, we should reevaluate why the bugs are not caught earlier. | | S‑Critical and P‑Low
S‑Major and P‑Medium
S‑Minor and P‑High | P2 | When all the highest priority bugs are done, this is the next set to tackle. Ideally we should be fixing a few issues from this group every week. | -| S‑Major and P‑Low
S‑Minor and P‑Medium
S‑Tolerable and P‑High | P3 | These issues are wishful thinking. We hope to get to them one day, but we they are low priority. There are likely to be some good new contributor issues in here. | +| S‑Major and P‑Low
S‑Minor and P‑Medium
S‑Tolerable and P‑High | P3 | These issues are wishful thinking for now. We hope to get to them one day, but they are low priority. There are likely to be some good new contributor issues in here. | | S‑Minor and P‑Low
S‑Tolerable and P‑Medium
S‑Minor and P‑Low | P4 and P5 | These issues are unlikely to be actively looked at by the webapp team, but may be picked up by community. | From 79157c0bf920a23635b1ece48a0c733a4c24dce7 Mon Sep 17 00:00:00 2001 From: James Salter Date: Wed, 4 Aug 2021 10:32:45 +0100 Subject: [PATCH 26/57] Add config keys for posthog --- docs/config.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/config.md b/docs/config.md index 1ca4bf48ffb..6d482bf1325 100644 --- a/docs/config.md +++ b/docs/config.md @@ -136,6 +136,9 @@ For a good example, see https://develop.element.io/config.json. 1. `obeyAssertedIdentity`: If set, MSC3086 asserted identity messages sent on VoIP calls will cause the call to appear in the room corresponding to the asserted identity. This *must* only be set in trusted environments. +1. `posthog`: [Posthog](https://posthog.com/) integration config. If not set, Posthog analytics are disabled. + 1. `projectApiKey`: The Posthog project API key + 2. `apiHost`: The Posthog API host Note that `index.html` also has an og:image meta tag that is set to an image hosted on riot.im. This is the image used if links to your copy of Element From d9289f063ab88fdb5ecf55b87525eddabf44a2b6 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 4 Aug 2021 13:31:27 +0100 Subject: [PATCH 27/57] Add codeowners --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000000..2c068fff330 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @matrix-org/element-web From e9863f0719498bc2a828469db86bde613709c4ae Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 4 Aug 2021 18:50:09 +0100 Subject: [PATCH 28/57] Add github workflow to put issues tagged design on the design board --- .github/workflows/issues_to_projects.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/workflows/issues_to_projects.yaml diff --git a/.github/workflows/issues_to_projects.yaml b/.github/workflows/issues_to_projects.yaml new file mode 100644 index 00000000000..3b58e1b58f9 --- /dev/null +++ b/.github/workflows/issues_to_projects.yaml @@ -0,0 +1,14 @@ +on: + issues: + types: [labeled] +jobs: + move_issues: + name: Move issues to project board + runs-on: ubuntu-latest + steps: + - uses: konradpabjan/move-labeled-or-milestoned-issue@v2.0 + with: + action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}" + project-url: "https://github.com/orgs/vector-im/projects/14" + column-name: "📥 Inbox" + label-name: "X-Needs-Design" From 54620a2eb8d4055f745a37b24d48f086adf196ff Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 4 Aug 2021 18:53:50 +0100 Subject: [PATCH 29/57] Fix org in codeowners --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2c068fff330..558f9e0059a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @matrix-org/element-web +* @vector-im/element-web From d4fc3ed354937358b2002b16b7c392b90b074179 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 4 Aug 2021 15:08:52 -0600 Subject: [PATCH 30/57] Properly handle react-sdk's recorder worklet Fixes https://github.com/vector-im/element-web/issues/18393 --- package.json | 3 ++- src/vector/index.html | 5 +---- webpack.config.js | 21 ++++++++++++++++++++- yarn.lock | 14 ++++++++++++++ 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 48838379fad..ac155d09e08 100644 --- a/package.json +++ b/package.json @@ -153,7 +153,8 @@ "webpack": "^4.46.0", "webpack-cli": "^3.3.12", "webpack-dev-server": "^3.11.2", - "worker-loader": "^2.0.0" + "worker-loader": "^2.0.0", + "worklet-loader": "^2.0.0" }, "jest": { "testEnvironment": "jest-environment-jsdom-sixteen", diff --git a/src/vector/index.html b/src/vector/index.html index 29b1f132214..b0a2425338d 100644 --- a/src/vector/index.html +++ b/src/vector/index.html @@ -58,10 +58,7 @@ } %> - " - > +
diff --git a/webpack.config.js b/webpack.config.js index b2cb981ef63..18d389d854f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -89,7 +89,6 @@ module.exports = (env, argv) => { "mobileguide": "./src/vector/mobile_guide/index.ts", "jitsi": "./src/vector/jitsi/index.ts", "usercontent": "./node_modules/matrix-react-sdk/src/usercontent/index.js", - "recorder-worklet": "./node_modules/matrix-react-sdk/src/audio/RecorderWorklet.ts", ...(useCssHotReload ? {} : cssThemes), }, @@ -351,6 +350,26 @@ module.exports = (env, argv) => { outputPath: '.', }, }, + { + // Special case the recorder worklet as it can't end up HMR'd, but the worker-loader + // isn't good enough for us. Note that the worklet-loader is listed as "do not use", + // however it seems to work fine for our purposes. + test: /RecorderWorklet\.ts$/, + type: "javascript/auto", + use: [ // executed last -> first, for some reason. + { + loader: "worklet-loader", + options: { + // Override name so we know what it is in the output. + name: 'recorder-worklet.[hash:7].js', + }, + }, + { + // TS -> JS because the worklet-loader won't do this for us. + loader: "babel-loader", + }, + ], + }, { // This is from the same place as the encoderWorker above, but only needed // for Safari support. diff --git a/yarn.lock b/yarn.lock index 087e6e64f8b..601a1363bf5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5651,6 +5651,11 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +hoek@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" + integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA== + hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -12284,6 +12289,15 @@ worker-loader@^2.0.0: loader-utils "^1.0.0" schema-utils "^0.4.0" +worklet-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/worklet-loader/-/worklet-loader-2.0.0.tgz#c6c8f7dbed38f3d32dfc61c399f13a85f7eebe9d" + integrity sha512-zvCCyhgrn85C5g1+EQWDz4KHxkEMq/fZQXVftjFOcxTy6f+grBSRTJLoit3u8xyKIBTGEgQzYiousSm3YWt8oA== + dependencies: + hoek "^4.2.1" + loader-utils "^1.0.0" + schema-utils "^0.4.0" + wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" From e123b8bcc0a3c13cb79b39922f1d5f286fad433c Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 4 Aug 2021 15:24:02 -0600 Subject: [PATCH 31/57] Appease Jest --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index ac155d09e08..f9127a1bf3e 100644 --- a/package.json +++ b/package.json @@ -178,7 +178,8 @@ "waveWorker\\.min\\.js": "/node_modules/matrix-react-sdk/__mocks__/empty.js", "context-filter-polyfill": "/node_modules/matrix-react-sdk/__mocks__/empty.js", "FontManager.ts": "/node_modules/matrix-react-sdk/__mocks__/FontManager.js", - "workers/(.+)\\.worker\\.ts": "/node_modules/matrix-react-sdk/__mocks__/workerMock.js" + "workers/(.+)\\.worker\\.ts": "/node_modules/matrix-react-sdk/__mocks__/workerMock.js", + "RecorderWorklet": "/node_modules/matrix-react-sdk/__mocks__/empty.js" }, "transformIgnorePatterns": [ "/node_modules/(?!matrix-js-sdk).+$", From 6685ff0e79b7eeac6106e151ca81f51235a0d1c0 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 5 Aug 2021 11:10:50 +0100 Subject: [PATCH 32/57] Fix the decoder-ring --- res/decoder-ring/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/decoder-ring/index.html b/res/decoder-ring/index.html index 9984815f01e..0b47e2b44df 100644 --- a/res/decoder-ring/index.html +++ b/res/decoder-ring/index.html @@ -11,7 +11,7 @@ - + From a567b1d57f5b243df798032808e59e513a51976e Mon Sep 17 00:00:00 2001 From: Nikita Epifanov Date: Thu, 5 Aug 2021 08:16:32 +0000 Subject: [PATCH 33/57] Translated using Weblate (Russian) 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/ru/ --- src/i18n/strings/ru.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 361cd53e9dd..b6fdd56ff7a 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -33,5 +33,6 @@ "Your browser can't run %(brand)s": "Ваш браузер не может запустить %(brand)s", "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s использует расширенные возможности, которые не поддерживаются вашим браузером.", "Powered by Matrix": "На технологии Matrix", - "Use %(brand)s on mobile": "Воспользуйтесь %(brand)s на мобильном телефоне" + "Use %(brand)s on mobile": "Воспользуйтесь %(brand)s на мобильном телефоне", + "Switch to space by number": "Переключение на пространство по номеру" } From d5cd770c84d4d06a1b4fe3212253afe16a8309ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Fri, 6 Aug 2021 07:58:33 +0200 Subject: [PATCH 34/57] Add docs for feature_hidden_read_receipts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- docs/labs.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/labs.md b/docs/labs.md index f880e3cd587..0799ef7b501 100644 --- a/docs/labs.md +++ b/docs/labs.md @@ -129,3 +129,7 @@ encrypted on the server, as described in [MSC2697](https://github.com/matrix-org Enables UI for turning on "do not disturb" mode for the current device. When DND mode is engaged, popups and notification noises are suppressed. Not perfect, but can help reduce noise. + +## Hidden read receipts (`feature_hidden_read_receipts`) + +Enables sending hidden read receipts as per [MSC2285](https://github.com/matrix-org/matrix-doc/pull/2285) From 8480dbb726c204395e347c30c5af1862a7e86d79 Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Fri, 6 Aug 2021 09:00:08 +0100 Subject: [PATCH 35/57] Add new issue templates for bugs Replace the old issue template with two new issue forms to help guide contributors through the issue creation Signed-off-by: Ekaterina Gerasimova --- .github/ISSUE_TEMPLATE/bug-desktop.yml | 54 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/bug-web.yml | 62 ++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/bug_report.md | 58 ------------------------ 3 files changed, 116 insertions(+), 58 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug-desktop.yml create mode 100644 .github/ISSUE_TEMPLATE/bug-web.yml delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md diff --git a/.github/ISSUE_TEMPLATE/bug-desktop.yml b/.github/ISSUE_TEMPLATE/bug-desktop.yml new file mode 100644 index 00000000000..fd1f34a3b54 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-desktop.yml @@ -0,0 +1,54 @@ +name: Bug report for the Element desktop app (not in a browser) +description: File a bug report if you are using the desktop Element application. +title: "[Bug]: " +labels: [T-Defect, triage] +assignees: + - +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + Please report security issues by email to security@matrix.org + - type: textarea + id: reproduction-steps + attributes: + label: Steps to reproduce + description: Please attach screenshots, videos or logs if you can. + placeholder: Tell us what you see! + value: | + 1. Where are you starting? What can you see? + 2. What do you click? + 3. More steps… + validations: + required: true + - type: textarea + id: what-happened + attributes: + label: What happened? + placeholder: Tell us what went wrong + validations: + required: true + - type: textarea + id: expected-result + attributes: + label: What did you expect? + placeholder: Tell us what you expected to happen + validations: + required: true + - type: input + id: os + attributes: + label: Operating system + placeholder: Windows, macOS, Ubuntu, Arch Linux… + validations: + required: false + - type: input + id: version + attributes: + label: Application version + description: You can find the version information in Settings -> Help & About. + placeholder: e.g. Element version 1.7.34, olm version 3.2.3 + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/bug-web.yml b/.github/ISSUE_TEMPLATE/bug-web.yml new file mode 100644 index 00000000000..70665b59097 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-web.yml @@ -0,0 +1,62 @@ +name: Bug report for Element Web (in browser) +description: File a bug report if you are using Element in a web browser like Firefox, Chrome, Edge, and so on. +title: "[Bug]: " +labels: [T-Defect, triage] +assignees: + - +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + Please report security issues by email to security@matrix.org + - type: textarea + id: reproduction-steps + attributes: + label: Steps to reproduce + description: Please attach screenshots, videos or logs if you can. + placeholder: Tell us what you see! + value: | + 1. Where are you starting? What can you see? + 2. What do you click? + 3. More steps… + validations: + required: true + - type: textarea + id: what-happened + attributes: + label: What happened? + placeholder: Tell us what went wrong + validations: + required: true + - type: textarea + id: expected-result + attributes: + label: What did you expect? + placeholder: Tell us what you expected to happen + validations: + required: true + - type: input + id: os + attributes: + label: Operating system + placeholder: Windows, macOS, Ubuntu, Arch Linux… + validations: + required: false + - type: input + id: browser + attributes: + label: Browser information + description: Which browser are you using? Which version? + placeholder: e.g. Chromium Version 92.0.4515.131 + validations: + required: false + - type: input + id: webapp-url + attributes: + label: URL for webapp + description: Which URL are you using to access the webapp? If a private server, tell us what version of Element Web you are using. + placeholder: e.g. develop.element.io, app.element.io + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index d05466c6c06..00000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: T-Defect -assignees: '' - ---- - - - - - - - -#### Description - -Describe here the problem that you are experiencing, or the feature you are requesting. - -#### Steps to reproduce - -- For bugs, list the steps -- that reproduce the bug -- using hyphens as bullet points - -Describe how what happens differs from what you expected. - - -Logs being sent: yes/no - - - -#### Version information - - - -- **Platform**: web (in-browser) or desktop? - -For the web app: - -- **Browser**: Chrome, Firefox, Safari, Edge? which version? -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **URL**: develop.element.io / app.element.io / somewhere else? If a private server, what version of Element Web? - -For the desktop app: - -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **Version**: 1.x.y From 98a71bd7df6b1e467962eb9c6da19fec1049c57d Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Fri, 6 Aug 2021 09:14:06 +0100 Subject: [PATCH 36/57] Issue forms: add question about source for desktop --- .github/ISSUE_TEMPLATE/bug-desktop.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug-desktop.yml b/.github/ISSUE_TEMPLATE/bug-desktop.yml index fd1f34a3b54..05107985ba7 100644 --- a/.github/ISSUE_TEMPLATE/bug-desktop.yml +++ b/.github/ISSUE_TEMPLATE/bug-desktop.yml @@ -52,3 +52,11 @@ body: placeholder: e.g. Element version 1.7.34, olm version 3.2.3 validations: required: false + - type: input + id: source + attributes: + label: How did you install the app? + description: Where did you install the app from? Please give a link or a description. + placeholder: e.g. From https://element.io/get-started + validations: + required: false From 854f5b5ef27d19c54385948b6bfcbd88d68e5f7f Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Fri, 6 Aug 2021 11:40:10 +0100 Subject: [PATCH 37/57] Issue forms: remove title from bug template Signed-off-by: Ekaterina Gerasimova --- .github/ISSUE_TEMPLATE/bug-desktop.yml | 1 - .github/ISSUE_TEMPLATE/bug-web.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-desktop.yml b/.github/ISSUE_TEMPLATE/bug-desktop.yml index 05107985ba7..2a1a9960da4 100644 --- a/.github/ISSUE_TEMPLATE/bug-desktop.yml +++ b/.github/ISSUE_TEMPLATE/bug-desktop.yml @@ -1,6 +1,5 @@ name: Bug report for the Element desktop app (not in a browser) description: File a bug report if you are using the desktop Element application. -title: "[Bug]: " labels: [T-Defect, triage] assignees: - diff --git a/.github/ISSUE_TEMPLATE/bug-web.yml b/.github/ISSUE_TEMPLATE/bug-web.yml index 70665b59097..e8994f211c6 100644 --- a/.github/ISSUE_TEMPLATE/bug-web.yml +++ b/.github/ISSUE_TEMPLATE/bug-web.yml @@ -1,6 +1,5 @@ name: Bug report for Element Web (in browser) description: File a bug report if you are using Element in a web browser like Firefox, Chrome, Edge, and so on. -title: "[Bug]: " labels: [T-Defect, triage] assignees: - From 188492d320e120de29563a4663d044b48ceee77f Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Fri, 6 Aug 2021 11:42:41 +0100 Subject: [PATCH 38/57] Issue forms: remove triage label from bugs --- .github/ISSUE_TEMPLATE/bug-desktop.yml | 2 +- .github/ISSUE_TEMPLATE/bug-web.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-desktop.yml b/.github/ISSUE_TEMPLATE/bug-desktop.yml index 2a1a9960da4..b00eec0ce2e 100644 --- a/.github/ISSUE_TEMPLATE/bug-desktop.yml +++ b/.github/ISSUE_TEMPLATE/bug-desktop.yml @@ -1,6 +1,6 @@ name: Bug report for the Element desktop app (not in a browser) description: File a bug report if you are using the desktop Element application. -labels: [T-Defect, triage] +labels: [T-Defect] assignees: - body: diff --git a/.github/ISSUE_TEMPLATE/bug-web.yml b/.github/ISSUE_TEMPLATE/bug-web.yml index e8994f211c6..b9b7003ac93 100644 --- a/.github/ISSUE_TEMPLATE/bug-web.yml +++ b/.github/ISSUE_TEMPLATE/bug-web.yml @@ -1,6 +1,6 @@ name: Bug report for Element Web (in browser) description: File a bug report if you are using Element in a web browser like Firefox, Chrome, Edge, and so on. -labels: [T-Defect, triage] +labels: [T-Defect] assignees: - body: From a77a975bf85bc9470ae73788462001444a30440a Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Fri, 6 Aug 2021 12:43:32 +0100 Subject: [PATCH 39/57] Issue forms: remove unused assignee tag Signed-off-by: Ekaterina Gerasimova --- .github/ISSUE_TEMPLATE/bug-desktop.yml | 2 -- .github/ISSUE_TEMPLATE/bug-web.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-desktop.yml b/.github/ISSUE_TEMPLATE/bug-desktop.yml index b00eec0ce2e..809fd812ccd 100644 --- a/.github/ISSUE_TEMPLATE/bug-desktop.yml +++ b/.github/ISSUE_TEMPLATE/bug-desktop.yml @@ -1,8 +1,6 @@ name: Bug report for the Element desktop app (not in a browser) description: File a bug report if you are using the desktop Element application. labels: [T-Defect] -assignees: - - body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/bug-web.yml b/.github/ISSUE_TEMPLATE/bug-web.yml index b9b7003ac93..0010684a4a6 100644 --- a/.github/ISSUE_TEMPLATE/bug-web.yml +++ b/.github/ISSUE_TEMPLATE/bug-web.yml @@ -1,8 +1,6 @@ name: Bug report for Element Web (in browser) description: File a bug report if you are using Element in a web browser like Firefox, Chrome, Edge, and so on. labels: [T-Defect] -assignees: - - body: - type: markdown attributes: From b38d79dd858d0647c6291b318542f3ac6d75d2d2 Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Fri, 6 Aug 2021 13:33:16 +0100 Subject: [PATCH 40/57] Issue forms: replace enhancement request with form Signed-off-by: Ekaterina Gerasimova --- .github/ISSUE_TEMPLATE/enhancement.yml | 36 +++++++++++++++++++ .../suggestion-or-feature-request.md | 20 ----------- 2 files changed, 36 insertions(+), 20 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/enhancement.yml delete mode 100644 .github/ISSUE_TEMPLATE/suggestion-or-feature-request.md diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml new file mode 100644 index 00000000000..51d0a458149 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement.yml @@ -0,0 +1,36 @@ +name: Enhancement request +description: Do you have a suggestion or feature request? +labels: [T-Enhancement] +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to propose a new feature or make a suggestion. + - type: textarea + id: usecase + attributes: + label: Your use case + description: What would you like to be able to do? Please feel welcome to include screenshots or mock ups. + placeholder: Tell us what you would like to do! + value: | + #### What would you like to do? + + #### Why would you like to it? + + #### How would you like to achieve it? + validations: + required: true + - type: textarea + id: alternative + attributes: + label: Have you considered any alternatives? + placeholder: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false + - type: textarea + id: additional-context + attributes: + label: Additional context + placeholder: Is there anything else you'd like to add? + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/suggestion-or-feature-request.md b/.github/ISSUE_TEMPLATE/suggestion-or-feature-request.md deleted file mode 100644 index ffa31c6cf19..00000000000 --- a/.github/ISSUE_TEMPLATE/suggestion-or-feature-request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Suggestion or Feature request -about: Suggest an idea for this project -title: '' -labels: T-Enhancement -assignees: '' - ---- - -#### Is your suggestion related to a problem? Please describe. -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -#### Describe the solution you'd like. -A clear and concise description of what you want to happen. - -#### Describe alternatives you've considered. -A clear and concise description of any alternative solutions or features you've considered. - -#### Additional context -Add any other context or screenshots about the feature request here. From 0f27481b6ea56d8c1a2843d7e865a1b4c2c482b4 Mon Sep 17 00:00:00 2001 From: Germain Souquet Date: Fri, 6 Aug 2021 17:02:41 +0200 Subject: [PATCH 41/57] Change tsconfig to autodiscover all @types packages rather setting them explicitely --- tsconfig.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index e16688adb32..0e02b25bb13 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,11 +12,6 @@ "outDir": "./lib", "declaration": true, "jsx": "react", - "types": [ - "node", - "react", - "flux" - ], "lib": [ "es2019", "dom", From 429eb085eaed8e235a6ae384844067cb4a7fb86d Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 6 Aug 2021 23:05:06 +0100 Subject: [PATCH 42/57] Add changelog preview action --- .github/workflows/preview_changelog.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/workflows/preview_changelog.yaml diff --git a/.github/workflows/preview_changelog.yaml b/.github/workflows/preview_changelog.yaml new file mode 100644 index 00000000000..d68d19361da --- /dev/null +++ b/.github/workflows/preview_changelog.yaml @@ -0,0 +1,12 @@ +name: Preview Changelog +on: + pull_request_target: + types: [ opened, edited, labeled ] +jobs: + changelog: + runs-on: ubuntu-latest + steps: + - name: Preview Changelog + uses: matrix-org/allchange@main + with: + ghToken: ${{ secrets.GITHUB_TOKEN }} From a0e256d98bc1707ac780575f135a1a091056924a Mon Sep 17 00:00:00 2001 From: monochromec Date: Sun, 8 Aug 2021 06:41:33 +0000 Subject: [PATCH 43/57] Translated using Weblate (English (United States)) Currently translated at 94.1% (32 of 34 strings) Translation: Element Web/element-web Translate-URL: https://translate.element.io/projects/element-web/element-web/en_US/ --- src/i18n/strings/en_US.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json index 8b47936fbc5..bb955a59d18 100644 --- a/src/i18n/strings/en_US.json +++ b/src/i18n/strings/en_US.json @@ -32,5 +32,6 @@ "Unable to load config file: please refresh the page to try again.": "Unable to load config file: please refresh the page to try again.", "Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Your Element configuration contains invalid JSON. Please correct the problem and reload the page.", "Your Element is misconfigured": "Your Element is misconfigured", - "Missing indexeddb worker script!": "Missing indexeddb worker script!" + "Missing indexeddb worker script!": "Missing indexeddb worker script!", + "Switch to space by number": "Switch to space by number" } From f8d21def8682c53b506f22892de5745455827abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=83=B3=E4=B8=8D=E5=87=BA=E7=BD=91=E5=90=8D?= Date: Sat, 7 Aug 2021 18:31:44 +0000 Subject: [PATCH 44/57] Translated using Weblate (Chinese (Simplified)) 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/zh_Hans/ --- src/i18n/strings/zh_Hans.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index c11a6e1a310..90e73ddef32 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -11,8 +11,8 @@ "The message from the parser is: %(message)s": "语法分析器的信息:%(message)s", "Invalid JSON": "无效的 JSON", "Unexpected error preparing the app. See console for details.": "软件准备时出错,详细信息请查看控制台。", - "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.": "无效的配置:没有设置默认服务器。", + "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.": "配置无效:没有设置默认服务器。", "Missing indexeddb worker script!": "缺少 IndexedDB 辅助脚本!", "Unable to load config file: please refresh the page to try again.": "无法加载配置文件:请再次刷新页面。", "Open user settings": "打开用户设置", From 4de76c4c8ec9a3d0cc9d111c5c2b4e35d4d3f52a Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Mon, 9 Aug 2021 15:12:01 +0100 Subject: [PATCH 45/57] Add Actions for moving tasks on triage workboard The Action token may or may not work, no way to test without trying Signed-off-by: Ekaterina Gerasimova --- .github/workflows/triage-incoming.yml | 15 +++++++++++++++ .github/workflows/triage-needs-info.yml | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 .github/workflows/triage-incoming.yml create mode 100644 .github/workflows/triage-needs-info.yml diff --git a/.github/workflows/triage-incoming.yml b/.github/workflows/triage-incoming.yml new file mode 100644 index 00000000000..ec8f83769f9 --- /dev/null +++ b/.github/workflows/triage-incoming.yml @@ -0,0 +1,15 @@ +name: Move new issues into Issue triage board + +on: + issues: + types: [opened] + +jobs: + automate-project-columns: + runs-on: ubuntu-latest + steps: + - uses: alex-page/github-project-automation-plus@v0.8.1 + with: + project: Issue triage + column: Incoming + repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/triage-needs-info.yml b/.github/workflows/triage-needs-info.yml new file mode 100644 index 00000000000..d43b2a503d5 --- /dev/null +++ b/.github/workflows/triage-needs-info.yml @@ -0,0 +1,16 @@ +name: Move X-Needs-Info into Need info column in the Issue triage board + +on: + issues: + types: [labeled] + +jobs: + Move_Labeled_Issue_On_Project_Board: + runs-on: ubuntu-latest + steps: + - uses: konradpabjan/move-labeled-or-milestoned-issue@v2.0 + with: + action-token: ${{ secrets.GITHUB_TOKEN }} + project-url: "https://github.com/vector-im/element-web/projects/27" + column-name: "Need info" + label-name: "X-Needs-Info" From fd9b14a75e4e69c2f083530620bb4ba852de21e2 Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Tue, 10 Aug 2021 09:48:27 +0100 Subject: [PATCH 46/57] Triage automation: update token GitHub bug means that GITHUB_TOKEN doesn't work according to documentation at https://docs.github.com/en/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token because it doesn't have the right permissions for moving stuff to a project board. The automation throws this error: Error: Resource not accessible by integration Use our own generated token for now. Signed-off-by: Ekaterina Gerasimova --- .github/workflows/triage-incoming.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/triage-incoming.yml b/.github/workflows/triage-incoming.yml index ec8f83769f9..5a9ce877278 100644 --- a/.github/workflows/triage-incoming.yml +++ b/.github/workflows/triage-incoming.yml @@ -12,4 +12,4 @@ jobs: with: project: Issue triage column: Incoming - repo-token: ${{ secrets.GITHUB_TOKEN }} + repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }} From 424fd8da70a8ce2059ee4b8b8c15627bb6bdf318 Mon Sep 17 00:00:00 2001 From: Ekaterina Gerasimova Date: Tue, 10 Aug 2021 11:01:15 +0100 Subject: [PATCH 47/57] Issue forms: remove old template Signed-off-by: Ekaterina Gerasimova --- .github/ISSUE_TEMPLATE.md | 48 --------------------------------------- 1 file changed, 48 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index a8cd508d3ab..00000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -#### Description - -Describe here the problem that you are experiencing, or the feature you are requesting. - -#### Steps to reproduce - -- For bugs, list the steps -- that reproduce the bug -- using hyphens as bullet points - -Describe how what happens differs from what you expected. - -Log: sent/not sent? - - - -#### Version information - - - -- **Platform**: web (in-browser) or desktop? - -For the web app: - -- **Browser**: Chrome, Firefox, Safari, Edge? which version? -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **URL**: develop.element.io / app.element.io / somewhere else? If a private server, what version of Element Web? - -For the desktop app: - -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **Version**: 1.x.y From ac0daa2145363f7d23a0574e83573f66d3acd2ba Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Aug 2021 16:24:45 +0100 Subject: [PATCH 48/57] Changelog --- CHANGELOG.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b94a3a5f45..eb48974addd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,68 @@ +Changes in [1.8.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.8.0-rc.1) (2021-07-11) +=========================================================================================================== + +## ✨ Features + * Show how long a call was on call tiles ([\#6570](https://github.com/matrix-org/matrix-react-sdk/pull/6570)). Fixes #18405. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Add regional indicators to emoji picker ([\#6490](https://github.com/matrix-org/matrix-react-sdk/pull/6490)). Fixes #14963. Contributed by [robintown](https://github.com/robintown). + * Make call control buttons accessible to screen reader users ([\#6181](https://github.com/matrix-org/matrix-react-sdk/pull/6181)). Fixes #18358. Contributed by [pvagner](https://github.com/pvagner). + * Skip sending a thumbnail if it is not a sufficient saving over the original ([\#6559](https://github.com/matrix-org/matrix-react-sdk/pull/6559)). Fixes #17906. + * Increase PiP snapping speed ([\#6539](https://github.com/matrix-org/matrix-react-sdk/pull/6539)). Fixes #18371. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Improve and move the incoming call toast ([\#6470](https://github.com/matrix-org/matrix-react-sdk/pull/6470)). Fixes #17912. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Allow all of the URL schemes that Firefox allows ([\#6457](https://github.com/matrix-org/matrix-react-sdk/pull/6457)). Contributed by [aaronraimist](https://github.com/aaronraimist). + * Improve bubble layout colors ([\#6452](https://github.com/matrix-org/matrix-react-sdk/pull/6452)). Fixes #18081. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Spaces let users switch between Home and All Rooms behaviours ([\#6497](https://github.com/matrix-org/matrix-react-sdk/pull/6497)). Fixes #18093. + * Support for MSC2285 (hidden read receipts) ([\#6390](https://github.com/matrix-org/matrix-react-sdk/pull/6390)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Group pinned message events with MELS ([\#6349](https://github.com/matrix-org/matrix-react-sdk/pull/6349)). Fixes #17938. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Make version copiable ([\#6227](https://github.com/matrix-org/matrix-react-sdk/pull/6227)). Fixes #17603 and #18329. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Improve voice messages uploading state ([\#6530](https://github.com/matrix-org/matrix-react-sdk/pull/6530)). Fixes #18226 and #18224. + * Add surround with feature ([\#5510](https://github.com/matrix-org/matrix-react-sdk/pull/5510)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Improve call event tile wording ([\#6545](https://github.com/matrix-org/matrix-react-sdk/pull/6545)). Fixes #18376. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Show an avatar/a turned off microphone icon for muted users ([\#6486](https://github.com/matrix-org/matrix-react-sdk/pull/6486)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Prompt user to leave rooms/subspaces in a space when leaving space ([\#6424](https://github.com/matrix-org/matrix-react-sdk/pull/6424)). Fixes #18071. + * none ([\#6455](https://github.com/matrix-org/matrix-react-sdk/pull/6455)). Fixes #18035. + * Add support for screen sharing in 1:1 calls ([\#5992](https://github.com/matrix-org/matrix-react-sdk/pull/5992)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + +## 🐛 Bug Fixes + * Dismiss electron download toast when clicking Open ([\#18267](https://github.com/vector-im/element-web/pull/18267)). Fixes #18266. + * Fix [object Object] in Widget Permissions ([\#6560](https://github.com/matrix-org/matrix-react-sdk/pull/6560)). Fixes #18384. Contributed by [Palid](https://github.com/Palid). + * Fix right margin for events on IRC layout ([\#6542](https://github.com/matrix-org/matrix-react-sdk/pull/6542)). Fixes #18354. + * Mirror only usermedia feeds ([\#6512](https://github.com/matrix-org/matrix-react-sdk/pull/6512)). Fixes #5633. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix LogoutDialog warning + TypeScript migration ([\#6533](https://github.com/matrix-org/matrix-react-sdk/pull/6533)). + * Fix the wrong font being used in the room topic field ([\#6527](https://github.com/matrix-org/matrix-react-sdk/pull/6527)). Fixes #18339. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix inconsistent styling for links on hover ([\#6513](https://github.com/matrix-org/matrix-react-sdk/pull/6513)). Contributed by [janogarcia](https://github.com/janogarcia). + * Fix incorrect height for encoded placeholder images ([\#6514](https://github.com/matrix-org/matrix-react-sdk/pull/6514)). Contributed by [Palid](https://github.com/Palid). + * Fix call events layout for message bubble ([\#6465](https://github.com/matrix-org/matrix-react-sdk/pull/6465)). Fixes #18144. + * Improve subspaces and some utilities around room/space creation ([\#6458](https://github.com/matrix-org/matrix-react-sdk/pull/6458)). Fixes #18090 #18091 and #17256. + * Restore pointer cursor for SenderProfile in message bubbles ([\#6501](https://github.com/matrix-org/matrix-react-sdk/pull/6501)). Fixes #18249. + * Fix issues with the Call View ([\#6472](https://github.com/matrix-org/matrix-react-sdk/pull/6472)). Fixes #18221. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Align event list summary read receipts when using message bubbles ([\#6500](https://github.com/matrix-org/matrix-react-sdk/pull/6500)). Fixes #18143. + * Better positioning for unbubbled events in timeline ([\#6477](https://github.com/matrix-org/matrix-react-sdk/pull/6477)). Fixes #18132. + * Realign reactions row with messages in modern layout ([\#6491](https://github.com/matrix-org/matrix-react-sdk/pull/6491)). Fixes #18118. Contributed by [robintown](https://github.com/robintown). + * Fix CreateRoomDialog exploding when making public room outside of a space ([\#6492](https://github.com/matrix-org/matrix-react-sdk/pull/6492)). Fixes #18275. + * Fix call crashing because `element` was undefined ([\#6488](https://github.com/matrix-org/matrix-react-sdk/pull/6488)). Fixes #18270. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Upscale thumbnails to the container size ([\#6589](https://github.com/matrix-org/matrix-react-sdk/pull/6589)). Fixes #18307. + * Fix create room dialog in spaces no longer adding to the space ([\#6587](https://github.com/matrix-org/matrix-react-sdk/pull/6587)). Fixes #18465. + * Don't show a modal on call reject/user hangup ([\#6580](https://github.com/matrix-org/matrix-react-sdk/pull/6580)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fade Call View Buttons after `componentDidMount` ([\#6581](https://github.com/matrix-org/matrix-react-sdk/pull/6581)). Fixes #18439. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix missing expand button on codeblocks ([\#6565](https://github.com/matrix-org/matrix-react-sdk/pull/6565)). Fixes #18388. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * allow customizing the bubble layout colors ([\#6568](https://github.com/matrix-org/matrix-react-sdk/pull/6568)). Fixes #18408. Contributed by [benneti](https://github.com/benneti). + * Don't flash "Missed call" when accepting a call ([\#6567](https://github.com/matrix-org/matrix-react-sdk/pull/6567)). Fixes #18404. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix clicking whitespaces on replies ([\#6571](https://github.com/matrix-org/matrix-react-sdk/pull/6571)). Fixes #18327. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix composer not being disabled when sending voice messages ([\#6562](https://github.com/matrix-org/matrix-react-sdk/pull/6562)). Fixes #18413. + * none ([\#6550](https://github.com/matrix-org/matrix-react-sdk/pull/6550)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix sizing issues of the screen picker ([\#6498](https://github.com/matrix-org/matrix-react-sdk/pull/6498)). Fixes #18281. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Stop voice messages that are playing when starting a recording ([\#6563](https://github.com/matrix-org/matrix-react-sdk/pull/6563)). Fixes #18410. + * Fix random box appearing when clicking room list headers. ([\#6561](https://github.com/matrix-org/matrix-react-sdk/pull/6561)). Fixes #18414. + * Null guard space inviter to prevent the app exploding ([\#6558](https://github.com/matrix-org/matrix-react-sdk/pull/6558)). + * Make the ringing sound mutable/disablable ([\#6534](https://github.com/matrix-org/matrix-react-sdk/pull/6534)). Fixes #15591. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix wrong cursor being used in PiP ([\#6551](https://github.com/matrix-org/matrix-react-sdk/pull/6551)). Fixes #18383. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Re-pin Jitsi if the widget already exists ([\#6226](https://github.com/matrix-org/matrix-react-sdk/pull/6226)). Fixes #17679. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix broken call notification regression ([\#6526](https://github.com/matrix-org/matrix-react-sdk/pull/6526)). Fixes #18335. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * createRoom, only send join rule event if we have a join rule to put in it ([\#6516](https://github.com/matrix-org/matrix-react-sdk/pull/6516)). Fixes #18301. + * Fix clicking pills inside replies ([\#6508](https://github.com/matrix-org/matrix-react-sdk/pull/6508)). Fixes #18283. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix grecaptcha regression ([\#6503](https://github.com/matrix-org/matrix-react-sdk/pull/6503)). Fixes #18284. Contributed by [Palid](https://github.com/Palid). + * Fix compatibility with accounts where the security passphrase was created on a mobile device ([\#1819](https://github.com/matrix-org/matrix-js-sdk/pull/1819)). + Changes in [1.7.34](https://github.com/vector-im/element-desktop/releases/tag/v1.7.34) (2021-07-02) =================================================================================================== From 8bc1bc2cafdc2a505564fc477c7aaba08ef7f088 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Wed, 11 Aug 2021 16:27:08 +0100 Subject: [PATCH 49/57] Upgrade matrix-js-sdk to 12.3.0-rc.1 --- package.json | 2 +- yarn.lock | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f9127a1bf3e..cb75ced03b9 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "highlight.js": "^10.5.0", "jsrsasign": "^10.2.0", "katex": "^0.12.0", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", + "matrix-js-sdk": "12.3.0-rc.1", "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", "matrix-widget-api": "^0.1.0-beta.15", "prop-types": "^15.7.2", diff --git a/yarn.lock b/yarn.lock index 601a1363bf5..1998644bfe6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7538,7 +7538,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-js-sdk@12.2.0, "matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": +matrix-js-sdk@12.2.0: version "12.2.0" resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/8a1bc98d4eb5cecd9373ed067c9fbfb6718d2e4f" dependencies: @@ -7553,6 +7553,22 @@ matrix-js-sdk@12.2.0, "matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": request "^2.88.2" unhomoglyph "^1.0.6" +matrix-js-sdk@12.3.0-rc.1: + version "12.3.0-rc.1" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-12.3.0-rc.1.tgz#9e192f7bffb08d68deb1298e46082eda3273c6ee" + integrity sha512-sqvc5+y289qnoqFvq32XDiWFu3NPKOmmTTV6fB+OdtkP3VvU8In+6sXYWqY3Xz7ZD4nY+At6AijQmDPn2seJwQ== + 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" + 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 ec96496b04a1076b46e5db557e1fb9bdc72295f8 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Wed, 11 Aug 2021 16:27:52 +0100 Subject: [PATCH 50/57] Upgrade matrix-react-sdk to 3.28.0-rc.1 --- package.json | 2 +- yarn.lock | 37 ++++++++++++++++++------------------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index cb75ced03b9..a6eb88f3b3a 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "jsrsasign": "^10.2.0", "katex": "^0.12.0", "matrix-js-sdk": "12.3.0-rc.1", - "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", + "matrix-react-sdk": "3.28.0-rc.1", "matrix-widget-api": "^0.1.0-beta.15", "prop-types": "^15.7.2", "react": "^17.0.2", diff --git a/yarn.lock b/yarn.lock index 1998644bfe6..c0e2eaa1cc7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4965,6 +4965,11 @@ fbjs@^0.8.4: setimmediate "^1.0.5" ua-parser-js "^0.7.18" +fflate@^0.4.1: + version "0.4.8" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.4.8.tgz#f90b82aefbd8ac174213abb338bd7ef848f0f5ae" + integrity sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA== + figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -7538,21 +7543,6 @@ 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-js-sdk@12.2.0: - version "12.2.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/8a1bc98d4eb5cecd9373ed067c9fbfb6718d2e4f" - 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" - p-retry "^4.5.0" - qs "^6.9.6" - request "^2.88.2" - unhomoglyph "^1.0.6" - matrix-js-sdk@12.3.0-rc.1: version "12.3.0-rc.1" resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-12.3.0-rc.1.tgz#9e192f7bffb08d68deb1298e46082eda3273c6ee" @@ -7577,9 +7567,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.27.0" - resolved "https://codeload.github.com/matrix-org/matrix-react-sdk/tar.gz/e2ef5d1737acda03c186560182fa7daddff8479b" +matrix-react-sdk@3.28.0-rc.1: + version "3.28.0-rc.1" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.28.0-rc.1.tgz#c9e4ef8c8c0a329dc3039214ee5e8d4a50fbed48" + integrity sha512-2xvCV2wA7VOe2k4R7aMUflVzt1l68s+zeRJEzoEZOQZ88vLm7mwl3HolzKdQuorof/rBHUXoeBHnp0JxstHXgg== dependencies: "@babel/runtime" "^7.12.5" await-lock "^2.1.0" @@ -7607,13 +7598,14 @@ matrix-mock-request@^1.2.3: katex "^0.12.0" linkifyjs "^2.1.9" lodash "^4.17.20" - matrix-js-sdk "12.2.0" + matrix-js-sdk "12.3.0-rc.1" matrix-widget-api "^0.1.0-beta.15" minimist "^1.2.5" opus-recorder "^8.0.3" pako "^2.0.3" parse5 "^6.0.1" png-chunks-extract "^1.0.0" + posthog-js "1.12.2" prop-types "^15.7.2" qrcode "^1.4.4" re-resizable "^6.9.0" @@ -9587,6 +9579,13 @@ postcss@^8.0.2: nanoid "^3.1.23" source-map-js "^0.6.2" +posthog-js@1.12.2: + version "1.12.2" + resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.12.2.tgz#ff76e26634067e003f8af7df654d7ea0e647d946" + integrity sha512-I0d6c+Yu2f91PFidz65AIkkqZM219EY9Z1wlbTkW5Zqfq5oXqogBMKS8BaDBOrMc46LjLX7IH67ytCcBFRo1uw== + dependencies: + fflate "^0.4.1" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" From 724f57511911d1551020938acc6a520cca288ffd Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Wed, 11 Aug 2021 16:29:48 +0100 Subject: [PATCH 51/57] v1.8.0-rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a6eb88f3b3a..02dddb996bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.7.34", + "version": "1.8.0-rc.1", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From e1faddb488c34fbd4aeed86728ef6e3d1f5af674 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Aug 2021 21:50:27 +0100 Subject: [PATCH 52/57] Use changelog generator from npm --- package.json | 2 +- yarn.lock | 63 +++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 61 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 02dddb996bf..42b78bf7ce1 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "@types/sanitize-html": "^2.3.1", "@typescript-eslint/eslint-plugin": "^4.17.0", "@typescript-eslint/parser": "^4.17.0", - "allchange": "github:matrix-org/allchange", + "allchange": "^0.0.1", "autoprefixer": "^9.8.6", "babel-jest": "^26.6.3", "babel-loader": "^8.2.2", diff --git a/yarn.lock b/yarn.lock index c0e2eaa1cc7..679759c0a9a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,28 @@ # yarn lockfile v1 +"@actions/core@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.4.0.tgz#cf2e6ee317e314b03886adfeb20e448d50d6e524" + integrity sha512-CGx2ilGq5i7zSLgiiGUtBCxhRRxibJYU6Fim0Q1Wg2aQL2LTnF27zbqZOrxfvFQ55eSBW0L8uVStgtKMpa0Qlg== + +"@actions/github@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@actions/github/-/github-5.0.0.tgz#1754127976c50bd88b2e905f10d204d76d1472f8" + integrity sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ== + dependencies: + "@actions/http-client" "^1.0.11" + "@octokit/core" "^3.4.0" + "@octokit/plugin-paginate-rest" "^2.13.3" + "@octokit/plugin-rest-endpoint-methods" "^5.1.1" + +"@actions/http-client@^1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.11.tgz#c58b12e9aa8b159ee39e7dd6cbd0e91d905633c0" + integrity sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg== + dependencies: + tunnel "0.0.6" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" @@ -1316,7 +1338,7 @@ dependencies: "@octokit/types" "^6.0.3" -"@octokit/core@^3.5.0": +"@octokit/core@^3.4.0", "@octokit/core@^3.5.0": version "3.5.1" resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== @@ -1352,6 +1374,18 @@ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-9.3.0.tgz#160347858d727527901c6aae7f7d5c2414cc1f2e" integrity sha512-oz60hhL+mDsiOWhEwrj5aWXTOMVtQgcvP+sRzX4C3cH7WOK9QSAoEtjWh0HdOf6V3qpdgAmUMxnQPluzDWR7Fw== +"@octokit/openapi-types@^9.5.0": + version "9.7.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-9.7.0.tgz#9897cdefd629cd88af67b8dbe2e5fb19c63426b2" + integrity sha512-TUJ16DJU8mekne6+KVcMV5g6g/rJlrnIKn7aALG9QrNpnEipFc1xjoarh0PKaAWf2Hf+HwthRKYt+9mCm5RsRg== + +"@octokit/plugin-paginate-rest@^2.13.3": + version "2.15.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.1.tgz#264189dd3ce881c6c33758824aac05a4002e056a" + integrity sha512-47r52KkhQDkmvUKZqXzA1lKvcyJEfYh3TKAIe5+EzMeyDM3d+/s5v11i2gTk8/n6No6DPi3k5Ind6wtDbo/AEg== + dependencies: + "@octokit/types" "^6.24.0" + "@octokit/plugin-paginate-rest@^2.6.2": version "2.15.0" resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.0.tgz#9c956c3710b2bd786eb3814eaf5a2b17392c150d" @@ -1372,6 +1406,14 @@ "@octokit/types" "^6.23.0" deprecation "^2.3.1" +"@octokit/plugin-rest-endpoint-methods@^5.1.1": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.8.0.tgz#33b342fe41f2603fdf8b958e6652103bb3ea3f3b" + integrity sha512-qeLZZLotNkoq+it6F+xahydkkbnvSK0iDjlXFo3jNTB+Ss0qIbYQb9V/soKLMkgGw8Q2sHjY5YEXiA47IVPp4A== + dependencies: + "@octokit/types" "^6.25.0" + deprecation "^2.3.1" + "@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" @@ -1410,6 +1452,13 @@ dependencies: "@octokit/openapi-types" "^9.3.0" +"@octokit/types@^6.24.0", "@octokit/types@^6.25.0": + version "6.25.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.25.0.tgz#c8e37e69dbe7ce55ed98ee63f75054e7e808bf1a" + integrity sha512-bNvyQKfngvAd/08COlYIN54nRgxskmejgywodizQNyiKoXmWRAjKup2/LYwm+T9V0gsKH6tuld1gM0PzmOiB4Q== + dependencies: + "@octokit/openapi-types" "^9.5.0" + "@principalstudio/html-webpack-inject-preload@^1.2.7": version "1.2.7" resolved "https://registry.yarnpkg.com/@principalstudio/html-webpack-inject-preload/-/html-webpack-inject-preload-1.2.7.tgz#0c1f0b32a34d814b36ce84111f89990441cc64e8" @@ -2040,10 +2089,13 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" -"allchange@github:matrix-org/allchange": +allchange@^0.0.1: version "0.0.1" - resolved "https://codeload.github.com/matrix-org/allchange/tar.gz/56b37b06339a3ac3fe771f3ec3d0bff798df8dab" + resolved "https://registry.yarnpkg.com/allchange/-/allchange-0.0.1.tgz#3f66f7b06314b942fd0c1630fef6ce2ac1b90972" + integrity sha512-YVg1ZcYzEE5/fEnexzlhfWIbPeGtjfFgJ73qUG2DNwl16Apt9sRJQE7z6dLbDPaL9tOlYpIgzf7Id74uS+ccjQ== dependencies: + "@actions/core" "^1.4.0" + "@actions/github" "^5.0.0" "@octokit/rest" "^18.6.7" cli-color "^2.0.0" js-yaml "^4.1.0" @@ -11568,6 +11620,11 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tunnel@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" From 73eecfcf528765510109263dfda86ec27378b856 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 16 Aug 2021 13:18:12 +0100 Subject: [PATCH 53/57] Update changelog generator --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 42b78bf7ce1..e275e4aea68 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "@types/sanitize-html": "^2.3.1", "@typescript-eslint/eslint-plugin": "^4.17.0", "@typescript-eslint/parser": "^4.17.0", - "allchange": "^0.0.1", + "allchange": "^1.0.0", "autoprefixer": "^9.8.6", "babel-jest": "^26.6.3", "babel-loader": "^8.2.2", diff --git a/yarn.lock b/yarn.lock index 679759c0a9a..ee57787fe4a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2089,10 +2089,10 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" -allchange@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/allchange/-/allchange-0.0.1.tgz#3f66f7b06314b942fd0c1630fef6ce2ac1b90972" - integrity sha512-YVg1ZcYzEE5/fEnexzlhfWIbPeGtjfFgJ73qUG2DNwl16Apt9sRJQE7z6dLbDPaL9tOlYpIgzf7Id74uS+ccjQ== +allchange@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/allchange/-/allchange-1.0.0.tgz#f5177b7d97f8e97a2d059a1524db9a72d94dc6d2" + integrity sha512-O0VIaMIORxOaReyYEijDfKdpudJhbzzVYLdJR1aROyUgOLBEp9e5V/TDXQpjX23W90IFCSRZxsDb3exLRD05HA== dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" From 36c8af48fa07f348c7927863162d95c19483a4ab Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 16 Aug 2021 13:26:46 +0100 Subject: [PATCH 54/57] Fix dates --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb48974addd..904bf3b267b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -Changes in [1.8.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.8.0-rc.1) (2021-07-11) +Changes in [1.8.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.8.0-rc.1) (2021-08-11) =========================================================================================================== ## ✨ Features @@ -63,7 +63,7 @@ Changes in [1.8.0-rc.1](https://github.com/vector-im/element-desktop/releases/ta * Fix grecaptcha regression ([\#6503](https://github.com/matrix-org/matrix-react-sdk/pull/6503)). Fixes #18284. Contributed by [Palid](https://github.com/Palid). * Fix compatibility with accounts where the security passphrase was created on a mobile device ([\#1819](https://github.com/matrix-org/matrix-js-sdk/pull/1819)). -Changes in [1.7.34](https://github.com/vector-im/element-desktop/releases/tag/v1.7.34) (2021-07-02) +Changes in [1.7.34](https://github.com/vector-im/element-desktop/releases/tag/v1.7.34) (2021-08-02) =================================================================================================== ## 🔒 SECURITY FIXES From b7d556c2c7e1f667746b1399fba55082e59c4769 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 16 Aug 2021 15:06:41 +0100 Subject: [PATCH 55/57] Upgrade js-sdk & react-sdk --- package.json | 4 ++-- yarn.lock | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index e275e4aea68..3fbdef1b762 100644 --- a/package.json +++ b/package.json @@ -61,8 +61,8 @@ "highlight.js": "^10.5.0", "jsrsasign": "^10.2.0", "katex": "^0.12.0", - "matrix-js-sdk": "12.3.0-rc.1", - "matrix-react-sdk": "3.28.0-rc.1", + "matrix-js-sdk": "12.3.0", + "matrix-react-sdk": "3.28.0", "matrix-widget-api": "^0.1.0-beta.15", "prop-types": "^15.7.2", "react": "^17.0.2", diff --git a/yarn.lock b/yarn.lock index ee57787fe4a..bc0cf0c17a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7595,10 +7595,10 @@ 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-js-sdk@12.3.0-rc.1: - version "12.3.0-rc.1" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-12.3.0-rc.1.tgz#9e192f7bffb08d68deb1298e46082eda3273c6ee" - integrity sha512-sqvc5+y289qnoqFvq32XDiWFu3NPKOmmTTV6fB+OdtkP3VvU8In+6sXYWqY3Xz7ZD4nY+At6AijQmDPn2seJwQ== +matrix-js-sdk@12.3.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-12.3.0.tgz#b4de14e9c26257e3137eb020b6b13678b01e37d7" + integrity sha512-ywdlpVnwTiddLCvh/sKaZ0/0CVTqqbKPsfpsKduH9GWzwXA/Jrkwt//ryU8l9MjJTrjLnwxTYgnjZgeEp4h5kQ== dependencies: "@babel/runtime" "^7.12.5" another-json "^0.2.0" @@ -7619,10 +7619,10 @@ matrix-mock-request@^1.2.3: bluebird "^3.5.0" expect "^1.20.2" -matrix-react-sdk@3.28.0-rc.1: - version "3.28.0-rc.1" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.28.0-rc.1.tgz#c9e4ef8c8c0a329dc3039214ee5e8d4a50fbed48" - integrity sha512-2xvCV2wA7VOe2k4R7aMUflVzt1l68s+zeRJEzoEZOQZ88vLm7mwl3HolzKdQuorof/rBHUXoeBHnp0JxstHXgg== +matrix-react-sdk@3.28.0: + version "3.28.0" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.28.0.tgz#c3cda39a5f25843f1c342979fdd89584a3fd00f4" + integrity sha512-GGwotGvpwPe3MKESeTEgqQr7sJAXJCrex0B+g1JieSc/vNyecwZSgKzMQ7HvgOPSsSQuMK9/vL34180d5md0xA== dependencies: "@babel/runtime" "^7.12.5" await-lock "^2.1.0" @@ -7650,7 +7650,7 @@ matrix-react-sdk@3.28.0-rc.1: katex "^0.12.0" linkifyjs "^2.1.9" lodash "^4.17.20" - matrix-js-sdk "12.3.0-rc.1" + matrix-js-sdk "12.3.0" matrix-widget-api "^0.1.0-beta.15" minimist "^1.2.5" opus-recorder "^8.0.3" From ad97f8a70e73b93a03cd5e22d92cb88ac4d6cf4c Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 16 Aug 2021 15:12:10 +0100 Subject: [PATCH 56/57] Prepare changelog for v1.8.0 --- CHANGELOG.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 904bf3b267b..e0ed063bcab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ -Changes in [1.8.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.8.0-rc.1) (2021-08-11) -=========================================================================================================== +Changes in [1.8.0](https://github.com/vector-im/element-desktop/releases/tag/v1.8.0) (2021-08-16) +================================================================================================= ## ✨ Features * Show how long a call was on call tiles ([\#6570](https://github.com/matrix-org/matrix-react-sdk/pull/6570)). Fixes #18405. Contributed by [SimonBrandner](https://github.com/SimonBrandner). @@ -19,11 +19,13 @@ Changes in [1.8.0-rc.1](https://github.com/vector-im/element-desktop/releases/ta * Improve call event tile wording ([\#6545](https://github.com/matrix-org/matrix-react-sdk/pull/6545)). Fixes #18376. Contributed by [SimonBrandner](https://github.com/SimonBrandner). * Show an avatar/a turned off microphone icon for muted users ([\#6486](https://github.com/matrix-org/matrix-react-sdk/pull/6486)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). * Prompt user to leave rooms/subspaces in a space when leaving space ([\#6424](https://github.com/matrix-org/matrix-react-sdk/pull/6424)). Fixes #18071. - * none ([\#6455](https://github.com/matrix-org/matrix-react-sdk/pull/6455)). Fixes #18035. * Add support for screen sharing in 1:1 calls ([\#5992](https://github.com/matrix-org/matrix-react-sdk/pull/5992)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). ## 🐛 Bug Fixes * Dismiss electron download toast when clicking Open ([\#18267](https://github.com/vector-im/element-web/pull/18267)). Fixes #18266. + * [Release] Fix glare related regressions ([\#6622](https://github.com/matrix-org/matrix-react-sdk/pull/6622)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * [Release] Fix PiP of held calls ([\#6612](https://github.com/matrix-org/matrix-react-sdk/pull/6612)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * [Release] Fix toast colors ([\#6607](https://github.com/matrix-org/matrix-react-sdk/pull/6607)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). * Fix [object Object] in Widget Permissions ([\#6560](https://github.com/matrix-org/matrix-react-sdk/pull/6560)). Fixes #18384. Contributed by [Palid](https://github.com/Palid). * Fix right margin for events on IRC layout ([\#6542](https://github.com/matrix-org/matrix-react-sdk/pull/6542)). Fixes #18354. * Mirror only usermedia feeds ([\#6512](https://github.com/matrix-org/matrix-react-sdk/pull/6512)). Fixes #5633. Contributed by [SimonBrandner](https://github.com/SimonBrandner). @@ -49,7 +51,6 @@ Changes in [1.8.0-rc.1](https://github.com/vector-im/element-desktop/releases/ta * Don't flash "Missed call" when accepting a call ([\#6567](https://github.com/matrix-org/matrix-react-sdk/pull/6567)). Fixes #18404. Contributed by [SimonBrandner](https://github.com/SimonBrandner). * Fix clicking whitespaces on replies ([\#6571](https://github.com/matrix-org/matrix-react-sdk/pull/6571)). Fixes #18327. Contributed by [SimonBrandner](https://github.com/SimonBrandner). * Fix composer not being disabled when sending voice messages ([\#6562](https://github.com/matrix-org/matrix-react-sdk/pull/6562)). Fixes #18413. - * none ([\#6550](https://github.com/matrix-org/matrix-react-sdk/pull/6550)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). * Fix sizing issues of the screen picker ([\#6498](https://github.com/matrix-org/matrix-react-sdk/pull/6498)). Fixes #18281. Contributed by [SimonBrandner](https://github.com/SimonBrandner). * Stop voice messages that are playing when starting a recording ([\#6563](https://github.com/matrix-org/matrix-react-sdk/pull/6563)). Fixes #18410. * Fix random box appearing when clicking room list headers. ([\#6561](https://github.com/matrix-org/matrix-react-sdk/pull/6561)). Fixes #18414. From 2dc89fb425513ffaccd0973e1b37d05ef3161c00 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 16 Aug 2021 15:12:11 +0100 Subject: [PATCH 57/57] v1.8.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3fbdef1b762..83a072fde67 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.8.0-rc.1", + "version": "1.8.0", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": {