From ca98529bd2ecce14d521d83655cfdd1529ba74b5 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 16 May 2022 16:47:12 +0100 Subject: [PATCH] Improve code as per Sonar suggestions (#22224) --- res/decoder-ring/datatypes.js | 1 - res/decoder-ring/decoder.js | 2 +- res/decoder-ring/index.html | 3 +- res/welcome.html | 1 - src/vector/jitsi/index.ts | 2 +- src/vector/mobile_guide/index.html | 745 ++++++++++++-------- src/vector/mobile_guide/index.ts | 2 +- src/vector/platform/WebPlatform.ts | 7 +- src/vector/static/incompatible-browser.html | 6 +- src/vector/static/unable-to-load.html | 4 - webpack.config.js | 23 +- 11 files changed, 465 insertions(+), 331 deletions(-) diff --git a/res/decoder-ring/datatypes.js b/res/decoder-ring/datatypes.js index 93a779e079..73ab2173ca 100644 --- a/res/decoder-ring/datatypes.js +++ b/res/decoder-ring/datatypes.js @@ -18,7 +18,6 @@ * ``` */ - class Optional { static from(value) { return value && Some.of(value) || None; diff --git a/res/decoder-ring/decoder.js b/res/decoder-ring/decoder.js index b0cbd3c2e9..e677942277 100644 --- a/res/decoder-ring/decoder.js +++ b/res/decoder-ring/decoder.js @@ -102,7 +102,7 @@ function fetchAsSubject(endpoint) { const contentLength = res.headers.get("content-length"); const context = contentLength ? { length: parseInt(contentLength) } : {}; - const streamer = observeReadableStream(res.body, context, endpoint); + const streamer = observeReadableStream(res.body, context); streamer.subscribe((value) => { fetcher.next(value); }); diff --git a/res/decoder-ring/index.html b/res/decoder-ring/index.html index 0b47e2b44d..513d1e2d78 100644 --- a/res/decoder-ring/index.html +++ b/res/decoder-ring/index.html @@ -1,4 +1,5 @@ - + + Rageshake decoder ring diff --git a/res/welcome.html b/res/welcome.html index ef01d8876c..1de7a59dec 100644 --- a/res/welcome.html +++ b/res/welcome.html @@ -47,7 +47,6 @@ h1::after { display: flex; -webkit-justify-content: space-around; -ms-flex-pack: distribute; - justify-content: space-around; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; diff --git a/src/vector/jitsi/index.ts b/src/vector/jitsi/index.ts index 61ed8591fb..3852e0858c 100644 --- a/src/vector/jitsi/index.ts +++ b/src/vector/jitsi/index.ts @@ -74,7 +74,7 @@ const ack = (ev: CustomEvent) => widgetApi.transport.reply(ev if (!optional && vals.length !== 1) { throw new Error(`Expected singular ${name} in query string`); } - return vals[0]; + return vals[0]; }; // If we have these params, expect a widget API to be available (ie. to be in an iframe diff --git a/src/vector/mobile_guide/index.html b/src/vector/mobile_guide/index.html index 7e3c8d7a98..2def26fa83 100644 --- a/src/vector/mobile_guide/index.html +++ b/src/vector/mobile_guide/index.html @@ -1,342 +1,489 @@ - - + + + Element Mobile Guide + + - - - - + .mx_Spacer { + margin-top: 24px; + } + } + - -
+
-
+
- + diff --git a/src/vector/mobile_guide/index.ts b/src/vector/mobile_guide/index.ts index 52349975f5..334f758905 100644 --- a/src/vector/mobile_guide/index.ts +++ b/src/vector/mobile_guide/index.ts @@ -17,7 +17,7 @@ function renderConfigError(message: string): void { const toHide = document.getElementsByClassName("mx_HomePage_container"); const errorContainers = document.getElementsByClassName( "mx_HomePage_errorContainer", - ) as HTMLCollectionOf; + ) as HTMLCollectionOf; for (const e of toHide) { // We have to clear the content because .style.display='none'; doesn't work diff --git a/src/vector/platform/WebPlatform.ts b/src/vector/platform/WebPlatform.ts index 20f1328147..4f57908782 100644 --- a/src/vector/platform/WebPlatform.ts +++ b/src/vector/platform/WebPlatform.ts @@ -106,11 +106,10 @@ export default class WebPlatform extends VectorBasePlatform { } getNormalizedAppVersion(version: string): string { - // if version looks like semver with leading v, strip it - // (matches scripts/normalize-version.sh) - const semVerRegex = new RegExp("^v[0-9]+.[0-9]+.[0-9]+(-.+)?$"); + // if version looks like semver with leading v, strip it (matches scripts/normalize-version.sh) + const semVerRegex = /^v\d+.\d+.\d+(-.+)?$/; if (semVerRegex.test(version)) { - return version.substr(1); + return version.substring(1); } return version; } diff --git a/src/vector/static/incompatible-browser.html b/src/vector/static/incompatible-browser.html index bc839d6b38..7fc193465f 100644 --- a/src/vector/static/incompatible-browser.html +++ b/src/vector/static/incompatible-browser.html @@ -53,10 +53,6 @@ margin-top: 30px; } - .mx_HomePage_header { - align-items: center; - } - .mx_HomePage_col { display: flex; flex-direction: row; @@ -144,7 +140,7 @@ - +

Unsupported browser

diff --git a/src/vector/static/unable-to-load.html b/src/vector/static/unable-to-load.html index 3d06779dbe..7e6af16c5b 100644 --- a/src/vector/static/unable-to-load.html +++ b/src/vector/static/unable-to-load.html @@ -54,10 +54,6 @@ margin-top: 30px; } - .mx_HomePage_header { - align-items: center; - } - .mx_HomePage_col { display: flex; flex-direction: row; diff --git a/webpack.config.js b/webpack.config.js index 13e969eca4..e6f472599d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -34,8 +34,7 @@ const cssThemes = { function getActiveThemes() { // Default to `light` theme when the MATRIX_THEMES environment variable is not defined. const theme = process.env.MATRIX_THEMES ?? 'light'; - const themes = theme.split(',').filter(x => x).map(x => x.trim()).filter(x => x); - return themes; + return theme.split(',').map(x => x.trim()).filter(Boolean); } // See docs/customisations.md @@ -80,7 +79,6 @@ module.exports = (env, argv) => { const nodeEnv = argv.mode; const devMode = nodeEnv !== 'production'; const useHMR = process.env.CSS_HOT_RELOAD === '1' && devMode; - const fullPageErrors = process.env.FULL_PAGE_ERRORS === '1' && devMode; const enableMinification = !devMode && !process.env.CI_PACKAGE; const development = {}; @@ -99,17 +97,16 @@ module.exports = (env, argv) => { } } - // Resolve the directories for the react-sdk and js-sdk for later use. We resolve these early so we + // Resolve the directories for the react-sdk and js-sdk for later use. We resolve these early, so we // don't have to call them over and over. We also resolve to the package.json instead of the src - // directory so we don't have to rely on a index.js or similar file existing. + // directory, so we don't have to rely on an index.js or similar file existing. 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 imports = ACTIVE_THEMES.map((t) => { + return cssThemes[`theme-${ t }`].replace('./node_modules/', ''); // theme import path }); const s = JSON.stringify(ACTIVE_THEMES); return ` @@ -483,7 +480,7 @@ module.exports = (env, argv) => { esModule: false, name: '[name].[hash:7].[ext]', outputPath: getAssetOutputPath, - publicPath: function (url, resourcePath) { + publicPath: function(url, resourcePath) { const outputPath = getAssetOutputPath(url, resourcePath); return toPublicPath(outputPath); }, @@ -495,13 +492,13 @@ module.exports = (env, argv) => { esModule: false, name: '[name].[hash:7].[ext]', outputPath: getAssetOutputPath, - publicPath: function (url, resourcePath) { + publicPath: function(url, resourcePath) { const outputPath = getAssetOutputPath(url, resourcePath); return toPublicPath(outputPath); }, }, }, - ] + ], }, { test: /\.svg$/, @@ -513,7 +510,7 @@ module.exports = (env, argv) => { esModule: false, name: '[name].[hash:7].[ext]', outputPath: getAssetOutputPath, - publicPath: function (url, resourcePath) { + publicPath: function(url, resourcePath) { // CSS image usages end up in the `bundles/[hash]` output // directory, so we adjust the final path to navigate up // twice. @@ -522,7 +519,7 @@ module.exports = (env, argv) => { }, }, }, - ] + ], }, { test: /\.(gif|png|ttf|woff|woff2|xml|ico)$/,