From e7928e8def9d80b9df06aec87433cb77acd15e68 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sun, 22 Dec 2019 20:56:19 -0700 Subject: [PATCH 1/8] Use `flex-start` instead of `start` for postcss This is just something the loaders complain about - apparently `start` is old and we should feel bad. --- res/css/views/context_menus/_StatusMessageContextMenu.scss | 2 +- res/css/views/dialogs/_CreateRoomDialog.scss | 2 +- res/css/views/dialogs/keybackup/_CreateKeyBackupDialog.scss | 2 +- .../views/dialogs/secretstorage/_CreateSecretStorageDialog.scss | 2 +- res/css/views/rooms/_MemberDeviceInfo.scss | 2 +- res/css/views/rooms/_MessageComposer.scss | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/res/css/views/context_menus/_StatusMessageContextMenu.scss b/res/css/views/context_menus/_StatusMessageContextMenu.scss index 972f608caf..2c8d608950 100644 --- a/res/css/views/context_menus/_StatusMessageContextMenu.scss +++ b/res/css/views/context_menus/_StatusMessageContextMenu.scss @@ -61,5 +61,5 @@ input.mx_StatusMessageContextMenu_message { } .mx_StatusMessageContextMenu_actionContainer .mx_Spinner { - justify-content: start; + justify-content: flex-start; } diff --git a/res/css/views/dialogs/_CreateRoomDialog.scss b/res/css/views/dialogs/_CreateRoomDialog.scss index d3a8f6ff42..7416ec2ef4 100644 --- a/res/css/views/dialogs/_CreateRoomDialog.scss +++ b/res/css/views/dialogs/_CreateRoomDialog.scss @@ -30,7 +30,7 @@ limitations under the License. > div { display: flex; - align-items: start; + align-items: flex-start; margin: 5px 0; input[type=checkbox] { diff --git a/res/css/views/dialogs/keybackup/_CreateKeyBackupDialog.scss b/res/css/views/dialogs/keybackup/_CreateKeyBackupDialog.scss index 7ba5f01a76..04ee575867 100644 --- a/res/css/views/dialogs/keybackup/_CreateKeyBackupDialog.scss +++ b/res/css/views/dialogs/keybackup/_CreateKeyBackupDialog.scss @@ -32,7 +32,7 @@ limitations under the License. .mx_CreateKeyBackupDialog_passPhraseContainer { display: flex; - align-items: start; + align-items: flex-start; } .mx_CreateKeyBackupDialog_passPhraseHelp { diff --git a/res/css/views/dialogs/secretstorage/_CreateSecretStorageDialog.scss b/res/css/views/dialogs/secretstorage/_CreateSecretStorageDialog.scss index 757d8028f0..5899abdf73 100644 --- a/res/css/views/dialogs/secretstorage/_CreateSecretStorageDialog.scss +++ b/res/css/views/dialogs/secretstorage/_CreateSecretStorageDialog.scss @@ -33,7 +33,7 @@ limitations under the License. .mx_CreateSecretStorageDialog_passPhraseContainer { display: flex; - align-items: start; + align-items: flex-start; } .mx_CreateSecretStorageDialog_passPhraseHelp { diff --git a/res/css/views/rooms/_MemberDeviceInfo.scss b/res/css/views/rooms/_MemberDeviceInfo.scss index e73e6c58f1..15b4832dc5 100644 --- a/res/css/views/rooms/_MemberDeviceInfo.scss +++ b/res/css/views/rooms/_MemberDeviceInfo.scss @@ -17,7 +17,7 @@ limitations under the License. .mx_MemberDeviceInfo { display: flex; padding-bottom: 10px; - align-items: start; + align-items: flex-start; } .mx_MemberDeviceInfo_icon { diff --git a/res/css/views/rooms/_MessageComposer.scss b/res/css/views/rooms/_MessageComposer.scss index 12e45a07c9..5efca51844 100644 --- a/res/css/views/rooms/_MessageComposer.scss +++ b/res/css/views/rooms/_MessageComposer.scss @@ -101,7 +101,7 @@ limitations under the License. display: flex; flex-direction: column; min-height: 60px; - justify-content: start; + justify-content: flex-start; align-items: flex-start; font-size: 14px; margin-right: 6px; From d8da634c8b811a9cde47f44dc74fa0ffc2f0701e Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 19 Dec 2019 18:01:43 -0700 Subject: [PATCH 2/8] Cosmetic updates to package.json --- package.json | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 99e4983d60..2899d9fdb7 100644 --- a/package.json +++ b/package.json @@ -9,27 +9,25 @@ }, "license": "Apache-2.0", "files": [ + "lib", + "res", + "src", + "scripts", + "git-revision.txt", + "header", "CHANGELOG.md", "CONTRIBUTING.rst", "LICENSE", "README.md", - "code_style.md", - "git-revision.txt", - "header", - "lib", - "package.json", - "scripts", - "docs", - "src", - "res" + "package.json" ], "bin": { "reskindex": "scripts/reskindex.js", "matrix-gen-i18n": "scripts/gen-i18n.js", "matrix-prune-i18n": "scripts/prune-i18n.js" }, - "main": "lib/index.js", - "typings": "lib/index.d.ts", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", "scripts": { "i18n": "matrix-gen-i18n", "prunei18n": "matrix-prune-i18n", @@ -40,7 +38,7 @@ "rethemendex": "res/css/rethemendex.sh", "clean": "rimraf lib", "build": "yarn clean && git rev-parse HEAD > git-revision.txt && yarn build:compile && yarn build:types", - "build:compile": "yarn reskindex && babel src -s -d lib --verbose --extensions \".ts,.js\"", + "build:compile": "yarn reskindex && babel -d lib --verbose --extensions \".ts,.js\" src", "build:types": "tsc --emitDeclarationOnly", "start": "echo THIS IS FOR LEGACY PURPOSES ONLY. && yarn start:all", "start:all": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n build,reskindex \"yarn start:build\" \"yarn reskindex:watch\"", From 69424f4b4286fb2d6e6358d6aebe7c9e20639500 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 19 Dec 2019 19:08:18 -0700 Subject: [PATCH 3/8] Add package.json fields for riot-web's webpack See https://github.com/vector-im/riot-web/commit/a1c9551bc8a1a6d61afed7e87ff7cebb3042a5ac --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 2899d9fdb7..3104ab1ac4 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ }, "main": "./lib/index.js", "typings": "./lib/index.d.ts", + "matrix_src_main": "./src/index.js", "scripts": { "i18n": "matrix-gen-i18n", "prunei18n": "matrix-prune-i18n", From 23e533393546d9f16b8ff6e1de65e1e0ae27f522 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 19 Dec 2019 18:02:25 -0700 Subject: [PATCH 4/8] Introduce babel's export-default-from plugin to fix build errors We do a lot of default exporting, so we kinda need this. It even asks for it to be installed when it is missing. --- .babelrc | 1 + package.json | 1 + yarn.lock | 15 +++++++++++++++ 3 files changed, 17 insertions(+) diff --git a/.babelrc b/.babelrc index af736e9c19..f75a9f82ef 100644 --- a/.babelrc +++ b/.babelrc @@ -15,6 +15,7 @@ ], "plugins": [ ["@babel/plugin-proposal-decorators", { "legacy": true }], + "@babel/plugin-proposal-export-default-from", "@babel/plugin-proposal-numeric-separator", "@babel/plugin-proposal-class-properties", "@babel/plugin-proposal-object-rest-spread", diff --git a/package.json b/package.json index 99e4983d60..54f4534762 100644 --- a/package.json +++ b/package.json @@ -114,6 +114,7 @@ "@babel/core": "^7.7.5", "@babel/plugin-proposal-class-properties": "^7.7.4", "@babel/plugin-proposal-decorators": "^7.7.4", + "@babel/plugin-proposal-export-default-from": "^7.7.4", "@babel/plugin-proposal-numeric-separator": "^7.7.4", "@babel/plugin-proposal-object-rest-spread": "^7.7.4", "@babel/plugin-transform-flow-comments": "^7.7.4", diff --git a/yarn.lock b/yarn.lock index 4e1be061bc..3dba7da904 100644 --- a/yarn.lock +++ b/yarn.lock @@ -320,6 +320,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-dynamic-import" "^7.7.4" +"@babel/plugin-proposal-export-default-from@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.7.4.tgz#890de3c0c475374638292df31f6582160b54d639" + integrity sha512-1t6dh7BHYUz4zD1m4pozYYEZy/3m8dgOr9owx3r0mPPI3iGKRUKUbIxfYmcJ4hwljs/dhd0qOTr1ZDUp43ix+w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-export-default-from" "^7.7.4" + "@babel/plugin-proposal-json-strings@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d" @@ -381,6 +389,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-syntax-export-default-from@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.7.4.tgz#897f05808298060b52873fa804ff853540790ea1" + integrity sha512-j888jpjATLEzOWhKawq46UrpXnCRDbdhBd5io4jgwjJ3+CHHGCRb6PNAVEgs+BXIb+dNRAmnkv36zfB992PRVw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-flow@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.7.4.tgz#6d91b59e1a0e4c17f36af2e10dd64ef220919d7b" From cfa21cbb8cb46fd959dc8bf54c1844da7c87b269 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 19 Dec 2019 18:29:22 -0700 Subject: [PATCH 5/8] Define getLanguageFromBrowser() for LanguageDropdown Without it we can't compile, so we should define it. It looks like it's never been defined, and LanguageDropdown seems to use it as a last resort - it should be safe to land. --- src/languageHandler.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/languageHandler.js b/src/languageHandler.js index c56e5378df..c11f26ddf1 100644 --- a/src/languageHandler.js +++ b/src/languageHandler.js @@ -336,6 +336,10 @@ export function getLanguagesFromBrowser() { return [navigator.userLanguage || "en"]; } +export function getLanguageFromBrowser() { + return getLanguagesFromBrowser()[0]; +} + /** * Turns a language string, normalises it, * (see normalizeLanguageKey) into an array of language strings From 56adb8244b2c80703dad6341805e4f0e1e770b4b Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 20 Dec 2019 13:58:37 -0700 Subject: [PATCH 6/8] Add a bit of debugging to incorrect components in the Skinner --- src/Skinner.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Skinner.js b/src/Skinner.js index 7235d55937..06855691bd 100644 --- a/src/Skinner.js +++ b/src/Skinner.js @@ -58,7 +58,7 @@ class Skinner { // components have to be functions. const validType = typeof comp === 'function'; if (!validType) { - throw new Error(`Not a valid component: ${name}.`); + throw new Error(`Not a valid component: ${name} (type = ${typeof(comp)}).`); } return comp; } From 206d4c78d2a3c943fd3d1ab6980061e4fb38a1ce Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 3 Jan 2020 12:32:29 -0700 Subject: [PATCH 7/8] Fix references to 'this' in Avatar and Unread --- src/Avatar.js | 2 +- src/Unread.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Avatar.js b/src/Avatar.js index 3377849eca..70be0a4684 100644 --- a/src/Avatar.js +++ b/src/Avatar.js @@ -32,7 +32,7 @@ export function avatarUrlForMember(member, width, height, resizeMethod) { // member can be null here currently since on invites, the JS SDK // does not have enough info to build a RoomMember object for // the inviter. - url = this.defaultAvatarUrlForString(member ? member.userId : ''); + url = defaultAvatarUrlForString(member ? member.userId : ''); } return url; } diff --git a/src/Unread.js b/src/Unread.js index c2eaa468f5..dba8be492d 100644 --- a/src/Unread.js +++ b/src/Unread.js @@ -77,7 +77,7 @@ export function doesRoomHaveUnreadMessages(room) { // that counts and we can stop looking because the user's read // this and everything before. return false; - } else if (!shouldHideEvent(ev) && this.eventTriggersUnreadCount(ev)) { + } else if (!shouldHideEvent(ev) && eventTriggersUnreadCount(ev)) { // We've found a message that counts before we hit // the user's read receipt, so this room is definitely unread. return true; From 9213f88180ebb7109fe416efca485242c7c7fb89 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 7 Jan 2020 15:13:42 -0700 Subject: [PATCH 8/8] Re-add docs --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 3104ab1ac4..221155f70f 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "src", "scripts", "git-revision.txt", + "docs", "header", "CHANGELOG.md", "CONTRIBUTING.rst",