From 29886f7421a079a1d408400b2f46c4dee340bca9 Mon Sep 17 00:00:00 2001
From: Scrublord MacBad
Date: Mon, 11 May 2026 16:24:06 +0200
Subject: [PATCH] init with v1.7.12
---
.dockerignore | 9 +
.editorconfig | 23 +
.eslintignore | 2 +
.eslintrc.js | 23 +
.github/FUNDING.yml | 2 +
.github/ISSUE_TEMPLATE.md | 46 +
.github/ISSUE_TEMPLATE/bug_report.md | 56 +
.../suggestion-or-feature-request.md | 20 +
.../user-interface-or-usability-bug-report.md | 58 +
.gitignore | 21 +
.modernizr.json | 38 +
.npmignore | 0
.stylelintrc.js | 26 +
AUTHORS.rst | 18 +
CHANGELOG.md | 4491 ++++++
CONTRIBUTING.rst | 4 +
Dockerfile | 40 +
LICENSE | 177 +
README.md | 388 +
__mocks__/cssMock.js | 1 +
babel.config.js | 23 +
config.sample.json | 54 +
contribute.json | 17 +
docs/app-load.md | 81 +
docs/conferencing.md | 52 +
docs/config.md | 194 +
docs/customisations.md | 34 +
docs/e2ee.md | 63 +
docs/feature-flags.md | 107 +
docs/jitsi-dev.md | 100 +
docs/jitsi.md | 73 +
docs/labs.md | 113 +
docs/memory-profiles-and-leaks.md | 53 +
docs/native-node-modules.md | 60 +
docs/review.md | 84 +
docs/skinning thoughts.md | 68 +
docs/theming.md | 98 +
docs/translating-dev.md | 63 +
docs/translating.md | 64 +
element.io/README | 12 +
element.io/app/config.json | 40 +
element.io/app/deploy.py | 191 +
element.io/develop/config.json | 40 +
package.json | 173 +
release.sh | 68 +
release_config.yaml | 1 +
res/css/structures/ErrorView.scss | 101 +
res/decoder-ring/datatypes.js | 107 +
res/decoder-ring/decoder.js | 336 +
res/decoder-ring/index.html | 79 +
res/manifest.json | 85 +
res/sw.js | 1 +
res/themes/element/img/backgrounds/lake.jpg | Bin 0 -> 610431 bytes
res/themes/element/img/download/apple.svg | 97 +
res/themes/element/img/download/fdroid.svg | 135 +
res/themes/element/img/download/google.svg | 70 +
res/themes/element/img/logos/element-logo.svg | 6 +
res/themes/element/img/logos/opengraph.png | Bin 0 -> 11311 bytes
res/vector-icons/1024.png | Bin 0 -> 17323 bytes
res/vector-icons/120.png | Bin 0 -> 1464 bytes
res/vector-icons/1240x600.png | Bin 0 -> 10967 bytes
res/vector-icons/150.png | Bin 0 -> 1826 bytes
res/vector-icons/152.png | Bin 0 -> 1952 bytes
res/vector-icons/180.png | Bin 0 -> 2220 bytes
res/vector-icons/24.png | Bin 0 -> 434 bytes
res/vector-icons/300.png | Bin 0 -> 3948 bytes
res/vector-icons/44.png | Bin 0 -> 629 bytes
res/vector-icons/50.png | Bin 0 -> 732 bytes
res/vector-icons/620x300.png | Bin 0 -> 4572 bytes
res/vector-icons/76.png | Bin 0 -> 1030 bytes
res/vector-icons/88.png | Bin 0 -> 1146 bytes
res/vector-icons/apple-touch-icon-114.png | Bin 0 -> 1444 bytes
res/vector-icons/apple-touch-icon-120.png | Bin 0 -> 1528 bytes
res/vector-icons/apple-touch-icon-144.png | Bin 0 -> 1903 bytes
res/vector-icons/apple-touch-icon-152.png | Bin 0 -> 2045 bytes
res/vector-icons/apple-touch-icon-180.png | Bin 0 -> 2299 bytes
res/vector-icons/apple-touch-icon-57.png | Bin 0 -> 803 bytes
res/vector-icons/apple-touch-icon-60.png | Bin 0 -> 837 bytes
res/vector-icons/apple-touch-icon-72.png | Bin 0 -> 974 bytes
res/vector-icons/apple-touch-icon-76.png | Bin 0 -> 1050 bytes
res/vector-icons/browserconfig.xml | 12 +
res/vector-icons/favicon.ico | Bin 0 -> 15086 bytes
res/vector-icons/mstile-150.png | Bin 0 -> 1942 bytes
res/vector-icons/mstile-310.png | Bin 0 -> 3993 bytes
res/vector-icons/mstile-310x150.png | Bin 0 -> 1954 bytes
res/vector-icons/mstile-70.png | Bin 0 -> 940 bytes
res/welcome.html | 200 +
res/welcome/images/icon-create-account.svg | 3 +
res/welcome/images/icon-help.svg | 16 +
res/welcome/images/icon-room-directory.svg | 4 +
res/welcome/images/icon-sign-in.svg | 4 +
res/welcome/images/logo.svg | 6 +
res/welcome/images/matrix.svg | 153 +
scripts/build-jitsi.js | 31 +
scripts/check-i18n.pl | 1 +
scripts/ci_package.sh | 17 +
scripts/cleanup.sh | 19 +
scripts/compare-file.js | 10 +
scripts/copy-res.js | 291 +
scripts/deploy.py | 191 +
scripts/docker-link-repos.sh | 39 +
scripts/docker-write-version.sh | 22 +
scripts/fetch-develop.deps.sh | 107 +
scripts/genflags.sh | 70 +
scripts/issues-burndown.pl | 136 +
scripts/issues-no-state.pl | 112 +
scripts/make-icons.sh | 117 +
scripts/package.sh | 35 +
scripts/redeploy.py | 308 +
scripts/yarn-sub.js | 22 +
src/@types/global.d.ts | 47 +
.../structures/CompatibilityView.tsx | 118 +
src/async-components/structures/ErrorView.tsx | 61 +
.../structures/VectorEmbeddedPage.js | 36 +
src/components/views/auth/VectorAuthFooter.js | 53 +
.../views/auth/VectorAuthHeaderLogo.js | 44 +
src/components/views/auth/VectorAuthPage.js | 85 +
src/customisations/README.md | 1 +
src/favicon.ts | 255 +
src/header | 15 +
src/i18n/strings/ar.json | 36 +
src/i18n/strings/az.json | 16 +
src/i18n/strings/basefile.json | 1 +
src/i18n/strings/be.json | 4 +
src/i18n/strings/bg.json | 36 +
src/i18n/strings/bn_BD.json | 1 +
src/i18n/strings/bn_IN.json | 1 +
src/i18n/strings/bs.json | 35 +
src/i18n/strings/ca.json | 35 +
src/i18n/strings/cs.json | 32 +
src/i18n/strings/cy.json | 17 +
src/i18n/strings/da.json | 21 +
src/i18n/strings/de_DE.json | 36 +
src/i18n/strings/el.json | 33 +
src/i18n/strings/en_EN.json | 35 +
src/i18n/strings/en_US.json | 16 +
src/i18n/strings/eo.json | 36 +
src/i18n/strings/es.json | 36 +
src/i18n/strings/et.json | 36 +
src/i18n/strings/eu.json | 36 +
src/i18n/strings/fa.json | 36 +
src/i18n/strings/fi.json | 36 +
src/i18n/strings/fr.json | 36 +
src/i18n/strings/ga.json | 11 +
src/i18n/strings/gl.json | 36 +
src/i18n/strings/he.json | 13 +
src/i18n/strings/hi.json | 11 +
src/i18n/strings/hr.json | 8 +
src/i18n/strings/hu.json | 36 +
src/i18n/strings/id.json | 8 +
src/i18n/strings/is.json | 22 +
src/i18n/strings/it.json | 36 +
src/i18n/strings/ja.json | 34 +
src/i18n/strings/jbo.json | 36 +
src/i18n/strings/ka.json | 8 +
src/i18n/strings/kab.json | 36 +
src/i18n/strings/ko.json | 28 +
src/i18n/strings/lt.json | 35 +
src/i18n/strings/lv.json | 25 +
src/i18n/strings/ml.json | 7 +
src/i18n/strings/mn.json | 18 +
src/i18n/strings/nb_NO.json | 18 +
src/i18n/strings/ne.json | 1 +
src/i18n/strings/nl.json | 29 +
src/i18n/strings/nn.json | 22 +
src/i18n/strings/oc.json | 14 +
src/i18n/strings/pl.json | 35 +
src/i18n/strings/pt.json | 17 +
src/i18n/strings/pt_BR.json | 36 +
src/i18n/strings/ro.json | 20 +
src/i18n/strings/ru.json | 36 +
src/i18n/strings/sco.json | 3 +
src/i18n/strings/si.json | 4 +
src/i18n/strings/sk.json | 36 +
src/i18n/strings/sl.json | 36 +
src/i18n/strings/sq.json | 36 +
src/i18n/strings/sr.json | 35 +
src/i18n/strings/sr_Latn.json | 16 +
src/i18n/strings/sv.json | 36 +
src/i18n/strings/ta.json | 16 +
src/i18n/strings/te.json | 5 +
src/i18n/strings/th.json | 13 +
src/i18n/strings/tr.json | 30 +
src/i18n/strings/uk.json | 36 +
src/i18n/strings/vi.json | 16 +
src/i18n/strings/vls.json | 17 +
src/i18n/strings/zh_Hans.json | 36 +
src/i18n/strings/zh_Hant.json | 36 +
src/vector/app.tsx | 262 +
src/vector/getconfig.ts | 73 +
src/vector/index.html | 92 +
src/vector/index.ts | 230 +
src/vector/indexeddb-worker.js | 21 +
src/vector/init.tsx | 169 +
src/vector/jitsi/index.html | 24 +
src/vector/jitsi/index.scss | 107 +
src/vector/jitsi/index.ts | 241 +
src/vector/mobile_guide/index.html | 341 +
src/vector/mobile_guide/index.js | 110 +
src/vector/modernizr.js | 3 +
src/vector/platform/ElectronPlatform.tsx | 568 +
src/vector/platform/PWAPlatform.ts | 29 +
src/vector/platform/VectorBasePlatform.ts | 89 +
src/vector/platform/WebPlatform.ts | 214 +
src/vector/rageshakesetup.ts | 74 +
src/vector/static/incompatible-browser.html | 475 +
src/vector/static/unable-to-load.html | 183 +
src/vector/url_utils.ts | 46 +
test/.eslintrc.js | 5 +
test/app-tests/joining-test.js | 235 +
test/app-tests/loading-test.js | 745 +
test/jest-mocks.js | 14 +
test/skin-sdk.js | 9 +
test/test-utils.js | 39 +
test/unit-tests/README.md | 2 +
tsconfig.json | 30 +
webpack.config.js | 415 +
yarn.lock | 13303 ++++++++++++++++
218 files changed, 30825 insertions(+)
create mode 100644 .dockerignore
create mode 100644 .editorconfig
create mode 100644 .eslintignore
create mode 100644 .eslintrc.js
create mode 100644 .github/FUNDING.yml
create mode 100644 .github/ISSUE_TEMPLATE.md
create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md
create mode 100644 .github/ISSUE_TEMPLATE/suggestion-or-feature-request.md
create mode 100644 .github/ISSUE_TEMPLATE/user-interface-or-usability-bug-report.md
create mode 100644 .gitignore
create mode 100644 .modernizr.json
create mode 100644 .npmignore
create mode 100644 .stylelintrc.js
create mode 100644 AUTHORS.rst
create mode 100644 CHANGELOG.md
create mode 100644 CONTRIBUTING.rst
create mode 100644 Dockerfile
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 __mocks__/cssMock.js
create mode 100644 babel.config.js
create mode 100644 config.sample.json
create mode 100644 contribute.json
create mode 100644 docs/app-load.md
create mode 100644 docs/conferencing.md
create mode 100644 docs/config.md
create mode 100644 docs/customisations.md
create mode 100644 docs/e2ee.md
create mode 100644 docs/feature-flags.md
create mode 100644 docs/jitsi-dev.md
create mode 100644 docs/jitsi.md
create mode 100644 docs/labs.md
create mode 100644 docs/memory-profiles-and-leaks.md
create mode 100644 docs/native-node-modules.md
create mode 100644 docs/review.md
create mode 100644 docs/skinning thoughts.md
create mode 100644 docs/theming.md
create mode 100644 docs/translating-dev.md
create mode 100644 docs/translating.md
create mode 100644 element.io/README
create mode 100644 element.io/app/config.json
create mode 100755 element.io/app/deploy.py
create mode 100644 element.io/develop/config.json
create mode 100644 package.json
create mode 100755 release.sh
create mode 100644 release_config.yaml
create mode 100644 res/css/structures/ErrorView.scss
create mode 100644 res/decoder-ring/datatypes.js
create mode 100644 res/decoder-ring/decoder.js
create mode 100644 res/decoder-ring/index.html
create mode 100644 res/manifest.json
create mode 100644 res/sw.js
create mode 100644 res/themes/element/img/backgrounds/lake.jpg
create mode 100644 res/themes/element/img/download/apple.svg
create mode 100644 res/themes/element/img/download/fdroid.svg
create mode 100644 res/themes/element/img/download/google.svg
create mode 100644 res/themes/element/img/logos/element-logo.svg
create mode 100644 res/themes/element/img/logos/opengraph.png
create mode 100644 res/vector-icons/1024.png
create mode 100644 res/vector-icons/120.png
create mode 100644 res/vector-icons/1240x600.png
create mode 100644 res/vector-icons/150.png
create mode 100644 res/vector-icons/152.png
create mode 100644 res/vector-icons/180.png
create mode 100644 res/vector-icons/24.png
create mode 100644 res/vector-icons/300.png
create mode 100644 res/vector-icons/44.png
create mode 100644 res/vector-icons/50.png
create mode 100644 res/vector-icons/620x300.png
create mode 100644 res/vector-icons/76.png
create mode 100644 res/vector-icons/88.png
create mode 100644 res/vector-icons/apple-touch-icon-114.png
create mode 100644 res/vector-icons/apple-touch-icon-120.png
create mode 100644 res/vector-icons/apple-touch-icon-144.png
create mode 100644 res/vector-icons/apple-touch-icon-152.png
create mode 100644 res/vector-icons/apple-touch-icon-180.png
create mode 100644 res/vector-icons/apple-touch-icon-57.png
create mode 100644 res/vector-icons/apple-touch-icon-60.png
create mode 100644 res/vector-icons/apple-touch-icon-72.png
create mode 100644 res/vector-icons/apple-touch-icon-76.png
create mode 100644 res/vector-icons/browserconfig.xml
create mode 100644 res/vector-icons/favicon.ico
create mode 100644 res/vector-icons/mstile-150.png
create mode 100644 res/vector-icons/mstile-310.png
create mode 100644 res/vector-icons/mstile-310x150.png
create mode 100644 res/vector-icons/mstile-70.png
create mode 100644 res/welcome.html
create mode 100644 res/welcome/images/icon-create-account.svg
create mode 100644 res/welcome/images/icon-help.svg
create mode 100644 res/welcome/images/icon-room-directory.svg
create mode 100644 res/welcome/images/icon-sign-in.svg
create mode 100644 res/welcome/images/logo.svg
create mode 100644 res/welcome/images/matrix.svg
create mode 100644 scripts/build-jitsi.js
create mode 120000 scripts/check-i18n.pl
create mode 100755 scripts/ci_package.sh
create mode 100755 scripts/cleanup.sh
create mode 100644 scripts/compare-file.js
create mode 100755 scripts/copy-res.js
create mode 100755 scripts/deploy.py
create mode 100644 scripts/docker-link-repos.sh
create mode 100644 scripts/docker-write-version.sh
create mode 100755 scripts/fetch-develop.deps.sh
create mode 100755 scripts/genflags.sh
create mode 100755 scripts/issues-burndown.pl
create mode 100755 scripts/issues-no-state.pl
create mode 100755 scripts/make-icons.sh
create mode 100755 scripts/package.sh
create mode 100755 scripts/redeploy.py
create mode 100644 scripts/yarn-sub.js
create mode 100644 src/@types/global.d.ts
create mode 100644 src/async-components/structures/CompatibilityView.tsx
create mode 100644 src/async-components/structures/ErrorView.tsx
create mode 100644 src/components/structures/VectorEmbeddedPage.js
create mode 100644 src/components/views/auth/VectorAuthFooter.js
create mode 100644 src/components/views/auth/VectorAuthHeaderLogo.js
create mode 100644 src/components/views/auth/VectorAuthPage.js
create mode 120000 src/customisations/README.md
create mode 100644 src/favicon.ts
create mode 100644 src/header
create mode 100644 src/i18n/strings/ar.json
create mode 100644 src/i18n/strings/az.json
create mode 100644 src/i18n/strings/basefile.json
create mode 100644 src/i18n/strings/be.json
create mode 100644 src/i18n/strings/bg.json
create mode 100644 src/i18n/strings/bn_BD.json
create mode 100644 src/i18n/strings/bn_IN.json
create mode 100644 src/i18n/strings/bs.json
create mode 100644 src/i18n/strings/ca.json
create mode 100644 src/i18n/strings/cs.json
create mode 100644 src/i18n/strings/cy.json
create mode 100644 src/i18n/strings/da.json
create mode 100644 src/i18n/strings/de_DE.json
create mode 100644 src/i18n/strings/el.json
create mode 100644 src/i18n/strings/en_EN.json
create mode 100644 src/i18n/strings/en_US.json
create mode 100644 src/i18n/strings/eo.json
create mode 100644 src/i18n/strings/es.json
create mode 100644 src/i18n/strings/et.json
create mode 100644 src/i18n/strings/eu.json
create mode 100644 src/i18n/strings/fa.json
create mode 100644 src/i18n/strings/fi.json
create mode 100644 src/i18n/strings/fr.json
create mode 100644 src/i18n/strings/ga.json
create mode 100644 src/i18n/strings/gl.json
create mode 100644 src/i18n/strings/he.json
create mode 100644 src/i18n/strings/hi.json
create mode 100644 src/i18n/strings/hr.json
create mode 100644 src/i18n/strings/hu.json
create mode 100644 src/i18n/strings/id.json
create mode 100644 src/i18n/strings/is.json
create mode 100644 src/i18n/strings/it.json
create mode 100644 src/i18n/strings/ja.json
create mode 100644 src/i18n/strings/jbo.json
create mode 100644 src/i18n/strings/ka.json
create mode 100644 src/i18n/strings/kab.json
create mode 100644 src/i18n/strings/ko.json
create mode 100644 src/i18n/strings/lt.json
create mode 100644 src/i18n/strings/lv.json
create mode 100644 src/i18n/strings/ml.json
create mode 100644 src/i18n/strings/mn.json
create mode 100644 src/i18n/strings/nb_NO.json
create mode 100644 src/i18n/strings/ne.json
create mode 100644 src/i18n/strings/nl.json
create mode 100644 src/i18n/strings/nn.json
create mode 100644 src/i18n/strings/oc.json
create mode 100644 src/i18n/strings/pl.json
create mode 100644 src/i18n/strings/pt.json
create mode 100644 src/i18n/strings/pt_BR.json
create mode 100644 src/i18n/strings/ro.json
create mode 100644 src/i18n/strings/ru.json
create mode 100644 src/i18n/strings/sco.json
create mode 100644 src/i18n/strings/si.json
create mode 100644 src/i18n/strings/sk.json
create mode 100644 src/i18n/strings/sl.json
create mode 100644 src/i18n/strings/sq.json
create mode 100644 src/i18n/strings/sr.json
create mode 100644 src/i18n/strings/sr_Latn.json
create mode 100644 src/i18n/strings/sv.json
create mode 100644 src/i18n/strings/ta.json
create mode 100644 src/i18n/strings/te.json
create mode 100644 src/i18n/strings/th.json
create mode 100644 src/i18n/strings/tr.json
create mode 100644 src/i18n/strings/uk.json
create mode 100644 src/i18n/strings/vi.json
create mode 100644 src/i18n/strings/vls.json
create mode 100644 src/i18n/strings/zh_Hans.json
create mode 100644 src/i18n/strings/zh_Hant.json
create mode 100644 src/vector/app.tsx
create mode 100644 src/vector/getconfig.ts
create mode 100644 src/vector/index.html
create mode 100644 src/vector/index.ts
create mode 100644 src/vector/indexeddb-worker.js
create mode 100644 src/vector/init.tsx
create mode 100644 src/vector/jitsi/index.html
create mode 100644 src/vector/jitsi/index.scss
create mode 100644 src/vector/jitsi/index.ts
create mode 100644 src/vector/mobile_guide/index.html
create mode 100644 src/vector/mobile_guide/index.js
create mode 100644 src/vector/modernizr.js
create mode 100644 src/vector/platform/ElectronPlatform.tsx
create mode 100644 src/vector/platform/PWAPlatform.ts
create mode 100644 src/vector/platform/VectorBasePlatform.ts
create mode 100644 src/vector/platform/WebPlatform.ts
create mode 100644 src/vector/rageshakesetup.ts
create mode 100644 src/vector/static/incompatible-browser.html
create mode 100644 src/vector/static/unable-to-load.html
create mode 100644 src/vector/url_utils.ts
create mode 100644 test/.eslintrc.js
create mode 100644 test/app-tests/joining-test.js
create mode 100644 test/app-tests/loading-test.js
create mode 100644 test/jest-mocks.js
create mode 100644 test/skin-sdk.js
create mode 100644 test/test-utils.js
create mode 100644 test/unit-tests/README.md
create mode 100644 tsconfig.json
create mode 100644 webpack.config.js
create mode 100644 yarn.lock
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..ced0256
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,9 @@
+# Exclude a bunch of stuff which can make the build context a larger than it needs to be
+test/
+webapp/
+lib/
+node_modules/
+karma-reports/
+.idea/
+.tmp/
+config.json*
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..880331a
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,23 @@
+# Copyright 2017 Aviral Dasgupta
+#
+# 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.
+
+root = true
+
+[*]
+charset=utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+trim_trailing_whitespace = true
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..fabbe10
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,2 @@
+src/vector/modernizr.js
+src/component-index.js
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..4009da4
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,23 @@
+module.exports = {
+ "extends": ["matrix-org", "matrix-org/react"],
+ "env": {
+ "browser": true,
+ "node": true,
+ },
+ "rules": {
+ "quotes": "off",
+ },
+ "overrides": [{
+ "files": ["src/**/*.{ts,tsx}"],
+ "extends": ["matrix-org/ts", "matrix-org/react"],
+ "env": {
+ "browser": true,
+ },
+ "rules": {
+ "quotes": "off",
+ // While converting to ts we allow this
+ "@typescript-eslint/no-explicit-any": "off",
+ "prefer-promise-reject-errors": "off",
+ },
+ }],
+};
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..afc29f0
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+patreon: matrixdotorg
+liberapay: matrixdotorg
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..944c129
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,46 @@
+
+
+
+
+### 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, Safari, Firefox? 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
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..ffeaf9a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,56 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: bug
+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, Safari, Firefox? 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
diff --git a/.github/ISSUE_TEMPLATE/suggestion-or-feature-request.md b/.github/ISSUE_TEMPLATE/suggestion-or-feature-request.md
new file mode 100644
index 0000000..b27af8f
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/suggestion-or-feature-request.md
@@ -0,0 +1,20 @@
+---
+name: Suggestion or Feature request
+about: Suggest an idea for this project
+title: ''
+labels: suggestion
+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.
diff --git a/.github/ISSUE_TEMPLATE/user-interface-or-usability-bug-report.md b/.github/ISSUE_TEMPLATE/user-interface-or-usability-bug-report.md
new file mode 100644
index 0000000..4e090d1
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/user-interface-or-usability-bug-report.md
@@ -0,0 +1,58 @@
+---
+name: User Interface or Usability Bug report
+about: Please include screenshots in UI/UX bug reports
+title: ''
+labels: bug, ui/ux
+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, Safari, Firefox? 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
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c7f99f6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,21 @@
+/build
+/cert.pem
+/dist
+/key.pem
+/lib
+/node_modules
+/packages/
+/webapp
+/.npmrc
+/*.log
+package-lock.json
+.DS_Store
+electron/dist
+electron/pub
+**/.idea
+/config.json
+/config.json.*
+/config.local*.json
+/src/component-index.js
+/.tmp
+/webpack-stats.json
diff --git a/.modernizr.json b/.modernizr.json
new file mode 100644
index 0000000..e6fde5a
--- /dev/null
+++ b/.modernizr.json
@@ -0,0 +1,38 @@
+{
+ "minify": true,
+ "classPrefix": "modernizr_",
+ "options": [
+ "setClasses"
+ ],
+ "feature-detects": [
+ "test/css/animations",
+ "test/css/displaytable",
+ "test/css/filters",
+ "test/css/flexbox",
+ "test/css/objectfit",
+
+ "test/es5/date",
+ "test/es5/function",
+ "test/es5/object",
+ "test/es5/undefined",
+
+ "test/es6/array",
+ "test/es6/collections",
+ "test/es6/promises",
+ "test/es6/string",
+
+ "test/svg",
+ "test/svg/asimg",
+ "test/svg/filters",
+
+ "test/url/parser",
+ "test/url/urlsearchparams",
+
+ "test/cors",
+ "test/crypto",
+ "test/iframe/sandbox",
+ "test/json",
+ "test/network/fetch",
+ "test/storage/localstorage"
+ ]
+}
diff --git a/.npmignore b/.npmignore
new file mode 100644
index 0000000..e69de29
diff --git a/.stylelintrc.js b/.stylelintrc.js
new file mode 100644
index 0000000..7296210
--- /dev/null
+++ b/.stylelintrc.js
@@ -0,0 +1,26 @@
+// Copied from react-sdk
+// TODO: Only keep one copy of this for synchronization purposes
+module.exports = {
+ "extends": "stylelint-config-standard",
+ "plugins": [
+ "stylelint-scss",
+ ],
+ "rules": {
+ "indentation": 4,
+ "comment-empty-line-before": null,
+ "declaration-empty-line-before": null,
+ "length-zero-no-unit": null,
+ "rule-empty-line-before": null,
+ "color-hex-length": null,
+ "max-empty-lines": null,
+ "number-no-trailing-zeros": null,
+ "number-leading-zero": null,
+ "selector-list-comma-newline-after": null,
+ "at-rule-no-unknown": null,
+ "no-descending-specificity": null,
+ "scss/at-rule-no-unknown": [true, {
+ // https://github.com/vector-im/riot-web/issues/10544
+ "ignoreAtRules": ["define-mixin"],
+ }],
+ }
+};
diff --git a/AUTHORS.rst b/AUTHORS.rst
new file mode 100644
index 0000000..a92ca06
--- /dev/null
+++ b/AUTHORS.rst
@@ -0,0 +1,18 @@
+Vector is written mainly by the Vector team, building upon the Matrix React
+SDK. Vector also welcomes external contributions. Third party contributors
+include:
+
+* Nolan Darilek (https://github.com/ndarilek)
+ Accessibility and semantic markup contributions
+
+* https://github.com/neko259
+ Improved scrollbar CSS
+
+* Florent VIOLLEAU (https://github.com/floviolleau)
+ Improve README.md for a better understanding of installation instructions
+
+* Michael Telatynski (https://github.com/t3chguy)
+ Improved consistency of inverted elements in dark theme across browsers
+
+* Alexandr Korsak (https://github.com/oivoodoo)
+ Improved multiple file uploading
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..5441e8b
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,4491 @@
+Changes in [1.7.12](https://github.com/vector-im/element-web/releases/tag/v1.7.12) (2020-10-28)
+===============================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.11...v1.7.12)
+
+ * Upgrade to React SDK 3.7.1 and JS SDK 9.0.1
+ * [Release] Fix Jitsi regressions with custom themes
+ [\#15577](https://github.com/vector-im/element-web/pull/15577)
+
+Changes in [1.7.11](https://github.com/vector-im/element-web/releases/tag/v1.7.11) (2020-10-26)
+===============================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.11-rc.1...v1.7.11)
+
+ * Upgrade to React SDK 3.7.0 and JS SDK 9.0.0
+
+Changes in [1.7.11-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.11-rc.1) (2020-10-21)
+=========================================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.10...v1.7.11-rc.1)
+
+ * Upgrade to React SDK 3.7.0-rc.2 and JS SDK 9.0.0-rc.1
+ * Update Weblate URL
+ [\#15516](https://github.com/vector-im/element-web/pull/15516)
+ * Translations update from Weblate
+ [\#15517](https://github.com/vector-im/element-web/pull/15517)
+ * Jitsi accept theme variable and restyle
+ [\#15499](https://github.com/vector-im/element-web/pull/15499)
+ * Skip editor confirmation of upgrades
+ [\#15506](https://github.com/vector-im/element-web/pull/15506)
+ * Adjust for new widget messaging APIs
+ [\#15495](https://github.com/vector-im/element-web/pull/15495)
+ * Use HTTPS_PROXY environment variable for downloading external_api.min…
+ [\#15479](https://github.com/vector-im/element-web/pull/15479)
+ * Document customisation points
+ [\#15475](https://github.com/vector-im/element-web/pull/15475)
+ * Don't fatally end the Jitsi widget when it's not being used as a widget
+ [\#15466](https://github.com/vector-im/element-web/pull/15466)
+ * electron-platform: Pass the user/devce id pair when initializing the event
+ index.
+ [\#15455](https://github.com/vector-im/element-web/pull/15455)
+
+Changes in [1.7.10](https://github.com/vector-im/element-web/releases/tag/v1.7.10) (2020-10-20)
+===============================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.9...v1.7.10)
+
+ * [Release] Adjust for new widget messaging APIs
+ [\#15497](https://github.com/vector-im/element-web/pull/15497)
+ * Upgrade to React SDK 3.6.1
+
+Changes in [1.7.9](https://github.com/vector-im/element-web/releases/tag/v1.7.9) (2020-10-12)
+=============================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.9-rc.1...v1.7.9)
+
+ * Upgrade to React SDK 3.6.0 and JS SDK 8.5.0
+
+Changes in [1.7.9-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.9-rc.1) (2020-10-07)
+=======================================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.8...v1.7.9-rc.1)
+
+ * Upgrade to React SDK 3.6.0-rc.1 and JS SDK 8.5.0-rc.1
+ * Update from Weblate
+ [\#15406](https://github.com/vector-im/element-web/pull/15406)
+ * Update Jest and JSDOM
+ [\#15402](https://github.com/vector-im/element-web/pull/15402)
+ * Add support for dehydration/fallback keys
+ [\#15398](https://github.com/vector-im/element-web/pull/15398)
+ * Remove riot-bot from sample config
+ [\#15376](https://github.com/vector-im/element-web/pull/15376)
+ * Switch to using the Widget API SDK for Jitsi widgets
+ [\#15102](https://github.com/vector-im/element-web/pull/15102)
+ * Remove workbox
+ [\#15352](https://github.com/vector-im/element-web/pull/15352)
+ * Disable workbox when running in webpack dev server, not in dev mode
+ [\#15345](https://github.com/vector-im/element-web/pull/15345)
+ * Update Riot -> Element in contribute.json
+ [\#15326](https://github.com/vector-im/element-web/pull/15326)
+ * Update Riot -> Element in redeploy.py
+ [\#15336](https://github.com/vector-im/element-web/pull/15336)
+ * Update Riot -> Element in docs/feature-flags.md
+ [\#15325](https://github.com/vector-im/element-web/pull/15325)
+ * Update Riot -> Element in element.io/README.md
+ [\#15327](https://github.com/vector-im/element-web/pull/15327)
+ * Update Riot -> Element in VectorAuthFooter
+ [\#15328](https://github.com/vector-im/element-web/pull/15328)
+ * Update Riot -> Element in VectorEmbeddedPage
+ [\#15329](https://github.com/vector-im/element-web/pull/15329)
+ * Update Riot -> Element in docs/review.md
+ [\#15330](https://github.com/vector-im/element-web/pull/15330)
+ * Update Riot -> Element in welcome.html
+ [\#15332](https://github.com/vector-im/element-web/pull/15332)
+ * Update Riot -> Element in issues-burndown.pl
+ [\#15333](https://github.com/vector-im/element-web/pull/15333)
+ * Update Riot -> Element in redeploy.py
+ [\#15334](https://github.com/vector-im/element-web/pull/15334)
+ * Update Riot -> Element in index.ts
+ [\#15335](https://github.com/vector-im/element-web/pull/15335)
+ * Update Riot -> Element Web in issue templates
+ [\#15324](https://github.com/vector-im/element-web/pull/15324)
+ * Give the Jitsi widget an icon to help with discovery
+ [\#15316](https://github.com/vector-im/element-web/pull/15316)
+ * Jitsi widget wrapper updates for hangup button
+ [\#15219](https://github.com/vector-im/element-web/pull/15219)
+ * Tidy up Service Worker, only run Workbox in production
+ [\#15271](https://github.com/vector-im/element-web/pull/15271)
+ * Remove conference handler
+ [\#15274](https://github.com/vector-im/element-web/pull/15274)
+ * Rebrand the webpack pipeline for Element
+ [\#15266](https://github.com/vector-im/element-web/pull/15266)
+ * Replace dummy sw.js with pre-caching and runtime-caching workbox SW
+ [\#15196](https://github.com/vector-im/element-web/pull/15196)
+
+Changes in [1.7.8](https://github.com/vector-im/element-web/releases/tag/v1.7.8) (2020-09-28)
+=============================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.8-rc.1...v1.7.8)
+
+ * Upgrade to React SDK 3.5.0 and JS SDK 8.4.1
+
+Changes in [1.7.8-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.8-rc.1) (2020-09-23)
+=======================================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.7...v1.7.8-rc.1)
+
+ * Upgrade to React SDK 3.5.0-rc.1 and JS SDK 8.4.0-rc.1
+ * Update from Weblate
+ [\#15262](https://github.com/vector-im/element-web/pull/15262)
+ * Upgrade sanitize-html
+ [\#15260](https://github.com/vector-im/element-web/pull/15260)
+ * Document config for preferring Secure Backup setup methods
+ [\#15251](https://github.com/vector-im/element-web/pull/15251)
+ * Add end-user documentation for UI features
+ [\#15190](https://github.com/vector-im/element-web/pull/15190)
+ * Update git checkout instructions
+ [\#15218](https://github.com/vector-im/element-web/pull/15218)
+ * If no bug_report_endpoint_url, hide rageshaking from the App
+ [\#15201](https://github.com/vector-im/element-web/pull/15201)
+ * Bump node-fetch from 2.6.0 to 2.6.1
+ [\#15153](https://github.com/vector-im/element-web/pull/15153)
+ * Remove references to Travis CI
+ [\#15137](https://github.com/vector-im/element-web/pull/15137)
+ * Fix onNewScreen to use replace when going from roomId->roomAlias
+ [\#15127](https://github.com/vector-im/element-web/pull/15127)
+ * Enable Estonian in language menu
+ [\#15136](https://github.com/vector-im/element-web/pull/15136)
+
+Changes in [1.7.7](https://github.com/vector-im/element-web/releases/tag/v1.7.7) (2020-09-14)
+=============================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.6...v1.7.7)
+
+ * Upgrade to React SDK 3.4.1
+
+Changes in [1.7.6](https://github.com/vector-im/element-web/releases/tag/v1.7.6) (2020-09-14)
+=============================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.6-rc.1...v1.7.6)
+
+ * Upgrade to React SDK 3.4.0 and JS SDK 8.3.0
+
+Changes in [1.7.6-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.6-rc.1) (2020-09-09)
+=======================================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.5...v1.7.6-rc.1)
+
+ * Upgrade to React SDK 3.4.0-rc.1 and JS SDK 8.3.0-rc.1
+ * Update from Weblate
+ [\#15125](https://github.com/vector-im/element-web/pull/15125)
+ * Support usage of Jitsi widgets with "openidtoken-jwt" auth
+ [\#15114](https://github.com/vector-im/element-web/pull/15114)
+ * Fix eslint ts override tsx matching and delint
+ [\#15064](https://github.com/vector-im/element-web/pull/15064)
+ * Add testing to review guidelines
+ [\#15050](https://github.com/vector-im/element-web/pull/15050)
+
+Changes in [1.7.5](https://github.com/vector-im/element-web/releases/tag/v1.7.5) (2020-09-01)
+=============================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.5-rc.1...v1.7.5)
+
+## Security notice
+
+Element Web 1.7.5 fixes an issue where encrypted state events could break incoming call handling.
+Thanks to @awesome-michael from Awesome Technologies for responsibly disclosing this via Matrix's
+Security Disclosure Policy.
+
+## All changes
+
+ * Upgrade to React SDK 3.3.0 and JS SDK 8.2.0
+
+Changes in [1.7.5-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.5-rc.1) (2020-08-26)
+=======================================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.4...v1.7.5-rc.1)
+
+ * Upgrade to React SDK 3.3.0-rc.1 and JS SDK 8.2.0-rc.1
+ * Update from Weblate
+ [\#15045](https://github.com/vector-im/element-web/pull/15045)
+ * Document .well-known E2EE secure backup setting
+ [\#15003](https://github.com/vector-im/element-web/pull/15003)
+ * Add docs for communities v2 prototyping feature flag
+ [\#15013](https://github.com/vector-im/element-web/pull/15013)
+ * Update links in README.md to point to Element
+ [\#14973](https://github.com/vector-im/element-web/pull/14973)
+ * Make kabyle translation available
+ [\#15027](https://github.com/vector-im/element-web/pull/15027)
+ * Change Riot to Element in readme
+ [\#15016](https://github.com/vector-im/element-web/pull/15016)
+ * Update links to element in the readme
+ [\#15014](https://github.com/vector-im/element-web/pull/15014)
+ * Link to Element in F-Droid as well
+ [\#15002](https://github.com/vector-im/element-web/pull/15002)
+ * Settings v3: Update documentation and configs for new feature flag behaviour
+ [\#14986](https://github.com/vector-im/element-web/pull/14986)
+ * Update jitsi.md with Element Android details
+ [\#14952](https://github.com/vector-im/element-web/pull/14952)
+ * TypeScript: enable es2019 lib for newer definitions
+ [\#14983](https://github.com/vector-im/element-web/pull/14983)
+ * Add reaction preview labs flags to develop
+ [\#14979](https://github.com/vector-im/element-web/pull/14979)
+ * Document new labs tweaks
+ [\#14958](https://github.com/vector-im/element-web/pull/14958)
+
+Changes in [1.7.4](https://github.com/vector-im/element-web/releases/tag/v1.7.4) (2020-08-17)
+=============================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.4-rc.1...v1.7.4)
+
+ * Upgrade to React SDK 3.2.0 and JS SDK 8.1.0
+
+Changes in [1.7.4-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.4-rc.1) (2020-08-13)
+=======================================================================================================
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.3...v1.7.4-rc.1)
+
+ * Upgrade to React SDK 3.2.0-rc.1 and JS SDK 8.1.0-rc.1
+ * Update policy links to element.io
+ [\#14905](https://github.com/vector-im/element-web/pull/14905)
+ * Update from Weblate
+ [\#14949](https://github.com/vector-im/element-web/pull/14949)
+ * Try to close notification on all platforms which support it, not just
+ electron
+ [\#14939](https://github.com/vector-im/element-web/pull/14939)
+ * Update bug report submission URL
+ [\#14903](https://github.com/vector-im/element-web/pull/14903)
+ * Fix arm docker build
+ [\#14522](https://github.com/vector-im/element-web/pull/14522)
+
+Changes in [1.7.3](https://github.com/vector-im/element-web/releases/tag/v1.7.3) (2020-08-05)
+=============================================================================================
+
+## Security notice
+
+Element Web 1.7.3 (as well as the earlier release 1.7.2) fixes an issue where
+replying to a specially formatted message would make it seem like the replier
+said something they did not. Thanks to Sorunome for responsibly disclosing this
+via Matrix's Security Disclosure Policy.
+
+Element Web 1.7.3 (as well as the earlier release 1.7.2) fixes an issue where an
+unexpected language ID in a code block could cause Element to crash. Thanks to
+SakiiR for responsibly disclosing this via Matrix's Security Disclosure Policy.
+
+## All changes
+
+[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.3-rc.1...v1.7.3)
+
+ * Upgrade to React SDK 3.1.0 and JS SDK 8.0.1
+
+Changes in [1.7.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.7.3-rc.1) (2020-07-31)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.7.2...v1.7.3-rc.1)
+
+ * Upgrade to React SDK 3.1.0-rc.1 and JS SDK 8.0.1-rc.1
+ * Make Lojban translation available
+ [\#14703](https://github.com/vector-im/riot-web/pull/14703)
+ * Update from Weblate
+ [\#14841](https://github.com/vector-im/riot-web/pull/14841)
+ * Remove redundant lint dependencies
+ [\#14810](https://github.com/vector-im/riot-web/pull/14810)
+ * Bump elliptic from 6.5.2 to 6.5.3
+ [\#14826](https://github.com/vector-im/riot-web/pull/14826)
+ * Update mobile config intercept URL
+ [\#14796](https://github.com/vector-im/riot-web/pull/14796)
+ * Fix typo in https://
+ [\#14791](https://github.com/vector-im/riot-web/pull/14791)
+
+Changes in [1.7.2](https://github.com/vector-im/riot-web/releases/tag/v1.7.2) (2020-07-27)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.7.1...v1.7.2)
+
+ * Upgrade to React SDK 3.0.0 and JS SDK 8.0.0
+ * Update from Weblate
+ [\#14778](https://github.com/vector-im/riot-web/pull/14778)
+ * Capitalize letters
+ [\#14566](https://github.com/vector-im/riot-web/pull/14566)
+ * Configure eslint package and fix lint issues
+ [\#14673](https://github.com/vector-im/riot-web/pull/14673)
+ * Riot → Element
+ [\#14581](https://github.com/vector-im/riot-web/pull/14581)
+ * Remove labs info for the new room list
+ [\#14603](https://github.com/vector-im/riot-web/pull/14603)
+ * Convince Webpack to use development on CI
+ [\#14593](https://github.com/vector-im/riot-web/pull/14593)
+ * Move dev dep to the right place
+ [\#14572](https://github.com/vector-im/riot-web/pull/14572)
+ * Bump lodash from 4.17.15 to 4.17.19
+ [\#14552](https://github.com/vector-im/riot-web/pull/14552)
+ * Update all mobile links to match marketing site
+ [\#14541](https://github.com/vector-im/riot-web/pull/14541)
+
+Changes in [1.7.1](https://github.com/vector-im/riot-web/releases/tag/v1.7.1) (2020-07-16)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.7.0...v1.7.1)
+
+ * Upgrade to React SDK 2.10.1
+ * Fix SSO session ID paramater
+ [\#14544](https://github.com/vector-im/riot-web/pull/14544)
+ * Run pngcrush on vector-icons
+ [\#14488](https://github.com/vector-im/riot-web/pull/14488)
+ * Fix hosting signup link
+ [\#14502](https://github.com/vector-im/riot-web/pull/14502)
+ * Use the right protocol for SSO URLs
+ [\#14513](https://github.com/vector-im/riot-web/pull/14513)
+ * Fix mstile-310x150 by renaming it
+ [\#14485](https://github.com/vector-im/riot-web/pull/14485)
+ * Update blog and twitter links to point to Element
+ [\#14478](https://github.com/vector-im/riot-web/pull/14478)
+
+Changes in [1.7.0](https://github.com/vector-im/riot-web/releases/tag/v1.7.0) (2020-07-15)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.8...v1.7.0)
+
+ * App name changed from Riot to Element
+ * Upgrade to React SDK 2.10.0
+ * Remove redundant enum
+ [\#14472](https://github.com/vector-im/riot-web/pull/14472)
+ * Remove font scaling from labs
+ [\#14355](https://github.com/vector-im/riot-web/pull/14355)
+ * Update documentation and remove labs flag for new room list
+ [\#14375](https://github.com/vector-im/riot-web/pull/14375)
+ * Update from Weblate
+ [\#14434](https://github.com/vector-im/riot-web/pull/14434)
+ * Release the irc layout from labs
+ [\#14350](https://github.com/vector-im/riot-web/pull/14350)
+ * Fix welcomeBackgroundUrl array causing background to change during use
+ [\#14368](https://github.com/vector-im/riot-web/pull/14368)
+ * Be more explicit about type when calling platform startUpdater
+ [\#14299](https://github.com/vector-im/riot-web/pull/14299)
+
+Changes in [1.6.8](https://github.com/vector-im/riot-web/releases/tag/v1.6.8) (2020-07-03)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.8-rc.1...v1.6.8)
+
+ * Upgrade to JS SDK 7.1.0 and React SDK 2.9.0
+
+Changes in [1.6.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.8-rc.1) (2020-07-01)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.7...v1.6.8-rc.1)
+
+ * Upgrade to JS SDK 7.1.0-rc.1 and React SDK 2.9.0-rc.1
+ * Update from Weblate
+ [\#14282](https://github.com/vector-im/riot-web/pull/14282)
+ * Show a download completed toast in electron
+ [\#14248](https://github.com/vector-im/riot-web/pull/14248)
+ * Add the new spinner feature labs flag
+ [\#14213](https://github.com/vector-im/riot-web/pull/14213)
+ * Fix loading-test for SSO plaf changes
+ [\#14212](https://github.com/vector-im/riot-web/pull/14212)
+ * Fix spelling on startup error page
+ [\#14199](https://github.com/vector-im/riot-web/pull/14199)
+ * Document fonts in custom theme
+ [\#14175](https://github.com/vector-im/riot-web/pull/14175)
+ * Update from Weblate
+ [\#14129](https://github.com/vector-im/riot-web/pull/14129)
+ * ElectronPlatform: Implement the isRoomIndexed method.
+ [\#13957](https://github.com/vector-im/riot-web/pull/13957)
+ * ElectronPlatform: Add support to set and get the index user version.
+ [\#14080](https://github.com/vector-im/riot-web/pull/14080)
+ * Mark the new room list as ready for general testing
+ [\#14102](https://github.com/vector-im/riot-web/pull/14102)
+
+Changes in [1.6.7](https://github.com/vector-im/riot-web/releases/tag/v1.6.7) (2020-06-29)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.6...v1.6.7)
+
+ * Upgrade to React SDK 2.8.1
+
+Changes in [1.6.6](https://github.com/vector-im/riot-web/releases/tag/v1.6.6) (2020-06-23)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.6-rc.1...v1.6.6)
+
+ * Upgrade to JS SDK 7.0.0 and React SDK 2.8.0
+
+Changes in [1.6.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.6-rc.1) (2020-06-17)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.5...v1.6.6-rc.1)
+
+ * Upgrade to JS SDK 7.0.0-rc.1 and React SDK 2.8.0-rc.1
+ * Update from Weblate
+ [\#14067](https://github.com/vector-im/riot-web/pull/14067)
+ * Update from Weblate
+ [\#14032](https://github.com/vector-im/riot-web/pull/14032)
+ * Attempt to fix decoder ring for relative hosted riots
+ [\#13987](https://github.com/vector-im/riot-web/pull/13987)
+ * Upgrade deps
+ [\#13952](https://github.com/vector-im/riot-web/pull/13952)
+ * Fix riot-desktop manual update check getting stuck on Downloading...
+ [\#13946](https://github.com/vector-im/riot-web/pull/13946)
+ * Bump websocket-extensions from 0.1.3 to 0.1.4
+ [\#13943](https://github.com/vector-im/riot-web/pull/13943)
+ * Add e2ee-default:false docs
+ [\#13914](https://github.com/vector-im/riot-web/pull/13914)
+ * make IPC calls to get pickle key
+ [\#13846](https://github.com/vector-im/riot-web/pull/13846)
+ * fix loading test for new sso pattern
+ [\#13913](https://github.com/vector-im/riot-web/pull/13913)
+ * Fix login loop where the sso flow returns to `#/login`
+ [\#13889](https://github.com/vector-im/riot-web/pull/13889)
+ * Fix typo in docs
+ [\#13905](https://github.com/vector-im/riot-web/pull/13905)
+ * Remove cross-signing from labs
+ [\#13904](https://github.com/vector-im/riot-web/pull/13904)
+ * Add PWA Platform with PWA-specific badge controls
+ [\#13890](https://github.com/vector-im/riot-web/pull/13890)
+ * Modernizr check for subtle crypto as we require it all over the place
+ [\#13828](https://github.com/vector-im/riot-web/pull/13828)
+
+Changes in [1.6.5](https://github.com/vector-im/riot-web/releases/tag/v1.6.5) (2020-06-16)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.4...v1.6.5)
+
+* Upgrade to JS SDK 6.2.2 and React SDK 2.7.2
+
+Changes in [1.6.4](https://github.com/vector-im/riot-web/releases/tag/v1.6.4) (2020-06-05)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.3...v1.6.4)
+
+* Upgrade to JS SDK 6.2.1 and React SDK 2.7.1
+
+Changes in [1.6.3](https://github.com/vector-im/riot-web/releases/tag/v1.6.3) (2020-06-04)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.3-rc.1...v1.6.3)
+
+## Security notice
+
+Riot Web 1.6.3 fixes a vulnerability in single sign-on (SSO) deployments where Riot Web could be confused into sending authentication details to an attacker-controlled server. Thanks to Quentin Gliech for responsibly disclosing this via Matrix's Security Disclosure Policy.
+
+## All changes
+
+ * Fix login loop where the sso flow returns to `#/login` to release
+ [\#13915](https://github.com/vector-im/riot-web/pull/13915)
+
+Changes in [1.6.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.3-rc.1) (2020-06-02)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.2...v1.6.3-rc.1)
+
+ * Upgrade to JS SDK 6.2.0-rc.1 and React SDK 2.7.0-rc.2
+ * Get rid of welcome.html's Chat with Riot Bot button
+ [\#13842](https://github.com/vector-im/riot-web/pull/13842)
+ * Update from Weblate
+ [\#13886](https://github.com/vector-im/riot-web/pull/13886)
+ * Allow deferring of Update Toast until the next morning
+ [\#13864](https://github.com/vector-im/riot-web/pull/13864)
+ * Give contextual feedback for manual update check instead of banner
+ [\#13862](https://github.com/vector-im/riot-web/pull/13862)
+ * Add app-load doc
+ [\#13834](https://github.com/vector-im/riot-web/pull/13834)
+ * Update Modular hosting link
+ [\#13777](https://github.com/vector-im/riot-web/pull/13777)
+ * Replace New Version Bar with a Toast
+ [\#13776](https://github.com/vector-im/riot-web/pull/13776)
+ * Remove webpack-build-notifier from lockfile
+ [\#13814](https://github.com/vector-im/riot-web/pull/13814)
+ * Add media queries and mobile viewport (#12142)
+ [\#13818](https://github.com/vector-im/riot-web/pull/13818)
+ * Fix @types/react conflict in matrix-react-sdk
+ [\#13809](https://github.com/vector-im/riot-web/pull/13809)
+ * Fix manual update checking, super in arrow funcs doesn't work
+ [\#13808](https://github.com/vector-im/riot-web/pull/13808)
+ * Update from Weblate
+ [\#13806](https://github.com/vector-im/riot-web/pull/13806)
+ * Convert platforms to Typescript
+ [\#13756](https://github.com/vector-im/riot-web/pull/13756)
+ * Fix EventEmitter typescript signature in node typings
+ [\#13764](https://github.com/vector-im/riot-web/pull/13764)
+ * Add docs and labs flag for new room list implementation
+ [\#13675](https://github.com/vector-im/riot-web/pull/13675)
+ * Add font scaling labs setting.
+ [\#13352](https://github.com/vector-im/riot-web/pull/13352)
+ * Add labs flag for alternate message layouts
+ [\#13350](https://github.com/vector-im/riot-web/pull/13350)
+ * Move dispatcher references in support of TypeScript conversion
+ [\#13666](https://github.com/vector-im/riot-web/pull/13666)
+ * Update from Weblate
+ [\#13704](https://github.com/vector-im/riot-web/pull/13704)
+ * Replace favico.js dependency with simplified variant grown from it
+ [\#13649](https://github.com/vector-im/riot-web/pull/13649)
+ * Remove Electron packaging scripts
+ [\#13688](https://github.com/vector-im/riot-web/pull/13688)
+ * Fix postcss order to allow mixin variables to work
+ [\#13674](https://github.com/vector-im/riot-web/pull/13674)
+ * Pass screenAfterLogin through SSO in the callback url
+ [\#13650](https://github.com/vector-im/riot-web/pull/13650)
+
+Changes in [1.6.2](https://github.com/vector-im/riot-web/releases/tag/v1.6.2) (2020-05-22)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.1...v1.6.2)
+
+ * Upgrade to React SDK 2.6.1
+
+Changes in [1.6.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.1) (2020-05-19)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.1-rc.1...v1.6.1)
+
+ * Upgrade to React SDK 2.6.0 and JS SDK 6.1.0
+
+Changes in [1.6.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.1-rc.1) (2020-05-14)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0...v1.6.1-rc.1)
+
+ * Upgrade to React SDK 2.6.0-rc.1 and JS SDK 6.1.0-rc.1
+ * Update from Weblate
+ [\#13673](https://github.com/vector-im/riot-web/pull/13673)
+ * Add notranslate class to matrixchat to prevent translation by Google
+ Translate
+ [\#13669](https://github.com/vector-im/riot-web/pull/13669)
+ * Added Anchor Link to the development of matrix sdk
+ [\#13638](https://github.com/vector-im/riot-web/pull/13638)
+ * Prefetch the formatting button mask svg images
+ [\#13631](https://github.com/vector-im/riot-web/pull/13631)
+ * use a different image in previews
+ [\#13488](https://github.com/vector-im/riot-web/pull/13488)
+ * Update from Weblate
+ [\#13625](https://github.com/vector-im/riot-web/pull/13625)
+ * Remove electron_app as we now have riot-desktop repo
+ [\#13544](https://github.com/vector-im/riot-web/pull/13544)
+ * add new images for PWA icons
+ [\#13556](https://github.com/vector-im/riot-web/pull/13556)
+ * Remove unused feature flag from config
+ [\#13504](https://github.com/vector-im/riot-web/pull/13504)
+ * Update from Weblate
+ [\#13486](https://github.com/vector-im/riot-web/pull/13486)
+ * Developer tool: convert rageshake error locations back to sourcecode
+ locations
+ [\#13357](https://github.com/vector-im/riot-web/pull/13357)
+ * App load tweaks, improve error pages
+ [\#13329](https://github.com/vector-im/riot-web/pull/13329)
+ * Tweak default device name to be more compact
+ [\#13465](https://github.com/vector-im/riot-web/pull/13465)
+ * Tweak default device name on macOS
+ [\#13460](https://github.com/vector-im/riot-web/pull/13460)
+ * Update docs with custom theming changes
+ [\#13406](https://github.com/vector-im/riot-web/pull/13406)
+ * Update from Weblate
+ [\#13395](https://github.com/vector-im/riot-web/pull/13395)
+ * Remove docs and config for invite only padlocks
+ [\#13374](https://github.com/vector-im/riot-web/pull/13374)
+ * Revert "Add font scaling labs setting."
+ [\#13351](https://github.com/vector-im/riot-web/pull/13351)
+ * Expand feature flag docs to cover additional release channels
+ [\#13341](https://github.com/vector-im/riot-web/pull/13341)
+ * Optimized image assets by recompressing without affecting quality.
+ [\#13034](https://github.com/vector-im/riot-web/pull/13034)
+ * Add font scaling labs setting.
+ [\#13199](https://github.com/vector-im/riot-web/pull/13199)
+ * Remove encrypted message search feature flag
+ [\#13325](https://github.com/vector-im/riot-web/pull/13325)
+ * Fix `default_federate` settting description
+ [\#13312](https://github.com/vector-im/riot-web/pull/13312)
+ * Clarify that the .well-known method for Jitsi isn't available yet
+ [\#13314](https://github.com/vector-im/riot-web/pull/13314)
+ * add config option to tsc resolveJsonModule
+ [\#13296](https://github.com/vector-im/riot-web/pull/13296)
+ * Fix dispatcher import to be extension agnostic
+ [\#13297](https://github.com/vector-im/riot-web/pull/13297)
+ * Document more config options in config.md (fixes #13089)
+ [\#13260](https://github.com/vector-im/riot-web/pull/13260)
+ * Fix tests post-js-sdk-filters change
+ [\#13295](https://github.com/vector-im/riot-web/pull/13295)
+ * Make Jitsi download script a JS script
+ [\#13227](https://github.com/vector-im/riot-web/pull/13227)
+ * Use matrix-react-sdk type extensions as a base
+ [\#13271](https://github.com/vector-im/riot-web/pull/13271)
+ * Allow Riot Web to randomly pick welcome backgrounds
+ [\#13235](https://github.com/vector-im/riot-web/pull/13235)
+ * Update cross-signing feature docs and document fallback procedures
+ [\#13224](https://github.com/vector-im/riot-web/pull/13224)
+
+Changes in [1.6.0](https://github.com/vector-im/riot-web/releases/tag/v1.6.0) (2020-05-05)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.6...v1.6.0)
+
+ * Cross-signing and E2EE by default for DMs and private rooms enabled
+ * Upgrade to React SDK 2.5.0 and JS SDK 6.0.0
+
+Changes in [1.6.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.6) (2020-05-01)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.5...v1.6.0-rc.6)
+
+ * Upgrade to React SDK 2.5.0-rc.6 and JS SDK 6.0.0-rc.2
+
+Changes in [1.6.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.5) (2020-04-30)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.4...v1.6.0-rc.5)
+
+ * Upgrade to React SDK 2.5.0-rc.5 and JS SDK 6.0.0-rc.1
+ * Remove feature flag docs from docs on release
+ [\#13375](https://github.com/vector-im/riot-web/pull/13375)
+
+Changes in [1.6.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.4) (2020-04-23)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.3...v1.6.0-rc.4)
+
+ * Upgrade to React SDK 2.5.0-rc.4 and JS SDK 5.3.1-rc.4
+
+Changes in [1.6.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.3) (2020-04-17)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.2...v1.6.0-rc.3)
+
+ * Upgrade to React SDK 2.5.0-rc.3 and JS SDK 5.3.1-rc.3
+
+Changes in [1.6.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.2) (2020-04-16)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.1...v1.6.0-rc.2)
+
+ * Upgrade to React SDK 2.5.0-rc.2 and JS SDK 5.3.1-rc.2
+ * Enable cross-signing / E2EE by default for DM without config changes
+
+Changes in [1.6.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.1) (2020-04-15)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.16-rc.1...v1.6.0-rc.1)
+
+ * Enable cross-signing / E2EE by default for DM on release
+ [\#13179](https://github.com/vector-im/riot-web/pull/13179)
+ * Upgrade to React SDK 2.5.0-rc.1 and JS SDK 5.3.1-rc.1
+ * Add instruction to resolve the inotify watch limit issue
+ [\#13128](https://github.com/vector-im/riot-web/pull/13128)
+ * docs: labs: add a pointer to config.md
+ [\#13149](https://github.com/vector-im/riot-web/pull/13149)
+ * Fix Electron SSO handling to support multiple profiles
+ [\#13028](https://github.com/vector-im/riot-web/pull/13028)
+ * Add riot-desktop shortcuts for forward/back matching browsers&slack
+ [\#13133](https://github.com/vector-im/riot-web/pull/13133)
+ * Allow rageshake to fail in init
+ [\#13164](https://github.com/vector-im/riot-web/pull/13164)
+ * Fix broken yarn install link in README.md
+ [\#13125](https://github.com/vector-im/riot-web/pull/13125)
+ * fix build:jitsi scripts crash caused by a missing folder
+ [\#13122](https://github.com/vector-im/riot-web/pull/13122)
+ * App load order changes to catch errors better
+ [\#13095](https://github.com/vector-im/riot-web/pull/13095)
+ * Upgrade deps
+ [\#13080](https://github.com/vector-im/riot-web/pull/13080)
+
+Changes in [1.5.16-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.16-rc.1) (2020-04-08)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.15...v1.5.16-rc.1)
+
+ * Upgrade React SDK to 2.4.0-rc.1 and JS SDK to 5.3.0-rc.1
+ * Update from Weblate
+ [\#13078](https://github.com/vector-im/riot-web/pull/13078)
+ * Mention Jitsi support at the .well-known level in Jitsi docs
+ [\#13047](https://github.com/vector-im/riot-web/pull/13047)
+ * Add new default home page fallback
+ [\#13049](https://github.com/vector-im/riot-web/pull/13049)
+ * App load order tweaks for code splitting
+ [\#13032](https://github.com/vector-im/riot-web/pull/13032)
+ * Add some docs about Jitsi widgets and Jitsi configuration
+ [\#13027](https://github.com/vector-im/riot-web/pull/13027)
+ * Bump minimist from 1.2.2 to 1.2.3 in /electron_app
+ [\#13030](https://github.com/vector-im/riot-web/pull/13030)
+ * Fix Electron mac-specific shortcut being registered on Web too.
+ [\#13020](https://github.com/vector-im/riot-web/pull/13020)
+ * Add a console warning that errors from Jitsi Meet are fine
+ [\#12968](https://github.com/vector-im/riot-web/pull/12968)
+ * Fix popout support for jitsi widgets
+ [\#12975](https://github.com/vector-im/riot-web/pull/12975)
+ * Some grammar and clarifications
+ [\#12925](https://github.com/vector-im/riot-web/pull/12925)
+ * Don't immediately remove notifications from notification trays
+ [\#12861](https://github.com/vector-im/riot-web/pull/12861)
+ * Remove welcome user from config
+ [\#12894](https://github.com/vector-im/riot-web/pull/12894)
+
+Changes in [1.5.15](https://github.com/vector-im/riot-web/releases/tag/v1.5.15) (2020-04-01)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.14...v1.5.15)
+
+## Security notice
+
+The `jitsi.html` widget wrapper introduced in Riot 1.5.14 could be used to extract user data by tricking the user into adding a custom widget or opening a link in the browser used to run Riot. Jitsi widgets created through Riot UI do not pose a risk and do not need to be recreated.
+
+It is important to purge any copies of Riot 1.5.14 so that the vulnerable `jitsi.html` wrapper from that version is no longer accessible.
+
+## All changes
+
+ * Upgrade React SDK to 2.3.1 for Jitsi fixes
+ * Fix popout support for jitsi widgets
+ [\#12980](https://github.com/vector-im/riot-web/pull/12980)
+
+Changes in [1.5.14](https://github.com/vector-im/riot-web/releases/tag/v1.5.14) (2020-03-30)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.14-rc.1...v1.5.14)
+
+ * Upgrade JS SDK to 5.2.0 and React SDK to 2.3.0
+
+Changes in [1.5.14-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.14-rc.1) (2020-03-26)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.13...v1.5.14-rc.1)
+
+ * Upgrade JS SDK to 5.2.0-rc.1 and React SDK to 2.3.0-rc.1
+ * Update from Weblate
+ [\#12890](https://github.com/vector-im/riot-web/pull/12890)
+ * App load tweaks
+ [\#12869](https://github.com/vector-im/riot-web/pull/12869)
+ * Add review policy doc
+ [\#12730](https://github.com/vector-im/riot-web/pull/12730)
+ * Fix artifact searching in redeployer
+ [\#12875](https://github.com/vector-im/riot-web/pull/12875)
+ * Fix Jitsi wrapper being large by getting the config from elsewhere
+ [\#12845](https://github.com/vector-im/riot-web/pull/12845)
+ * Add webpack stats which will be used by CI and stored to artifacts
+ [\#12832](https://github.com/vector-im/riot-web/pull/12832)
+ * Revert "Remove useless app preloading from Jitsi widget wrapper"
+ [\#12842](https://github.com/vector-im/riot-web/pull/12842)
+ * Remove useless app preloading from Jitsi widget wrapper
+ [\#12836](https://github.com/vector-im/riot-web/pull/12836)
+ * Update from Weblate
+ [\#12829](https://github.com/vector-im/riot-web/pull/12829)
+ * Fix version for Docker builds
+ [\#12799](https://github.com/vector-im/riot-web/pull/12799)
+ * Register Mac electron specific Cmd+, shortcut to User Settings
+ [\#12800](https://github.com/vector-im/riot-web/pull/12800)
+ * Use a local widget wrapper for Jitsi calls
+ [\#12780](https://github.com/vector-im/riot-web/pull/12780)
+ * Delete shortcuts.md
+ [\#12786](https://github.com/vector-im/riot-web/pull/12786)
+ * Remove remainders of gemini-scrollbar and react-gemini-scrollbar
+ [\#12756](https://github.com/vector-im/riot-web/pull/12756)
+ * Update electron to v7.1.14
+ [\#12762](https://github.com/vector-im/riot-web/pull/12762)
+ * Add url tests to Modernizr
+ [\#12735](https://github.com/vector-im/riot-web/pull/12735)
+ * ElectronPlatform: Add support to remove events from the event index.
+ [\#12703](https://github.com/vector-im/riot-web/pull/12703)
+ * Bump minimist from 1.2.0 to 1.2.2 in /electron_app
+ [\#12744](https://github.com/vector-im/riot-web/pull/12744)
+ * Add docs and flag for custom theme support
+ [\#12731](https://github.com/vector-im/riot-web/pull/12731)
+ * Declare jsx in tsconfig for IDEs
+ [\#12716](https://github.com/vector-im/riot-web/pull/12716)
+ * Remove stuff that yarn install doesn't think we need
+ [\#12713](https://github.com/vector-im/riot-web/pull/12713)
+ * yarn upgrade
+ [\#12691](https://github.com/vector-im/riot-web/pull/12691)
+ * Support TypeScript for React components
+ [\#12696](https://github.com/vector-im/riot-web/pull/12696)
+
+Changes in [1.5.13](https://github.com/vector-im/riot-web/releases/tag/v1.5.13) (2020-03-17)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.13-rc.1...v1.5.13)
+
+ * Upgrade to JS SDK 5.1.1 and React SDK 2.2.3
+
+Changes in [1.5.13-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.13-rc.1) (2020-03-11)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.12...v1.5.13-rc.1)
+
+ * Update from Weblate
+ [\#12688](https://github.com/vector-im/riot-web/pull/12688)
+ * Fix Docker image version for develop builds
+ [\#12670](https://github.com/vector-im/riot-web/pull/12670)
+ * docker: optimize custom sdk builds
+ [\#12612](https://github.com/vector-im/riot-web/pull/12612)
+ * riot-desktop open SSO in browser so user doesn't have to auth twice
+ [\#12590](https://github.com/vector-im/riot-web/pull/12590)
+ * Fix SSO flows for electron 8.0.2 by re-breaking will-navigate
+ [\#12585](https://github.com/vector-im/riot-web/pull/12585)
+ * index.html: Place noscript on top of the page
+ [\#12563](https://github.com/vector-im/riot-web/pull/12563)
+ * Remove will-navigate comment after Electron fix
+ [\#12561](https://github.com/vector-im/riot-web/pull/12561)
+ * Update loading test for JS SDK IDB change
+ [\#12552](https://github.com/vector-im/riot-web/pull/12552)
+ * Upgrade deps
+ [\#12528](https://github.com/vector-im/riot-web/pull/12528)
+
+Changes in [1.5.12](https://github.com/vector-im/riot-web/releases/tag/v1.5.12) (2020-03-04)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.11...v1.5.12)
+
+ * Upgrade to React SDK 2.2.1
+ * Revert to Electron 7.1.12 to fix Arch Linux tray icon
+ * Fix image download links so they open in a new tab
+
+Changes in [1.5.11](https://github.com/vector-im/riot-web/releases/tag/v1.5.11) (2020-03-02)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.11-rc.1...v1.5.11)
+
+ * Upgrade to JS SDK 5.1.0 and React SDK 2.2.0
+ * Fix SSO flows for Electron 8.0.2 by disabling will-navigate
+ [\#12585](https://github.com/vector-im/riot-web/pull/12585)
+
+Changes in [1.5.11-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.11-rc.1) (2020-02-26)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.10...v1.5.11-rc.1)
+
+ * Upgrade to JS SDK 5.1.0-rc.1 and React SDK 2.2.0-rc.1
+ * Change Windows signing to warning when missing token
+ [\#12523](https://github.com/vector-im/riot-web/pull/12523)
+ * Modernizr remove t3st/es6/contains
+ [\#12524](https://github.com/vector-im/riot-web/pull/12524)
+ * Switch out any eval-using Modernizr rules
+ [\#12519](https://github.com/vector-im/riot-web/pull/12519)
+ * Update from Weblate
+ [\#12522](https://github.com/vector-im/riot-web/pull/12522)
+ * Notify electron of language changes
+ [\#12487](https://github.com/vector-im/riot-web/pull/12487)
+ * Relax macOS notarisation check to print a warning
+ [\#12503](https://github.com/vector-im/riot-web/pull/12503)
+ * Clarify supported tier means desktop OSes
+ [\#12486](https://github.com/vector-im/riot-web/pull/12486)
+ * Use noreferrer in addition to noopener for edge case browsers
+ [\#12477](https://github.com/vector-im/riot-web/pull/12477)
+ * Document start / end composer shortcuts
+ [\#12466](https://github.com/vector-im/riot-web/pull/12466)
+ * Update from Weblate
+ [\#12480](https://github.com/vector-im/riot-web/pull/12480)
+ * Remove buildkite pipeline
+ [\#12464](https://github.com/vector-im/riot-web/pull/12464)
+ * Remove exec so release script continues
+ [\#12435](https://github.com/vector-im/riot-web/pull/12435)
+ * Use Persistent Storage where possible
+ [\#12425](https://github.com/vector-im/riot-web/pull/12425)
+
+Changes in [1.5.10](https://github.com/vector-im/riot-web/releases/tag/v1.5.10) (2020-02-19)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.9...v1.5.10)
+
+ * Get rid of dependence on usercontent.riot.im
+ [\#12292](https://github.com/vector-im/riot-web/pull/12292)
+ * Add experimental support tier
+ [\#12377](https://github.com/vector-im/riot-web/pull/12377)
+
+Changes in [1.5.9](https://github.com/vector-im/riot-web/releases/tag/v1.5.9) (2020-02-17)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.9-rc.1...v1.5.9)
+
+ * Automate SDK dep upgrades for release
+ [\#12374](https://github.com/vector-im/riot-web/pull/12374)
+
+Changes in [1.5.9-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.9-rc.1) (2020-02-13)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.8...v1.5.9-rc.1)
+
+ * Upgrade JS SDK to 5.0.0-rc.1 and React SDK 2.1.0-rc.2
+ * Update from Weblate
+ [\#12354](https://github.com/vector-im/riot-web/pull/12354)
+ * Add top left menu shortcut
+ [\#12310](https://github.com/vector-im/riot-web/pull/12310)
+ * Remove modernizr rules for features on which we only soft depend
+ [\#12272](https://github.com/vector-im/riot-web/pull/12272)
+ * Embed CSP meta tag and stop using script-src unsafe-inline
+ [\#12258](https://github.com/vector-im/riot-web/pull/12258)
+ * Add contribute.json
+ [\#12251](https://github.com/vector-im/riot-web/pull/12251)
+ * Improve Browser checks
+ [\#12232](https://github.com/vector-im/riot-web/pull/12232)
+ * Document padlock flag
+ [\#12173](https://github.com/vector-im/riot-web/pull/12173)
+ * Enable cross-signing on /develop
+ [\#12126](https://github.com/vector-im/riot-web/pull/12126)
+ * Switch back to legacy decorators
+ [\#12110](https://github.com/vector-im/riot-web/pull/12110)
+ * Update babel targets
+ [\#12102](https://github.com/vector-im/riot-web/pull/12102)
+ * Install deps for linting
+ [\#12076](https://github.com/vector-im/riot-web/pull/12076)
+ * Update from Weblate
+ [\#12062](https://github.com/vector-im/riot-web/pull/12062)
+ * Change to minimal Webpack output
+ [\#12049](https://github.com/vector-im/riot-web/pull/12049)
+ * Remove docs for new invite dialog labs feature
+ [\#12015](https://github.com/vector-im/riot-web/pull/12015)
+ * ElectronPlatform: Add the indexSize method.
+ [\#11529](https://github.com/vector-im/riot-web/pull/11529)
+ * ElectronPlatform: Add the ability to load file events from the event index
+ [\#11907](https://github.com/vector-im/riot-web/pull/11907)
+ * Fix the remainder of the cookie links
+ [\#12008](https://github.com/vector-im/riot-web/pull/12008)
+ * Use bash in Docker scripts
+ [\#12001](https://github.com/vector-im/riot-web/pull/12001)
+ * Use debian to build the Docker image
+ [\#11999](https://github.com/vector-im/riot-web/pull/11999)
+ * Update cookie policy urls on /app and /develop config.json
+ [\#11998](https://github.com/vector-im/riot-web/pull/11998)
+ * BuildKite: Only deploy to /develop if everything else passed
+ [\#11996](https://github.com/vector-im/riot-web/pull/11996)
+ * Add docs for admin report content message
+ [\#11995](https://github.com/vector-im/riot-web/pull/11995)
+ * Load as little as possible in index.js for the skinner
+ [\#11959](https://github.com/vector-im/riot-web/pull/11959)
+ * Fix webpack config (by stealing Dave's config)
+ [\#11956](https://github.com/vector-im/riot-web/pull/11956)
+ * Force Jest to resolve the js-sdk and react-sdk to src directories
+ [\#11954](https://github.com/vector-im/riot-web/pull/11954)
+ * Fix build to not babel modules inside js/react sdk
+ [\#11949](https://github.com/vector-im/riot-web/pull/11949)
+ * Fix webpack to babel js-sdk & react-sdk but no other deps
+ [\#11944](https://github.com/vector-im/riot-web/pull/11944)
+
+Changes in [1.5.8](https://github.com/vector-im/riot-web/releases/tag/v1.5.8) (2020-01-27)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.8-rc.2...v1.5.8)
+
+ * Fixes for alias display and copy / paste on composer
+
+Changes in [1.5.8-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.8-rc.2) (2020-01-22)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.8-rc.1...v1.5.8-rc.2)
+
+ * Fix incorrect version of react-sdk
+
+Changes in [1.5.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.8-rc.1) (2020-01-22)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.7...v1.5.8-rc.1)
+
+This version contains an upgrade to the cryptography database
+version. Once users run this version, their session's indexeddb
+store will be upgraded and older version of Riot will no longer
+be able to read it. Users will have to log out and log in if
+the version of Riot is downgraded back to a previous version.
+
+ * Fix webpack config (by stealing Dave's config)
+ [\#11994](https://github.com/vector-im/riot-web/pull/11994)
+ * Fix webpack to babel js-sdk & react-sdk but no other deps
+ [\#11947](https://github.com/vector-im/riot-web/pull/11947)
+ * Update from Weblate
+ [\#11934](https://github.com/vector-im/riot-web/pull/11934)
+ * Fix rageshake post-sourcemaps
+ [\#11926](https://github.com/vector-im/riot-web/pull/11926)
+ * Fix yarn start concurrent commands
+ [\#11895](https://github.com/vector-im/riot-web/pull/11895)
+ * Run the react-sdk reskindexer for developers
+ [\#11894](https://github.com/vector-im/riot-web/pull/11894)
+ * Update labs documentation for feature_ftue_dms given new scope
+ [\#11893](https://github.com/vector-im/riot-web/pull/11893)
+ * Fix indentation on webpack config and make sourcemapped files legible
+ [\#11892](https://github.com/vector-im/riot-web/pull/11892)
+ * Remove spinner check
+ [\#11891](https://github.com/vector-im/riot-web/pull/11891)
+ * Don't minifiy builds of develop through CI packaging
+ [\#11867](https://github.com/vector-im/riot-web/pull/11867)
+ * Use Jest for tests
+ [\#11869](https://github.com/vector-im/riot-web/pull/11869)
+ * Support application/wasm in Docker image
+ [\#11858](https://github.com/vector-im/riot-web/pull/11858)
+ * Fix sourcemaps by refactoring the build system
+ [\#11843](https://github.com/vector-im/riot-web/pull/11843)
+ * Disable event indexing on develop
+ [\#11850](https://github.com/vector-im/riot-web/pull/11850)
+ * Updated blog url
+ [\#11792](https://github.com/vector-im/riot-web/pull/11792)
+ * Enable and document presence in room list feature flag
+ [\#11829](https://github.com/vector-im/riot-web/pull/11829)
+ * Add stub service worker so users can install on desktop with Chrome
+ [\#11774](https://github.com/vector-im/riot-web/pull/11774)
+ * Update from Weblate
+ [\#11826](https://github.com/vector-im/riot-web/pull/11826)
+ * Sourcemaps: develop -> feature branch
+ [\#11802](https://github.com/vector-im/riot-web/pull/11802)
+ * Update build scripts for new process
+ [\#11801](https://github.com/vector-im/riot-web/pull/11801)
+ * Make the webpack config work for us
+ [\#11712](https://github.com/vector-im/riot-web/pull/11712)
+ * Updates URL for Electron Command Line Switches
+ [\#11810](https://github.com/vector-im/riot-web/pull/11810)
+ * Import from src/ for the react-sdk and js-sdk
+ [\#11714](https://github.com/vector-im/riot-web/pull/11714)
+ * Convert components to ES6 exports
+ [\#11713](https://github.com/vector-im/riot-web/pull/11713)
+ * Remove now-retired package.json property
+ [\#11660](https://github.com/vector-im/riot-web/pull/11660)
+
+Changes in [1.5.7](https://github.com/vector-im/riot-web/releases/tag/v1.5.7) (2020-01-13)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.7-rc.2...v1.5.7)
+
+ * Enable and document presence in room list feature flag
+ [\#11830](https://github.com/vector-im/riot-web/pull/11830)
+
+Changes in [1.5.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.7-rc.2) (2020-01-08)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.7-rc.1...v1.5.7-rc.2)
+
+ * Update to react-sdk rc.2 to fix build
+
+Changes in [1.5.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.7-rc.1) (2020-01-06)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.6...v1.5.7-rc.1)
+
+ * Update from Weblate
+ [\#11784](https://github.com/vector-im/riot-web/pull/11784)
+ * Add docs for feature_bridge_state flag
+ [\#11778](https://github.com/vector-im/riot-web/pull/11778)
+ * Add docs for feature_ftue_dms flag
+ [\#11758](https://github.com/vector-im/riot-web/pull/11758)
+ * Fix version file for Docker images
+ [\#11721](https://github.com/vector-im/riot-web/pull/11721)
+ * Add accelerators to context menu options like cut&paste in electron
+ [\#11690](https://github.com/vector-im/riot-web/pull/11690)
+ * electron-main: Provide a better error message if Seshat isn't installed.
+ [\#11691](https://github.com/vector-im/riot-web/pull/11691)
+ * Update from Weblate
+ [\#11672](https://github.com/vector-im/riot-web/pull/11672)
+ * Remove babel-plugin-transform-async-to-bluebird
+ [\#11662](https://github.com/vector-im/riot-web/pull/11662)
+ * Clarify which versions of what we support
+ [\#11658](https://github.com/vector-im/riot-web/pull/11658)
+ * Remove the code that calls the origin migrator
+ [\#11631](https://github.com/vector-im/riot-web/pull/11631)
+ * yarn upgrade
+ [\#11617](https://github.com/vector-im/riot-web/pull/11617)
+ * Remove draft-js dependency
+ [\#11616](https://github.com/vector-im/riot-web/pull/11616)
+
+Changes in [1.5.6](https://github.com/vector-im/riot-web/releases/tag/v1.5.6) (2019-12-09)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.6-rc.1...v1.5.6)
+
+ * No changes since rc.1
+
+Changes in [1.5.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.6-rc.1) (2019-12-04)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.5...v1.5.6-rc.1)
+
+ * Update Lithuanian language name
+ [\#11599](https://github.com/vector-im/riot-web/pull/11599)
+ * Enable more languages
+ [\#11592](https://github.com/vector-im/riot-web/pull/11592)
+ * Fix Docker build for develop and publish a /version file
+ [\#11588](https://github.com/vector-im/riot-web/pull/11588)
+ * Remove unused translations
+ [\#11540](https://github.com/vector-im/riot-web/pull/11540)
+ * Update from Weblate
+ [\#11591](https://github.com/vector-im/riot-web/pull/11591)
+ * Update riot.im enable_presence_by_hs_url for new matrix.org client URL
+ [\#11565](https://github.com/vector-im/riot-web/pull/11565)
+ * Remove mention of vector.im as default identity server on mobile guide
+ [\#11544](https://github.com/vector-im/riot-web/pull/11544)
+ * Clean up and standardise app config
+ [\#11549](https://github.com/vector-im/riot-web/pull/11549)
+ * make it clear that seshat requires electron-build-env (at least on macOS)
+ [\#11527](https://github.com/vector-im/riot-web/pull/11527)
+ * Add postcss-easings
+ [\#11521](https://github.com/vector-im/riot-web/pull/11521)
+ * ElectronPlatform: Add support for a event index using Seshat.
+ [\#11125](https://github.com/vector-im/riot-web/pull/11125)
+ * Sign all of the Windows executable files
+ [\#11516](https://github.com/vector-im/riot-web/pull/11516)
+ * Clarify that cross-signing is in development
+ [\#11493](https://github.com/vector-im/riot-web/pull/11493)
+ * get rid of bluebird
+ [\#11301](https://github.com/vector-im/riot-web/pull/11301)
+ * Update from Weblate
+ [\#11488](https://github.com/vector-im/riot-web/pull/11488)
+ * Add note in README about self-hosted riot installs requiring custom caching
+ headers
+ [\#8702](https://github.com/vector-im/riot-web/pull/8702)
+ * De-dup theming code
+ [\#11445](https://github.com/vector-im/riot-web/pull/11445)
+ * Add eslint-plugin-jest because we inherit js-sdk's eslintrc and it wants
+ [\#11448](https://github.com/vector-im/riot-web/pull/11448)
+
+Changes in [1.5.5](https://github.com/vector-im/riot-web/releases/tag/v1.5.5) (2019-11-27)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.4...v1.5.5)
+
+* Upgrade to JS SDK 2.5.4 to relax identity server discovery and E2EE debugging
+* Upgrade to React SDK 1.7.4 to fix override behaviour of themes
+* Clarify that cross-signing is in development
+* Sign all of the Windows executable files
+
+Changes in [1.5.4](https://github.com/vector-im/riot-web/releases/tag/v1.5.4) (2019-11-25)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.4-rc.2...v1.5.4)
+
+ * No changes since rc.2
+
+Changes in [1.5.4-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.4-rc.2) (2019-11-22)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.4-rc.1...v1.5.4-rc.2)
+
+ * react-sdk rc.2 to fix an error in Safari and some cosmetic
+ bugs
+
+Changes in [1.5.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.4-rc.1) (2019-11-20)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.3...v1.5.4-rc.1)
+
+ * Add doc for custom themes
+ [\#11444](https://github.com/vector-im/riot-web/pull/11444)
+ * Use new theme API in react-sdk
+ [\#11442](https://github.com/vector-im/riot-web/pull/11442)
+ * preload warning triangle
+ [\#11441](https://github.com/vector-im/riot-web/pull/11441)
+ * Update from Weblate
+ [\#11440](https://github.com/vector-im/riot-web/pull/11440)
+ * Add entitlements file for mic & camera permissions on macOS
+ [\#11435](https://github.com/vector-im/riot-web/pull/11435)
+ * Fix error/exception in electron signing script
+ [\#11429](https://github.com/vector-im/riot-web/pull/11429)
+ * Merge the `feature_user_info_panel` flag into `feature_dm_verification`
+ [\#11426](https://github.com/vector-im/riot-web/pull/11426)
+ * Let the user's homeserver config override the build config
+ [\#11409](https://github.com/vector-im/riot-web/pull/11409)
+ * Add cross-signing labs flag to develop and document
+ [\#11408](https://github.com/vector-im/riot-web/pull/11408)
+ * Update from Weblate
+ [\#11405](https://github.com/vector-im/riot-web/pull/11405)
+ * Trigger a theme change on startup, not just a tint change
+ [\#11381](https://github.com/vector-im/riot-web/pull/11381)
+ * Perform favicon updates twice in Chrome
+ [\#11375](https://github.com/vector-im/riot-web/pull/11375)
+ * Add labs documentation for Mjolnir
+ [\#11275](https://github.com/vector-im/riot-web/pull/11275)
+ * Add description of user info feature in labs doc
+ [\#11360](https://github.com/vector-im/riot-web/pull/11360)
+ * Update from Weblate
+ [\#11359](https://github.com/vector-im/riot-web/pull/11359)
+ * Add DM verification feature to labs.md
+ [\#11356](https://github.com/vector-im/riot-web/pull/11356)
+ * Add feature_dm_verification to labs
+ [\#11355](https://github.com/vector-im/riot-web/pull/11355)
+ * Document feature flag process
+ [\#11341](https://github.com/vector-im/riot-web/pull/11341)
+ * Remove unused feature flags
+ [\#11343](https://github.com/vector-im/riot-web/pull/11343)
+
+Changes in [1.5.3](https://github.com/vector-im/riot-web/releases/tag/v1.5.3) (2019-11-06)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.2...v1.5.3)
+
+ * Remove the 'auto hide menu bar' option on Mac
+ [\#11326](https://github.com/vector-im/riot-web/pull/11326)
+ * Expose feature_user_info_panel on riot.im/develop
+ [\#11304](https://github.com/vector-im/riot-web/pull/11304)
+ * Upgrade electron-notarize
+ [\#11312](https://github.com/vector-im/riot-web/pull/11312)
+ * Fix close window behaviour on Macos
+ [\#11309](https://github.com/vector-im/riot-web/pull/11309)
+ * Merge: Add dependency to eslint-plugin-react-hooks as react-sdk did
+ [\#11307](https://github.com/vector-im/riot-web/pull/11307)
+ * Add dependency to eslint-plugin-react-hooks as react-sdk did
+ [\#11306](https://github.com/vector-im/riot-web/pull/11306)
+ * Update from Weblate
+ [\#11300](https://github.com/vector-im/riot-web/pull/11300)
+
+Changes in [1.5.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.2) (2019-11-04)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.1...v1.5.2)
+
+ * Fix close window behaviour on Macos
+ [\#11311](https://github.com/vector-im/riot-web/pull/11311)
+
+Changes in [1.5.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.1) (2019-11-04)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.1-rc.2...v1.5.1)
+
+ * No changes since rc.2
+
+Changes in [1.5.1-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.1-rc.2) (2019-11-01)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.1-rc.1...v1.5.1-rc.2)
+
+ * Updated react-sdk with fix for bug that caused room filtering to
+ omit results.
+
+Changes in [1.5.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.1-rc.1) (2019-10-30)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.0...v1.5.1-rc.1)
+
+ * Add ability to hide tray icon on non-Mac (which has no tray icon)
+ [\#11258](https://github.com/vector-im/riot-web/pull/11258)
+ * Fix bug preventing display from sleeping after a call
+ [\#11264](https://github.com/vector-im/riot-web/pull/11264)
+ * Remove mention of CI scripts from docs
+ [\#11257](https://github.com/vector-im/riot-web/pull/11257)
+ * Fix skinning replaces being broken since being rewritten as React FC's
+ [\#11254](https://github.com/vector-im/riot-web/pull/11254)
+ * Update config docs about identity servers
+ [\#11249](https://github.com/vector-im/riot-web/pull/11249)
+ * Remove unneeded help about identity servers
+ [\#11248](https://github.com/vector-im/riot-web/pull/11248)
+ * Update from Weblate
+ [\#11243](https://github.com/vector-im/riot-web/pull/11243)
+ * Update sample config for new matrix.org CS API URL
+ [\#11207](https://github.com/vector-im/riot-web/pull/11207)
+ * clarify where the e2e tests are located
+ [\#11115](https://github.com/vector-im/riot-web/pull/11115)
+ * Update from Weblate
+ [\#11171](https://github.com/vector-im/riot-web/pull/11171)
+ * Prevent referrers from being sent
+ [\#6155](https://github.com/vector-im/riot-web/pull/6155)
+ * Add darkModeSupport to allow dark themed title bar.
+ [\#11140](https://github.com/vector-im/riot-web/pull/11140)
+ * Fix the label of Turkish language
+ [\#11124](https://github.com/vector-im/riot-web/pull/11124)
+ * Update default HS config to match well-known
+ [\#11112](https://github.com/vector-im/riot-web/pull/11112)
+
+Changes in [1.5.0](https://github.com/vector-im/riot-web/releases/tag/v1.5.0) (2019-10-18)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.0-rc.1...v1.5.0)
+
+ * Upgrade to JS SDK v2.4.2 and React SDK v1.7.0
+ * Port Windows signing and macOS notarization to release
+ [\#11158](https://github.com/vector-im/riot-web/pull/11158)
+ * Sign main Windows executable
+ [\#11126](https://github.com/vector-im/riot-web/pull/11126)
+ * Notarise the macOS app
+ [\#11119](https://github.com/vector-im/riot-web/pull/11119)
+
+Changes in [1.5.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.0-rc.1) (2019-10-09)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.2...v1.5.0-rc.1)
+
+ * Update from Weblate
+ [\#11104](https://github.com/vector-im/riot-web/pull/11104)
+ * Bump Olm to 3.1.4 for olm_session_describe
+ [\#11103](https://github.com/vector-im/riot-web/pull/11103)
+ * Enable Webpack production mode for start:js:prod
+ [\#11098](https://github.com/vector-im/riot-web/pull/11098)
+ * add settingDefaults to sample config
+ [\#9919](https://github.com/vector-im/riot-web/pull/9919)
+ * Add config.json copy instruction to 'Development' as well
+ [\#11062](https://github.com/vector-im/riot-web/pull/11062)
+ * Revert "Run yarn upgrade"
+ [\#11055](https://github.com/vector-im/riot-web/pull/11055)
+ * Run yarn upgrade
+ [\#11050](https://github.com/vector-im/riot-web/pull/11050)
+ * Request persistent storage on Electron
+ [\#11052](https://github.com/vector-im/riot-web/pull/11052)
+ * Remove docs for CIDER feature
+ [\#11047](https://github.com/vector-im/riot-web/pull/11047)
+
+Changes in [1.4.2](https://github.com/vector-im/riot-web/releases/tag/v1.4.2) (2019-10-04)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.2-rc.1...v1.4.2)
+
+ * Document troubleshooting for memory leaks and getting profiles
+ [\#11031](https://github.com/vector-im/riot-web/pull/11031)
+
+Changes in [1.4.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.4.2-rc.1) (2019-10-02)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.1...v1.4.2-rc.1)
+
+ * Custom themes MVP
+ [\#11017](https://github.com/vector-im/riot-web/pull/11017)
+ * Document permalinkPrefix setting
+ [\#11007](https://github.com/vector-im/riot-web/pull/11007)
+
+Changes in [1.4.1](https://github.com/vector-im/riot-web/releases/tag/v1.4.1) (2019-10-01)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.0...v1.4.1)
+
+ * Upgrade to React SDK 1.6.1 to fix critical
+ [blank screen issue](https://github.com/vector-im/riot-web/issues/10983)
+ * Upgrade to JS SDK 2.4.1 to to ignore crypto events with empty content
+ * Update from Weblate
+ [\#11010](https://github.com/vector-im/riot-web/pull/11010)
+ * Update from Weblate
+ [\#11001](https://github.com/vector-im/riot-web/pull/11001)
+ * Upgrade deps
+ [\#10980](https://github.com/vector-im/riot-web/pull/10980)
+
+Changes in [1.4.0](https://github.com/vector-im/riot-web/releases/tag/v1.4.0) (2019-09-27)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.0-rc.2...v1.4.0)
+
+* Many improvements related to privacy and user control of identity services and integration managers
+* Upgrade to React SDK 1.6.0 and JS SDK 2.4.0
+
+Changes in [1.4.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.4.0-rc.2) (2019-09-26)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.0-rc.1...v1.4.0-rc.2)
+
+ * Upgrade to React SDK 1.6.0-rc.2
+ * Work around Yarn confusion with `react-gemini-scrollbar` package
+
+Changes in [1.4.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.4.0-rc.1) (2019-09-25)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.6...v1.4.0-rc.1)
+
+ * Upgrade to React SDK 1.6.0-rc.1 and JS SDK 2.4.0-rc.1
+ * Update from Weblate
+ [\#10961](https://github.com/vector-im/riot-web/pull/10961)
+ * Don't log query parameters as they may contain secrets
+ [\#10929](https://github.com/vector-im/riot-web/pull/10929)
+ * Document more shortcuts
+ [\#10906](https://github.com/vector-im/riot-web/pull/10906)
+ * Point to #develop and use the same gemini-scrollbar version as the react-sdk
+ [\#10893](https://github.com/vector-im/riot-web/pull/10893)
+ * Tweak lock file to pull in only one React version
+ [\#10874](https://github.com/vector-im/riot-web/pull/10874)
+ * document disable_custom_urls
+ [\#10844](https://github.com/vector-im/riot-web/pull/10844)
+ * Install guide tweaks
+ [\#10838](https://github.com/vector-im/riot-web/pull/10838)
+ * Switch to React 16
+ [\#10480](https://github.com/vector-im/riot-web/pull/10480)
+ * Update install guide
+ [\#10810](https://github.com/vector-im/riot-web/pull/10810)
+ * Clarify that HTTPS is not just needed for VoIP
+ [\#6146](https://github.com/vector-im/riot-web/pull/6146)
+ * Bump eslint-utils from 1.4.0 to 1.4.2
+ [\#10692](https://github.com/vector-im/riot-web/pull/10692)
+ * Add docs for tabbed integration managers labs flag
+ [\#10641](https://github.com/vector-im/riot-web/pull/10641)
+ * Change integrations_widgets_urls default configuration
+ [\#10656](https://github.com/vector-im/riot-web/pull/10656)
+ * Add docs for the CIDER composer flag
+ [\#10638](https://github.com/vector-im/riot-web/pull/10638)
+ * add cider composer labs flag
+ [\#10626](https://github.com/vector-im/riot-web/pull/10626)
+ * Upgrade to Electron 6.0.3
+ [\#10601](https://github.com/vector-im/riot-web/pull/10601)
+ * Upgrade to Electron 6
+ [\#10596](https://github.com/vector-im/riot-web/pull/10596)
+ * Update from Weblate
+ [\#10591](https://github.com/vector-im/riot-web/pull/10591)
+ * Upgrade electron-builder to 21.2.0
+ [\#10579](https://github.com/vector-im/riot-web/pull/10579)
+ * Set SUID bit on chrome-sandbox for Debian
+ [\#10580](https://github.com/vector-im/riot-web/pull/10580)
+ * Load config.json before loading language so default can apply
+ [\#10551](https://github.com/vector-im/riot-web/pull/10551)
+ * Bump matrix-react-test-utils for React 16 compatibility
+ [\#10543](https://github.com/vector-im/riot-web/pull/10543)
+ * Add --help to electron app
+ [\#10530](https://github.com/vector-im/riot-web/pull/10530)
+ * Allow setting electron autoHideMenuBar and persist it
+ [\#10503](https://github.com/vector-im/riot-web/pull/10503)
+ * Upgrade dependencies
+ [\#10475](https://github.com/vector-im/riot-web/pull/10475)
+
+Changes in [1.3.6](https://github.com/vector-im/riot-web/releases/tag/v1.3.6) (2019-09-19)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.5...v1.3.6)
+
+ * Fix origin migrator for SSO logins
+ [\#10920](https://github.com/vector-im/riot-web/pull/10920)
+
+Changes in [1.3.5](https://github.com/vector-im/riot-web/releases/tag/v1.3.5) (2019-09-16)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.5-rc.3...v1.3.5)
+
+ * Updated js-sdk and react-sdk for some more minor bugfixes
+
+Changes in [1.3.5-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.3.5-rc.3) (2019-09-13)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.5-rc.2...v1.3.5-rc.3)
+
+ * js-sdk rc.1 to include report API
+
+Changes in [1.3.5-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.3.5-rc.2) (2019-09-13)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.5-rc.1...v1.3.5-rc.2)
+
+ * Pull in more fixes from react-sdk rc.2
+
+Changes in [1.3.5-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.5-rc.1) (2019-09-12)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.4...v1.3.5-rc.1)
+
+ * Cosmetic fixes from react-sdk rc.1
+
+Changes in [1.3.4](https://github.com/vector-im/riot-web/releases/tag/v1.3.4) (2019-09-12)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.4-rc.1...v1.3.4)
+
+ * Updated react-sdk and tweaks to mobile install guide
+
+Changes in [1.3.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.4-rc.1) (2019-09-11)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.3...v1.3.4-rc.1)
+
+ * Update install guide
+ [\#10831](https://github.com/vector-im/riot-web/pull/10831)
+
+Changes in [1.3.3](https://github.com/vector-im/riot-web/releases/tag/v1.3.3) (2019-08-16)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.2...v1.3.3)
+
+ * Linux-only release to fix sandboxing with Electron 5 on Debian
+ [\#10580](https://github.com/vector-im/riot-web/pull/10580)
+
+Changes in [1.3.2](https://github.com/vector-im/riot-web/releases/tag/v1.3.2) (2019-08-05)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.1...v1.3.2)
+
+ * Updated react-sdk for deactivated account error message on login
+
+Changes in [1.3.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.1) (2019-08-05)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.1-rc.1...v1.3.1)
+
+ * Updated js-sdk for notifications fix and react-sdk for registration fix
+
+Changes in [1.3.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.1-rc.1) (2019-07-31)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0...v1.3.1-rc.1)
+
+ * Upgrade to JS SDK 2.3.0-rc.1 and React SDK 1.5.0-rc.1
+ * Update from Weblate
+ [\#10436](https://github.com/vector-im/riot-web/pull/10436)
+ * Describe our existing features better in documentation
+ [\#10418](https://github.com/vector-im/riot-web/pull/10418)
+ * Upgrade to Electron 5
+ [\#10392](https://github.com/vector-im/riot-web/pull/10392)
+ * Remove edits and reactions feature flags from docs and config
+ [\#10363](https://github.com/vector-im/riot-web/pull/10363)
+ * Cachebust config file requests
+ [\#10349](https://github.com/vector-im/riot-web/pull/10349)
+ * Convert install-app-deps to subcommand
+ [\#10334](https://github.com/vector-im/riot-web/pull/10334)
+ * Add riot.im configuration files
+ [\#10327](https://github.com/vector-im/riot-web/pull/10327)
+ * Require descriptions in mxSendRageshake and remove infinite loop in issue
+ templates
+ [\#10321](https://github.com/vector-im/riot-web/pull/10321)
+ * Remove unused disable_identity_server config flag
+ [\#10322](https://github.com/vector-im/riot-web/pull/10322)
+ * Verify i18n in CI
+ [\#10320](https://github.com/vector-im/riot-web/pull/10320)
+
+Changes in [1.3.0](https://github.com/vector-im/riot-web/releases/tag/v1.3.0) (2019-07-18)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.3...v1.3.0)
+
+ * Upgrade to React SDK 1.4.0 and JS SDK 2.2.0
+ * Message editing and reactions features enabled
+ * Remove edits and reactions feature flags from docs and config
+ [\#10365](https://github.com/vector-im/riot-web/pull/10365)
+
+Changes in [1.3.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.3.0-rc.3) (2019-07-15)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.2...v1.3.0-rc.3)
+
+ * Update to react-sdk rc.3 to fix a bug where a room admin could generate a room
+ that would cause Riot to error, and some stuck notifications.
+
+Changes in [1.3.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.3.0-rc.2) (2019-07-12)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.1...v1.3.0-rc.2)
+
+ * Upgrade to React SDK 1.4.0-rc.2 and JS SDK 2.2.0-rc.2
+ * Fix regression from Riot 1.3.0-rc.1 when listing devices in user settings
+
+Changes in [1.3.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.0-rc.1) (2019-07-12)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.4...v1.3.0-rc.1)
+
+ * Upgrade to React SDK 1.4.0-rc.1 and JS SDK 2.2.0-rc.1
+ * Update from Weblate
+ [\#10328](https://github.com/vector-im/riot-web/pull/10328)
+ * Upgrade dependencies
+ [\#10308](https://github.com/vector-im/riot-web/pull/10308)
+ * Upgrade dependencies
+ [\#10260](https://github.com/vector-im/riot-web/pull/10260)
+
+Changes in [1.2.4](https://github.com/vector-im/riot-web/releases/tag/v1.2.4) (2019-07-11)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.3...v1.2.4)
+
+ * Upgrade to React SDK 1.3.1 and JS SDK 2.1.1
+ * Upgrade lodash dependencies
+ * JS SDK 2.1.1 includes a fix for ephemeral event processing
+ * React SDK 1.3.1 includes a fix for account deactivation
+
+Changes in [1.2.3](https://github.com/vector-im/riot-web/releases/tag/v1.2.3) (2019-07-08)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.3-rc.1...v1.2.3)
+
+ * Upgrade to React SDK 1.3.0 and JS SDK 2.1.0
+ * JS SDK 2.1.0 includes a fix for an exception whilst syncing
+
+Changes in [1.2.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.2.3-rc.1) (2019-07-03)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.2...v1.2.3-rc.1)
+
+ * Change update URL to match new host
+ [\#10247](https://github.com/vector-im/riot-web/pull/10247)
+ * Update from Weblate
+ [\#10219](https://github.com/vector-im/riot-web/pull/10219)
+ * Extract configuration docs to separate file
+ [\#10195](https://github.com/vector-im/riot-web/pull/10195)
+ * Add e2e/warning.svg to preload
+ [\#10197](https://github.com/vector-im/riot-web/pull/10197)
+ * Fix Electron vector: links
+ [\#10196](https://github.com/vector-im/riot-web/pull/10196)
+ * Display a red box of anger for config syntax errors
+ [\#10193](https://github.com/vector-im/riot-web/pull/10193)
+ * Move config-getting to VectorBasePlatform
+ [\#10181](https://github.com/vector-im/riot-web/pull/10181)
+ * Update from Weblate
+ [\#10124](https://github.com/vector-im/riot-web/pull/10124)
+ * Fix default Electron window and tray icons
+ [\#10097](https://github.com/vector-im/riot-web/pull/10097)
+
+Changes in [1.2.2](https://github.com/vector-im/riot-web/releases/tag/v1.2.2) (2019-06-19)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.2-rc.2...v1.2.2)
+
+ No changes since rc.2
+
+Changes in [1.2.2-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.2.2-rc.2) (2019-06-18)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.2-rc.1...v1.2.2-rc.2)
+
+ * Update to react-sdk and js-sdk rc.2 for registration fixes,
+ redaction local echo fix and removing unnecessary calls
+ to the integration manager.
+
+Changes in [1.2.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.2.2-rc.1) (2019-06-12)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.1...v1.2.2-rc.1)
+
+ * Update from Weblate
+ [\#10012](https://github.com/vector-im/riot-web/pull/10012)
+ * Add funding details for GitHub sponsor button
+ [\#9982](https://github.com/vector-im/riot-web/pull/9982)
+ * Do not fail on server liveliness checks during startup
+ [\#9960](https://github.com/vector-im/riot-web/pull/9960)
+ * Hide guest functions on the welcome page if not logged in
+ [\#9957](https://github.com/vector-im/riot-web/pull/9957)
+ * Add Albanian and West Flemish languages
+ [\#9953](https://github.com/vector-im/riot-web/pull/9953)
+ * Update from Weblate
+ [\#9951](https://github.com/vector-im/riot-web/pull/9951)
+ * Add docs for defaultCountryCode
+ [\#9927](https://github.com/vector-im/riot-web/pull/9927)
+ * Use the user's pre-existing HS when config validation fails
+ [\#9892](https://github.com/vector-im/riot-web/pull/9892)
+ * Low bandwidth mode
+ [\#9909](https://github.com/vector-im/riot-web/pull/9909)
+ * Fix Twemoji loading on Windows dev machines
+ [\#9869](https://github.com/vector-im/riot-web/pull/9869)
+ * Base Docker image on nginx:alpine, not the larger nginx:latest
+ [\#9848](https://github.com/vector-im/riot-web/pull/9848)
+ * Validate homeserver configuration prior to loading the app
+ [\#9779](https://github.com/vector-im/riot-web/pull/9779)
+ * Show resolved homeserver configuration on the mobile guide
+ [\#9726](https://github.com/vector-im/riot-web/pull/9726)
+ * Flag the validated config as the default config
+ [\#9721](https://github.com/vector-im/riot-web/pull/9721)
+ * Clarify comment on is_url and hs_url handling
+ [\#9719](https://github.com/vector-im/riot-web/pull/9719)
+ * Validate default homeserver config before loading the app
+ [\#9496](https://github.com/vector-im/riot-web/pull/9496)
+
+Changes in [1.2.1](https://github.com/vector-im/riot-web/releases/tag/v1.2.1) (2019-05-31)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.0...v1.2.1)
+
+ * Upgrade JS SDK to 2.0.0 and React SDK to 1.2.1 to fix key backup and native emoji height
+
+Changes in [1.2.0](https://github.com/vector-im/riot-web/releases/tag/v1.2.0) (2019-05-29)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.0-rc.1...v1.2.0)
+
+ * Upgrade to JS SDK v1.2.0 and React SDK v1.2.0 to fix some regressions
+
+Changes in [1.2.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.2.0-rc.1) (2019-05-23)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.1.2...v1.2.0-rc.1)
+
+ * Update from Weblate
+ [\#9802](https://github.com/vector-im/riot-web/pull/9802)
+ * remove emojione
+ [\#9766](https://github.com/vector-im/riot-web/pull/9766)
+ * Make Dockerfile work for develop and other branches
+ [\#9736](https://github.com/vector-im/riot-web/pull/9736)
+ * add description of new labs feature for message editing
+ [\#9728](https://github.com/vector-im/riot-web/pull/9728)
+ * Remove karma junit output
+ [\#9628](https://github.com/vector-im/riot-web/pull/9628)
+ * yarn upgrade
+ [\#9626](https://github.com/vector-im/riot-web/pull/9626)
+ * Respond quickly to buildkite pokes
+ [\#9617](https://github.com/vector-im/riot-web/pull/9617)
+ * Delay creating the `Favico` instance
+ [\#9616](https://github.com/vector-im/riot-web/pull/9616)
+ * Add reactions feature to config sample
+ [\#9598](https://github.com/vector-im/riot-web/pull/9598)
+
+Changes in [1.1.2](https://github.com/vector-im/riot-web/releases/tag/v1.1.2) (2019-05-15)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.1.1...v1.1.2)
+
+ * react-sdk v1.1.2 to fix single sign-on and GIF autoplaying
+
+Changes in [1.1.1](https://github.com/vector-im/riot-web/releases/tag/v1.1.1) (2019-05-14)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.1.0...v1.1.1)
+
+ * react-sdk v1.1.1 to fix regressions with registration
+
+Changes in [1.1.0](https://github.com/vector-im/riot-web/releases/tag/v1.1.0) (2019-05-07)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.1.0-rc.1...v1.1.0)
+
+ * Add Dockerfile
+ [\#9632](https://github.com/vector-im/riot-web/pull/9632)
+ * Add Dockerfile (part 2)
+ [\#9426](https://github.com/vector-im/riot-web/pull/9426)
+ * Add new scalar staging url
+ [\#9601](https://github.com/vector-im/riot-web/pull/9601)
+
+Changes in [1.1.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.1.0-rc.1) (2019-04-30)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.8...v1.1.0-rc.1)
+
+ * Convert redeploy.py to buildkite
+ [\#9577](https://github.com/vector-im/riot-web/pull/9577)
+ * Add package step to buildkite pipeline
+ [\#9568](https://github.com/vector-im/riot-web/pull/9568)
+ * Don't fail if there's no local config to remove
+ [\#9571](https://github.com/vector-im/riot-web/pull/9571)
+ * Change jenkins script to package script
+ [\#9567](https://github.com/vector-im/riot-web/pull/9567)
+ * Remove config.json from package dir
+ [\#9555](https://github.com/vector-im/riot-web/pull/9555)
+ * use the release version of olm 3.1.0
+ [\#9550](https://github.com/vector-im/riot-web/pull/9550)
+ * Fix default for --include arg
+ [\#9517](https://github.com/vector-im/riot-web/pull/9517)
+ * update installation instructions with new repo
+ [\#9500](https://github.com/vector-im/riot-web/pull/9500)
+ * Use packages.matrix.org for Olm
+ [\#9498](https://github.com/vector-im/riot-web/pull/9498)
+ * Add separate platform electron build commands
+ [\#9412](https://github.com/vector-im/riot-web/pull/9412)
+ * Add support for custom profile directory
+ [\#9408](https://github.com/vector-im/riot-web/pull/9408)
+ * Improved mobile install guide
+ [\#9410](https://github.com/vector-im/riot-web/pull/9410)
+ * Remove vector-electron-desktop from README
+ [\#9404](https://github.com/vector-im/riot-web/pull/9404)
+ * Update from Weblate
+ [\#9398](https://github.com/vector-im/riot-web/pull/9398)
+ * bump olm version to 3.1.0-pre3
+ [\#9392](https://github.com/vector-im/riot-web/pull/9392)
+ * Add expiration to mobile guide cookie
+ [\#9383](https://github.com/vector-im/riot-web/pull/9383)
+ * Fix autolaunch setting appearing toggled off
+ [\#9368](https://github.com/vector-im/riot-web/pull/9368)
+ * Don't try to save files the user didn't want to save
+ [\#9352](https://github.com/vector-im/riot-web/pull/9352)
+ * Setup crypto store for restore session tests
+ [\#9325](https://github.com/vector-im/riot-web/pull/9325)
+ * Update from Weblate
+ [\#9333](https://github.com/vector-im/riot-web/pull/9333)
+ * Add "Save image as..." button to context menu on images
+ [\#9326](https://github.com/vector-im/riot-web/pull/9326)
+ * Configure auth footer links through Riot config
+ [\#9297](https://github.com/vector-im/riot-web/pull/9297)
+
+Changes in [1.0.8](https://github.com/vector-im/riot-web/releases/tag/v1.0.8) (2019-04-16)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.7...v1.0.8)
+
+ * No changes in this release. This is the same code as v1.0.7 from our new clean-room
+ packaging and signing infrastructure.
+
+Changes in [1.0.7](https://github.com/vector-im/riot-web/releases/tag/v1.0.7) (2019-04-08)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.6...v1.0.7)
+
+ * Hotfix: bump js-sdk to 1.0.4, see https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.4
+
+Changes in [1.0.6](https://github.com/vector-im/riot-web/releases/tag/v1.0.6) (2019-04-01)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.6-rc.1...v1.0.6)
+
+ * Add "Save image as..." button to context menu on images
+ [\#9327](https://github.com/vector-im/riot-web/pull/9327)
+
+Changes in [1.0.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.6-rc.1) (2019-03-27)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.5...v1.0.6-rc.1)
+
+ * Use `on_logged_in` action in tests
+ [\#9279](https://github.com/vector-im/riot-web/pull/9279)
+ * Convert away from `Promise.defer`
+ [\#9278](https://github.com/vector-im/riot-web/pull/9278)
+ * update react-sdk version in yarn lockfile
+ [\#9233](https://github.com/vector-im/riot-web/pull/9233)
+ * "Render simple counters in room header" details
+ [\#9154](https://github.com/vector-im/riot-web/pull/9154)
+ * Use medium agents for the more resource intensive builds
+ [\#9238](https://github.com/vector-im/riot-web/pull/9238)
+ * Add log grouping to buildkite
+ [\#9223](https://github.com/vector-im/riot-web/pull/9223)
+ * Switch to `git` protocol for CI dependencies
+ [\#9222](https://github.com/vector-im/riot-web/pull/9222)
+ * Support CI for matching branches on forks
+ [\#9212](https://github.com/vector-im/riot-web/pull/9212)
+ * Update from Weblate
+ [\#9199](https://github.com/vector-im/riot-web/pull/9199)
+ * Declare the officially supported browsers in the README
+ [\#9177](https://github.com/vector-im/riot-web/pull/9177)
+ * Document some desktop app things
+ [\#9011](https://github.com/vector-im/riot-web/pull/9011)
+ * Use Buildkite for CI
+ [\#9165](https://github.com/vector-im/riot-web/pull/9165)
+ * Update version number in issue templates
+ [\#9170](https://github.com/vector-im/riot-web/pull/9170)
+ * Remove node 8.x from the build matrix
+ [\#9159](https://github.com/vector-im/riot-web/pull/9159)
+ * Update Electron help menu link
+ [\#9157](https://github.com/vector-im/riot-web/pull/9157)
+
+Changes in [1.0.5](https://github.com/vector-im/riot-web/releases/tag/v1.0.5) (2019-03-21)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.4...v1.0.5)
+
+ * Hotfix for [\#9205](https://github.com/vector-im/riot-web/issues/9205) disabling jump prevention for typing notifications, while we're reworking this functionally to enable it again soon.
+
+Changes in [1.0.4](https://github.com/vector-im/riot-web/releases/tag/v1.0.4) (2019-03-18)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.4-rc.1...v1.0.4)
+
+ * No changes since rc.1
+
+Changes in [1.0.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.4-rc.1) (2019-03-13)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.3...v1.0.4-rc.1)
+
+ * Update from Weblate
+ [\#9152](https://github.com/vector-im/riot-web/pull/9152)
+ * Use modern Yarn version on Travis CI
+ [\#9151](https://github.com/vector-im/riot-web/pull/9151)
+ * Switch to `yarn` for dependency management
+ [\#9132](https://github.com/vector-im/riot-web/pull/9132)
+ * Update from Weblate
+ [\#9104](https://github.com/vector-im/riot-web/pull/9104)
+ * Don't copy the 32 bit linux deb
+ [\#9075](https://github.com/vector-im/riot-web/pull/9075)
+ * Change olm dependency to normal dep
+ [\#9068](https://github.com/vector-im/riot-web/pull/9068)
+ * Add modular.im hosting link to electron app config
+ [\#9047](https://github.com/vector-im/riot-web/pull/9047)
+ * Nudge karma to 3.1.2
+ [\#8991](https://github.com/vector-im/riot-web/pull/8991)
+ * Add support for localConfig at $appData/config.json.
+ [\#8983](https://github.com/vector-im/riot-web/pull/8983)
+
+Changes in [1.0.3](https://github.com/vector-im/riot-web/releases/tag/v1.0.3) (2019-03-06)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.2...v1.0.3)
+
+ * react-sdk 1.0.3 to fix ctrl+k shortcut and room list bugs
+
+Changes in [1.0.2](https://github.com/vector-im/riot-web/releases/tag/v1.0.2) (2019-03-06)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.2-rc.3...v1.0.2)
+
+ * New react-sdk for minor hosting link fixes
+
+Changes in [1.0.2-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.0.2-rc.3) (2019-03-05)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.2-rc.2...v1.0.2-rc.3)
+
+ * Add modular.im hosting link to electron app config
+ [\#9051](https://github.com/vector-im/riot-web/pull/9051)
+
+Changes in [1.0.2-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.0.2-rc.2) (2019-03-01)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.2-rc.1...v1.0.2-rc.2)
+
+ * Update to react-sdk rc.3
+
+Changes in [1.0.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.2-rc.1) (2019-03-01)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.1...v1.0.2-rc.1)
+
+ * Set a require alias for the webapp directory
+ [\#9014](https://github.com/vector-im/riot-web/pull/9014)
+ * Update from Weblate.
+ [\#8973](https://github.com/vector-im/riot-web/pull/8973)
+ * set chrome path for travis CI explicitly
+ [\#8987](https://github.com/vector-im/riot-web/pull/8987)
+ * Updated install spinner
+ [\#8984](https://github.com/vector-im/riot-web/pull/8984)
+ * Allow disabling update mechanism
+ [\#8911](https://github.com/vector-im/riot-web/pull/8911)
+ * Allow configuration of whether closing window closes or minimizes to tray
+ [\#8908](https://github.com/vector-im/riot-web/pull/8908)
+ * Fix language file path for Jenkins
+ [\#8854](https://github.com/vector-im/riot-web/pull/8854)
+ * Document and recommend `default_server_name`
+ [\#8832](https://github.com/vector-im/riot-web/pull/8832)
+ * Cache busting for icons & language files
+ [\#8710](https://github.com/vector-im/riot-web/pull/8710)
+ * Remove redesign issue template
+ [\#8722](https://github.com/vector-im/riot-web/pull/8722)
+ * Make scripts/make-icons.sh work on linux
+ [\#8550](https://github.com/vector-im/riot-web/pull/8550)
+
+Changes in [1.0.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.1) (2019-02-15)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.0...v1.0.1)
+
+
+Changes in [1.0.0](https://github.com/vector-im/riot-web/releases/tag/v1.0.0) (2019-02-14)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.0-rc.2...v1.0.0)
+
+ * Add snipping lines to welcome page without guests
+ [\#8634](https://github.com/vector-im/riot-web/pull/8634)
+ * Add home page to fix loading tests
+ [\#8625](https://github.com/vector-im/riot-web/pull/8625)
+
+Changes in [1.0.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.0.0-rc.2) (2019-02-14)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.0-rc.1...v1.0.0-rc.2)
+
+ * Update from Weblate.
+ [\#8615](https://github.com/vector-im/riot-web/pull/8615)
+ * Replace favicon assets to ones with transparent backgrounds
+ [\#8600](https://github.com/vector-im/riot-web/pull/8600)
+ * Refreshed icons
+ [\#8594](https://github.com/vector-im/riot-web/pull/8594)
+ * Fix order of fetch-develop-deps / npm install
+ [\#8566](https://github.com/vector-im/riot-web/pull/8566)
+ * Revive building dark theme
+ [\#8540](https://github.com/vector-im/riot-web/pull/8540)
+ * Update from Weblate.
+ [\#8546](https://github.com/vector-im/riot-web/pull/8546)
+ * Repair app loading tests after welcome page
+ [\#8525](https://github.com/vector-im/riot-web/pull/8525)
+ * Support configurable welcome background and logo
+ [\#8528](https://github.com/vector-im/riot-web/pull/8528)
+ * Update from Weblate.
+ [\#8518](https://github.com/vector-im/riot-web/pull/8518)
+ * Document `embeddedPages` configuration
+ [\#8514](https://github.com/vector-im/riot-web/pull/8514)
+ * README.md : Syntax Coloring
+ [\#8502](https://github.com/vector-im/riot-web/pull/8502)
+
+Changes in [1.0.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.0-rc.1) (2019-02-08)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.9...v1.0.0-rc.1)
+
+ * Update from Weblate.
+ [\#8475](https://github.com/vector-im/riot-web/pull/8475)
+ * Add configurable welcome page
+ [\#8466](https://github.com/vector-im/riot-web/pull/8466)
+ * fix app tests after force enabling lazy loading + removing feature flag
+ [\#8464](https://github.com/vector-im/riot-web/pull/8464)
+ * Allow Electron to zoom with CommandOrControl+=
+ [\#8381](https://github.com/vector-im/riot-web/pull/8381)
+ * Hide sign in / create account for logged in users
+ [\#8368](https://github.com/vector-im/riot-web/pull/8368)
+ * Fix home page link target
+ [\#8365](https://github.com/vector-im/riot-web/pull/8365)
+ * Add auth background image and update Riot logo
+ [\#8364](https://github.com/vector-im/riot-web/pull/8364)
+ * New homepage
+ [\#8363](https://github.com/vector-im/riot-web/pull/8363)
+ * Spell homeserver correctly
+ [\#8358](https://github.com/vector-im/riot-web/pull/8358)
+ * Merge redesign into develop
+ [\#8321](https://github.com/vector-im/riot-web/pull/8321)
+ * Disable room directory test because it doesn't work
+ [\#8318](https://github.com/vector-im/riot-web/pull/8318)
+ * Tweak auth overflow on Windows and Linux
+ [\#8307](https://github.com/vector-im/riot-web/pull/8307)
+ * Clean up Custom Server Help dialog
+ [\#8296](https://github.com/vector-im/riot-web/pull/8296)
+ * Cache-bust olm.wasm
+ [\#8283](https://github.com/vector-im/riot-web/pull/8283)
+ * Completely disable other themes for now (#8277)
+ [\#8280](https://github.com/vector-im/riot-web/pull/8280)
+ * Remove support for team servers
+ [\#8271](https://github.com/vector-im/riot-web/pull/8271)
+ * Add target="_blank" to footer links
+ [\#8248](https://github.com/vector-im/riot-web/pull/8248)
+ * Fix device names on desktop
+ [\#8241](https://github.com/vector-im/riot-web/pull/8241)
+ * Fix literal </> in notifications
+ [\#8238](https://github.com/vector-im/riot-web/pull/8238)
+ * Fix registration nextLink on desktop
+ [\#8239](https://github.com/vector-im/riot-web/pull/8239)
+ * Add returns to fetch-develop-deps
+ [\#8233](https://github.com/vector-im/riot-web/pull/8233)
+ * Update electron builder
+ [\#8231](https://github.com/vector-im/riot-web/pull/8231)
+ * Try fetching more branches for PRs
+ [\#8225](https://github.com/vector-im/riot-web/pull/8225)
+ * Use content hashing for font and image URLs
+ [\#8159](https://github.com/vector-im/riot-web/pull/8159)
+ * Develop->Experimental
+ [\#8156](https://github.com/vector-im/riot-web/pull/8156)
+ * Update from Weblate.
+ [\#8150](https://github.com/vector-im/riot-web/pull/8150)
+ * Correct the copying of e-mail addresses in the electron app
+ [\#8124](https://github.com/vector-im/riot-web/pull/8124)
+ * Start documenting keyboard shortcuts
+ [\#7165](https://github.com/vector-im/riot-web/pull/7165)
+ * Update issue templates
+ [\#7948](https://github.com/vector-im/riot-web/pull/7948)
+ * Added new colour var to all themes
+ [\#7927](https://github.com/vector-im/riot-web/pull/7927)
+ * Redesign: apply changes from dharma theme to status theme
+ [\#7541](https://github.com/vector-im/riot-web/pull/7541)
+ * Redesign: ignore setting and always show dharma theme for now
+ [\#7540](https://github.com/vector-im/riot-web/pull/7540)
+
+Changes in [0.17.9](https://github.com/vector-im/riot-web/releases/tag/v0.17.9) (2019-01-22)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.9-rc.1...v0.17.9)
+
+ * Bugfix in react-sdk for setting DM rooms
+
+Changes in [0.17.9-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.9-rc.1) (2019-01-17)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.8...v0.17.9-rc.1)
+
+ * Merge develop into experimental
+ [\#8003](https://github.com/vector-im/riot-web/pull/8003)
+ * Electron: Load app from custom protocol
+ [\#7943](https://github.com/vector-im/riot-web/pull/7943)
+ * Fix the IndexedDB worker
+ [\#7920](https://github.com/vector-im/riot-web/pull/7920)
+ * Make clear that the Debian package is for desktop
+ [\#7919](https://github.com/vector-im/riot-web/pull/7919)
+ * Run the Desktop app in a sandbox
+ [\#7907](https://github.com/vector-im/riot-web/pull/7907)
+ * Update to new electron single instance API
+ [\#7908](https://github.com/vector-im/riot-web/pull/7908)
+ * Update the tests to match https://github.com/matrix-org/matrix-react-
+ sdk/pull/2340
+ [\#7834](https://github.com/vector-im/riot-web/pull/7834)
+
+Changes in [0.17.8](https://github.com/vector-im/riot-web/releases/tag/v0.17.8) (2018-12-10)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.8-rc.1...v0.17.8)
+
+ * No changes since rc.1
+
+Changes in [0.17.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.8-rc.1) (2018-12-06)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.7...v0.17.8-rc.1)
+
+ * Update from Weblate.
+ [\#7784](https://github.com/vector-im/riot-web/pull/7784)
+ * Add a function to send a rageshake from the console
+ [\#7755](https://github.com/vector-im/riot-web/pull/7755)
+ * Re-apply "Run lint on travis builds and use modern node versions"
+ [\#7738](https://github.com/vector-im/riot-web/pull/7738)
+ * Revert "Run lint on travis builds and use modern node versions"
+ [\#7737](https://github.com/vector-im/riot-web/pull/7737)
+ * Run lint on travis builds and use modern node versions
+ [\#7490](https://github.com/vector-im/riot-web/pull/7490)
+ * Fix missing js-sdk logging
+ [\#7736](https://github.com/vector-im/riot-web/pull/7736)
+ * Add $accent-color-50pct as a CSS variable to the Status theme
+ [\#7710](https://github.com/vector-im/riot-web/pull/7710)
+
+Changes in [0.17.7](https://github.com/vector-im/riot-web/releases/tag/v0.17.7) (2018-11-22)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.6...v0.17.7)
+
+ * Warning when crypto DB is too new to use.
+ * Fix missing entries from js-sdk in rageshake logs
+
+Changes in [0.17.6](https://github.com/vector-im/riot-web/releases/tag/v0.17.6) (2018-11-19)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.6-rc.2...v0.17.6)
+
+ * No changes since rc.2
+
+Changes in [0.17.6-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.17.6-rc.2) (2018-11-15)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.6-rc.1...v0.17.6-rc.2)
+
+ * Update to js-sdk 0.14 and react-sdk rc.2. rc.1 was broken as it was built against
+ js-sdk 0.13 which does not use the new Olm 3.0 API.
+
+Changes in [0.17.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.6-rc.1) (2018-11-15)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.5...v0.17.6-rc.1)
+
+ * Update from Weblate.
+ [\#7708](https://github.com/vector-im/riot-web/pull/7708)
+ * Add Japanese (#7599)
+ [\#7673](https://github.com/vector-im/riot-web/pull/7673)
+ * Allow Webpack dev server to listen to all interfaces
+ [\#7674](https://github.com/vector-im/riot-web/pull/7674)
+ * Remove the request-only stuff we don't need anymore
+ [\#7637](https://github.com/vector-im/riot-web/pull/7637)
+ * Correct the author of the electron app
+ [\#7615](https://github.com/vector-im/riot-web/pull/7615)
+ * Mock fs, tls, and net to support request in the browser
+ [\#7552](https://github.com/vector-im/riot-web/pull/7552)
+ * Update chokidar to transitively get newer fsevents
+ [\#7598](https://github.com/vector-im/riot-web/pull/7598)
+ * Support WebAssembly version of Olm
+ [\#7385](https://github.com/vector-im/riot-web/pull/7385)
+
+Changes in [0.17.5](https://github.com/vector-im/riot-web/releases/tag/v0.17.5) (2018-11-13)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.4...v0.17.5)
+
+ * Include change that was supposed to be included in orevious version
+
+Changes in [0.17.4](https://github.com/vector-im/riot-web/releases/tag/v0.17.4) (2018-11-13)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.3...v0.17.4)
+
+ * Add banner with login/register links for users who aren't logged in
+
+Changes in [0.17.3](https://github.com/vector-im/riot-web/releases/tag/v0.17.3) (2018-10-29)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.3-rc.1...v0.17.3)
+
+ * Fix for autocompleting text emoji from react-sdk v0.14.2
+
+Changes in [0.17.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.3-rc.1) (2018-10-24)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.2...v0.17.3-rc.1)
+
+ * Update from Weblate.
+ [\#7549](https://github.com/vector-im/riot-web/pull/7549)
+ * Don't set tags on notifications
+ [\#7518](https://github.com/vector-im/riot-web/pull/7518)
+ * Update to latest electron builder
+ [\#7498](https://github.com/vector-im/riot-web/pull/7498)
+ * Fix Tinter.setTheme to not fire using Firefox
+ [\#6831](https://github.com/vector-im/riot-web/pull/6831)
+
+Changes in [0.17.2](https://github.com/vector-im/riot-web/releases/tag/v0.17.2) (2018-10-19)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.1...v0.17.2)
+
+ * Update react-sdk version to "Apply the user's tint once the MatrixClientPeg is moderately ready"
+ * Electron: don't set tags on notifications
+ [\#7518](https://github.com/vector-im/riot-web/pull/7518)
+
+Changes in [0.17.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.1) (2018-10-18)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.0...v0.17.1)
+
+ * Stop electron crashing
+ [\#7517](https://github.com/vector-im/riot-web/pull/7517)
+
+Changes in [0.17.0](https://github.com/vector-im/riot-web/releases/tag/v0.17.0) (2018-10-16)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.0-rc.1...v0.17.0)
+
+ * Phased rollout of lazyloading
+ [\#7503](https://github.com/vector-im/riot-web/pull/7503)
+ * Update to latest electron builder
+ [\#7501](https://github.com/vector-im/riot-web/pull/7501)
+
+Changes in [0.17.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.0-rc.1) (2018-10-11)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.5...v0.17.0-rc.1)
+
+ * Revert "also commit the lock file when bumping version as it is now
+ committed to the repo"
+ [\#7483](https://github.com/vector-im/riot-web/pull/7483)
+ * Update from Weblate.
+ [\#7478](https://github.com/vector-im/riot-web/pull/7478)
+ * Fix riot-web Promise.defer warnings (#7409)
+ [\#7444](https://github.com/vector-im/riot-web/pull/7444)
+ * Use HTTPS cloning for riot-web too
+ [\#7459](https://github.com/vector-im/riot-web/pull/7459)
+ * Disable webpack-dev-server auto reload
+ [\#7463](https://github.com/vector-im/riot-web/pull/7463)
+ * Silence bluebird warnings
+ [\#7462](https://github.com/vector-im/riot-web/pull/7462)
+ * Fix reskindex on matrix-react-side not being called if using build script
+ [\#7443](https://github.com/vector-im/riot-web/pull/7443)
+ * Fix double-closed tags
+ [\#7454](https://github.com/vector-im/riot-web/pull/7454)
+ * Document how to turn off Piwik and bug reports (#6738)
+ [\#7435](https://github.com/vector-im/riot-web/pull/7435)
+ * also commit the lock file when bumping version as it is now committed to the
+ repo
+ [\#7429](https://github.com/vector-im/riot-web/pull/7429)
+ * Update a bunch of deps
+ [\#7393](https://github.com/vector-im/riot-web/pull/7393)
+ * Don't show mobile guide if deep linking
+ [\#7415](https://github.com/vector-im/riot-web/pull/7415)
+ * Don't show custom server bit on matrix.org
+ [\#7408](https://github.com/vector-im/riot-web/pull/7408)
+ * Update Webpack to version 4
+ [\#6620](https://github.com/vector-im/riot-web/pull/6620)
+ * Webpack4
+ [\#7387](https://github.com/vector-im/riot-web/pull/7387)
+
+Changes in [0.16.6](https://github.com/vector-im/riot-web/releases/tag/v0.16.6) (2018-10-08)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.5...v0.16.6)
+
+ * Update to matrix-react-sdk v0.13.6
+
+Changes in [0.16.5](https://github.com/vector-im/riot-web/releases/tag/v0.16.5) (2018-10-01)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.5-rc.1...v0.16.5)
+
+ * Don't show mobile guide if deep linking
+ [\#7415](https://github.com/vector-im/riot-web/pull/7415)
+ * Don't show custom server bit on matrix.org
+ [\#7408](https://github.com/vector-im/riot-web/pull/7408)
+
+Changes in [0.16.5-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.5-rc.1) (2018-09-27)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.4...v0.16.5-rc.1)
+
+ * Update from Weblate.
+ [\#7395](https://github.com/vector-im/riot-web/pull/7395)
+ * Reduce the number of terminals required to build riot-web to 1
+ [\#7355](https://github.com/vector-im/riot-web/pull/7355)
+ * Small typo in release notes v0.16.3
+ [\#7274](https://github.com/vector-im/riot-web/pull/7274)
+
+Changes in [0.16.4](https://github.com/vector-im/riot-web/releases/tag/v0.16.4) (2018-09-10)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.4-rc.1...v0.16.4)
+
+ * No changes since rc.1
+
+Changes in [0.16.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.4-rc.1) (2018-09-07)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.3...v0.16.4-rc.1)
+
+ * Update from Weblate.
+ [\#7296](https://github.com/vector-im/riot-web/pull/7296)
+ * Fix config not loading & mobileguide script being loaded in riot
+ [\#7288](https://github.com/vector-im/riot-web/pull/7288)
+ * Instructions for installing mobile apps
+ [\#7272](https://github.com/vector-im/riot-web/pull/7272)
+ * Tidy up index.js
+ [\#7265](https://github.com/vector-im/riot-web/pull/7265)
+
+Changes in [0.16.3](https://github.com/vector-im/riot-web/releases/tag/v0.16.3) (2018-09-03)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.3-rc.2...v0.16.3)
+
+ * SECURITY FIX: This version (and release candidates) pull in an upstream security
+ fix from electron to fix CVE-2018-15685. Electron users should update as soon as
+ possible. Riot-web run outside of Electron is unaffected.
+
+Changes in [0.16.3-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.16.3-rc.2) (2018-08-31)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.3-rc.1...v0.16.3-rc.2)
+
+ * Update js-sdk to fix an exception causing the room list to become unresponsive.
+
+Changes in [0.16.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.3-rc.1) (2018-08-30)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.2...v0.16.3-rc.1)
+
+ * Update from Weblate.
+ [\#7245](https://github.com/vector-im/riot-web/pull/7245)
+ * Revert "Remove package-lock.json for now"
+ [\#7128](https://github.com/vector-im/riot-web/pull/7128)
+ * Remove package-lock.json for now
+ [\#7115](https://github.com/vector-im/riot-web/pull/7115)
+
+Changes in [0.16.2](https://github.com/vector-im/riot-web/releases/tag/v0.16.2) (2018-08-23)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.1...v0.16.2)
+
+ * Support new server notices format
+
+Changes in [0.16.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.1) (2018-08-20)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.1-rc.1...v0.16.1)
+
+ * No changes since rc.1
+
+Changes in [0.16.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.1-rc.1) (2018-08-16)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.0...v0.16.1-rc.1)
+
+ * Update from Weblate.
+ [\#7178](https://github.com/vector-im/riot-web/pull/7178)
+ * CSS for MAU warning bar
+ [\#7152](https://github.com/vector-im/riot-web/pull/7152)
+ * CSS for user limit error
+ [\#7139](https://github.com/vector-im/riot-web/pull/7139)
+ * Unpin sanitize-html
+ [\#7132](https://github.com/vector-im/riot-web/pull/7132)
+ * Pin sanitize-html to 0.18.2
+ [\#7129](https://github.com/vector-im/riot-web/pull/7129)
+
+Changes in [0.16.0](https://github.com/vector-im/riot-web/releases/tag/v0.16.0) (2018-07-30)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.0-rc.2...v0.16.0)
+
+* Update react-sdk version for bugfixes with Jitsi widgets and the new composer
+
+Changes in [0.16.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.16.0-rc.2) (2018-07-24)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.0-rc.1...v0.16.0-rc.2)
+
+ * Update to react-sdk rc.2 to remove Jitsi conference calling from labs
+
+Changes in [0.16.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.0-rc.1) (2018-07-24)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.7...v0.16.0-rc.1)
+
+ * Update from Weblate.
+ [\#7082](https://github.com/vector-im/riot-web/pull/7082)
+ * Sample config for jitsi integration URL
+ [\#7055](https://github.com/vector-im/riot-web/pull/7055)
+
+Changes in [0.15.7](https://github.com/vector-im/riot-web/releases/tag/v0.15.7) (2018-07-09)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.7-rc.2...v0.15.7)
+
+ * No changes since rc.2
+
+Changes in [0.15.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.7-rc.2) (2018-07-06)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.7-rc.1...v0.15.7-rc.2)
+
+ * Update react-sdk and js-sdk
+
+Changes in [0.15.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.7-rc.1) (2018-07-04)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6...v0.15.7-rc.1)
+
+ * add override for colour of room tile text within memberinfo (unreadable)
+ [\#6889](https://github.com/vector-im/riot-web/pull/6889)
+
+Changes in [0.15.6](https://github.com/vector-im/riot-web/releases/tag/v0.15.6) (2018-06-29)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6-rc.2...v0.15.6)
+
+ * Pull in bug fixes from react-sdk
+
+Changes in [0.15.6-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.6-rc.2) (2018-06-22)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6-rc.1...v0.15.6-rc.2)
+
+ * Update to react-sdk rc.2 for fix to slash commands
+
+Changes in [0.15.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.6-rc.1) (2018-06-21)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.5...v0.15.6-rc.1)
+
+ * Update from Weblate.
+ [\#6915](https://github.com/vector-im/riot-web/pull/6915)
+ * [electron] Fix desktop app --hidden flag
+ [\#6805](https://github.com/vector-im/riot-web/pull/6805)
+
+Changes in [0.15.5](https://github.com/vector-im/riot-web/releases/tag/v0.15.5) (2018-06-12)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.5-rc.1...v0.15.5)
+
+ * No changes since rc.1
+
+Changes in [0.15.5-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.5-rc.1) (2018-06-06)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.4...v0.15.5-rc.1)
+
+ * Update from Weblate.
+ [\#6846](https://github.com/vector-im/riot-web/pull/6846)
+
+Changes in [0.15.4](https://github.com/vector-im/riot-web/releases/tag/v0.15.4) (2018-05-25)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.4-rc.1...v0.15.4)
+
+ * Add cookie policy link to desktop app config
+
+Changes in [0.15.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.4-rc.1) (2018-05-24)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.3...v0.15.4-rc.1)
+
+ * Update from Weblate.
+ [\#6792](https://github.com/vector-im/riot-web/pull/6792)
+ * Hide URL options for e2e blob: URL images
+ [\#6765](https://github.com/vector-im/riot-web/pull/6765)
+ * Fix right click menu in electron
+ [\#6763](https://github.com/vector-im/riot-web/pull/6763)
+ * Update to electron 2.0.1
+ [\#6764](https://github.com/vector-im/riot-web/pull/6764)
+ * Add instructions for changing translated strings
+ [\#6528](https://github.com/vector-im/riot-web/pull/6528)
+
+Changes in [0.15.3](https://github.com/vector-im/riot-web/releases/tag/v0.15.3) (2018-05-18)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.2...v0.15.3)
+
+ * Fix right click menu in electron
+ [\#6763](https://github.com/vector-im/riot-web/pull/6763)
+ * Update to electron 2.0.1
+ [\#6764](https://github.com/vector-im/riot-web/pull/6764)
+ * Hide URL options for e2e blob: URL images
+ [\#6765](https://github.com/vector-im/riot-web/pull/6765)
+
+Changes in [0.15.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.2) (2018-05-17)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.1...v0.15.2)
+
+ * Update to matrix-react-sdk v0.12.5 to fix image size jumps
+
+Changes in [0.15.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.1) (2018-05-16)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0...v0.15.1)
+
+ * Fix package-lock.json which was causing errors building the Electron app
+ * Update Electron version
+
+Changes in [0.15.0](https://github.com/vector-im/riot-web/releases/tag/v0.15.0) (2018-05-16)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.6...v0.15.0)
+
+ * No changes since rc.6
+
+Changes in [0.15.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.6) (2018-05-15)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.5...v0.15.0-rc.6)
+
+ * Update to matrix-react-sdk 0.12.4-rc.6
+
+Changes in [0.15.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.5) (2018-05-15)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.4...v0.15.0-rc.5)
+
+ * Update to matrix-react-sdk 0.12.4-rc.5
+
+Changes in [0.15.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.4) (2018-05-14)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.3...v0.15.0-rc.4)
+
+ * Update from Weblate.
+ [\#6726](https://github.com/vector-im/riot-web/pull/6726)
+ * Update to matrix-react-sdk 0.12.4-rc.4
+
+Changes in [0.15.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.3) (2018-05-11)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.2...v0.15.0-rc.3)
+
+ * Update to matrix-react-sdk 0.12.4-rc.3
+
+Changes in [0.15.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.2) (2018-05-09)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.1...v0.15.0-rc.2)
+
+ * Update to matrix-react-sdk 0.12.4-rc.2
+
+Changes in [0.15.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.1) (2018-05-09)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.3-rc.1...v0.15.0-rc.1)
+
+ * No changes since 0.14.3-rc.1
+
+Changes in [0.14.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.3-rc.1) (2018-05-09)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2...v0.14.3-rc.1)
+
+ * Update from Weblate.
+ [\#6688](https://github.com/vector-im/riot-web/pull/6688)
+ * Don't show presence on matrix.org
+ [\#6638](https://github.com/vector-im/riot-web/pull/6638)
+ * Enforce loading babel-polyfill first
+ [\#6625](https://github.com/vector-im/riot-web/pull/6625)
+ * Update hoek
+ [\#6624](https://github.com/vector-im/riot-web/pull/6624)
+ * Fix args in the release wrapper script
+ [\#6614](https://github.com/vector-im/riot-web/pull/6614)
+
+Changes in [0.14.2](https://github.com/vector-im/riot-web/releases/tag/v0.14.2) (2018-04-30)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2-rc.3...v0.14.2)
+
+ * No changes since rc.3
+
+Changes in [0.14.2-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.14.2-rc.3) (2018-04-26)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2-rc.2...v0.14.2-rc.3)
+
+ * Fix CSS dependency versions to be the same as those in react-sdk to fix
+ left panel header positions.
+
+Changes in [0.14.2-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.14.2-rc.2) (2018-04-26)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2-rc.1...v0.14.2-rc.2)
+
+ * Fix Download of attachments in e2e encrypted rooms in Firefox
+
+Changes in [0.14.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.2-rc.1) (2018-04-25)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.1...v0.14.2-rc.1)
+
+ * Update from Weblate.
+ [\#6602](https://github.com/vector-im/riot-web/pull/6602)
+ * Add readme bit on cross-origin renderer
+ [\#6600](https://github.com/vector-im/riot-web/pull/6600)
+ * Update from Weblate.
+ [\#6573](https://github.com/vector-im/riot-web/pull/6573)
+ * Copy media from react-sdk
+ [\#6588](https://github.com/vector-im/riot-web/pull/6588)
+ * Fix favicon
+ [\#6580](https://github.com/vector-im/riot-web/pull/6580)
+ * Update from Weblate.
+ [\#6569](https://github.com/vector-im/riot-web/pull/6569)
+ * move everything not explicitly riot (or status) branded into matrix-react-
+ sdk
+ [\#6500](https://github.com/vector-im/riot-web/pull/6500)
+ * Remove presence management
+ [\#5881](https://github.com/vector-im/riot-web/pull/5881)
+ * change vector-web repo to riot-web in changelog
+ [\#6480](https://github.com/vector-im/riot-web/pull/6480)
+ * Update from Weblate.
+ [\#6473](https://github.com/vector-im/riot-web/pull/6473)
+ * Bump source-map-loader version to avoid bug /w inline base64 maps
+ [\#6472](https://github.com/vector-im/riot-web/pull/6472)
+ * Add CSS for new group admin radio button
+ [\#6415](https://github.com/vector-im/riot-web/pull/6415)
+ * Rxl881/sticker picker styling
+ [\#6447](https://github.com/vector-im/riot-web/pull/6447)
+ * Stickerpacks
+ [\#6242](https://github.com/vector-im/riot-web/pull/6242)
+ * Force gemini on HomePage
+ [\#6368](https://github.com/vector-im/riot-web/pull/6368)
+ * Rename the Riot-Web Translations Room
+ [\#6348](https://github.com/vector-im/riot-web/pull/6348)
+ * Add disable-presence-by-hs option to sample config
+ [\#6350](https://github.com/vector-im/riot-web/pull/6350)
+ * Reword the BugReportDialog.js as per @lampholder
+ [\#6354](https://github.com/vector-im/riot-web/pull/6354)
+
+Changes in [0.14.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.1) (2018-04-12)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0...v0.14.1)
+
+ * Remove presence management feature from labs
+ * Fix an issue where Riot would fail to load at all if certain
+ extensions were installed on Firefox
+ * Fix an issue where e2e cryptography could be disabled due to
+ a migration error.
+
+Changes in [0.14.0](https://github.com/vector-im/riot-web/releases/tag/v0.14.0) (2018-04-11)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.6...v0.14.0)
+
+ * Cosmetic changes for group UI
+
+Changes in [0.14.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.6) (2018-04-09)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.5...v0.14.0-rc.6)
+
+ * Bump react-sdk to [rc.6](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.12.0-rc.6)
+
+Changes in [0.14.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.5) (2018-04-09)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.4...v0.14.0-rc.5)
+
+* Add CSS for new control to set group join policy
+
+Changes in [0.14.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.4) (2018-03-22)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.3...v0.14.0-rc.4)
+
+ * Fix tagging rooms as direct messages
+
+Changes in [0.14.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.3) (2018-03-20)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.2...v0.14.0-rc.3)
+
+ * Fix a bug where the badge on a room tile would not update
+ when a room was read from a different device.
+
+Changes in [0.14.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.2) (2018-03-19)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.1...v0.14.0-rc.2)
+
+ * Take TagPanel out of labs
+ [\#6347](https://github.com/vector-im/riot-web/pull/6347)
+ * Add languages (czech, galician and serbian)
+ [\#6343](https://github.com/vector-im/riot-web/pull/6343)
+
+Changes in [0.14.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.1) (2018-03-19)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.5...v0.14.0-rc.1)
+
+ * Force update RoomSubList after reading a room
+ [\#6342](https://github.com/vector-im/riot-web/pull/6342)
+ * Ensure entire LeftPanel is faded when settings open
+ [\#6340](https://github.com/vector-im/riot-web/pull/6340)
+ * Update from Weblate.
+ [\#6330](https://github.com/vector-im/riot-web/pull/6330)
+ * Implement a simple shouldComponentUpdate for DNDRoomTile
+ [\#6313](https://github.com/vector-im/riot-web/pull/6313)
+ * Remove og:image with status.im URL
+ [\#6317](https://github.com/vector-im/riot-web/pull/6317)
+ * Add change delay warning in GroupView settings
+ [\#6316](https://github.com/vector-im/riot-web/pull/6316)
+ * Correctly position mx_TagPanel_clearButton
+ [\#6289](https://github.com/vector-im/riot-web/pull/6289)
+ * Fix gap between avatar and border
+ [\#6290](https://github.com/vector-im/riot-web/pull/6290)
+ * Fix bug where cannot send group invite on GroupMemberInfo phase
+ [\#6303](https://github.com/vector-im/riot-web/pull/6303)
+ * Fix themeing bug with Firefox where "disabled" ignored
+ [\#6301](https://github.com/vector-im/riot-web/pull/6301)
+ * Changes for E2E "fudge-button"
+ [\#6288](https://github.com/vector-im/riot-web/pull/6288)
+ * Make sure mx_TagPanel_tagTileContainer occupies full height
+ [\#6286](https://github.com/vector-im/riot-web/pull/6286)
+ * Add transparent CSS class for RoomTile
+ [\#6281](https://github.com/vector-im/riot-web/pull/6281)
+ * Fix crash; fs event received /w langauge file empty
+ [\#6273](https://github.com/vector-im/riot-web/pull/6273)
+ * Add setting to disable TagPanel
+ [\#6269](https://github.com/vector-im/riot-web/pull/6269)
+ * CSS for my groups microcopy
+ [\#6257](https://github.com/vector-im/riot-web/pull/6257)
+ * Add Bulgarian to the list of languages
+ [\#6246](https://github.com/vector-im/riot-web/pull/6246)
+ * Make media dropdown wider
+ [\#6245](https://github.com/vector-im/riot-web/pull/6245)
+ * Make dropdowns with long options degrade more gracefully
+ [\#6244](https://github.com/vector-im/riot-web/pull/6244)
+ * Fix un-tinted "View Community" icon in TagTile context menu
+ [\#6223](https://github.com/vector-im/riot-web/pull/6223)
+ * Fix RoomDropTarget and emptySubListTip to have containers
+ [\#6160](https://github.com/vector-im/riot-web/pull/6160)
+ * Fix syntax error of wrong use of self-closing HTML tag
+ [\#6154](https://github.com/vector-im/riot-web/pull/6154)
+ * Use translucent black for RoomSubList bg to fix tinting
+ [\#6227](https://github.com/vector-im/riot-web/pull/6227)
+ * CSS for changing "R" to "X" for clearing group filter
+ [\#6216](https://github.com/vector-im/riot-web/pull/6216)
+ * CSS for new global TagPanel filter
+ [\#6187](https://github.com/vector-im/riot-web/pull/6187)
+ * Separate the middle panel from the room list
+ [\#6194](https://github.com/vector-im/riot-web/pull/6194)
+ * Only use DNDRoomTile for editable sub lists
+ [\#6176](https://github.com/vector-im/riot-web/pull/6176)
+ * Adjust CSS to prevent scrollbars on message panel spinner
+ [\#6131](https://github.com/vector-im/riot-web/pull/6131)
+ * Implement riot-web side of dragging GroupTile avatars to TagPanel
+ [\#6143](https://github.com/vector-im/riot-web/pull/6143)
+ * Fix LeftPanel size being incorrect when TagPanel disabled
+ [\#6140](https://github.com/vector-im/riot-web/pull/6140)
+ * Fix TagPanel from collapsing to < 60px when LP collapsed
+ [\#6134](https://github.com/vector-im/riot-web/pull/6134)
+ * Temporary hack to constrain LLP container size.
+ [\#6138](https://github.com/vector-im/riot-web/pull/6138)
+ * Fix typo
+ [\#6137](https://github.com/vector-im/riot-web/pull/6137)
+ * Add context menu to TagPanel
+ [\#6127](https://github.com/vector-im/riot-web/pull/6127)
+ * Make room tagging flux-y
+ [\#6096](https://github.com/vector-im/riot-web/pull/6096)
+ * Move groups button to TagPanel
+ [\#6130](https://github.com/vector-im/riot-web/pull/6130)
+ * Fix long group name pushing settings cog into void
+ [\#6106](https://github.com/vector-im/riot-web/pull/6106)
+ * Fix horizontal scrollbar under certain circumstances
+ [\#6103](https://github.com/vector-im/riot-web/pull/6103)
+ * Split MImageBody into MFileBody to match JS Classes.
+ [\#6067](https://github.com/vector-im/riot-web/pull/6067)
+ * Add Catalan
+ [\#6040](https://github.com/vector-im/riot-web/pull/6040)
+ * Update from Weblate.
+ [\#5777](https://github.com/vector-im/riot-web/pull/5777)
+ * make FilteredList controlled, such that it can externally persist filter
+ [\#5718](https://github.com/vector-im/riot-web/pull/5718)
+ * Linear Rich Quoting
+ [\#6017](https://github.com/vector-im/riot-web/pull/6017)
+ * Highlight ViewSource and Devtools ViewSource
+ [\#5995](https://github.com/vector-im/riot-web/pull/5995)
+ * default url, not domain
+ [\#6022](https://github.com/vector-im/riot-web/pull/6022)
+ * T3chguy/num members tooltip
+ [\#5929](https://github.com/vector-im/riot-web/pull/5929)
+ * Swap RoomList to react-beautiful-dnd
+ [\#6008](https://github.com/vector-im/riot-web/pull/6008)
+ * CSS required as part of moving TagPanel from react-dnd to react-beautiful-
+ dnd
+ [\#5992](https://github.com/vector-im/riot-web/pull/5992)
+ * fix&refactor DateSeparator and MessageTimestamp
+ [\#5984](https://github.com/vector-im/riot-web/pull/5984)
+ * Iterative fixes on Rich Quoting
+ [\#5978](https://github.com/vector-im/riot-web/pull/5978)
+ * move piwik whitelists to conf and add piwik config.json info to readme
+ [\#5653](https://github.com/vector-im/riot-web/pull/5653)
+ * Implement Rich Quoting/Replies
+ [\#5804](https://github.com/vector-im/riot-web/pull/5804)
+ * Change author
+ [\#5950](https://github.com/vector-im/riot-web/pull/5950)
+ * Revert "Add a after timestamp"
+ [\#5944](https://github.com/vector-im/riot-web/pull/5944)
+ * Add a after timestamp
+ [\#3046](https://github.com/vector-im/riot-web/pull/3046)
+ * Corrected language name
+ [\#5938](https://github.com/vector-im/riot-web/pull/5938)
+ * Hide Options button from copy to clipboard
+ [\#2892](https://github.com/vector-im/riot-web/pull/2892)
+ * Fix for `If riot is narrow enough, such that 'Send a message (unecrypted)'
+ wraps to a second line, the timeline doesn't fit the window.`
+ [\#5900](https://github.com/vector-im/riot-web/pull/5900)
+ * Screenshot UI
+ [\#5849](https://github.com/vector-im/riot-web/pull/5849)
+ * add missing config.json entry such that scalar-staging widgets work
+ [\#5855](https://github.com/vector-im/riot-web/pull/5855)
+ * add dark theme styling to devtools input box
+ [\#5610](https://github.com/vector-im/riot-web/pull/5610)
+ * Fixes #1953 by adding oivoodoo as author
+ [\#5851](https://github.com/vector-im/riot-web/pull/5851)
+ * Instructions on security issues
+ [\#5824](https://github.com/vector-im/riot-web/pull/5824)
+ * Move DND wrapper to top level component
+ [\#5790](https://github.com/vector-im/riot-web/pull/5790)
+ * Widget title bar max / min visual cues.
+ [\#5786](https://github.com/vector-im/riot-web/pull/5786)
+ * Implement renumeration of ordered tags upon collision
+ [\#5759](https://github.com/vector-im/riot-web/pull/5759)
+ * Update imports for accessing KeyCode
+ [\#5751](https://github.com/vector-im/riot-web/pull/5751)
+ * Set html lang attribute from language setting
+ [\#5685](https://github.com/vector-im/riot-web/pull/5685)
+ * CSS for new TagPanel
+ [\#5723](https://github.com/vector-im/riot-web/pull/5723)
+ * getGroupStore no longer needs a matrix client
+ [\#5707](https://github.com/vector-im/riot-web/pull/5707)
+ * CSS required for moving group publication toggles to UserSettings
+ [\#5702](https://github.com/vector-im/riot-web/pull/5702)
+ * Make sure the SettingsStore is ready to load the theme before loading it
+ [\#5630](https://github.com/vector-im/riot-web/pull/5630)
+ * Add some aria-labels to RightPanel
+ [\#5661](https://github.com/vector-im/riot-web/pull/5661)
+ * Use badge count format for member count in RightPanel
+ [\#5657](https://github.com/vector-im/riot-web/pull/5657)
+ * Exclude the default language on page load
+ [\#5640](https://github.com/vector-im/riot-web/pull/5640)
+ * Use SettingsStore to get the default theme
+ [\#5615](https://github.com/vector-im/riot-web/pull/5615)
+ * Refactor translations
+ [\#5613](https://github.com/vector-im/riot-web/pull/5613)
+ * TintableSvgButton styling
+ [\#5605](https://github.com/vector-im/riot-web/pull/5605)
+ * Granular settings
+ [\#5468](https://github.com/vector-im/riot-web/pull/5468)
+ * CSS/components for custom presence controls
+ [\#5286](https://github.com/vector-im/riot-web/pull/5286)
+ * Set widget tile background colour
+ [\#5574](https://github.com/vector-im/riot-web/pull/5574)
+ * Widget styling tweaks
+ [\#5573](https://github.com/vector-im/riot-web/pull/5573)
+ * Center mixed content warnings in panel.
+ [\#5567](https://github.com/vector-im/riot-web/pull/5567)
+ * Status.im theme
+ [\#5578](https://github.com/vector-im/riot-web/pull/5578)
+
+Changes in [0.13.5](https://github.com/vector-im/riot-web/releases/tag/v0.13.5) (2018-02-09)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.4...v0.13.5)
+
+ * SECURITY UPDATE: Sanitise URLs from 'external_url'. Thanks to walle303 for contacting
+ us about this vulnerability.
+
+Changes in [0.13.4](https://github.com/vector-im/riot-web/releases/tag/v0.13.4) (2018-01-03)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.3...v0.13.4)
+
+ * Change config of riot.im electron build to fix some widgets not working. This only affects
+ electron builds using the riot.im config - for all other builds, this is identical to
+ v0.13.3.
+
+Changes in [0.13.3](https://github.com/vector-im/riot-web/releases/tag/v0.13.3) (2017-12-04)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.2...v0.13.3)
+
+ * Bump js-sdk, react-sdk version to pull in fix for [setting room publicity in a group](https://github.com/matrix-org/matrix-js-sdk/commit/aa3201ebb0fff5af2fb733080aa65ed1f7213de6).
+
+Changes in [0.13.2](https://github.com/vector-im/riot-web/releases/tag/v0.13.2) (2017-11-28)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.1...v0.13.2)
+
+
+Changes in [0.13.1](https://github.com/vector-im/riot-web/releases/tag/v0.13.1) (2017-11-17)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0...v0.13.1)
+
+ * SECURITY UPDATE: Fix the force TURN option for inbound calls. This option forced the use
+ of TURN but only worked for outbound calls and not inbound calls. This means that if you
+ enabled this option expecting it to mask your IP address in calls, your IP would still
+ have been revealed to the room if you accepted an incoming call.
+ * Also adds the Slovak translation.
+
+Changes in [0.13.0](https://github.com/vector-im/riot-web/releases/tag/v0.13.0) (2017-11-15)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0-rc.3...v0.13.0)
+
+
+Changes in [0.13.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.13.0-rc.3) (2017-11-14)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0-rc.2...v0.13.0-rc.3)
+
+
+Changes in [0.13.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.13.0-rc.2) (2017-11-10)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0-rc.1...v0.13.0-rc.2)
+
+ * Make groups a fully-fleged baked-in feature
+ [\#5566](https://github.com/vector-im/riot-web/pull/5566)
+
+Changes in [0.13.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.13.0-rc.1) (2017-11-10)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7...v0.13.0-rc.1)
+
+ * Fix app tile margins.
+ [\#5561](https://github.com/vector-im/riot-web/pull/5561)
+ * Fix wrapping of long room topics (and overlap with apps)
+ [\#5549](https://github.com/vector-im/riot-web/pull/5549)
+ * Don't display widget iframes whilst loading.
+ [\#5555](https://github.com/vector-im/riot-web/pull/5555)
+ * Update from Weblate.
+ [\#5558](https://github.com/vector-im/riot-web/pull/5558)
+ * Adjust CSS for GroupView
+ [\#5543](https://github.com/vector-im/riot-web/pull/5543)
+ * CSS for adding rooms to a group with visibility
+ [\#5546](https://github.com/vector-im/riot-web/pull/5546)
+ * CSS for pinned indicators
+ [\#5511](https://github.com/vector-im/riot-web/pull/5511)
+ * Implement general-purpose tooltip "(?)"-style
+ [\#5540](https://github.com/vector-im/riot-web/pull/5540)
+ * CSS for improving group creation UX, namely setting long description
+ [\#5535](https://github.com/vector-im/riot-web/pull/5535)
+ * CSS for room notif pills in composer
+ [\#5531](https://github.com/vector-im/riot-web/pull/5531)
+ * Do not init a group store when no groupId specified
+ [\#5520](https://github.com/vector-im/riot-web/pull/5520)
+ * CSS for new pinned events indicator
+ [\#5293](https://github.com/vector-im/riot-web/pull/5293)
+ * T3chguy/devtools 1
+ [\#5471](https://github.com/vector-im/riot-web/pull/5471)
+ * Use margin to separate "perms" in the room directory
+ [\#5498](https://github.com/vector-im/riot-web/pull/5498)
+ * Add CSS for CreateGroupDialog to give group ID input suffix and prefix style
+ [\#5505](https://github.com/vector-im/riot-web/pull/5505)
+ * Fix group invites such that they look similar to room invites
+ [\#5504](https://github.com/vector-im/riot-web/pull/5504)
+ * CSS for Your Communities scrollbar
+ [\#5501](https://github.com/vector-im/riot-web/pull/5501)
+ * Add toggle to alter visibility of room-group association
+ [\#5497](https://github.com/vector-im/riot-web/pull/5497)
+ * CSS for room notification pills
+ [\#5494](https://github.com/vector-im/riot-web/pull/5494)
+ * Implement simple GroupRoomInfo
+ [\#5493](https://github.com/vector-im/riot-web/pull/5493)
+ * Add back bottom border to widget title bar
+ [\#5458](https://github.com/vector-im/riot-web/pull/5458)
+ * Prevent group name looking clickable for non-members
+ [\#5478](https://github.com/vector-im/riot-web/pull/5478)
+ * Fix instanceof check, was checking against the Package rather than class
+ [\#5472](https://github.com/vector-im/riot-web/pull/5472)
+ * Use correct group store state when rendering "Invite to this community"
+ [\#5455](https://github.com/vector-im/riot-web/pull/5455)
+ * Leverages ES6 in Notifications
+ [\#5453](https://github.com/vector-im/riot-web/pull/5453)
+ * Re-PR #4412
+ [\#5437](https://github.com/vector-im/riot-web/pull/5437)
+ * fix comma error of features example
+ [\#5410](https://github.com/vector-im/riot-web/pull/5410)
+ * Devtools: make filtering case-insensitive
+ [\#5387](https://github.com/vector-im/riot-web/pull/5387)
+ * Highlight group members icon in group member info
+ [\#5432](https://github.com/vector-im/riot-web/pull/5432)
+ * Use CSS to stop greyed Right/LeftPanel UI from being interactable
+ [\#5422](https://github.com/vector-im/riot-web/pull/5422)
+ * CSS for preventing editing of UI requiring user privilege if user
+ unprivileged
+ [\#5417](https://github.com/vector-im/riot-web/pull/5417)
+ * Only show UI for adding rooms/users to groups to privileged users
+ [\#5409](https://github.com/vector-im/riot-web/pull/5409)
+ * Only show "Invite to this community" when viewing group members
+ [\#5407](https://github.com/vector-im/riot-web/pull/5407)
+ * Add trash can icon for delete widget
+ [\#5397](https://github.com/vector-im/riot-web/pull/5397)
+ * CSS to improve MyGroups in general, and add placeholder
+ [\#5375](https://github.com/vector-im/riot-web/pull/5375)
+ * Rxl881/parallelshell
+ [\#4881](https://github.com/vector-im/riot-web/pull/4881)
+ * Custom server text was i18ned by key
+ [\#5371](https://github.com/vector-im/riot-web/pull/5371)
+ * Run prunei18n
+ [\#5370](https://github.com/vector-im/riot-web/pull/5370)
+ * Update from Weblate.
+ [\#5369](https://github.com/vector-im/riot-web/pull/5369)
+ * Add script to prune unused translations
+ [\#5339](https://github.com/vector-im/riot-web/pull/5339)
+ * CSS for improved MyGroups page
+ [\#5360](https://github.com/vector-im/riot-web/pull/5360)
+ * Add padding-right to Dialogs
+ [\#5346](https://github.com/vector-im/riot-web/pull/5346)
+ * Add div.warning and use the scss var
+ [\#5344](https://github.com/vector-im/riot-web/pull/5344)
+ * Groups->Communities
+ [\#5343](https://github.com/vector-im/riot-web/pull/5343)
+ * Make the 'add rooms' button clickable
+ [\#5342](https://github.com/vector-im/riot-web/pull/5342)
+ * Switch to gen-i18n script
+ [\#5338](https://github.com/vector-im/riot-web/pull/5338)
+ * Use _t as _t
+ [\#5334](https://github.com/vector-im/riot-web/pull/5334)
+ * fix groupview header editing visuals (pt 1)
+ [\#5330](https://github.com/vector-im/riot-web/pull/5330)
+ * bump version to prevent eslint errors
+ [\#5316](https://github.com/vector-im/riot-web/pull/5316)
+ * CSS for invited group members section
+ [\#5303](https://github.com/vector-im/riot-web/pull/5303)
+ * Handle long names in EntityTiles by overflowing correctly
+ [\#5302](https://github.com/vector-im/riot-web/pull/5302)
+ * Disable labs in electron
+ [\#5296](https://github.com/vector-im/riot-web/pull/5296)
+ * CSS for Modifying GroupView UI matrix-org/matrix-react-sdk#1475
+ [\#5295](https://github.com/vector-im/riot-web/pull/5295)
+ * Message/event pinning
+ [\#5142](https://github.com/vector-im/riot-web/pull/5142)
+ * Sorting of networks within a protocol based on name
+ [\#4054](https://github.com/vector-im/riot-web/pull/4054)
+ * allow hiding of notification body for privacy reasons
+ [\#4988](https://github.com/vector-im/riot-web/pull/4988)
+ * Don't use MXIDs on the lightbox if possible
+ [\#5281](https://github.com/vector-im/riot-web/pull/5281)
+ * CSS for lonely room message
+ [\#5267](https://github.com/vector-im/riot-web/pull/5267)
+ * Bring back dark theme code block border
+ [\#5037](https://github.com/vector-im/riot-web/pull/5037)
+ * CSS for remove avatar buttons
+ [\#5282](https://github.com/vector-im/riot-web/pull/5282)
+
+Changes in [0.12.7](https://github.com/vector-im/riot-web/releases/tag/v0.12.7) (2017-10-16)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7-rc.3...v0.12.7)
+
+ * Released versions of react-sdk & js-sdk
+
+Changes in [0.12.7-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.7-rc.3) (2017-10-13)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7-rc.2...v0.12.7-rc.3)
+
+ * Hide the join group button
+ [\#5275](https://github.com/vector-im/riot-web/pull/5275)
+
+Changes in [0.12.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.7-rc.2) (2017-10-13)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7-rc.1...v0.12.7-rc.2)
+
+
+Changes in [0.12.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.7-rc.1) (2017-10-13)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.6...v0.12.7-rc.1)
+
+ * switch to new logos, and use import rather than VAR
+ [\#5203](https://github.com/vector-im/riot-web/pull/5203)
+ * Clarify what an integrations server is
+ [\#5266](https://github.com/vector-im/riot-web/pull/5266)
+ * Update from Weblate.
+ [\#5269](https://github.com/vector-im/riot-web/pull/5269)
+ * Remove trailing comma in JSON
+ [\#5167](https://github.com/vector-im/riot-web/pull/5167)
+ * Added default_federate property
+ [\#3849](https://github.com/vector-im/riot-web/pull/3849)
+ * CSS for greying out login form
+ [\#5197](https://github.com/vector-im/riot-web/pull/5197)
+ * Fix bug that made sub list placeholders not show for ILAG etc.
+ [\#5164](https://github.com/vector-im/riot-web/pull/5164)
+ * Factor out EditableItemList component from AliasSettings
+ [\#5161](https://github.com/vector-im/riot-web/pull/5161)
+ * Mark and remove some translations
+ [\#5110](https://github.com/vector-im/riot-web/pull/5110)
+ * CSS for "remove" button on GroupRoomTile
+ [\#5141](https://github.com/vector-im/riot-web/pull/5141)
+ * Create basic icon for the GroupRoomList tab and adding rooms to groups
+ [\#5140](https://github.com/vector-im/riot-web/pull/5140)
+ * Add button to get to MyGroups
+ [\#5131](https://github.com/vector-im/riot-web/pull/5131)
+ * Remove `key` prop pass-thru on HeaderButton
+ [\#5137](https://github.com/vector-im/riot-web/pull/5137)
+ * Implement "Add room to group" feature
+ [\#5125](https://github.com/vector-im/riot-web/pull/5125)
+ * Add Jitsi screensharing support in electron app
+ [\#4967](https://github.com/vector-im/riot-web/pull/4967)
+ * Refactor right panel header buttons
+ [\#5117](https://github.com/vector-im/riot-web/pull/5117)
+ * CSS for publicity status & toggle button
+ [\#5104](https://github.com/vector-im/riot-web/pull/5104)
+ * CSS for "X" in top right of features users/rooms
+ [\#5103](https://github.com/vector-im/riot-web/pull/5103)
+ * Include Finnish translation
+ [\#5051](https://github.com/vector-im/riot-web/pull/5051)
+ * Redesign membership section of GroupView
+ [\#5096](https://github.com/vector-im/riot-web/pull/5096)
+ * Make --config accept globs
+ [\#5090](https://github.com/vector-im/riot-web/pull/5090)
+ * CSS for GroupView: Add a User
+ [\#5093](https://github.com/vector-im/riot-web/pull/5093)
+ * T3chguy/devtools 1
+ [\#5074](https://github.com/vector-im/riot-web/pull/5074)
+ * Alter opacity for flair
+ [\#5085](https://github.com/vector-im/riot-web/pull/5085)
+ * Fix ugly integ button
+ [\#5082](https://github.com/vector-im/riot-web/pull/5082)
+ * Group Membership UI
+ [\#4830](https://github.com/vector-im/riot-web/pull/4830)
+
+Changes in [0.12.6](https://github.com/vector-im/riot-web/releases/tag/v0.12.6) (2017-09-21)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.5...v0.12.6)
+
+ * Use matrix-js-sdk v0.8.4 to fix build
+
+Changes in [0.12.5](https://github.com/vector-im/riot-web/releases/tag/v0.12.5) (2017-09-21)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.4...v0.12.5)
+
+ * Use react-sdk v0.10.5 to fix build
+
+Changes in [0.12.4](https://github.com/vector-im/riot-web/releases/tag/v0.12.4) (2017-09-20)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.4-rc.1...v0.12.4)
+
+ * No changes
+
+Changes in [0.12.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.4-rc.1) (2017-09-19)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3...v0.12.4-rc.1)
+
+ * Fix test for new behaviour of 'joining' flag
+ [\#5053](https://github.com/vector-im/riot-web/pull/5053)
+ * fix really dumb blunder/typo preventing system from going to sleep.
+ [\#5080](https://github.com/vector-im/riot-web/pull/5080)
+ * T3chguy/devtools
+ [\#4735](https://github.com/vector-im/riot-web/pull/4735)
+ * CSS for unignore button in UserSettings
+ [\#5042](https://github.com/vector-im/riot-web/pull/5042)
+ * Fix alias on home page for identity room
+ [\#5044](https://github.com/vector-im/riot-web/pull/5044)
+ * generic contextual menu for tooltip/responses
+ [\#4989](https://github.com/vector-im/riot-web/pull/4989)
+ * Update from Weblate.
+ [\#5018](https://github.com/vector-im/riot-web/pull/5018)
+ * Avoid re-rendering RoomList on room switch
+ [\#5015](https://github.com/vector-im/riot-web/pull/5015)
+ * Fix menu on change keyboard language issue #4345
+ [\#4623](https://github.com/vector-im/riot-web/pull/4623)
+ * Make isInvite default to false
+ [\#4999](https://github.com/vector-im/riot-web/pull/4999)
+ * Revert "Implement sticky date separators"
+ [\#4991](https://github.com/vector-im/riot-web/pull/4991)
+ * Implement sticky date separators
+ [\#4939](https://github.com/vector-im/riot-web/pull/4939)
+
+Changes in [0.12.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.3) (2017-09-06)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.3...v0.12.3)
+
+ * No changes
+
+Changes in [0.12.3-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.3) (2017-09-05)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.2...v0.12.3-rc.3)
+
+ * Fix plurals in translations
+ [\#4971](https://github.com/vector-im/riot-web/pull/4971)
+ * Update from Weblate.
+ [\#4968](https://github.com/vector-im/riot-web/pull/4968)
+
+Changes in [0.12.3-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.2) (2017-09-05)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.1...v0.12.3-rc.2)
+
+ * New react-sdk version to pull in new translations and fix some translation bugs.
+
+
+Changes in [0.12.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.1) (2017-09-01)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.2...v0.12.3-rc.1)
+
+ * Fix overflowing login/register buttons on some languages issue #4804
+ [\#4858](https://github.com/vector-im/riot-web/pull/4858)
+ * Update vector-im to riot-im on Login
+ [\#4943](https://github.com/vector-im/riot-web/pull/4943)
+ * lets let people know that the bug report actually sent properly :)
+ [\#4910](https://github.com/vector-im/riot-web/pull/4910)
+ * another s/vector/riot/ in README
+ [\#4934](https://github.com/vector-im/riot-web/pull/4934)
+ * fix two room list regressions
+ [\#4907](https://github.com/vector-im/riot-web/pull/4907)
+
+Changes in [0.12.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.2) (2017-08-24)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.1...v0.12.2)
+
+ * Update react-sdk and js-sdk to fix bugs with incoming calls, messages and notifications
+ in encrypted rooms.
+
+Changes in [0.12.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.1) (2017-08-23)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.1-rc.1...v0.12.1)
+
+ * [No changes]
+
+Changes in [0.12.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.1-rc.1) (2017-08-22)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.0-rc.2...v0.12.1-rc.1)
+
+ * Update from Weblate.
+ [\#4832](https://github.com/vector-im/riot-web/pull/4832)
+ * Misc styling fixes.
+ [\#4826](https://github.com/vector-im/riot-web/pull/4826)
+ * Show / Hide apps icons
+ [\#4774](https://github.com/vector-im/riot-web/pull/4774)
+
+Changes in [0.12.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.0-rc.1) (2017-08-16)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.4...v0.12.0-rc.1)
+
+ * Update from Weblate.
+ [\#4797](https://github.com/vector-im/riot-web/pull/4797)
+ * move focus-via-up/down cursors to LeftPanel
+ [\#4777](https://github.com/vector-im/riot-web/pull/4777)
+ * Remove userId property on RightPanel
+ [\#4775](https://github.com/vector-im/riot-web/pull/4775)
+ * Make member device info buttons fluid and stackable with flexbox
+ [\#4776](https://github.com/vector-im/riot-web/pull/4776)
+ * un-i18n Modal Analytics
+ [\#4688](https://github.com/vector-im/riot-web/pull/4688)
+ * Quote using innerText
+ [\#4773](https://github.com/vector-im/riot-web/pull/4773)
+ * Karma tweaks for riot-web
+ [\#4765](https://github.com/vector-im/riot-web/pull/4765)
+ * Fix typo with scripts/fetch-develop-deps.sh in Building From Source
+ [\#4764](https://github.com/vector-im/riot-web/pull/4764)
+ * Adjust CSS for optional avatars in pills
+ [\#4757](https://github.com/vector-im/riot-web/pull/4757)
+ * Fix crypto on develop
+ [\#4754](https://github.com/vector-im/riot-web/pull/4754)
+ * Fix signing key url in readme
+ [\#4464](https://github.com/vector-im/riot-web/pull/4464)
+ * update gitignore to allow .idea directory to exist in subdirs
+ [\#4749](https://github.com/vector-im/riot-web/pull/4749)
+ * tweak compact theme
+ [\#4665](https://github.com/vector-im/riot-web/pull/4665)
+ * Update draft-js from 0.10.1 to 0.11.0-alpha
+ [\#4740](https://github.com/vector-im/riot-web/pull/4740)
+ * electron support for mouse forward/back buttons in Windows
+ [\#4739](https://github.com/vector-im/riot-web/pull/4739)
+ * Update draft-js from 0.8.1 to 0.10.1
+ [\#4730](https://github.com/vector-im/riot-web/pull/4730)
+ * Make pills, emoji translucent when sending
+ [\#4693](https://github.com/vector-im/riot-web/pull/4693)
+ * Widget permissions styling and icon
+ [\#4690](https://github.com/vector-im/riot-web/pull/4690)
+ * CSS required for composer autoscroll
+ [\#4682](https://github.com/vector-im/riot-web/pull/4682)
+ * CSS for group edit UI
+ [\#4608](https://github.com/vector-im/riot-web/pull/4608)
+ * Fix a couple of minor errors in the room list
+ [\#4671](https://github.com/vector-im/riot-web/pull/4671)
+ * Styling for beta testing icon.
+ [\#4584](https://github.com/vector-im/riot-web/pull/4584)
+ * Increase the timeout for clearing indexeddbs
+ [\#4650](https://github.com/vector-im/riot-web/pull/4650)
+ * Make some adjustments to mx_UserPill and mx_RoomPill
+ [\#4597](https://github.com/vector-im/riot-web/pull/4597)
+ * Apply CSS to tags to distinguish them from each other
+ [\#4639](https://github.com/vector-im/riot-web/pull/4639)
+ * Use `catch` instead of `fail` to handle room tag error
+ [\#4643](https://github.com/vector-im/riot-web/pull/4643)
+ * CSS for decorated matrix.to links in the composer
+ [\#4583](https://github.com/vector-im/riot-web/pull/4583)
+ * Deflake the joining test
+ [\#4579](https://github.com/vector-im/riot-web/pull/4579)
+ * Bump react to 15.6 to fix build problems
+ [\#4577](https://github.com/vector-im/riot-web/pull/4577)
+ * Improve AppTile menu bar button styling.
+ [\#4567](https://github.com/vector-im/riot-web/pull/4567)
+ * Transform `async` functions to bluebird promises
+ [\#4572](https://github.com/vector-im/riot-web/pull/4572)
+ * use flushAllExpected in joining test
+ [\#4570](https://github.com/vector-im/riot-web/pull/4570)
+ * Switch riot-web to bluebird
+ [\#4565](https://github.com/vector-im/riot-web/pull/4565)
+ * loading tests: wait for login component
+ [\#4564](https://github.com/vector-im/riot-web/pull/4564)
+ * Remove CSS for the MessageComposerInputOld
+ [\#4568](https://github.com/vector-im/riot-web/pull/4568)
+ * Implement the focus_room_filter action
+ [\#4560](https://github.com/vector-im/riot-web/pull/4560)
+ * CSS for Rooms in Group View
+ [\#4530](https://github.com/vector-im/riot-web/pull/4530)
+ * more HomePage tweaks
+ [\#4557](https://github.com/vector-im/riot-web/pull/4557)
+ * Give HomePage an unmounted guard
+ [\#4556](https://github.com/vector-im/riot-web/pull/4556)
+ * Take RTE out of labs
+ [\#4500](https://github.com/vector-im/riot-web/pull/4500)
+ * CSS for Groups page
+ [\#4468](https://github.com/vector-im/riot-web/pull/4468)
+ * CSS for GroupView
+ [\#4442](https://github.com/vector-im/riot-web/pull/4442)
+ * remove unused class
+ [\#4525](https://github.com/vector-im/riot-web/pull/4525)
+ * Fix long words causing MessageComposer to widen
+ [\#4466](https://github.com/vector-im/riot-web/pull/4466)
+ * Add visual bell animation for RTE
+ [\#4516](https://github.com/vector-im/riot-web/pull/4516)
+ * Truncate auto-complete pills properly
+ [\#4502](https://github.com/vector-im/riot-web/pull/4502)
+ * Use chrome headless instead of phantomjs
+ [\#4512](https://github.com/vector-im/riot-web/pull/4512)
+ * Use external mock-request
+ [\#4489](https://github.com/vector-im/riot-web/pull/4489)
+ * fix Quote not closing contextual menu
+ [\#4443](https://github.com/vector-im/riot-web/pull/4443)
+ * Apply white-space: pre-wrap to mx_MEmoteBody
+ [\#4470](https://github.com/vector-im/riot-web/pull/4470)
+ * Add some style improvements to autocompletions
+ [\#4456](https://github.com/vector-im/riot-web/pull/4456)
+ * Styling for apps / widgets
+ [\#4447](https://github.com/vector-im/riot-web/pull/4447)
+ * Attempt to flush the rageshake logs on close
+ [\#4400](https://github.com/vector-im/riot-web/pull/4400)
+ * Update from Weblate.
+ [\#4401](https://github.com/vector-im/riot-web/pull/4401)
+ * improve update polling electron and provide a manual check for updates
+ button
+ [\#4176](https://github.com/vector-im/riot-web/pull/4176)
+ * Fix load failure in firefox when indexedDB is disabled
+ [\#4395](https://github.com/vector-im/riot-web/pull/4395)
+ * Change missed 'Redact' to 'Remove' in ImageView.
+ [\#4362](https://github.com/vector-im/riot-web/pull/4362)
+ * explicit convert to nativeImage to stabilise trayIcon on Windows [Electron]
+ [\#4355](https://github.com/vector-im/riot-web/pull/4355)
+ * Use _tJsx for PasswordNagBar (because it has )
+ [\#4373](https://github.com/vector-im/riot-web/pull/4373)
+ * Clean up some log outputs from the integ tests
+ [\#4376](https://github.com/vector-im/riot-web/pull/4376)
+ * CSS for redeisng of password warning
+ [\#4367](https://github.com/vector-im/riot-web/pull/4367)
+ * Give _t to PasswordNagBar, add CSS for UserSettings password warning
+ [\#4366](https://github.com/vector-im/riot-web/pull/4366)
+ * Update from Weblate.
+ [\#4361](https://github.com/vector-im/riot-web/pull/4361)
+ * Update from Weblate.
+ [\#4360](https://github.com/vector-im/riot-web/pull/4360)
+ * Test 'return-to-app' functionality
+ [\#4352](https://github.com/vector-im/riot-web/pull/4352)
+ * Update from Weblate.
+ [\#4354](https://github.com/vector-im/riot-web/pull/4354)
+ * onLoadCompleted is now onTokenLoginCompleted
+ [\#4335](https://github.com/vector-im/riot-web/pull/4335)
+ * Tweak tests to match updates to matrixchat
+ [\#4325](https://github.com/vector-im/riot-web/pull/4325)
+ * Update from Weblate.
+ [\#4346](https://github.com/vector-im/riot-web/pull/4346)
+ * change dispatcher forward_event signature
+ [\#4337](https://github.com/vector-im/riot-web/pull/4337)
+ * Add border on hover for code blocks
+ [\#4259](https://github.com/vector-im/riot-web/pull/4259)
+
+Changes in [0.11.4](https://github.com/vector-im/riot-web/releases/tag/v0.11.4) (2017-06-22)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.3...v0.11.4)
+
+ * Update matrix-js-sdk and react-sdk to fix a regression where the
+ background indexedb worker was disabled, failures to open indexeddb
+ causing the app to fail to start, a race when starting that could break
+ switching to rooms, and the inability to invite users with mixed case
+ usernames.
+
+Changes in [0.11.3](https://github.com/vector-im/riot-web/releases/tag/v0.11.3) (2017-06-20)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2...v0.11.3)
+
+ * Update to matrix-react-sdk 0.9.6 to fix infinite spinner bugs
+ and some parts of the app that had missed translation.
+
+Changes in [0.11.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.2) (2017-06-19)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2-rc.2...v0.11.2)
+
+ * Add more languages and translations
+ * Add a 'register' button
+
+Changes in [0.11.2-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.2-rc.2) (2017-06-16)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2-rc.1...v0.11.2-rc.2)
+
+ * Update react-sdk to pull in fixes for URL previews, CAS
+ login, h2 in markdown and CAPTCHA forms.
+ * Enable Korean translation
+ * Update from Weblate.
+ [\#4323](https://github.com/vector-im/riot-web/pull/4323)
+ * Fix h2 in markdown being weird
+ [\#4332](https://github.com/vector-im/riot-web/pull/4332)
+
+Changes in [0.11.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.11.2-rc.1) (2017-06-15)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.1...v0.11.2-rc.1)
+
+ * Attempts to deflakify the joining test
+ [\#4313](https://github.com/vector-im/riot-web/pull/4313)
+ * Add a test for the login flow when there is a teamserver
+ [\#4315](https://github.com/vector-im/riot-web/pull/4315)
+ * Remove onload simulator from loading test
+ [\#4314](https://github.com/vector-im/riot-web/pull/4314)
+ * Update from Weblate.
+ [\#4305](https://github.com/vector-im/riot-web/pull/4305)
+ * Test that we handle stored mx_last_room_id correctly
+ [\#4292](https://github.com/vector-im/riot-web/pull/4292)
+ * Ask for email address after setting password for the first time
+ [\#4301](https://github.com/vector-im/riot-web/pull/4301)
+ * i18n for setting email after password flow
+ [\#4299](https://github.com/vector-im/riot-web/pull/4299)
+ * Update from Weblate.
+ [\#4290](https://github.com/vector-im/riot-web/pull/4290)
+ * Don't show the tooltips when filtering rooms
+ [\#4282](https://github.com/vector-im/riot-web/pull/4282)
+ * Update from Weblate.
+ [\#4272](https://github.com/vector-im/riot-web/pull/4272)
+ * Add missing VOIP Dropdown width
+ [\#4266](https://github.com/vector-im/riot-web/pull/4266)
+ * Update import and directory path in the Translations dev guide
+ [\#4261](https://github.com/vector-im/riot-web/pull/4261)
+ * Use Thai string for Thai in Language-Chooser
+ [\#4260](https://github.com/vector-im/riot-web/pull/4260)
+
+Changes in [0.11.1](https://github.com/vector-im/riot-web/releases/tag/v0.11.1) (2017-06-14)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.0...v0.11.1)
+
+ * Update to react-sdk 0.9.4 to prompt to set an
+ email address when setting a password and make
+ DM guessing smarter.
+
+Changes in [0.11.0](https://github.com/vector-im/riot-web/releases/tag/v0.11.0) (2017-06-12)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.0-rc.2...v0.11.0)
+
+ * More translations & minor fixes
+
+Changes in [0.11.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.0-rc.2) (2017-06-09)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.0-rc.1...v0.11.0-rc.2)
+
+ * Update to matrix-react-sdk rc.2 which fixes the flux
+ dependency version and an issue with the conference
+ call bar translation.
+
+
+Changes in [0.11.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.11.0-rc.1) (2017-06-09)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.2...v0.11.0-rc.1)
+
+ * Update from Weblate.
+ [\#4258](https://github.com/vector-im/riot-web/pull/4258)
+ * Update from Weblate.
+ [\#4254](https://github.com/vector-im/riot-web/pull/4254)
+ * Update from Weblate.
+ [\#4253](https://github.com/vector-im/riot-web/pull/4253)
+ * Expect to see HTTP /join/#some:alias when we the view knows it
+ [\#4252](https://github.com/vector-im/riot-web/pull/4252)
+ * Update from Weblate.
+ [\#4250](https://github.com/vector-im/riot-web/pull/4250)
+ * add explicit import to utf8 polyfill and rip out unused imports
+ [\#4169](https://github.com/vector-im/riot-web/pull/4169)
+ * Added styling for copy to clipboard button
+ [\#4204](https://github.com/vector-im/riot-web/pull/4204)
+ * Update from Weblate.
+ [\#4231](https://github.com/vector-im/riot-web/pull/4231)
+ * Update from Weblate.
+ [\#4218](https://github.com/vector-im/riot-web/pull/4218)
+ * Update CSS for ChatInviteDialog
+ [\#4226](https://github.com/vector-im/riot-web/pull/4226)
+ * change electron -> electron_app which was previously missed
+ [\#4212](https://github.com/vector-im/riot-web/pull/4212)
+ * New guest access
+ [\#4039](https://github.com/vector-im/riot-web/pull/4039)
+ * Align message timestamp centrally about the avatar mid-point
+ [\#4219](https://github.com/vector-im/riot-web/pull/4219)
+ * Remove '/' from homepage URL
+ [\#4221](https://github.com/vector-im/riot-web/pull/4221)
+ * Chop off 'origin/'
+ [\#4220](https://github.com/vector-im/riot-web/pull/4220)
+ * Update from Weblate.
+ [\#4214](https://github.com/vector-im/riot-web/pull/4214)
+ * adjust alignment of message menu button in compact layout
+ [\#4211](https://github.com/vector-im/riot-web/pull/4211)
+ * Update from Weblate.
+ [\#4207](https://github.com/vector-im/riot-web/pull/4207)
+ * Fix Tests in ILAG
+ [\#4209](https://github.com/vector-im/riot-web/pull/4209)
+ * Update from Weblate.
+ [\#4197](https://github.com/vector-im/riot-web/pull/4197)
+ * Fix tests for new-guest-access
+ [\#4201](https://github.com/vector-im/riot-web/pull/4201)
+ * i18n for SetPasswordDialog
+ [\#4198](https://github.com/vector-im/riot-web/pull/4198)
+ * Update from Weblate.
+ [\#4193](https://github.com/vector-im/riot-web/pull/4193)
+ * to make the windows volume mixer not explode as it can't resize icons.
+ [\#4183](https://github.com/vector-im/riot-web/pull/4183)
+ * provide react devtools in electron dev runs
+ [\#4186](https://github.com/vector-im/riot-web/pull/4186)
+ * Fix DeprecationWarning
+ [\#4184](https://github.com/vector-im/riot-web/pull/4184)
+ * room link should be a matrix.to one
+ [\#4178](https://github.com/vector-im/riot-web/pull/4178)
+ * Update home.html
+ [\#4163](https://github.com/vector-im/riot-web/pull/4163)
+ * Add missing translation for room directory
+ [\#4160](https://github.com/vector-im/riot-web/pull/4160)
+ * i18n welcome
+ [\#4129](https://github.com/vector-im/riot-web/pull/4129)
+ * Tom welcome page
+ [\#4038](https://github.com/vector-im/riot-web/pull/4038)
+ * Fix some tests that expect Directory (they should expect HomePage)
+ [\#4076](https://github.com/vector-im/riot-web/pull/4076)
+ * Add "Login" button to RHS when user is a guest
+ [\#4037](https://github.com/vector-im/riot-web/pull/4037)
+ * Rejig the PaswordNagBar
+ [\#4026](https://github.com/vector-im/riot-web/pull/4026)
+ * Allow team server config to be missing
+ [\#4024](https://github.com/vector-im/riot-web/pull/4024)
+ * Remove GuestWarningBar
+ [\#4020](https://github.com/vector-im/riot-web/pull/4020)
+ * Make left panel better for new users (mk III)
+ [\#4023](https://github.com/vector-im/riot-web/pull/4023)
+ * Implement default welcome page and allow custom URL /w config
+ [\#4015](https://github.com/vector-im/riot-web/pull/4015)
+ * Add warm-fuzzy for successful password entry
+ [\#3989](https://github.com/vector-im/riot-web/pull/3989)
+ * autoFocus new password input in SetPasswordDialog
+ [\#3982](https://github.com/vector-im/riot-web/pull/3982)
+ * Implement dialog to set password
+ [\#3921](https://github.com/vector-im/riot-web/pull/3921)
+ * Replace NeedToRegister with SetMxId dialog
+ [\#3924](https://github.com/vector-im/riot-web/pull/3924)
+ * Add welcomeUserId to sample config
+ [\#3906](https://github.com/vector-im/riot-web/pull/3906)
+ * CSS for mxIdDialog redesign
+ [\#3885](https://github.com/vector-im/riot-web/pull/3885)
+ * Implement PasswordNagBar
+ [\#3817](https://github.com/vector-im/riot-web/pull/3817)
+ * CSS for new SetMxIdDialog
+ [\#3762](https://github.com/vector-im/riot-web/pull/3762)
+
+Changes in [0.10.2](https://github.com/vector-im/riot-web/releases/tag/v0.10.2) (2017-06-06)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.1...v0.10.2)
+
+ * Hotfix for bugs where navigating straight to a URL like /#/login and
+ and /#/forgot_password
+
+
+Changes in [0.10.1](https://github.com/vector-im/riot-web/releases/tag/v0.10.1) (2017-06-02)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.0...v0.10.1)
+
+ * Update to matrix-react-sdk 0.9.1 to fix i18n error which broke start chat in some circumstances
+
+Changes in [0.10.0](https://github.com/vector-im/riot-web/releases/tag/v0.10.0) (2017-06-02)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.0-rc.2...v0.10.0)
+
+ * Update from Weblate.
+ [\#4152](https://github.com/vector-im/riot-web/pull/4152)
+
+Changes in [0.10.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.10.0-rc.2) (2017-06-02)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.0-rc.1...v0.10.0-rc.2)
+
+ * Update from Weblate.
+ [\#4150](https://github.com/vector-im/riot-web/pull/4150)
+ * styling for webrtc settings
+ [\#4019](https://github.com/vector-im/riot-web/pull/4019)
+ * Update from Weblate.
+ [\#4140](https://github.com/vector-im/riot-web/pull/4140)
+ * add styles for compact layout
+ [\#4132](https://github.com/vector-im/riot-web/pull/4132)
+ * Various tweaks to fetch-develop-deps
+ [\#4147](https://github.com/vector-im/riot-web/pull/4147)
+ * Don't try to build with node 6.0
+ [\#4145](https://github.com/vector-im/riot-web/pull/4145)
+ * Support 12hr time on DateSeparator
+ [\#4143](https://github.com/vector-im/riot-web/pull/4143)
+ * Update from Weblate.
+ [\#4137](https://github.com/vector-im/riot-web/pull/4137)
+ * Update from Weblate.
+ [\#4105](https://github.com/vector-im/riot-web/pull/4105)
+ * Update from Weblate.
+ [\#4094](https://github.com/vector-im/riot-web/pull/4094)
+ * Update from Weblate.
+ [\#4091](https://github.com/vector-im/riot-web/pull/4091)
+ * Update from Weblate.
+ [\#4089](https://github.com/vector-im/riot-web/pull/4089)
+ * Update from Weblate.
+ [\#4083](https://github.com/vector-im/riot-web/pull/4083)
+
+Changes in [0.10.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.10.0-rc.1) (2017-06-01)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.10...v0.10.0-rc.1)
+
+ * basic electron profile support
+ [\#4030](https://github.com/vector-im/riot-web/pull/4030)
+ * Finish translations for vector-im/riot-web
+ [\#4122](https://github.com/vector-im/riot-web/pull/4122)
+ * Translate src/vector
+ [\#4119](https://github.com/vector-im/riot-web/pull/4119)
+ * electron flashFrame was way too annoying
+ [\#4128](https://github.com/vector-im/riot-web/pull/4128)
+ * auto-launch support [Electron]
+ [\#4012](https://github.com/vector-im/riot-web/pull/4012)
+ * Show 12hr time on hover too
+ [\#4092](https://github.com/vector-im/riot-web/pull/4092)
+ * Translate src/notifications
+ [\#4087](https://github.com/vector-im/riot-web/pull/4087)
+ * Translate src/components/structures
+ [\#4084](https://github.com/vector-im/riot-web/pull/4084)
+ * Smaller font size on timestamp to better fit in the available space
+ [\#4085](https://github.com/vector-im/riot-web/pull/4085)
+ * Make travis run the build with several versions of node
+ [\#4079](https://github.com/vector-im/riot-web/pull/4079)
+ * Piwik Analytics
+ [\#4056](https://github.com/vector-im/riot-web/pull/4056)
+ * Update from Weblate.
+ [\#4077](https://github.com/vector-im/riot-web/pull/4077)
+ * managed to eat the eventStatus check, can't redact a local-echo etc
+ [\#4078](https://github.com/vector-im/riot-web/pull/4078)
+ * show redact in context menu only if has PL to/sent message
+ [\#3925](https://github.com/vector-im/riot-web/pull/3925)
+ * Update from Weblate.
+ [\#4064](https://github.com/vector-im/riot-web/pull/4064)
+ * Change redact -> remove to improve clarity
+ [\#3722](https://github.com/vector-im/riot-web/pull/3722)
+ * Update from Weblate.
+ [\#4058](https://github.com/vector-im/riot-web/pull/4058)
+ * Message Forwarding
+ [\#3688](https://github.com/vector-im/riot-web/pull/3688)
+ * Update from Weblate.
+ [\#4057](https://github.com/vector-im/riot-web/pull/4057)
+ * Fixed an input field's background color in dark theme
+ [\#4053](https://github.com/vector-im/riot-web/pull/4053)
+ * Update from Weblate.
+ [\#4051](https://github.com/vector-im/riot-web/pull/4051)
+ * Update from Weblate.
+ [\#4049](https://github.com/vector-im/riot-web/pull/4049)
+ * Update from Weblate.
+ [\#4048](https://github.com/vector-im/riot-web/pull/4048)
+ * Update from Weblate.
+ [\#4040](https://github.com/vector-im/riot-web/pull/4040)
+ * Update translating.md: Minor suggestions
+ [\#4041](https://github.com/vector-im/riot-web/pull/4041)
+ * tidy electron files, they weren't pwetty
+ [\#3993](https://github.com/vector-im/riot-web/pull/3993)
+ * Prevent Power Save when in call (Electron)
+ [\#3992](https://github.com/vector-im/riot-web/pull/3992)
+ * Translations!
+ [\#4035](https://github.com/vector-im/riot-web/pull/4035)
+ * Kieran gould/12hourtimestamp
+ [\#3961](https://github.com/vector-im/riot-web/pull/3961)
+ * Don't include src in the test resolve root
+ [\#4033](https://github.com/vector-im/riot-web/pull/4033)
+ * add moar context menus [Electron]
+ [\#4021](https://github.com/vector-im/riot-web/pull/4021)
+ * Add `Chat` to Linux app categories
+ [\#4022](https://github.com/vector-im/riot-web/pull/4022)
+ * add menu category for linux build of app
+ [\#3975](https://github.com/vector-im/riot-web/pull/3975)
+ * Electron Tray Improvements
+ [\#3909](https://github.com/vector-im/riot-web/pull/3909)
+ * More riot-web test deflakification
+ [\#3966](https://github.com/vector-im/riot-web/pull/3966)
+ * Script to fetch corresponding branches of dependent projects
+ [\#3945](https://github.com/vector-im/riot-web/pull/3945)
+ * Add type="text/css" to SVG logos
+ [\#3964](https://github.com/vector-im/riot-web/pull/3964)
+ * Fix some setState-after-unmount in roomdirectory
+ [\#3958](https://github.com/vector-im/riot-web/pull/3958)
+ * Attempt to deflakify joining test
+ [\#3956](https://github.com/vector-im/riot-web/pull/3956)
+
+Changes in [0.9.10](https://github.com/vector-im/riot-web/releases/tag/v0.9.10) (2017-05-22)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.10-rc.1...v0.9.10)
+
+ * No changes
+
+
+Changes in [0.9.10-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.10-rc.1) (2017-05-19)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9...v0.9.10-rc.1)
+
+ * CSS for left_aligned Dropdowns, and adjustments for Country dd in Login
+ [\#3959](https://github.com/vector-im/riot-web/pull/3959)
+ * Add square flag pngs /w genflags.sh script
+ [\#3953](https://github.com/vector-im/riot-web/pull/3953)
+ * Add config for riot-bot on desktop app build
+ [\#3954](https://github.com/vector-im/riot-web/pull/3954)
+ * Desktop: 'copy link address'
+ [\#3952](https://github.com/vector-im/riot-web/pull/3952)
+ * Reduce rageshake log size to 1MB
+ [\#3943](https://github.com/vector-im/riot-web/pull/3943)
+ * CSS for putting country dd on same line as phone input
+ [\#3942](https://github.com/vector-im/riot-web/pull/3942)
+ * fix #3894
+ [\#3919](https://github.com/vector-im/riot-web/pull/3919)
+ * change vector->riot on the surface
+ [\#3894](https://github.com/vector-im/riot-web/pull/3894)
+ * move manifest.json outward so it is scoped properly
+ [\#3888](https://github.com/vector-im/riot-web/pull/3888)
+ * add to manifest
+ [\#3799](https://github.com/vector-im/riot-web/pull/3799)
+ * Automatically update component-index
+ [\#3886](https://github.com/vector-im/riot-web/pull/3886)
+ * move electron -> electron_app because npm smart
+ [\#3877](https://github.com/vector-im/riot-web/pull/3877)
+ * Fix bug report endpoint in config.sample.json.
+ [\#3863](https://github.com/vector-im/riot-web/pull/3863)
+ * Update 2 missed icons to the new icon
+ [\#3851](https://github.com/vector-im/riot-web/pull/3851)
+ * Make left panel better for new users (mk II)
+ [\#3804](https://github.com/vector-im/riot-web/pull/3804)
+ * match primary package.json
+ [\#3839](https://github.com/vector-im/riot-web/pull/3839)
+ * Re-add productName
+ [\#3829](https://github.com/vector-im/riot-web/pull/3829)
+ * Remove leading v in /version file, for SemVer and to match Electron ver
+ [\#3683](https://github.com/vector-im/riot-web/pull/3683)
+ * Fix scope of callback
+ [\#3790](https://github.com/vector-im/riot-web/pull/3790)
+ * Remember and Recall window layout/position state
+ [\#3622](https://github.com/vector-im/riot-web/pull/3622)
+ * Remove babelcheck
+ [\#3808](https://github.com/vector-im/riot-web/pull/3808)
+ * Include MXID and device id in rageshakes
+ [\#3809](https://github.com/vector-im/riot-web/pull/3809)
+ * import Modal
+ [\#3791](https://github.com/vector-im/riot-web/pull/3791)
+ * Pin filesize ver to fix break upstream
+ [\#3775](https://github.com/vector-im/riot-web/pull/3775)
+ * Improve Room Directory Look & Feel
+ [\#3751](https://github.com/vector-im/riot-web/pull/3751)
+ * Fix emote RRs alignment
+ [\#3742](https://github.com/vector-im/riot-web/pull/3742)
+ * Remove unused `placeholder` prop on RoomDropTarget
+ [\#3741](https://github.com/vector-im/riot-web/pull/3741)
+ * Modify CSS for matrix-org/matrix-react-sdk#833
+ [\#3732](https://github.com/vector-im/riot-web/pull/3732)
+ * Warn when exiting due to single-instance
+ [\#3727](https://github.com/vector-im/riot-web/pull/3727)
+ * Electron forgets it was maximized when you click on a notification
+ [\#3709](https://github.com/vector-im/riot-web/pull/3709)
+ * CSS to make h1 and h2 the same size as h1.
+ [\#3719](https://github.com/vector-im/riot-web/pull/3719)
+ * Prevent long room names/topics from pushing UI of the screen
+ [\#3721](https://github.com/vector-im/riot-web/pull/3721)
+ * Disable dropdown highlight on focus
+ [\#3717](https://github.com/vector-im/riot-web/pull/3717)
+ * Escape HTML Tags from Linux Notifications (electron)
+ [\#3564](https://github.com/vector-im/riot-web/pull/3564)
+ * styling for spoilerized access token view in Settings
+ [\#3651](https://github.com/vector-im/riot-web/pull/3651)
+ * Fix Webpack conf
+ [\#3690](https://github.com/vector-im/riot-web/pull/3690)
+ * Add config.json to .gitignore
+ [\#3599](https://github.com/vector-im/riot-web/pull/3599)
+ * add command line arg (--hidden) for electron app
+ [\#3641](https://github.com/vector-im/riot-web/pull/3641)
+ * fix ImageView Download functionality
+ [\#3640](https://github.com/vector-im/riot-web/pull/3640)
+ * Add cross-env into the mix
+ [\#3693](https://github.com/vector-im/riot-web/pull/3693)
+ * Remember acceptance for unsupported browsers.
+ [\#3694](https://github.com/vector-im/riot-web/pull/3694)
+ * Cosmetics to go with matrix-org/matrix-react-sdk#811
+ [\#3692](https://github.com/vector-im/riot-web/pull/3692)
+ * Cancel quicksearch on ESC
+ [\#3680](https://github.com/vector-im/riot-web/pull/3680)
+ * Optimise RoomList and implement quick-search functionality on it.
+ [\#3654](https://github.com/vector-im/riot-web/pull/3654)
+ * Progress updates for rageshake uploads
+ [\#3648](https://github.com/vector-im/riot-web/pull/3648)
+ * Factor out rageshake upload to a separate file
+ [\#3645](https://github.com/vector-im/riot-web/pull/3645)
+ * rageshake: fix race when collecting logs
+ [\#3644](https://github.com/vector-im/riot-web/pull/3644)
+ * Fix a flaky test
+ [\#3649](https://github.com/vector-im/riot-web/pull/3649)
+
+Changes in [0.9.9](https://github.com/vector-im/riot-web/releases/tag/v0.9.9) (2017-04-25)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9-rc.2...v0.9.9)
+
+ * No changes
+
+
+Changes in [0.9.9-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.9-rc.2) (2017-04-24)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9-rc.1...v0.9.9-rc.2)
+
+ * Fix bug where links to Riot would fail to open.
+
+
+Changes in [0.9.9-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.9-rc.1) (2017-04-21)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8...v0.9.9-rc.1)
+
+ * Update js-sdk and matrix-react-sdk to fix registration without a captcha (https://github.com/vector-im/riot-web/issues/3621)
+
+
+Changes in [0.9.8](https://github.com/vector-im/riot-web/releases/tag/v0.9.8) (2017-04-12)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.3...v0.9.8)
+
+ * No changes
+
+Changes in [0.9.8-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.9.8-rc.3) (2017-04-11)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.2...v0.9.8-rc.3)
+
+ * Make the clear cache button work on desktop
+ [\#3598](https://github.com/vector-im/riot-web/pull/3598)
+
+Changes in [0.9.8-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.8-rc.2) (2017-04-10)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.1...v0.9.8-rc.2)
+
+ * Redacted events bg: black lozenge -> torn paper
+ [\#3596](https://github.com/vector-im/riot-web/pull/3596)
+ * Add 'app' parameter to rageshake report
+ [\#3594](https://github.com/vector-im/riot-web/pull/3594)
+
+Changes in [0.9.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.8-rc.1) (2017-04-07)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7...v0.9.8-rc.1)
+
+ * Add support for indexeddb sync in webworker
+ [\#3578](https://github.com/vector-im/riot-web/pull/3578)
+ * Add CSS to make Emote sender cursor : pointer
+ [\#3574](https://github.com/vector-im/riot-web/pull/3574)
+ * Remove rageshake server
+ [\#3565](https://github.com/vector-im/riot-web/pull/3565)
+ * Adjust CSS for matrix-org/matrix-react-sdk#789
+ [\#3566](https://github.com/vector-im/riot-web/pull/3566)
+ * Fix tests to reflect recent changes
+ [\#3537](https://github.com/vector-im/riot-web/pull/3537)
+ * Do not assume getTs will return comparable integer
+ [\#3536](https://github.com/vector-im/riot-web/pull/3536)
+ * Rename ReactPerf to Perf
+ [\#3535](https://github.com/vector-im/riot-web/pull/3535)
+ * Don't show phone number as target for email notifs
+ [\#3530](https://github.com/vector-im/riot-web/pull/3530)
+ * Fix people section again
+ [\#3458](https://github.com/vector-im/riot-web/pull/3458)
+ * dark theme invert inconsistent across browsers
+ [\#3479](https://github.com/vector-im/riot-web/pull/3479)
+ * CSS for adding phone number in UserSettings
+ [\#3451](https://github.com/vector-im/riot-web/pull/3451)
+ * Support for phone number registration/signin, mk2
+ [\#3426](https://github.com/vector-im/riot-web/pull/3426)
+ * Confirm redactions with a dialog
+ [\#3470](https://github.com/vector-im/riot-web/pull/3470)
+ * Better CSS for redactions
+ [\#3453](https://github.com/vector-im/riot-web/pull/3453)
+ * Fix the people section
+ [\#3448](https://github.com/vector-im/riot-web/pull/3448)
+ * Merge the two RoomTile context menus into one
+ [\#3395](https://github.com/vector-im/riot-web/pull/3395)
+ * Refactor screen set after login
+ [\#3385](https://github.com/vector-im/riot-web/pull/3385)
+ * CSS for redacted EventTiles
+ [\#3379](https://github.com/vector-im/riot-web/pull/3379)
+ * Height:100% for welcome pages on Safari
+ [\#3340](https://github.com/vector-im/riot-web/pull/3340)
+ * `view_room` dispatch from `onClick` RoomTile
+ [\#3376](https://github.com/vector-im/riot-web/pull/3376)
+ * Hide statusAreaBox_line entirely when inCall
+ [\#3350](https://github.com/vector-im/riot-web/pull/3350)
+ * Set padding-bottom: 0px for .mx_Dialog spinner
+ [\#3351](https://github.com/vector-im/riot-web/pull/3351)
+ * Support InteractiveAuth based registration
+ [\#3333](https://github.com/vector-im/riot-web/pull/3333)
+ * Expose notification option for username/MXID
+ [\#3334](https://github.com/vector-im/riot-web/pull/3334)
+ * Float the toggle in the top right of MELS
+ [\#3190](https://github.com/vector-im/riot-web/pull/3190)
+ * More aggressive rageshake log culling
+ [\#3311](https://github.com/vector-im/riot-web/pull/3311)
+ * Don't overflow directory network options
+ [\#3282](https://github.com/vector-im/riot-web/pull/3282)
+ * CSS for ban / kick reason prompt
+ [\#3250](https://github.com/vector-im/riot-web/pull/3250)
+ * Allow forgetting rooms you're banned from
+ [\#3246](https://github.com/vector-im/riot-web/pull/3246)
+ * Fix icon paths in manifest
+ [\#3245](https://github.com/vector-im/riot-web/pull/3245)
+ * Fix broken tests caused by adding IndexedDB support
+ [\#3242](https://github.com/vector-im/riot-web/pull/3242)
+ * CSS for un-ban button in RoomSettings
+ [\#3227](https://github.com/vector-im/riot-web/pull/3227)
+ * Remove z-index property on avatar initials
+ [\#3239](https://github.com/vector-im/riot-web/pull/3239)
+ * Reposition certain icons in the status bar
+ [\#3233](https://github.com/vector-im/riot-web/pull/3233)
+ * CSS for kick/ban confirmation dialog
+ [\#3224](https://github.com/vector-im/riot-web/pull/3224)
+ * Style for split-out interactive auth
+ [\#3217](https://github.com/vector-im/riot-web/pull/3217)
+ * Use the teamToken threaded through from react sdk
+ [\#3196](https://github.com/vector-im/riot-web/pull/3196)
+ * rageshake: Add file server with basic auth
+ [\#3169](https://github.com/vector-im/riot-web/pull/3169)
+ * Fix bug with home icon not appearing when logged in as team member
+ [\#3162](https://github.com/vector-im/riot-web/pull/3162)
+ * Add ISSUE_TEMPLATE
+ [\#2836](https://github.com/vector-im/riot-web/pull/2836)
+ * Store bug reports in separate directories
+ [\#3150](https://github.com/vector-im/riot-web/pull/3150)
+ * Quick and dirty support for custom welcome pages.
+ [\#2575](https://github.com/vector-im/riot-web/pull/2575)
+ * RTS Welcome Pages
+ [\#3103](https://github.com/vector-im/riot-web/pull/3103)
+ * rageshake: Abide by Go standards
+ [\#3149](https://github.com/vector-im/riot-web/pull/3149)
+ * Bug report server script
+ [\#3072](https://github.com/vector-im/riot-web/pull/3072)
+ * Bump olm version
+ [\#3125](https://github.com/vector-im/riot-web/pull/3125)
+
+Changes in [0.9.7](https://github.com/vector-im/riot-web/releases/tag/v0.9.7) (2017-02-04)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7-rc.3...v0.9.7)
+
+ * Update to matrix-js-sdk 0.7.5 (no changes from 0.7.5-rc.3)
+ * Update to matrix-react-sdk 0.8.6 (no changes from 0.8.6-rc.3)
+
+Changes in [0.9.7-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.9.7-rc.3) (2017-02-03)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7-rc.2...v0.9.7-rc.3)
+ * Update to latest Olm to fix key import/export and use of megolm sessions
+ created on more recent versions
+ * Update to latest matrix-react-sdk and matrix-js-sdk to fix e2e device
+ handling
+
+Changes in [0.9.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.7-rc.2) (2017-02-03)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7-rc.1...v0.9.7-rc.2)
+
+ * Update matrix-js-sdk to get new device change
+ notifications interface for more reliable e2e crypto
+
+Changes in [0.9.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.7-rc.1) (2017-02-03)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.6...v0.9.7-rc.1)
+
+ * Better user interface for screen readers and keyboard navigation
+ [\#2946](https://github.com/vector-im/riot-web/pull/2946)
+ * Allow mxc: URLs for icons in the NetworkDropdown
+ [\#3118](https://github.com/vector-im/riot-web/pull/3118)
+ * make TopRightMenu more intuitive
+ [\#3117](https://github.com/vector-im/riot-web/pull/3117)
+ * Handle icons with width > height
+ [\#3110](https://github.com/vector-im/riot-web/pull/3110)
+ * Fix jenkins build
+ [\#3105](https://github.com/vector-im/riot-web/pull/3105)
+ * Add CSS for a support box in login
+ [\#3081](https://github.com/vector-im/riot-web/pull/3081)
+ * Allow a custom login logo to be displayed on login
+ [\#3082](https://github.com/vector-im/riot-web/pull/3082)
+ * Fix the width of input fields within login/reg box
+ [\#3080](https://github.com/vector-im/riot-web/pull/3080)
+ * Set BaseAvatar_image bg colour = #fff
+ [\#3057](https://github.com/vector-im/riot-web/pull/3057)
+ * only recalculate favicon if it changes
+ [\#3067](https://github.com/vector-im/riot-web/pull/3067)
+ * CSS tweak for email address lookup
+ [\#3064](https://github.com/vector-im/riot-web/pull/3064)
+ * Glue the dialog to rageshake: honour sendLogs flag.
+ [\#3061](https://github.com/vector-im/riot-web/pull/3061)
+ * Don't use hash-named directory for dev server
+ [\#3049](https://github.com/vector-im/riot-web/pull/3049)
+ * Implement bug reporting logic
+ [\#3000](https://github.com/vector-im/riot-web/pull/3000)
+ * Add css for bug report dialog
+ [\#3045](https://github.com/vector-im/riot-web/pull/3045)
+ * Increase the max-height of the expanded status bar
+ [\#3043](https://github.com/vector-im/riot-web/pull/3043)
+ * Hopefully, fix intermittent test failure
+ [\#3040](https://github.com/vector-im/riot-web/pull/3040)
+ * CSS for 'searching known users'
+ [\#2971](https://github.com/vector-im/riot-web/pull/2971)
+ * Animate status bar max-height and margin-top
+ [\#2981](https://github.com/vector-im/riot-web/pull/2981)
+ * Add eslint config
+ [\#3032](https://github.com/vector-im/riot-web/pull/3032)
+ * Re-position typing avatars relative to "is typing"
+ [\#3030](https://github.com/vector-im/riot-web/pull/3030)
+ * CSS for avatars that appear when users are typing
+ [\#2998](https://github.com/vector-im/riot-web/pull/2998)
+ * Add StartupWMClass
+ [\#3001](https://github.com/vector-im/riot-web/pull/3001)
+ * Fix link to image for event options menu
+ [\#3002](https://github.com/vector-im/riot-web/pull/3002)
+ * Make riot desktop single instance
+ [\#2999](https://github.com/vector-im/riot-web/pull/2999)
+ * Add electron tray icon
+ [\#2997](https://github.com/vector-im/riot-web/pull/2997)
+ * Fixes to electron desktop notifs
+ [\#2994](https://github.com/vector-im/riot-web/pull/2994)
+ * Auto-hide the electron menu bar
+ [\#2975](https://github.com/vector-im/riot-web/pull/2975)
+ * A couple of tweaks to the karma config
+ [\#2987](https://github.com/vector-im/riot-web/pull/2987)
+ * Deploy script
+ [\#2974](https://github.com/vector-im/riot-web/pull/2974)
+ * Use the postcss-webpack-loader
+ [\#2990](https://github.com/vector-im/riot-web/pull/2990)
+ * Switch CSS to using postcss, and implement a dark theme.
+ [\#2973](https://github.com/vector-im/riot-web/pull/2973)
+ * Update redeploy script to keep old bundles
+ [\#2969](https://github.com/vector-im/riot-web/pull/2969)
+ * Include current version in update check explicitly
+ [\#2967](https://github.com/vector-im/riot-web/pull/2967)
+ * Add another layer of directory to webpack chunks
+ [\#2966](https://github.com/vector-im/riot-web/pull/2966)
+ * Fix links to fonts and images from CSS
+ [\#2965](https://github.com/vector-im/riot-web/pull/2965)
+ * Put parent build hash in webpack output filenames
+ [\#2961](https://github.com/vector-im/riot-web/pull/2961)
+ * update README to point to new names/locations
+ [\#2846](https://github.com/vector-im/riot-web/pull/2846)
+
+Changes in [0.9.6](https://github.com/vector-im/riot-web/releases/tag/v0.9.6) (2017-01-16)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.6-rc.1...v0.9.6)
+
+ * Update to matrix-js-sdk 0.9.6 for video calling fix
+
+Changes in [0.9.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.6-rc.1) (2017-01-13)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.5...v0.9.6-rc.1)
+
+ * Build the js-sdk in the CI script
+ [\#2920](https://github.com/vector-im/riot-web/pull/2920)
+ * Hopefully fix Windows shortcuts
+ [\#2917](https://github.com/vector-im/riot-web/pull/2917)
+ * Update README now the js-sdk has a transpile step
+ [\#2921](https://github.com/vector-im/riot-web/pull/2921)
+ * Use the role for 'toggle dev tools'
+ [\#2915](https://github.com/vector-im/riot-web/pull/2915)
+ * Enable screen sharing easter-egg in desktop app
+ [\#2909](https://github.com/vector-im/riot-web/pull/2909)
+ * make electron send email validation URLs with a nextlink of riot.im
+ [\#2808](https://github.com/vector-im/riot-web/pull/2808)
+ * add Debian Stretch install steps to readme
+ [\#2809](https://github.com/vector-im/riot-web/pull/2809)
+ * Update desktop build instructions fixes #2792
+ [\#2793](https://github.com/vector-im/riot-web/pull/2793)
+ * CSS for the delete threepid button
+ [\#2784](https://github.com/vector-im/riot-web/pull/2784)
+
+Changes in [0.9.5](https://github.com/vector-im/riot-web/releases/tag/v0.9.5) (2016-12-24)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.4...v0.9.5)
+
+ * make electron send email validation URLs with a nextlink of riot.im rather than file:///
+ * add gnu-tar to debian electron build deps
+ * fix win32 shortcut in start menu
+
+Changes in [0.9.4](https://github.com/vector-im/riot-web/releases/tag/v0.9.4) (2016-12-22)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.3...v0.9.4)
+
+ * Update to libolm 2.1.0. This should help resolve a problem with browser
+ sessions being logged out ([\#2726](https://github.com/vector-im/riot-web/issues/2726)).
+
+Changes in [0.9.3](https://github.com/vector-im/riot-web/releases/tag/v0.9.3) (2016-12-22)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.2...v0.9.3)
+
+ * (from matrix-react-sdk) Fix regression where the date separator would be displayed
+ at the wrong time of day.
+ * README.md: fix GFMD for nativefier
+ [\#2755](https://github.com/vector-im/riot-web/pull/2755)
+
+Changes in [0.9.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.2) (2016-12-16)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.1...v0.9.2)
+
+ * Remove the client side filtering from the room dir
+ [\#2750](https://github.com/vector-im/riot-web/pull/2750)
+ * Configure olm memory size
+ [\#2745](https://github.com/vector-im/riot-web/pull/2745)
+ * Support room dir 3rd party network filtering
+ [\#2747](https://github.com/vector-im/riot-web/pull/2747)
+
+Changes in [0.9.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.1) (2016-12-09)
+==========================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.1-rc.2...v0.9.1)
+
+ * Update README to say how to build the desktop app
+ [\#2732](https://github.com/vector-im/riot-web/pull/2732)
+ * Add signing ID in release_config.yaml
+ [\#2731](https://github.com/vector-im/riot-web/pull/2731)
+ * Makeover!
+ [\#2722](https://github.com/vector-im/riot-web/pull/2722)
+ * Fix broken tests
+ [\#2730](https://github.com/vector-im/riot-web/pull/2730)
+ * Make the 'loading' tests work in isolation
+ [\#2727](https://github.com/vector-im/riot-web/pull/2727)
+ * Use a PNG for the icon on non-Windows
+ [\#2708](https://github.com/vector-im/riot-web/pull/2708)
+ * Add missing brackets to call to toUpperCase
+ [\#2703](https://github.com/vector-im/riot-web/pull/2703)
+
+Changes in [0.9.1-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.1-rc.2) (2016-12-06)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.1-rc.1...v0.9.1-rc.2)
+
+ * Fix clicking on notifications
+ [\#2700](https://github.com/vector-im/riot-web/pull/2700)
+ * Desktop app: Only show window when ready
+ [\#2697](https://github.com/vector-im/riot-web/pull/2697)
+
+Changes in [0.9.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.1-rc.1) (2016-12-05)
+====================================================================================================
+[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.0...v0.9.1-rc.1)
+
+ * Final bits to prepare electron distribtion:
+ [\#2653](https://github.com/vector-im/riot-web/pull/2653)
+ * Update name & repo to reflect renamed repository
+ [\#2692](https://github.com/vector-im/riot-web/pull/2692)
+ * Document cross_origin_renderer_url
+ [\#2680](https://github.com/vector-im/riot-web/pull/2680)
+ * Add css for the iframes for e2e attachments
+ [\#2659](https://github.com/vector-im/riot-web/pull/2659)
+ * Fix config location in some more places
+ [\#2670](https://github.com/vector-im/riot-web/pull/2670)
+ * CSS updates for s/block/blacklist for e2e
+ [\#2662](https://github.com/vector-im/riot-web/pull/2662)
+ * Update to electron 1.4.8
+ [\#2660](https://github.com/vector-im/riot-web/pull/2660)
+ * Add electron config
+ [\#2644](https://github.com/vector-im/riot-web/pull/2644)
+ * Move getDefaultDeviceName into the Platforms
+ [\#2643](https://github.com/vector-im/riot-web/pull/2643)
+ * Add Freenode & Mozilla domains
+ [\#2641](https://github.com/vector-im/riot-web/pull/2641)
+ * Include config.sample.json in dist tarball
+ [\#2614](https://github.com/vector-im/riot-web/pull/2614)
+
+Changes in [0.9.0](https://github.com/vector-im/vector-web/releases/tag/v0.9.0) (2016-11-19)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.4...v0.9.0)
+
+ * Add a cachebuster to /version
+ [\#2596](https://github.com/vector-im/vector-web/pull/2596)
+ * Add a 'View decrypted source' button
+ [\#2587](https://github.com/vector-im/vector-web/pull/2587)
+ * Fix changelog dialog to read new version format
+ [\#2577](https://github.com/vector-im/vector-web/pull/2577)
+ * Build all of the vector dir in the build process
+ [\#2558](https://github.com/vector-im/vector-web/pull/2558)
+ * Support for get_app_version
+ [\#2553](https://github.com/vector-im/vector-web/pull/2553)
+ * Add CSS for mlist truncation
+ [\#2565](https://github.com/vector-im/vector-web/pull/2565)
+ * Add menu option for `external_url` if present
+ [\#2560](https://github.com/vector-im/vector-web/pull/2560)
+ * Make auto-update configureable
+ [\#2555](https://github.com/vector-im/vector-web/pull/2555)
+ * Missed files electron windows fixes
+ [\#2556](https://github.com/vector-im/vector-web/pull/2556)
+ * Add some CSS for scalar error popup
+ [\#2554](https://github.com/vector-im/vector-web/pull/2554)
+ * Catch unhandled errors in the electron process
+ [\#2552](https://github.com/vector-im/vector-web/pull/2552)
+ * Slight grab-bag of fixes for electron on Windows
+ [\#2551](https://github.com/vector-im/vector-web/pull/2551)
+ * Electron app (take 3)
+ [\#2535](https://github.com/vector-im/vector-web/pull/2535)
+ * Use webpack-dev-server instead of http-server
+ [\#2542](https://github.com/vector-im/vector-web/pull/2542)
+ * Better support no-config when loading from file
+ [\#2541](https://github.com/vector-im/vector-web/pull/2541)
+ * Fix loading with no config from HTTP
+ [\#2540](https://github.com/vector-im/vector-web/pull/2540)
+ * Move 'new version' support into Platform
+ [\#2532](https://github.com/vector-im/vector-web/pull/2532)
+ * Add Notification support to the Web Platform
+ [\#2533](https://github.com/vector-im/vector-web/pull/2533)
+ * Use the defaults if given a blank config file
+ [\#2534](https://github.com/vector-im/vector-web/pull/2534)
+ * Implement Platforms
+ [\#2531](https://github.com/vector-im/vector-web/pull/2531)
+
+Changes in [0.8.4](https://github.com/vector-im/vector-web/releases/tag/v0.8.4) (2016-11-04)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.4-rc.2...v0.8.4)
+
+ * No changes
+
+Changes in [0.8.4-rc.2](https://github.com/vector-im/vector-web/releases/tag/v0.8.4-rc.2) (2016-11-02)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.4-rc.1...v0.8.4-rc.2)
+
+ * Fix the version in the generated distribution package
+
+Changes in [0.8.4-rc.1](https://github.com/vector-im/vector-web/releases/tag/v0.8.4-rc.1) (2016-11-02)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.3...v0.8.4-rc.1)
+
+Breaking Changes
+----------------
+ * End-to-end encryption now requires one-time keys to be
+ signed, so end-to-end encryption will not interoperate
+ with previous releases of vector-web. End-to-end encryption
+ remains in beta.
+
+Other Changes
+-------------
+ * Rename the package script/output dir to 'dist'
+ [\#2528](https://github.com/vector-im/vector-web/pull/2528)
+ * Avoid errors if olm is missing
+ [\#2518](https://github.com/vector-im/vector-web/pull/2518)
+ * Put a cachebuster in the names of CSS and JS files
+ [\#2515](https://github.com/vector-im/vector-web/pull/2515)
+ * Bump to olm 2.0.0
+ [\#2517](https://github.com/vector-im/vector-web/pull/2517)
+ * Don't include the world in the published packages
+ [\#2516](https://github.com/vector-im/vector-web/pull/2516)
+ * Use webpack to copy olm.js
+ [\#2514](https://github.com/vector-im/vector-web/pull/2514)
+ * Don't include two copies of the CSS in the tarball
+ [\#2513](https://github.com/vector-im/vector-web/pull/2513)
+ * Correct text alignment on room directory search
+ [\#2512](https://github.com/vector-im/vector-web/pull/2512)
+ * Correct spelling of 'rel'
+ [\#2510](https://github.com/vector-im/vector-web/pull/2510)
+ * readme tweaks
+ [\#2507](https://github.com/vector-im/vector-web/pull/2507)
+ * s/vector/riot/ in the readme
+ [\#2491](https://github.com/vector-im/vector-web/pull/2491)
+ * Switch to babel 6, again
+ [\#2480](https://github.com/vector-im/vector-web/pull/2480)
+ * Revert "Switch to babel 6"
+ [\#2472](https://github.com/vector-im/vector-web/pull/2472)
+ * Switch to babel 6
+ [\#2461](https://github.com/vector-im/vector-web/pull/2461)
+
+Changes in [0.8.3](https://github.com/vector-im/vector-web/releases/tag/v0.8.3) (2016-10-12)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.2...v0.8.3)
+
+ * Centre images in dialog buttons
+ [\#2453](https://github.com/vector-im/vector-web/pull/2453)
+ * Only show quote option if RTE is enabled
+ [\#2448](https://github.com/vector-im/vector-web/pull/2448)
+ * Fix join button for 'matrix' networks
+ [\#2443](https://github.com/vector-im/vector-web/pull/2443)
+ * Don't stop paginating if no rooms match
+ [\#2422](https://github.com/vector-im/vector-web/pull/2422)
+
+Changes in [0.8.2](https://github.com/vector-im/vector-web/releases/tag/v0.8.2) (2016-10-05)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.1...v0.8.2)
+
+ * Add native joining of 3p networks to room dir
+ [\#2379](https://github.com/vector-im/vector-web/pull/2379)
+ * Update to linkify 2.1.3
+ [\#2406](https://github.com/vector-im/vector-web/pull/2406)
+ * Use 'Sign In' / 'Sign Out' universally
+ [\#2383](https://github.com/vector-im/vector-web/pull/2383)
+ * Prevent network dropdown resizing slightly
+ [\#2382](https://github.com/vector-im/vector-web/pull/2382)
+ * Room directory: indicate when there are no results
+ [\#2380](https://github.com/vector-im/vector-web/pull/2380)
+ * Room dir: New filtering & 3rd party networks
+ [\#2362](https://github.com/vector-im/vector-web/pull/2362)
+ * Update linkify version
+ [\#2359](https://github.com/vector-im/vector-web/pull/2359)
+ * Directory search join button
+ [\#2339](https://github.com/vector-im/vector-web/pull/2339)
+
+Changes in [0.8.1](https://github.com/vector-im/vector-web/releases/tag/v0.8.1) (2016-09-21)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.0...v0.8.1)
+
+
+Changes in [0.8.0](https://github.com/vector-im/vector-web/releases/tag/v0.8.0) (2016-09-21)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.5-r3...v0.8.0)
+
+ * Dbkr/rebrand
+ [\#2285](https://github.com/vector-im/vector-web/pull/2285)
+ * Listen for close_scalar and close the dialog box when received
+ [\#2282](https://github.com/vector-im/vector-web/pull/2282)
+ * Revert "improve lipstick and support scalar logout"
+ [\#2281](https://github.com/vector-im/vector-web/pull/2281)
+ * improve lipstick and support scalar logout
+ [\#2280](https://github.com/vector-im/vector-web/pull/2280)
+ * Fix changelog links
+ [\#2071](https://github.com/vector-im/vector-web/pull/2071)
+ * Paginate Room Directory
+ [\#2241](https://github.com/vector-im/vector-web/pull/2241)
+ * Make redeploy script symlink config
+ [\#2240](https://github.com/vector-im/vector-web/pull/2240)
+ * Update the version of olm to 1.3.0
+ [\#2210](https://github.com/vector-im/vector-web/pull/2210)
+ * Directory network selector
+ [\#2219](https://github.com/vector-im/vector-web/pull/2219)
+ * Wmwragg/two state sublist headers
+ [\#2235](https://github.com/vector-im/vector-web/pull/2235)
+ * Wmwragg/correct incoming call positioning
+ [\#2222](https://github.com/vector-im/vector-web/pull/2222)
+ * Wmwragg/remove old filter
+ [\#2211](https://github.com/vector-im/vector-web/pull/2211)
+ * Wmwragg/multi invite bugfix
+ [\#2198](https://github.com/vector-im/vector-web/pull/2198)
+ * Wmwragg/chat multi invite
+ [\#2181](https://github.com/vector-im/vector-web/pull/2181)
+ * shuffle bottomleftmenu around a bit
+ [\#2182](https://github.com/vector-im/vector-web/pull/2182)
+ * Improve autocomplete behaviour (styling)
+ [\#2175](https://github.com/vector-im/vector-web/pull/2175)
+ * First wave of E2E visuals
+ [\#2163](https://github.com/vector-im/vector-web/pull/2163)
+ * FilePanel and NotificationPanel support
+ [\#2113](https://github.com/vector-im/vector-web/pull/2113)
+ * Cursor: pointer on member info create room button
+ [\#2151](https://github.com/vector-im/vector-web/pull/2151)
+ * Support for adding DM rooms to the MemberInfo Panel
+ [\#2147](https://github.com/vector-im/vector-web/pull/2147)
+ * Wmwragg/one to one indicators
+ [\#2139](https://github.com/vector-im/vector-web/pull/2139)
+ * Added back the Directory listing button, with new tootlip
+ [\#2136](https://github.com/vector-im/vector-web/pull/2136)
+ * wmwragg/chat invite dialog fix
+ [\#2134](https://github.com/vector-im/vector-web/pull/2134)
+ * Wmwragg/one to one chat
+ [\#2110](https://github.com/vector-im/vector-web/pull/2110)
+ * Support toggling DM status of rooms
+ [\#2111](https://github.com/vector-im/vector-web/pull/2111)
+ * Formatting toolbar for RTE message composer.
+ [\#2082](https://github.com/vector-im/vector-web/pull/2082)
+ * jenkins.sh: install olm from jenkins artifacts
+ [\#2092](https://github.com/vector-im/vector-web/pull/2092)
+ * e2e device CSS
+ [\#2085](https://github.com/vector-im/vector-web/pull/2085)
+ * Bump to olm 1.1.0
+ [\#2069](https://github.com/vector-im/vector-web/pull/2069)
+ * Improve readability of the changelog dialog
+ [\#2056](https://github.com/vector-im/vector-web/pull/2056)
+ * Turn react consistency checks back on in develop builds
+ [\#2009](https://github.com/vector-im/vector-web/pull/2009)
+ * Wmwragg/direct chat sublist
+ [\#2028](https://github.com/vector-im/vector-web/pull/2028)
+
+Changes in [0.7.5-r3](https://github.com/vector-im/vector-web/releases/tag/v0.7.5-r3) (2016-09-02)
+==================================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.5-r2...v0.7.5-r3)
+
+ * Bump to matrix-react-sdk 0.6.5-r3 in order to fix bug #2020 (tightloop when flooded with join events)
+
+
+Changes in [0.7.5-r2](https://github.com/vector-im/vector-web/releases/tag/v0.7.5-r2) (2016-09-01)
+==================================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.5-r1...v0.7.5-r2)
+
+ * Bump to matrix-react-sdk 0.6.5-r1 in order to fix guest access
+
+Changes in [0.7.5-r1](https://github.com/vector-im/vector-web/releases/tag/v0.7.5-r1) (2016-08-28)
+==================================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.5...v0.7.5-r1)
+
+ * Correctly pin deps :(
+
+Changes in [0.7.5](https://github.com/vector-im/vector-web/releases/tag/v0.7.5) (2016-08-28)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.4-r1...v0.7.5)
+
+ * re-add leave button in RoomSettings
+ * add /user URLs
+ * recognise matrix.to links and other vector links
+ * fix linkify dependency
+ * fix avatar clicking in MemberInfo
+ * fix RoomTagContextMenu so it works on historical rooms
+ * warn people to put their Matrix HS on a separate domain to Vector
+ * fix zalgos again
+ * Add .travis.yml
+ [\#2007](https://github.com/vector-im/vector-web/pull/2007)
+ * add fancy changelog dialog
+ [\#1972](https://github.com/vector-im/vector-web/pull/1972)
+ * Update autocomplete design
+ [\#1978](https://github.com/vector-im/vector-web/pull/1978)
+ * Update encryption info in README
+ [\#2001](https://github.com/vector-im/vector-web/pull/2001)
+ * Added event/info message avatars back in
+ [\#2000](https://github.com/vector-im/vector-web/pull/2000)
+ * Wmwragg/chat message presentation
+ [\#1987](https://github.com/vector-im/vector-web/pull/1987)
+ * Make the notification slider work
+ [\#1982](https://github.com/vector-im/vector-web/pull/1982)
+ * Use cpx to copy olm.js, and add watcher
+ [\#1966](https://github.com/vector-im/vector-web/pull/1966)
+ * Make up a device display name
+ [\#1959](https://github.com/vector-im/vector-web/pull/1959)
+
+Changes in [0.7.4-r1](https://github.com/vector-im/vector-web/releases/tag/v0.7.4-r1) (2016-08-12)
+==================================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.4...v0.7.4-r1)
+ * Update to matrix-react-sdk 0.6.4-r1 to fix inviting multiple people
+
+
+Changes in [0.7.4](https://github.com/vector-im/vector-web/releases/tag/v0.7.4) (2016-08-11)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.3...v0.7.4)
+
+ * Don't show border on composer when not in RTE mode
+ [\#1954](https://github.com/vector-im/vector-web/pull/1954)
+ * Wmwragg/room tag menu
+ [\#1941](https://github.com/vector-im/vector-web/pull/1941)
+ * Don't redirect to mobile app if verifying 3pid
+ [\#1951](https://github.com/vector-im/vector-web/pull/1951)
+ * Make sure that we clear localstorage before *all* tests
+ [\#1950](https://github.com/vector-im/vector-web/pull/1950)
+ * Basic CSS for multi-invite dialog
+ [\#1942](https://github.com/vector-im/vector-web/pull/1942)
+ * More tests for the loading process:
+ [\#1947](https://github.com/vector-im/vector-web/pull/1947)
+ * Support for refactored login token handling
+ [\#1946](https://github.com/vector-im/vector-web/pull/1946)
+ * Various fixes and improvements to emojification.
+ [\#1935](https://github.com/vector-im/vector-web/pull/1935)
+ * More app-loading tests
+ [\#1938](https://github.com/vector-im/vector-web/pull/1938)
+ * Some tests of the application load process
+ [\#1936](https://github.com/vector-im/vector-web/pull/1936)
+ * Add 'enable labs' setting to sample config
+ [\#1930](https://github.com/vector-im/vector-web/pull/1930)
+ * Matthew/scalar
+ [\#1928](https://github.com/vector-im/vector-web/pull/1928)
+ * Fix unit tests
+ [\#1929](https://github.com/vector-im/vector-web/pull/1929)
+ * Wmwragg/mute mention state fix
+ [\#1926](https://github.com/vector-im/vector-web/pull/1926)
+ * CSS for deactivate account dialog
+ [\#1919](https://github.com/vector-im/vector-web/pull/1919)
+ * Wmwragg/mention state menu
+ [\#1900](https://github.com/vector-im/vector-web/pull/1900)
+ * Fix UnknownBody styling for #1901
+ [\#1913](https://github.com/vector-im/vector-web/pull/1913)
+ * Exclude olm from the webpack
+ [\#1914](https://github.com/vector-im/vector-web/pull/1914)
+ * Wmwragg/button updates
+ [\#1912](https://github.com/vector-im/vector-web/pull/1912)
+ * Wmwragg/button updates
+ [\#1828](https://github.com/vector-im/vector-web/pull/1828)
+ * CSS for device management UI
+ [\#1909](https://github.com/vector-im/vector-web/pull/1909)
+ * Fix a warning from RoomSubList
+ [\#1908](https://github.com/vector-im/vector-web/pull/1908)
+ * Fix notifications warning layout
+ [\#1907](https://github.com/vector-im/vector-web/pull/1907)
+ * Remove relayoutOnUpdate prop on gemini-scrollbar
+ [\#1883](https://github.com/vector-im/vector-web/pull/1883)
+ * Bump dependency versions
+ [\#1842](https://github.com/vector-im/vector-web/pull/1842)
+ * Wmwragg/mention state indicator round 2
+ [\#1835](https://github.com/vector-im/vector-web/pull/1835)
+ * Wmwragg/spinner fix
+ [\#1822](https://github.com/vector-im/vector-web/pull/1822)
+ * Wmwragg/mention state indicator
+ [\#1823](https://github.com/vector-im/vector-web/pull/1823)
+ * Revert "Presentation for inline link"
+ [\#1809](https://github.com/vector-im/vector-web/pull/1809)
+ * Wmwragg/modal restyle
+ [\#1806](https://github.com/vector-im/vector-web/pull/1806)
+ * Presentation for inline link
+ [\#1799](https://github.com/vector-im/vector-web/pull/1799)
+ * CSS for offline user colours
+ [\#1798](https://github.com/vector-im/vector-web/pull/1798)
+ * Wmwragg/typography updates
+ [\#1776](https://github.com/vector-im/vector-web/pull/1776)
+ * webpack: always use the olm from vector-web
+ [\#1766](https://github.com/vector-im/vector-web/pull/1766)
+ * feat: large emoji support
+ [\#1718](https://github.com/vector-im/vector-web/pull/1718)
+ * Autocomplete
+ [\#1717](https://github.com/vector-im/vector-web/pull/1717)
+ * #1664 Set a maximum height for codeblocks
+ [\#1670](https://github.com/vector-im/vector-web/pull/1670)
+ * CSS for device blocking
+ [\#1688](https://github.com/vector-im/vector-web/pull/1688)
+ * Fix joining rooms by typing the alias
+ [\#1685](https://github.com/vector-im/vector-web/pull/1685)
+ * Add ability to delete an alias from room directory
+ [\#1680](https://github.com/vector-im/vector-web/pull/1680)
+ * package.json: add olm as optionalDependency
+ [\#1678](https://github.com/vector-im/vector-web/pull/1678)
+ * Another go at enabling olm on vector.im/develop
+ [\#1675](https://github.com/vector-im/vector-web/pull/1675)
+ * CSS for unverify button
+ [\#1661](https://github.com/vector-im/vector-web/pull/1661)
+ * CSS fix for rooms with crypto enabled
+ [\#1660](https://github.com/vector-im/vector-web/pull/1660)
+ * Karma: fix warning by ignoring olm
+ [\#1652](https://github.com/vector-im/vector-web/pull/1652)
+ * Update for react-sdk dbkr/fix_peeking branch
+ [\#1639](https://github.com/vector-im/vector-web/pull/1639)
+ * Update README.md
+ [\#1641](https://github.com/vector-im/vector-web/pull/1641)
+ * Fix karma tests
+ [\#1643](https://github.com/vector-im/vector-web/pull/1643)
+ * Rich Text Editor
+ [\#1553](https://github.com/vector-im/vector-web/pull/1553)
+ * Fix RoomDirectory to join by alias whenever possible.
+ [\#1615](https://github.com/vector-im/vector-web/pull/1615)
+ * Make the config optional
+ [\#1612](https://github.com/vector-im/vector-web/pull/1612)
+ * CSS support for device verification
+ [\#1610](https://github.com/vector-im/vector-web/pull/1610)
+ * Don't use SdkConfig
+ [\#1609](https://github.com/vector-im/vector-web/pull/1609)
+ * serve config.json statically instead of bundling it
+ [\#1516](https://github.com/vector-im/vector-web/pull/1516)
+
+Changes in [0.7.3](https://github.com/vector-im/vector-web/releases/tag/v0.7.3) (2016-06-03)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.2...v0.7.3)
+
+* Update to react-sdk 0.6.3
+
+Changes in [0.7.2](https://github.com/vector-im/vector-web/releases/tag/v0.7.2) (2016-06-02)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.1...v0.7.2)
+
+ * Correctly bump the dep on new matrix-js-sdk and matrix-react-sdk
+
+Changes in [0.7.1](https://github.com/vector-im/vector-web/releases/tag/v0.7.1) (2016-06-02)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.0...v0.7.1)
+
+ * Fix accidentally committed local changes to the default config.json (doh!)
+
+Changes in [0.7.0](https://github.com/vector-im/vector-web/releases/tag/v0.7.0) (2016-06-02)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.6.1...v0.7.0)
+
+ * Update to matrix-react-sdk 0.6.0 - see
+ [changelog](https://github.com/matrix-org/matrix-react-sdk/blob/v0.6.0/CHANGELOG.md)
+ * Style selection color.
+ [\#1557](https://github.com/vector-im/vector-web/pull/1557)
+ * Fix NPE when loading the Settings page which infini-spinnered
+ [\#1518](https://github.com/vector-im/vector-web/pull/1518)
+ * Add option to enable email notifications
+ [\#1469](https://github.com/vector-im/vector-web/pull/1469)
+
+Changes in [0.6.1](https://github.com/vector-im/vector-web/releases/tag/v0.6.1) (2016-04-22)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.6.0...v0.6.1)
+
+ * Update to matrix-react-sdk 0.5.2 - see
+ [changelog](https://github.com/matrix-org/matrix-react-sdk/blob/v0.5.2/CHANGELOG.md)
+ * Don't relayout scrollpanels every time something changes
+ [\#1438](https://github.com/vector-im/vector-web/pull/1438)
+ * Include react-addons-perf for non-production builds
+ [\#1431](https://github.com/vector-im/vector-web/pull/1431)
+
+Changes in [0.6.0](https://github.com/vector-im/vector-web/releases/tag/v0.6.0) (2016-04-19)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.5.0...v0.6.0)
+
+ * Matthew/design tweaks
+ [\#1402](https://github.com/vector-im/vector-web/pull/1402)
+ * Improve handling of notification rules we can't parse
+ [\#1399](https://github.com/vector-im/vector-web/pull/1399)
+ * Do less mangling of jenkins builds
+ [\#1391](https://github.com/vector-im/vector-web/pull/1391)
+ * Start Notifications component refactor
+ [\#1386](https://github.com/vector-im/vector-web/pull/1386)
+ * make the UI fadable to help with decluttering
+ [\#1376](https://github.com/vector-im/vector-web/pull/1376)
+ * Get and display a user's pushers in settings
+ [\#1374](https://github.com/vector-im/vector-web/pull/1374)
+ * URL previewing support
+ [\#1343](https://github.com/vector-im/vector-web/pull/1343)
+ * 😄 Emoji autocomplete and unicode emoji to image conversion using emojione.
+ [\#1332](https://github.com/vector-im/vector-web/pull/1332)
+ * Show full-size avatar on MemberInfo avatar click
+ [\#1340](https://github.com/vector-im/vector-web/pull/1340)
+ * Numerous other changes via [matrix-react-sdk 0.5.1](https://github.com/matrix-org/matrix-react-sdk/blob/v0.5.1/CHANGELOG.md)
+
+Changes in [0.5.0](https://github.com/vector-im/vector-web/releases/tag/v0.5.0) (2016-03-30)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.4.1...v0.5.0)
+
+ * Prettier, animated placeholder :D
+ [\#1292](https://github.com/vector-im/vector-web/pull/1292)
+ (Disabled for now due to high CPU usage)
+ * RoomDirectory: use SimpleRoomHeader instead of RoomHeader
+ [\#1307](https://github.com/vector-im/vector-web/pull/1307)
+ * Tell webpack not to parse the highlight.js languages
+ [\#1277](https://github.com/vector-im/vector-web/pull/1277)
+ * CSS for https://github.com/matrix-org/matrix-react-sdk/pull/247
+ [\#1249](https://github.com/vector-im/vector-web/pull/1249)
+ * URI-decode the hash-fragment
+ [\#1254](https://github.com/vector-im/vector-web/pull/1254)
+
+Changes in [0.4.1](https://github.com/vector-im/vector-web/releases/tag/v0.4.1) (2016-03-23)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.4.0...v0.4.1)
+ * Update to matrix-react-sdk 0.3.1; see
+ https://github.com/matrix-org/matrix-react-sdk/blob/v0.3.1/CHANGELOG.md
+ (Disables debug logging)
+
+Changes in [0.4.0](https://github.com/vector-im/vector-web/releases/tag/v0.4.0) (2016-03-23)
+============================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.3.0...v0.4.0)
+
+ * Update to matrix-react-sdk 0.3.0; see
+ https://github.com/matrix-org/matrix-react-sdk/blob/master/CHANGELOG.md
+
+Other changes
+ * permalink button
+ [\#1232](https://github.com/vector-im/vector-web/pull/1232)
+ * make senderprofiles clickable
+ [\#1191](https://github.com/vector-im/vector-web/pull/1191)
+ * fix notif spam when logging in from a guest session by correctly logging out
+ first.
+ [\#1180](https://github.com/vector-im/vector-web/pull/1180)
+ * use new start_login_from_guest dispatch for cancellable logins from guest
+ accounts
+ [\#1165](https://github.com/vector-im/vector-web/pull/1165)
+ * Use then() chaining rather than manual callbacks
+ [\#1171](https://github.com/vector-im/vector-web/pull/1171)
+ * Remove trailing whitespace
+ [\#1163](https://github.com/vector-im/vector-web/pull/1163)
+ * Update the actions of default rules instead of overriding.
+ [\#1037](https://github.com/vector-im/vector-web/pull/1037)
+ * Update README to include `npm install` in react-sdk
+ [\#1137](https://github.com/vector-im/vector-web/pull/1137)
+
+Changes in vector v0.3.0 (2016-03-11)
+======================================
+ * Lots of new bug fixes and updates
+
+Changes in vector v0.2.0 (2016-02-24)
+======================================
+ * Refactor of matrix-react-sdk and vector to remove separation between views and
+ controllers
+ * Temporarily break the layering abstraction between vector and matrix-react-sdk
+ for expedience in developing vector.
+ * Vast numbers of new features, including read receipts, read-up-to markers,
+ updated look and feel, search, new room and user settings, and email invites.
+
+Changes in vector v0.1.2 (2015-10-28)
+======================================
+ * Support Room Avatars
+ * Fullscreen video calls
+ * Mute mic in VoIP calls
+ * Fix bug with multiple desktop notifications
+ * Context menu on messages
+ * Better hover-over on member list
+ * Support CAS auth
+ * Many other bug fixes
+
+Changes in vector v0.1.1 (2015-08-10)
+======================================
+
+ * Support logging in with an email address
+ * Use the Vector identity server
+ * Fix a bug where the client was not stopped properly on logout
+ * Fix bugs where field values would be forgotten if login or registration failed
+ * Improve URL bar navigation
+ * Add explanatory help text on advanced server options
+ * Fix a bug which caused execptions on malformed VoIP invitations
+ * Remove superfluous scrollbars on Firefox
+ * Numerous CSS fixes
+ * Improved accessibility
+ * Support command-click / middle click to open image in a new tab
+ * Improved room directory
+ * Fix display of text with many combining unicode points
+
+Changes in vector v0.1.0 (2015-08-10)
+======================================
+Initial release
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
new file mode 100644
index 0000000..3af9d39
--- /dev/null
+++ b/CONTRIBUTING.rst
@@ -0,0 +1,4 @@
+Contributing code to Element
+============================
+
+Element follows the same pattern as https://github.com/matrix-org/matrix-js-sdk/blob/master/CONTRIBUTING.rst.
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..92d35e7
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,40 @@
+# Builder
+FROM node:12 as builder
+
+# Support custom branches of the react-sdk and js-sdk. This also helps us build
+# images of riot-web develop.
+ARG USE_CUSTOM_SDKS=false
+ARG REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git"
+ARG REACT_SDK_BRANCH="master"
+ARG JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git"
+ARG JS_SDK_BRANCH="master"
+
+RUN apt-get update && apt-get install -y git dos2unix \
+# These packages are required for building Canvas on architectures like Arm
+# See https://www.npmjs.com/package/canvas#compiling
+ build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
+
+WORKDIR /src
+
+COPY . /src
+RUN dos2unix /src/scripts/docker-link-repos.sh && bash /src/scripts/docker-link-repos.sh
+RUN yarn --network-timeout=100000 install
+RUN yarn build
+
+# Copy the config now so that we don't create another layer in the app image
+RUN cp /src/config.sample.json /src/webapp/config.json
+
+# Ensure we populate the version file
+RUN dos2unix /src/scripts/docker-write-version.sh && bash /src/scripts/docker-write-version.sh
+
+
+# App
+FROM nginx:alpine
+
+COPY --from=builder /src/webapp /app
+
+# Insert wasm type into Nginx mime.types file so they load correctly.
+RUN sed -i '3i\ \ \ \ application/wasm wasm\;' /etc/nginx/mime.types
+
+RUN rm -rf /usr/share/nginx/html \
+ && ln -s /app /usr/share/nginx/html
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..f433b1a
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,177 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..93494dc
--- /dev/null
+++ b/README.md
@@ -0,0 +1,388 @@
+Element
+=======
+
+Element (formerly known as Vector and Riot) is a Matrix web client built using the [Matrix
+React SDK](https://github.com/matrix-org/matrix-react-sdk).
+
+Supported Environments
+======================
+
+Element has several tiers of support for different environments:
+
+* Supported
+ * Definition: Issues **actively triaged**, regressions **block** the release
+ * Last 2 major versions of Chrome, Firefox, and Safari on desktop OSes
+ * Latest release of official Element Desktop app on desktop OSes
+ * Desktop OSes means macOS, Windows, and Linux versions for desktop devices
+ that are actively supported by the OS vendor and receive security updates
+* Experimental
+ * Definition: Issues **accepted**, regressions **do not block** the release
+ * Element as an installed PWA via current stable version of Chrome, Firefox, and Safari
+ * Mobile web for current stable version of Chrome, Firefox, and Safari on Android, iOS, and iPadOS
+* Not supported
+ * Definition: Issues only affecting unsupported environments are **closed**
+ * Everything else
+
+For accessing Element on an Android or iOS device, we currently recommend the
+native apps [element-android](https://github.com/vector-im/element-android)
+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 by Jenkins at https://develop.element.io
+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. Untar the tarball on your web server
+1. Move (or symlink) the `riot-x.x.x` directory to an appropriate name
+1. Configure the correct caching headers in your webserver (see below)
+1. If desired, copy `config.sample.json` to `config.json` and edit it
+ as desired. See the [configuration docs](docs/config.md) for details.
+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/riot-release-key.asc.
+
+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
+chats over HTTP, as WebRTC is only usable over HTTPS.
+There are some exceptions like when using localhost, which is
+considered a [secure context](https://developer.mozilla.org/docs/Web/Security/Secure_Contexts)
+and thus allowed.
+
+To install Element as a desktop application, see [Running as a desktop
+app](#running-as-a-desktop-app) below.
+
+Important Security Note
+=======================
+
+We do not recommend running Element from the same domain name as your Matrix
+homeserver. The reason is the risk of XSS (cross-site-scripting)
+vulnerabilities that could occur if someone caused Element to load and render
+malicious user generated content from a Matrix API which then had trusted
+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.
+
+Building From Source
+====================
+
+Element is a modular webapp built with modern ES6 and uses a Node.js build system.
+Ensure you have the latest LTS version of Node.js installed.
+
+Using `yarn` instead of `npm` is recommended. Please see the Yarn [install
+guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it already.
+
+1. Install or update `node.js` so that your `node` is at least v10.x.
+1. Install `yarn` if not present already.
+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
+ 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
+ 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.
+1. `yarn dist` to build a tarball to deploy. Untaring this file will give
+ a version-specific directory containing all the files that need to go on your
+ web server.
+
+Note that `yarn dist` is not supported on Windows, so Windows users can run `yarn build`,
+which will build all the necessary files into the `webapp` directory. The version of Element
+will not appear in Settings without using the dist script. You can then mount the
+`webapp` directory on your webserver to actually serve up the app, which is entirely static content.
+
+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,
+build it yourself.
+
+To build it yourself, follow the instructions at https://github.com/vector-im/element-desktop.
+
+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)
+
+```bash
+yarn global add nativefier
+nativefier https://app.element.io/
+```
+
+The [configuration docs](docs/config.md#desktop-app-configuration) show how to
+override the desktop app's default settings if desired.
+
+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/riot-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/riot-web
+```
+
+To build the image yourself:
+```bash
+git clone https://github.com/vector-im/element-web.git element-web
+cd element-web
+git checkout master
+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 \
+ --build-arg REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git" \
+ --build-arg REACT_SDK_BRANCH="develop" \
+ --build-arg JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git" \
+ --build-arg JS_SDK_BRANCH="develop" \
+ .
+```
+
+config.json
+===========
+
+Element supports a variety of settings to configure default servers, behaviour, themes, etc.
+See the [configuration docs](docs/config.md) for more details.
+
+Labs Features
+=============
+
+Some features of Element may be enabled by flags in the `Labs` section of the settings.
+Some of these features are described in [labs.md](https://github.com/vector-im/element-web/blob/develop/docs/labs.md).
+
+Caching requirements
+====================
+
+Element requires the following URLs not to be cached, when/if you are serving Element from your own webserver:
+```
+/config.*.json
+/i18n
+/home
+/sites
+/index.html
+```
+
+Development
+===========
+
+Before attempting to develop on Element you **must** read the [developer guide
+for `matrix-react-sdk`](https://github.com/matrix-org/matrix-react-sdk#developer-guide), which
+also defines the design, architecture and style for Element too.
+
+Before starting work on a feature, it's best to ensure your plan aligns well
+with our vision for Element. Please chat with the team in
+[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) before you
+start so we can ensure it's something we'd be willing to merge.
+
+You should also familiarise yourself with the ["Here be Dragons" guide
+](https://docs.google.com/document/d/12jYzvkidrp1h7liEuLIe6BMdU0NUjndUYI971O06ooM)
+to the tame & not-so-tame dragons (gotchas) which exist in the codebase.
+
+The idea of Element is to be a relatively lightweight "skin" of customisations on
+top of the underlying `matrix-react-sdk`. `matrix-react-sdk` provides both the
+higher and lower level React components useful for building Matrix communication
+apps using React.
+
+After creating a new component you must run `yarn reskindex` to regenerate
+the `component-index.js` for the app (used in future for skinning).
+
+Please note that Element is intended to run correctly without access to the public
+internet. So please don't depend on resources (JS libs, CSS, images, fonts)
+hosted by external CDNs or servers but instead please package all dependencies
+into Element itself.
+
+Setting up a dev environment
+============================
+
+Much of the functionality in Element is actually in the `matrix-react-sdk` and
+`matrix-js-sdk` modules. It is possible to set these up in a way that makes it
+easy to track the `develop` branches in git and to make local changes without
+having to manually rebuild each time.
+
+First clone and build `matrix-js-sdk`:
+
+``` bash
+git clone https://github.com/matrix-org/matrix-js-sdk.git
+pushd matrix-js-sdk
+yarn link
+yarn install
+popd
+```
+
+Then similarly with `matrix-react-sdk`:
+
+```bash
+git clone https://github.com/matrix-org/matrix-react-sdk.git
+pushd matrix-react-sdk
+yarn link
+yarn link matrix-js-sdk
+yarn install
+popd
+```
+
+Finally, build and start Element itself:
+
+```bash
+git clone https://github.com/vector-im/element-web.git
+cd element-web
+yarn link matrix-js-sdk
+yarn link matrix-react-sdk
+yarn install
+yarn start
+```
+
+
+Wait a few seconds for the initial build to finish; you should see something like:
+```
+Hash: b0af76309dd56d7275c8
+Version: webpack 1.12.14
+Time: 14533ms
+ Asset Size Chunks Chunk Names
+ bundle.js 4.2 MB 0 [emitted] main
+ bundle.css 91.5 kB 0 [emitted] main
+ bundle.js.map 5.29 MB 0 [emitted] main
+bundle.css.map 116 kB 0 [emitted] main
+ + 1013 hidden modules
+```
+ 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.
+
+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.
+
+**Note**: The build script uses inotify by default on Linux to monitor directories
+for changes. If the inotify watch limit is too low your build will silently fail.
+To avoid this issue, we recommend a limit of at least 128M.
+
+To set a new inotify watch limit, execute:
+
+```
+$ sudo sysctl fs.inotify.max_user_watches=131072
+$ sudo sysctl -p
+```
+
+If you wish, you can make this new limit permanent, by executing:
+
+```
+$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
+$ sudo sysctl -p
+```
+___
+
+When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be
+automatically picked up by webpack and built.
+
+If you add or remove any components from the Element skin, you will need to rebuild
+the skin's index by running, `yarn reskindex`.
+
+If any of these steps error with, `file table overflow`, you are probably on a mac
+which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again.
+You'll need to do this in each new terminal you open before building Element.
+
+Running the tests
+-----------------
+
+There are a number of application-level tests in the `tests` directory; these
+are designed to run in a browser instance under the control of
+[karma](https://karma-runner.github.io). To run them:
+
+* Make sure you have Chrome installed (a recent version, like 59)
+* Make sure you have `matrix-js-sdk` and `matrix-react-sdk` installed and
+ built, as above
+* `yarn test`
+
+The above will run the tests under Chrome in a `headless` mode.
+
+You can also tell karma to run the tests in a loop (every time the source
+changes), in an instance of Chrome on your desktop, with `yarn
+test-multi`. This also gives you the option of running the tests in 'debug'
+mode, which is useful for stepping through the tests in the developer tools.
+
+### End-to-End tests
+
+See [matrix-react-sdk](https://github.com/matrix-org/matrix-react-sdk/#end-to-end-tests) how to run the end-to-end tests.
+
+Translations
+============
+
+To add a new translation, head to the [translating doc](docs/translating.md).
+
+For a developer guide, see the [translating dev doc](docs/translating-dev.md).
+
+[
](https://translate.element.io/engage/element-web/?utm_source=widget)
+
+Triaging issues
+===============
+
+Issues will be triaged by the core team using the below set of tags.
+
+Tags are meant to be used in combination - e.g.:
+ * P1 critical bug == really urgent stuff that should be next in the bugfixing todo list
+ * "release blocker" == stuff which is blocking us from cutting the next release.
+ * P1 feature type:voip == what VoIP features should we be working on next?
+
+priority: **compulsory**
+
+* P1: top priority - i.e. pool of stuff which we should be working on next
+* P2: still need to fix, but lower than P1
+* P3: non-urgent
+* P4: interesting idea - bluesky some day
+* P5: recorded for posterity/to avoid duplicates. No intention to resolves right now.
+
+bug or feature: **compulsory**
+
+* bug
+* feature
+
+bug severity: **compulsory, if bug**
+
+* critical - whole app doesn't work
+* major - entire feature doesn't work
+* minor - partially broken feature (but still usable)
+* cosmetic - feature works functionally but UI/UX is broken
+
+types
+* type:* - refers to a particular part of the app; used to filter bugs
+ on a given topic - e.g. VOIP, signup, timeline, etc.
+
+additional categories (self-explanatory):
+
+* release blocker
+* ui/ux (think of this as cosmetic)
+* network (specific to network conditions)
+* platform specific
+* accessibility
+* maintenance
+* performance
+* i18n
+* blocked - whether this issue currently can't be progressed due to outside factors
+
+community engagement
+* easy
+* hacktoberfest
+* bounty? - proposal to be included in a bounty programme
+* bounty - included in Status Open Bounty
diff --git a/__mocks__/cssMock.js b/__mocks__/cssMock.js
new file mode 100644
index 0000000..9b5d9b3
--- /dev/null
+++ b/__mocks__/cssMock.js
@@ -0,0 +1 @@
+module.exports = "css-file-stub";
diff --git a/babel.config.js b/babel.config.js
new file mode 100644
index 0000000..8d98fff
--- /dev/null
+++ b/babel.config.js
@@ -0,0 +1,23 @@
+module.exports = {
+ "sourceMaps": true,
+ "presets": [
+ ["@babel/preset-env", {
+ "targets": [
+ "last 2 Chrome versions", "last 2 Firefox versions", "last 2 Safari versions"
+ ],
+ }],
+ "@babel/preset-typescript",
+ "@babel/preset-flow",
+ "@babel/preset-react"
+ ],
+ "plugins": [
+ ["@babel/plugin-proposal-decorators", {legacy: true}],
+ "@babel/plugin-proposal-export-default-from",
+ "@babel/plugin-proposal-numeric-separator",
+ "@babel/plugin-proposal-class-properties",
+ "@babel/plugin-proposal-object-rest-spread",
+ "@babel/plugin-transform-flow-comments",
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-transform-runtime"
+ ]
+};
diff --git a/config.sample.json b/config.sample.json
new file mode 100644
index 0000000..32bdc7e
--- /dev/null
+++ b/config.sample.json
@@ -0,0 +1,54 @@
+{
+ "default_server_config": {
+ "m.homeserver": {
+ "base_url": "https://matrix-client.matrix.org",
+ "server_name": "matrix.org"
+ },
+ "m.identity_server": {
+ "base_url": "https://vector.im"
+ }
+ },
+ "disable_custom_urls": false,
+ "disable_guests": false,
+ "disable_login_language_selector": false,
+ "disable_3pid_login": false,
+ "brand": "Element",
+ "integrations_ui_url": "https://scalar.vector.im/",
+ "integrations_rest_url": "https://scalar.vector.im/api",
+ "integrations_widgets_urls": [
+ "https://scalar.vector.im/_matrix/integrations/v1",
+ "https://scalar.vector.im/api",
+ "https://scalar-staging.vector.im/_matrix/integrations/v1",
+ "https://scalar-staging.vector.im/api",
+ "https://scalar-staging.riot.im/scalar/api"
+ ],
+ "bug_report_endpoint_url": "https://element.io/bugreports/submit",
+ "defaultCountryCode": "GB",
+ "showLabsSettings": false,
+ "features": {
+ "feature_new_spinner": false
+ },
+ "default_federate": true,
+ "default_theme": "light",
+ "roomDirectory": {
+ "servers": [
+ "matrix.org"
+ ]
+ },
+ "piwik": {
+ "url": "https://piwik.riot.im/",
+ "whitelistedHSUrls": ["https://matrix.org"],
+ "whitelistedISUrls": ["https://vector.im", "https://matrix.org"],
+ "siteId": 1
+ },
+ "enable_presence_by_hs_url": {
+ "https://matrix.org": false,
+ "https://matrix-client.matrix.org": false
+ },
+ "settingDefaults": {
+ "breadcrumbs": true
+ },
+ "jitsi": {
+ "preferredDomain": "jitsi.riot.im"
+ }
+}
diff --git a/contribute.json b/contribute.json
new file mode 100644
index 0000000..0ac40ea
--- /dev/null
+++ b/contribute.json
@@ -0,0 +1,17 @@
+{
+ "name": "Element",
+ "description": "A glossy Matrix collaboration client for the web.",
+ "repository": {
+ "url": "https://github.com/vector-im/element-web",
+ "license": "Apache License 2.0"
+ },
+ "bugs": {
+ "list": "https://github.com/vector-im/element-web/issues",
+ "report": "https://github.com/vector-im/element-web/issues/new/choose"
+ },
+ "keywords": [
+ "chat",
+ "riot",
+ "matrix"
+ ]
+}
diff --git a/docs/app-load.md b/docs/app-load.md
new file mode 100644
index 0000000..bdc0243
--- /dev/null
+++ b/docs/app-load.md
@@ -0,0 +1,81 @@
+# App load order
+
+Old slow flow:
+
+
+Current more parallel flow:
+
+
+Code
+
+
+digraph G {
+ node [shape=box];
+
+ subgraph cluster_0 {
+ color=orange;
+ node [style=filled];
+ label = "index.ts";
+
+ entrypoint, s0, ready [shape=point];
+ rageshake, config, i18n, theme, skin, olm [shape=parallelogram];
+ mobile [shape=diamond, label="mobile"];
+ modernizr [shape=diamond];
+ redirect, incompatible [shape=egg];
+
+ entrypoint -> rageshake;
+ rageshake -> mobile [color=blue];
+ mobile -> s0 [label="No"];
+ mobile -> redirect [label="Yes"];
+
+ s0 -> platform;
+ s0 -> olm;
+ platform -> config;
+
+ config -> i18n [color=blue];
+ config -> theme [color=blue];
+ config -> skin [color=blue];
+
+ i18n -> modernizr [color=blue];
+ theme -> modernizr [color=blue];
+ skin -> modernizr [color=blue];
+
+ modernizr -> ready [label="Yes"];
+ modernizr -> incompatible [label="No"];
+ incompatible -> ready [label="user ignore"];
+
+ olm -> ready [color=red];
+ config -> ready [color=red];
+ skin -> ready [color=red];
+ theme -> ready [color=red];
+ i18n -> ready [color=red];
+ }
+
+ subgraph cluster_1 {
+ color = green;
+ node [style=filled];
+ label = "init.tsx";
+
+ ready -> loadApp;
+ loadApp -> matrixchat;
+ }
+}
+
+
+
+
+Key:
++ Parallelogram: async/await task
++ Box: sync task
++ Diamond: conditional branch
++ Egg: user interaction
++ Blue arrow: async task is allowed to settle but allowed to fail
++ Red arrow: async task success is asserted
+
+Notes:
++ A task begins when all its dependencies (arrows going into it) are fulfilled.
++ The success of setting up rageshake is never asserted, riot-web has a fallback path for running without IDB (and thus rageshake).
++ Everything is awaited to be settled before the Modernizr check, to allow it to make use of things like i18n if they are successful.
+
+Underlying dependencies:
+
diff --git a/docs/conferencing.md b/docs/conferencing.md
new file mode 100644
index 0000000..874ce4c
--- /dev/null
+++ b/docs/conferencing.md
@@ -0,0 +1,52 @@
+# VoIP Conferencing
+
+This is a draft proposal for a naive voice/video conferencing implementation for
+Matrix clients. There are many possible conferencing architectures possible for
+Matrix (Multipoint Conferencing Unit (MCU); Stream Forwarding Unit (SFU); Peer-
+to-Peer mesh (P2P), etc; events shared in the group room; events shared 1:1;
+possibly even out-of-band signalling).
+
+This is a starting point for a naive MCU implementation which could provide one
+possible Matrix-wide solution in future, which retains backwards compatibility
+with standard 1:1 calling.
+
+ * A client chooses to initiate a conference for a given room by starting a
+ voice or video call with a 'conference focus' user. This is a virtual user
+ (typically Application Service) which implements a conferencing bridge. It
+ isn't defined how the client discovers or selects this user.
+
+ * The conference focus user MUST join the room in which the client has
+ initiated the conference - this may require the client to invite the
+ conference focus user to the room, depending on the room's `join_rules`. The
+ conference focus user needs to be in the room to let the bridge eject users
+ from the conference who have left the room in which it was initiated, and aid
+ discovery of the conference by other users in the room. The bridge
+ identifies the room to join based on the user ID by which it was invited.
+ The format of this identifier is implementation dependent for now.
+
+ * If a client leaves the group chat room, they MUST be ejected from the
+ conference. If a client leaves the 1:1 room with the conference focus user,
+ they SHOULD be ejected from the conference.
+
+ * For now, rooms can contain multiple conference focus users - it's left to
+ user or client implementation to select which to converge on. In future this
+ could be mediated using a state event (e.g. `im.vector.call.mcu`), but we
+ can't do that right now as by default normal users can't set arbitrary state
+ events on a room.
+
+ * To participate in the conference, other clients initiates a standard 1:1
+ voice or video call to the conference focus user.
+
+ * For best UX, clients SHOULD show the ongoing voice/video call in the UI
+ context of the group room rather than 1:1 with the focus user. If a client
+ recognises a conference user present in the room, it MAY chose to highlight
+ this in the UI (e.g. with a "conference ongoing" notification, to aid
+ discovery). Clients MAY hide the 1:1 room with the focus user (although in
+ future this room could be used for floor control or other direct
+ communication with the conference focus)
+
+ * When all users have left the conference, the 'conference focus' user SHOULD
+ leave the room.
+
+ * If a conference focus user joins a room but does not receive a 1:1 voice or
+ video call, it SHOULD time out after a period of time and leave the room.
diff --git a/docs/config.md b/docs/config.md
new file mode 100644
index 0000000..e557a79
--- /dev/null
+++ b/docs/config.md
@@ -0,0 +1,194 @@
+Configuration
+=============
+
+You can configure the app by copying `config.sample.json` to
+`config.json` and customising it:
+
+For a good example, see https://develop.element.io/config.json.
+
+1. `default_server_config` sets the default homeserver and identity server URL for
+ Element to use. The object is the same as returned by [https:///.well-known/matrix/client](https://matrix.org/docs/spec/client_server/latest.html#get-well-known-matrix-client),
+ with added support for a `server_name` under the `m.homeserver` section to display
+ a custom homeserver name. Alternatively, the config can contain a `default_server_name`
+ instead which is where Element will go to get that same object, although this option is
+ deprecated - see the `.well-known` link above for more information on using this option.
+ Note that the `default_server_name` is used to get a complete server configuration
+ whereas the `server_name` in the `default_server_config` is for display purposes only.
+ * *Note*: The URLs can also be individually specified as `default_hs_url` and
+ `default_is_url`, however these are deprecated. They are maintained for backwards
+ compatibility with older configurations. `default_is_url` is respected only
+ if `default_hs_url` is used.
+ * Element will fail to load if a mix of `default_server_config`, `default_server_name`, or
+ `default_hs_url` is specified. When multiple sources are specified, it is unclear
+ which should take priority and therefore the application cannot continue.
+ * As of Element 1.4.0, identity servers are optional. See [Identity servers](#identity-servers) below.
+1. `features`: Lookup of optional features that may be force-enabled (`true`) or force-disabled (`false`).
+ When features are not listed here, their defaults will be used, and users can turn them on/off if `showLabsSettings`
+ allows them to. The available optional experimental features vary from release to release and are
+ [documented](labs.md). The feature flag process is [documented](feature-flags.md) as well.
+1. `showLabsSettings`: Shows the "labs" tab of user settings. Useful to allow users to turn on experimental features
+ they might not otherwise have access to.
+1. `brand`: String to pass to your homeserver when configuring email notifications, to let the
+ homeserver know what email template to use when talking to you.
+1. `branding`: Configures various branding and logo details, such as:
+ 1. `welcomeBackgroundUrl`: An image to use as a wallpaper outside the app
+ during authentication flows. If an array is passed, an image is chosen randomly for each visit.
+ 1. `authHeaderLogoUrl`: An logo image that is shown in the header during
+ authentication flows
+ 1. `authFooterLinks`: a list of links to show in the authentication page footer:
+ `[{"text": "Link text", "url": "https://link.target"}, {"text": "Other link", ...}]`
+1. `reportEvent`: Configures the dialog for reporting content to the homeserver
+ admin.
+ 1. `adminMessageMD`: An extra message to show on the reporting dialog to
+ mention homeserver-specific policies. Accepts Markdown.
+1. `integrations_ui_url`: URL to the web interface for the integrations server. The integrations
+ server is not Element and normally not your homeserver either. The integration server settings
+ may be left blank to disable integrations.
+1. `integrations_rest_url`: URL to the REST interface for the integrations server.
+1. `integrations_widgets_urls`: list of URLs to the REST interface for the widget integrations server.
+1. `bug_report_endpoint_url`: endpoint to send bug reports to (must be running a
+ https://github.com/matrix-org/rageshake server). Bug reports are sent when a user clicks
+ "Send Logs" within the application. Bug reports can be disabled/hidden by leaving the
+ `bug_report_endpoint_url` out of your config file.
+1. `roomDirectory`: config for the public room directory. This section is optional.
+1. `roomDirectory.servers`: List of other homeservers' directories to include in the drop
+ down list. Optional.
+1. `default_theme`: name of theme to use by default (e.g. 'light')
+1. `update_base_url` (electron app only): HTTPS URL to a web server to download
+ updates from. This should be the path to the directory containing `macos`
+ and `win32` (for update packages, not installer packages).
+1. `piwik`: Analytics can be disabled by setting `piwik: false` or by leaving the piwik config
+ option out of your config file. If you want to enable analytics, set `piwik` to be an object
+ containing the following properties:
+ 1. `url`: The URL of the Piwik instance to use for collecting analytics
+ 1. `whitelistedHSUrls`: a list of HS URLs to not redact from the analytics
+ 1. `whitelistedISUrls`: a list of IS URLs to not redact from the analytics
+ 1. `siteId`: The Piwik Site ID to use when sending analytics to the Piwik server configured above
+1. `welcomeUserId`: the user ID of a bot to invite whenever users register that can give them a tour
+1. `embeddedPages`: Configures the pages displayed in portions of Element that
+ embed static files, such as:
+ 1. `welcomeUrl`: Initial content shown on the outside of the app when not
+ logged in. Defaults to `welcome.html` supplied with Element.
+ 1. `homeUrl`: Content shown on the inside of the app when a specific room is
+ not selected. By default, no home page is configured. If one is set, a
+ button to access it will be shown in the top left menu.
+1. `defaultCountryCode`: The ISO 3166 alpha2 country code to use when showing
+ country selectors, like the phone number input on the registration page.
+ Defaults to `GB` if the given code is unknown or not provided.
+1. `settingDefaults`: Defaults for settings that support the `config` level,
+ as an object mapping setting name to value (note that the "theme" setting
+ is special cased to the `default_theme` in the config file).
+1. `disable_custom_urls`: disallow the user to change the
+ default homeserver when signing up or logging in.
+1. `permalinkPrefix`: Used to change the URL that Element generates permalinks with.
+ By default, this is "https://matrix.to" to generate matrix.to (spec) permalinks.
+ Set this to your Riot instance URL if you run an unfederated server (eg:
+ "https://riot.example.org").
+1. `jitsi`: Used to change the default conference options. Learn more about the
+ Jitsi options at [jitsi.md](./jitsi.md).
+ 1. `preferredDomain`: The domain name of the preferred Jitsi instance. Defaults
+ to `jitsi.riot.im`. This is used whenever a user clicks on the voice/video
+ call buttons - integration managers may use a different domain.
+1. `enable_presence_by_hs_url`: The property key should be the URL of the homeserver
+ and its value defines whether to enable/disable the presence status display
+ from that homeserver. If no options are configured, presence is shown for all
+ homeservers.
+1. `disable_guests`: Disables guest access tokens and auto-guest registrations.
+ Defaults to false (guests are allowed).
+1. `disable_login_language_selector`: Disables the login language selector. Defaults
+ to false (language selector is shown).
+1. `disable_3pid_login`: Disables 3rd party identity options on login and registration form
+ Defaults to false (3rd party identity options are shown).
+1. `default_federate`: Default option for room federation when creating a room
+ Defaults to true (room federation enabled).
+1. `desktopBuilds`: Used to alter promotional links to the desktop app. By default
+ the builds are considered available and accessible from https://element.io. This
+ config option is typically used in the context of encouraging encrypted message
+ search capabilities (Seshat). All the options listed below are required if this
+ option is specified.
+ 1. `available`: When false, the desktop app will not be promoted to the user.
+ 1. `logo`: An HTTP URL to the avatar for the desktop build. Should be 24x24, ideally
+ an SVG.
+ 1. `url`: An HTTP URL for where to send the user to download the desktop build.
+
+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
+appear in some websites like Facebook, and indeed Element itself. This has to be
+static in the HTML and an absolute URL (and HTTP rather than HTTPS), so it's
+not possible for this to be an option in config.json. If you'd like to change
+it, you can build Element, but run
+`RIOT_OG_IMAGE_URL="http://example.com/logo.png" yarn build`.
+Alternatively, you can edit the `og:image` meta tag in `index.html` directly
+each time you download a new version of Element.
+
+Identity servers
+================
+
+The identity server is used for inviting other users to a room via third party
+identifiers like emails and phone numbers. It is not used to store your password
+or account information.
+
+As of Element 1.4.0, all identity server functions are optional and you are
+prompted to agree to terms before data is sent to the identity server.
+
+Element will check multiple sources when looking for an identity server to use in
+the following order of preference:
+
+1. The identity server set in the user's account data
+ * For a new user, no value is present in their account data. It is only set
+ if the user visits Settings and manually changes their identity server.
+2. The identity server provided by the `.well-known` lookup that occurred at
+ login
+3. The identity server provided by the Riot config file
+
+If none of these sources have an identity server set, then Element will prompt the
+user to set an identity server first when attempting to use features that
+require one.
+
+Currently, the only two public identity servers are https://vector.im and
+https://matrix.org, however in the future identity servers will be
+decentralised.
+
+Desktop app configuration
+=========================
+
+See https://github.com/vector-im/riot-desktop#user-specified-configjson
+
+UI Features
+===========
+
+Parts of the UI can be disabled using UI features. These are settings which appear
+under `settingDefaults` and can only be `true` (default) or `false`. When `false`,
+parts of the UI relating to that feature will be disabled regardless of the user's
+preferences.
+
+Currently, the following UI feature flags are supported:
+
+* `UIFeature.urlPreviews` - Whether URL previews are enabled across the entire application.
+* `UIFeature.feedback` - Whether prompts to supply feedback are shown.
+* `UIFeature.voip` - Whether or not VoIP is shown readily to the user. When disabled,
+ Jitsi widgets will still work though they cannot easily be added.
+* `UIFeature.widgets` - Whether or not widgets will be shown.
+* `UIFeature.flair` - Whether or not community flair is shown in rooms.
+* `UIFeature.communities` - Whether or not to show any UI related to communities. Implicitly
+ disables `UIFeature.flair` when disabled.
+* `UIFeature.advancedSettings` - Whether or not sections titled "advanced" in room and
+ user settings are shown to the user.
+* `UIFeature.shareQrCode` - Whether or not the QR code on the share room/event dialog
+ is shown.
+* `UIFeature.shareSocial` - Whether or not the social icons on the share room/event dialog
+ are shown.
+* `UIFeature.identityServer` - Whether or not functionality requiring an identity server
+ is shown. When disabled, the user will not be able to interact with the identity
+ server (sharing email addresses, 3PID invites, etc).
+* `UIFeature.thirdPartyId` - Whether or not UI relating to third party identifiers (3PIDs)
+ is shown. Typically this is considered "contact information" on the homeserver, and is
+ not directly related to the identity server.
+* `UIFeature.registration` - Whether or not the registration page is accessible. Typically
+ useful if accounts are managed externally.
+* `UIFeature.passwordReset` - Whether or not the password reset page is accessible. Typically
+ useful if accounts are managed externally.
+* `UIFeature.deactivate` - Whether or not the deactivate account button is accessible. Typically
+ useful if accounts are managed externally.
+* `UIFeature.advancedEncryption` - Whether or not advanced encryption options are shown to the
+ user.
diff --git a/docs/customisations.md b/docs/customisations.md
new file mode 100644
index 0000000..2c36b54
--- /dev/null
+++ b/docs/customisations.md
@@ -0,0 +1,34 @@
+# Customisations
+
+Element Web and the React SDK support "customisation points" that can be used to
+easily add custom logic specific to a particular deployment of Element Web.
+
+An example of this is the [security customisations
+module](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/customisations/Security.ts).
+This module in the React SDK only defines some empty functions and their types:
+it does not do anything by default.
+
+To make use of these customisation points, you will first need to fork Element
+Web so that you can add your own code. Even though the default module is part of
+the React SDK, you can still override it from the Element Web layer:
+
+1. Copy the default customisation module to
+ `element-web/src/customisations/YourNameSecurity.ts`
+2. Edit customisations points and make sure export the ones you actually want to
+ activate
+3. Tweak the Element build process to use the customised module instead of the
+ default by adding this to end of the `plugins` array in `webpack.config.js`:
+
+```js
+new webpack.NormalModuleReplacementPlugin(
+ /src\/customisations\/Security.ts/,
+ path.resolve(__dirname, 'src/customisations/YourNameSecurity.ts'),
+),
+```
+
+If we add more customisation modules in the future, we'll likely improve these
+steps to remove the need for build changes like the above.
+
+By isolating customisations to their own module, this approach should remove the
+chance of merge conflicts when updating your fork, and thus simplify ongoing
+maintenance.
diff --git a/docs/e2ee.md b/docs/e2ee.md
new file mode 100644
index 0000000..5e7d505
--- /dev/null
+++ b/docs/e2ee.md
@@ -0,0 +1,63 @@
+# End to end encryption by default
+
+By default, Element will create encrypted DM rooms if the user you are chatting with has keys uploaded on their account.
+For private room creation, Element will default to encryption on but give you the choice to opt-out.
+
+## Disabling encryption by default
+
+Set the following on your homeserver's
+`/.well-known/matrix/client` config:
+
+```json
+{
+ "io.element.e2ee": {
+ "default": false
+ }
+}
+```
+
+# Secure backup
+
+By default, Element strongly encourages (but does not require) users to set up
+Secure Backup so that cross-signing identity key and message keys can be
+recovered in case of a disaster where you lose access to all active devices.
+
+## Requiring secure backup
+
+To require Secure Backup to be configured before Element can be used, set the
+following on your homeserver's `/.well-known/matrix/client` config:
+
+```json
+{
+ "io.element.e2ee": {
+ "secure_backup_required": true
+ }
+}
+```
+
+## Preferring setup methods
+
+By default, Element offers users a choice of a random key or user-chosen
+passphrase when setting up Secure Backup. If a homeserver admin would like to
+only offer one of these, you can signal this via the
+`/.well-known/matrix/client` config, for example:
+
+```json
+{
+ "io.element.e2ee": {
+ "secure_backup_setup_methods": ["passphrase"]
+ }
+}
+```
+
+The field `secure_backup_setup_methods` is an array listing the methods the
+client should display. Supported values currently include `key` and
+`passphrase`. If the `secure_backup_setup_methods` field is not present or
+exists but does not contain any supported methods, Element will fallback to the
+default value of: `["key", "passphrase"]`.
+
+# Compatibility
+
+The settings above were first proposed under a `im.vector.riot.e2ee` key, which
+is now deprecated. Element will check for either key, preferring
+`io.element.e2ee` if both exist.
diff --git a/docs/feature-flags.md b/docs/feature-flags.md
new file mode 100644
index 0000000..1e7e5cc
--- /dev/null
+++ b/docs/feature-flags.md
@@ -0,0 +1,107 @@
+# Feature flags
+
+When developing new features for Element, we use feature flags to give us more
+flexibility and control over when and where those features are enabled.
+
+For example, flags make the following things possible:
+
+* Extended testing of a feature via labs on develop
+* Enabling features when ready instead of the first moment the code is released
+* Testing a feature with a specific set of users (by enabling only on a specific
+ Element instance)
+
+The size of the feature controlled by a feature flag may vary widely: it could
+be a large project like reactions or a smaller change to an existing algorithm.
+A large project might use several feature flags if it's useful to control the
+deployment of different portions independently.
+
+Everyone involved in a feature (engineering, design, product, reviewers) should
+think about its deployment plan up front as best as possible so we can have the
+right feature flags in place from the start.
+
+## Interaction with spec process
+
+Historically, we have often used feature flags to guard client features that
+depend on unstable spec features. Unfortunately, there was never clear agreement
+about how long such a flag should live for, when it should be removed, etc.
+
+Under the [new spec
+process](https://github.com/matrix-org/matrix-doc/pull/2324), server-side
+unstable features can be used by clients and enabled by default as long as
+clients commit to doing the associated clean up work once a feature stabilises.
+
+## Starting work on a feature
+
+When starting work on a feature, we should create a matching feature flag:
+
+1. Add a new
+ [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
+ of the form:
+```js
+ "feature_cats": {
+ isFeature: true,
+ displayName: _td("Adds cats everywhere"),
+ supportedLevels: LEVELS_FEATURE,
+ default: false,
+ },
+```
+2. Check whether the feature is enabled as appropriate:
+```js
+ SettingsStore.getValue("feature_cats")
+```
+3. Document the feature in the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
+
+With these steps completed, the feature is disabled by default, but can be
+enabled on develop and nightly by interested users for testing.
+
+Different features may have different deployment plans for when to enable where.
+The following lists a few common options.
+
+## Enabling by default on develop and nightly
+
+Set the feature to `true` in the
+[develop](https://github.com/vector-im/element-web/blob/develop/element.io/develop/config.json)
+and
+[nightly](https://github.com/vector-im/element-desktop/blob/develop/element.io/nightly/config.json)
+configs:
+
+```json
+ "features": {
+ "feature_cats": true
+ },
+```
+
+## Enabling by default on staging, app, and release
+
+Set the feature to `true` in the
+[staging / app](https://github.com/vector-im/element-web/blob/develop/element.io/app/config.json)
+and
+[release](https://github.com/vector-im/element-desktop/blob/develop/element.io/release/config.json)
+configs.
+
+**Note:** The above will only enable the feature for https://app.element.io and official Element
+Desktop builds. It will not be enabled for self-hosted installed, custom desktop builds, etc. To
+cover these cases, change the setting's `default` in `Settings.ts` to `true`.
+
+## Feature deployed successfully
+
+Once we're confident that a feature is working well, we should remove or convert the flag.
+
+If the feature is meant to be turned off/on by the user:
+1. Remove `isFeature` from the [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
+2. Change the `default` to `true` (if desired).
+3. Remove the feature from the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
+4. Celebrate! 🥳
+
+If the feature is meant to be forced on (non-configurable):
+1. Remove the [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
+2. Remove all `getValue` lines that test for the feature.
+3. Remove the feature from the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
+4. If applicable, remove the feature state from
+ [develop](https://github.com/vector-im/element-web/blob/develop/element.io/develop/config.json),
+ [nightly](https://github.com/vector-im/element-desktop/blob/develop/element.io/nightly/config.json),
+ [staging / app](https://github.com/vector-im/element-web/blob/develop/element.io/app/config.json),
+ and
+ [release](https://github.com/vector-im/element-desktop/blob/develop/element.io/release/config.json)
+ configs
+5. Celebrate! 🥳
diff --git a/docs/jitsi-dev.md b/docs/jitsi-dev.md
new file mode 100644
index 0000000..d685a22
--- /dev/null
+++ b/docs/jitsi-dev.md
@@ -0,0 +1,100 @@
+# Jitsi wrapper developer docs
+
+*If you're looking for information on how to set up Jitsi in your Element, see
+[jitsi.md](./jitsi.md) instead.*
+
+These docs are for developers wondering how the different conference buttons work
+within Element. If you're not a developer, you're probably looking for [jitsi.md](./jitsi.md).
+
+## Brief introduction to widgets
+
+Widgets are embedded web applications in a room, controlled through state events, and
+have a `url` property. They are largely specified by [MSC1236](https://github.com/matrix-org/matrix-doc/issues/1236)
+and have extensions proposed under [MSC1286](https://github.com/matrix-org/matrix-doc/issues/1286).
+
+The `url` is typically something we shove into an iframe with sandboxing (see `AppTile`
+in the react-sdk), though for some widgets special integration can be done. v2 widgets
+have a `data` object which helps achieve that special integration, though v1 widgets
+are best iframed and left alone.
+
+Widgets have a `postMessage` API they can use to interact with Element, which also allows
+Element to interact with them. Typically this is most used by the sticker picker (an
+account-level widget), though widgets like the Jitsi widget will request permissions to
+get 'stuck' into the room list during a conference.
+
+Widgets can be added with the `/addwidget ` command.
+
+## Brief introduction to integration managers
+
+Integration managers (like Scalar and Dimension) are accessible via the 4 squares in
+the top right of the room and provide a simple UI over top of bridges, bots, and other
+stuff to plug into a room. They are a separate service to Element and are thus iframed
+in a dialog as well. They also have a `postMessage` API they can use to interact with
+the client to create things like widgets, give permissions to bridges, and generally
+set everything up for the integration the user is working with.
+
+Integration managers do not currently have a spec associated with them, though efforts
+are underway in [MSC1286](https://github.com/matrix-org/matrix-doc/issues/1286).
+
+## Widgets configured by integration managers
+
+Integration managers will often "wrap" a widget by using a widget `url` which points
+to the integration manager instead of to where the user requested the widget be. For
+example, a custom widget added in an integration manager for https://matrix.org will
+end up creating a widget with a URL like `https://integrations.example.org?widgetUrl=https%3A%2F%2Fmatrix.org`.
+
+The integration manager's wrapper will typically have another iframe to isolate the
+widget from the client by yet another layer. The wrapper often provides other functionality
+which might not be available on the embedded site, such as a fullscreen button or the
+communication layer with the client (all widgets *should* be talking to the client
+over `postMessage`, even if they aren't going to be using the widget APIs).
+
+Widgets added with the `/addwidget` command will *not* be wrapped as they are not going
+through an integration manager. The widgets themselves *should* also work outside of
+Element. Widgets currently have a "pop out" button which opens them in a new tab and
+therefore have no connection back to Riot.
+
+## Jitsi widgets from integration managers
+
+Integration managers will create an entire widget event and send it over `postMessage`
+for the client to add to the room. This means that the integration manager gets to
+decide the conference domain, conference name, and other aspects of the widget. As
+a result, users can end up with a Jitsi widget that does not use the same conference
+server they specified in their config.json - this is expected.
+
+Some integration managers allow the user to change the conference name while others
+will generate one for the user.
+
+## Jitsi widgets generated by Element itself
+
+When the user clicks on the call buttons by the composer, the integration manager is
+not involved in the slightest. Instead, Element itself generates a widget event, this time
+using the config.json parameters, and publishes that to the room. If there's only two
+people in the room, a plain WebRTC call is made instead of using a widget at all - these
+are defined in the Matrix specification.
+
+The Jitsi widget created by Element uses a local `jitsi.html` wrapper (or one hosted by
+`https://app.element.io` for desktop users or those on non-https domains) as the widget
+`url`. The wrapper has some basic functionality for talking to Element to ensure the
+required `postMessage` calls are fulfilled.
+
+**Note**: Per [jitsi.md](./jitsi.md) the `preferredDomain` can also come from the server's
+client .well-known data.
+
+## The Jitsi wrapper in Element
+
+Whenever Element sees a Jitsi widget, it ditches the `url` and instead replaces it with
+its local wrapper, much like what it would do when creating a widget. However, instead
+of using one from [app.element.io](https://app.element.io), it will use one local to the client instead.
+
+The wrapper is used to provide a consistent experience to users, as well as being faster
+and less risky to load. The local wrapper URL is populated with the conference information
+from the original widget (which could be a v1 or v2 widget) so the user joins the right
+call.
+
+Critically, when the widget URL is reconstructed it does *not* take into account the
+config.json's `preferredDomain` for Jitsi. If it did this, users would end up on different
+conference servers and therefore different calls entirely.
+
+**Note**: Per [jitsi.md](./jitsi.md) the `preferredDomain` can also come from the server's
+client .well-known data.
diff --git a/docs/jitsi.md b/docs/jitsi.md
new file mode 100644
index 0000000..d289cc3
--- /dev/null
+++ b/docs/jitsi.md
@@ -0,0 +1,73 @@
+# Jitsi in Element
+
+Element uses [Jitsi](https://jitsi.org/) for conference calls, which provides options for
+self-hosting your own server and supports most major platforms.
+
+1:1 calls, or calls between you and one other person, do not use Jitsi. Instead, those
+calls work directly between clients or via TURN servers configured on the respective
+homeservers.
+
+There's a number of ways to start a Jitsi call: the easiest way is to click on the
+voice or video buttons near the message composer in a room with more than 2 people. This
+will add a Jitsi widget which allows anyone in the room to join.
+
+Integration managers (available through the 4 squares in the top right of the room) may
+provide their own approaches for adding Jitsi widgets.
+
+## Configuring Element to use your self-hosted Jitsi server
+
+Element will use the Jitsi server that is embedded in the widget, even if it is not the
+one you configured. This is because conference calls must be held on a single Jitsi
+server and cannot be split over multiple servers.
+
+However, you can configure Element to *start* a conference with your Jitsi server by adding
+to your [config](./config.md) the following:
+```json
+{
+ "jitsi": {
+ "preferredDomain": "your.jitsi.example.org"
+ }
+}
+```
+
+The default is `jitsi.riot.im` (a free service offered by Element), and the demo site for
+Jitsi uses `meet.jit.si` (also free).
+
+Once you've applied the config change, refresh Element and press the call button. This
+should start a new conference on your Jitsi server.
+
+**Note**: The widget URL will point to a `jitsi.html` page hosted by Element. The Jitsi
+domain will appear later in the URL as a configuration parameter.
+
+**Hint**: If you want everyone on your homeserver to use the same Jitsi server by
+default, and you are using riot-web 1.6 or newer, set the following on your homeserver's
+`/.well-known/matrix/client` config:
+```json
+{
+ "im.vector.riot.jitsi": {
+ "preferredDomain": "your.jitsi.example.org"
+ }
+}
+```
+
+## Element Android
+
+Element Android (1.0.5+) supports custom Jitsi domains, similar to Element Web above.
+
+1:1 calls, or calls between you and one other person, do not use Jitsi. Instead, those
+calls work directly between clients or via TURN servers configured on the respective
+homeservers.
+
+For rooms with more than 2 joined members, when creating a Jitsi conference via call/video buttons of the toolbar (not via integration manager), Element Android will create a widget using the [wrapper](https://github.com/vector-im/element-web/blob/develop/docs/jitsi-dev.md) hosted on `app.element.io`.
+The domain used is the one specified by the `/.well-known/matrix/client` endpoint, and if not present it uses the fallback defined in `config.xml` (jitsi.riot.im)
+
+For active Jitsi widgets in the room, a native Jitsi widget UI is created and points to the instance specified in the `domain` key of the widget content data.
+
+Element Android manages allowed native widgets permissions a bit differently than web widgets (as the data shared are different and never shared with the widget URL). For Jitsi widgets, permissions are requested only once per domain (consent saved in account data).
+
+## Element iOS
+
+Currently the Element mobile apps do not support custom Jitsi servers and will instead
+use the default `jitsi.riot.im` server. When users on the mobile apps join the call,
+they will be joining a different conference which has the same name, but not the same
+participants. This is a known bug and which needs to be fixed.
diff --git a/docs/labs.md b/docs/labs.md
new file mode 100644
index 0000000..a3130c2
--- /dev/null
+++ b/docs/labs.md
@@ -0,0 +1,113 @@
+# Labs features
+
+If Labs is enabled in the [Element config](config.md), you can enable some of these features by going
+to `Settings->Labs`. This list is non-exhaustive and subject to change, chat in
+[#element-web:matrix.org](https://matrix.to/#/#element-web:matrix.org) for more information.
+
+**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be
+dropped. Ask in the room if you are unclear about any details here.**
+
+## New spinner design (`feature_new_spinner`)
+
+Replaces the old spinner image with a new, svg-based one featuring a sleeker design.
+
+## Message pinning (`feature_pinning`)
+
+Allows you to pin messages in the room. To pin a message, use the 3 dots to the right of the message
+and select "Pin".
+
+## Custom status (`feature_custom_status`)
+
+An experimental approach for supporting custom status messages across DMs. To set a status, click on
+your avatar next to the message composer.
+
+## Custom tags (`feature_custom_tags`)
+
+An experimental approach for dealing with custom tags. Custom tags will appear in the bottom portion
+of the community filter panel.
+
+Setting custom tags is not supported by Element.
+
+## Render simple counters in room header (`feature_state_counters`)
+
+Allows rendering of labelled counters above the message list.
+
+Once enabled, send a custom state event to a room to set values:
+
+1. In a room, type `/devtools` to bring up the devtools interface
+2. Click "Send Custom Event"
+3. Toggle from "Event" to "State Event"
+4. Set the event type to: `re.jki.counter` and give it a unique key
+5. Specify the content in the following format:
+
+```
+{
+ "link": "",
+ "severity": "normal",
+ "title": "my counter",
+ "value": 0
+}
+```
+
+That's it. Now should see your new counter under the header.
+
+## Multiple integration managers (`feature_many_integration_managers`)
+
+Exposes a way to access all the integration managers known to Element. This is an implementation of [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957).
+
+## New ways to ignore people (`feature_mjolnir`)
+
+When enabled, a new settings tab appears for users to be able to manage their ban lists.
+This is a different kind of ignoring where the ignored user's messages still get rendered,
+but are hidden by default.
+
+Ban lists are rooms within Matrix, proposed as [MSC2313](https://github.com/matrix-org/matrix-doc/pull/2313).
+[Mjolnir](https://github.com/matrix-org/mjolnir) is a set of moderation tools which support
+ban lists.
+
+## Verifications in DMs (`feature_dm_verification`)
+
+An implementation of [MSC2241](https://github.com/matrix-org/matrix-doc/pull/2241). When enabled, verification might not work with devices which don't support MSC2241.
+
+This also includes a new implementation of the user & member info panel, designed to share more code between showing community members & room members. Built on top of this new panel is also a new UX for verification from the member panel.
+
+The setting will be removed in a future release, enabling it non-optionally for
+all users.
+
+## Bridge info tab (`feature_bridge_state`)
+
+Adds a "Bridge Info" tab to the Room Settings dialog, if a compatible bridge is
+present in the room. The Bridge info tab pulls information from the `m.bridge` state event ([MSC2346](https://github.com/matrix-org/matrix-doc/pull/2346)). Since the feature is based upon a MSC, most
+bridges are not expected to be compatible, and users should not rely on this
+tab as the single source of truth just yet.
+
+## Presence indicator in room list (`feature_presence_in_room_list`)
+
+This adds a presence indicator in the room list next to DM rooms where the other
+person is online.
+
+## Custom themes (`feature_custom_themes`)
+
+Custom themes are possible through Element's [theme support](./theming.md), though
+normally these themes need to be defined in the config for Element. This labs flag
+adds an ability for end users to add themes themselves by using a URL to the JSON
+theme definition.
+
+For some sample themes, check out [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes).
+
+## Message preview tweaks
+
+To enable message previews for reactions in all rooms, enable `feature_roomlist_preview_reactions_all`.
+To enable message previews for reactions in DMs, enable `feature_roomlist_preview_reactions_dms`, ignored when it is enabled for all rooms.
+
+## Communities v2 prototyping (`feature_communities_v2_prototypes`) [In Development]
+
+**This is a highly experimental implementation for parts of the communities v2 experience.** It does not
+represent what communities v2 will look/feel like and can/will change without notice. Due to the early
+stages this feature is in and the requirement for a compatible homeserver, we will not be accepting issues
+or feedback for this functionality at this time.
+
+## Dehydrated devices (`feature_dehydration`)
+
+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).
diff --git a/docs/memory-profiles-and-leaks.md b/docs/memory-profiles-and-leaks.md
new file mode 100644
index 0000000..49acd0f
--- /dev/null
+++ b/docs/memory-profiles-and-leaks.md
@@ -0,0 +1,53 @@
+## Memory leaks
+
+Element usually emits slow behaviour just before it is about to crash. Getting a
+memory snapshot (below) just before that happens is ideal in figuring out what
+is going wrong.
+
+Common symptoms are clicking on a room and it feels like the tab froze and scrolling
+becoming jumpy/staggered.
+
+If you receive a white screen (electron) or the chrome crash page, it is likely
+run out of memory and it is too late for a memory profile. Please do report when
+this happens though so we can try and narrow down what might have gone wrong.
+
+## Memory profiles/snapshots
+
+When investigating memory leaks/problems it's usually important to compare snapshots
+from different points in the Element session lifecycle. Most importantly, a snapshot
+to establish the baseline or "normal" memory usage is useful. Taking a snapshot
+roughly 30-60 minutes after starting Element is a good time to establish "normal"
+memory usage for the app - anything after that is at risk of hiding the memory leak
+and anything newer is still in the warmup stages of the app.
+
+**Memory profiles can contain sensitive information.** If you are submitting a memory
+profile to us for debugging purposes, please pick the appropriate Element developer and
+send them over an encrypted private message. *Do not share your memory profile in
+public channels or with people you do not trust.*
+
+### Taking a memory profile (Firefox)
+
+1. Press CTRL+SHIFT+I (I as in eye).
+2. Click the Memory tab.
+3. Press the camera icon in the top left of the pane.
+4. Wait a bit (coffee is a good option).
+5. When the save button appears on the left side of the panel, click it to save the
+ profile locally.
+6. Compress the file (gzip or regular zip) to make the file smaller.
+7. Send the compressed file to whoever asked for it (if you trust them).
+
+While the profile is in progress, the tab might be frozen or unresponsive.
+
+### Taking a memory profile (Chrome/Desktop)
+
+1. Press CTRL+SHIFT+I (I as in eye).
+2. Click the Memory tab.
+3. Select "Heap Snapshot" and the app.element.io VM instance (not the indexeddb one).
+4. Click "Take Snapshot".
+5. Wait a bit (coffee is a good option).
+6. When the save button appears on the left side of the panel, click it to save the
+ profile locally.
+7. Compress the file (gzip or regular zip) to make the file smaller.
+8. Send the compressed file to whoever asked for it (if you trust them).
+
+While the profile is in progress, the tab might be frozen or unresponsive.
diff --git a/docs/native-node-modules.md b/docs/native-node-modules.md
new file mode 100644
index 0000000..850573e
--- /dev/null
+++ b/docs/native-node-modules.md
@@ -0,0 +1,60 @@
+# Native Node Modules
+
+For some features, the desktop version of Element can make use of native Node
+modules. These allow Riot to integrate with the desktop in ways that a browser
+cannot.
+
+While native modules enable powerful new features, they must be complied for
+each operating system. For official Element releases, we will always build these
+modules from source to ensure we can trust the compiled output. In the future,
+we may offer a pre-compiled path for those who want to use these features in a
+custom build of Element without installing the various build tools required.
+
+Do note that compiling a module for a particular operating system
+(Linux/macOS/Windows) will need to be done on that operating system.
+Cross-compiling from a host OS for a different target OS may be possible, but
+we don't support this flow with Element dependencies at this time.
+
+At the moment, we need to make some changes to the Element release process before
+we can support native Node modules at release time, so these features are
+currently disabled by default until that is resolved. The following sections
+explain the manual steps you can use with a custom build of Element to enable
+these features if you'd like to try them out.
+
+## Adding Seshat for search in E2E encrypted rooms
+
+Seshat is a native Node module that adds support for local event indexing and
+full text search in E2E encrypted rooms.
+
+Since Seshat is written in Rust, the Rust compiler and related tools need to be
+installed before installing Seshat itself. To install Rust please consult the
+official Rust [documentation](https://www.rust-lang.org/tools/install).
+
+Seshat also depends on the SQLCipher library to store its data in encrypted form
+on disk. You'll need to install it via your OS package manager.
+
+After installing the Rust compiler and SQLCipher, Seshat support can be added
+using yarn inside the `electron_app/` directory:
+
+ yarn add matrix-seshat
+
+You will have to rebuild the native libraries against electron's version of
+of node rather than your system node, using the `electron-build-env` tool.
+This is also needed to when pulling in changes to Seshat using `yarn link`.
+Again from the `electron_app/` directory:
+
+ yarn add electron-build-env
+
+Recompiling Seshat itself can be done like so:
+
+ yarn run electron-build-env -- --electron 6.1.1 -- neon build matrix-seshat --release
+
+Please make sure to include all the `--` as well as the `--release` command line
+switch at the end. Modify your electron version accordingly depending on the
+version that is installed on your system.
+
+After this is done the Electron version of Element can be run from the main folder
+as usual using:
+
+ yarn electron
+
diff --git a/docs/review.md b/docs/review.md
new file mode 100644
index 0000000..16d6c24
--- /dev/null
+++ b/docs/review.md
@@ -0,0 +1,84 @@
+# Review Guidelines
+
+The following summarises review guidelines that we follow for pull requests in
+Element Web and other supporting repos. These are just guidelines (not strict
+rules) and may be updated over time.
+
+## Code Review
+
+When reviewing code, here are some things we look for and also things we avoid:
+
+### We review for
+
+* Correctness
+* Performance
+* Accessibility
+* Security
+* Quality via automated and manual testing
+* Comments and documentation where needed
+* Sharing knowledge of different areas among the team
+* Ensuring it's something we're comfortable maintaining for the long term
+* Progress indicators and local echo where appropriate with network activity
+
+### We should avoid
+
+* Style nits that are already handled by the linter
+* Dramatically increasing scope
+
+### Good practices
+
+* Use empathetic language
+ * See also [Mindful Communication in Code
+ Reviews](https://kickstarter.engineering/a-guide-to-mindful-communication-in-code-reviews-48aab5282e5e)
+ and [How to Do Code Reviews Like a Human](https://mtlynch.io/human-code-reviews-1/)
+* Authors should prefer smaller commits for easier reviewing and bisection
+* Reviewers should be explicit about required versus optional changes
+ * Reviews are conversations and the PR author should feel comfortable
+ discussing and pushing back on changes before making them
+* Reviewers are encouraged to ask for tests where they believe it is reasonable
+* Core team should lead by example through their tone and language
+* Take the time to thank and point out good code changes
+* Using softer language like "please" and "what do you think?" goes a long way
+ towards making others feel like colleagues working towards a common goal
+
+### Workflow
+
+* Authors should request review from the riot-web team by default (if someone on
+ the team is clearly the expert in an area, a direct review request to them may
+ be more appropriate)
+* Reviewers should remove the team review request and request review from
+ themselves when starting a review to avoid double review
+* If there are multiple related PRs authors should reference each of the PRs in
+ the others before requesting review. Reviewers might start reviewing from
+ different places and could miss other required PRs.
+* Avoid force pushing to a PR after the first round of review
+* Use the GitHub default of merge commits when landing (avoid alternate options
+ like squash or rebase)
+* PR author merges after review (assuming they have write access)
+* Assign issues only when in progress to indicate to others what can be picked
+ up
+
+## Design and Product Review
+
+We want to ensure that all changes to Element fit with our design and product
+vision. We often request review from those teams so they can provide their
+perspective.
+
+In more detail, our usual process for changes that affect the UI or alter user
+functionality is:
+
+* For changes that will go live when merged, always flag Design and Product
+ teams as appropriate
+* For changes guarded by a feature flag, Design and Product review is not
+ required (though may still be useful) since we can continue tweaking
+
+As it can be difficult to review design work from looking at just the changed
+files in a PR, authors should be prepared for Design and / or Product teams to
+request a link to an ad-hoc build of Element (hosted anywhere) that can be used for
+the review. In the future, we [hope to automate
+this](https://github.com/vector-im/element-web/issues/12624) for every PR.
+
+Before starting work on a feature, it's best to ensure your plan aligns well
+with our vision for Element. Please chat with the team in
+[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) before you
+start so we can ensure it's something we'd be willing to merge.
diff --git a/docs/skinning thoughts.md b/docs/skinning thoughts.md
new file mode 100644
index 0000000..46f9948
--- /dev/null
+++ b/docs/skinning thoughts.md
@@ -0,0 +1,68 @@
+== Skinning refactor ==
+
+matrix-react-sdk
+ - base images
+ - base CSS
+ - all the components needed to build a workable app (including the top layer)
+
+element-web: the Element skin
+ - Element-specific classes (e.g. login header/footer)
+ - Element-specific themes
+ - light
+ - dark
+
+i.e. the only things which should go into element-web are bits which apply vector-specific skinning
+specifically "Stuff that any other brand would not want to use. (e.g. Element logos, links, T&Cs)"
+ - Questions:
+ - Electron app? (should probably be a separate repo in its own right? but might as well go here for now)
+ - index.html & index.js? (should be in matrix-react-sdk, given the SDK is useless without them?)
+
+ideally matrix-react-sdk itself should ship with a default skin which actually works built in.
+
+status skin (can go in the same app for now)
+ - has status theme
+ - which inherits from Element light theme
+ - how do we share graphics between skins?
+ - shove them into react-sdk, or...
+ - guess we do ../../vector/img
+ - this means keeping the skin name in the images (unless /img is a shortcut to the right skin's images)
+
+out of scope:
+ - making the components more independent, so they can be used in isolation.
+ - that said, the bits which should probably be used by being embeded into a different app:
+ - login/reg
+ - RoomView + RoomSettings
+ - MessageComposer
+ - RoomList
+ - MemberList
+ - MemberInfo
+ - Voip UI
+ - UserSettings
+ - sharing different js-sdks between the different isolated modules
+
+other changes:
+ - how do we handle i18n?
+ - each skin should really be its own i18n project. As long as all the commonality stuff is in matrix-react-sdk this shouldn't be too bad.
+ - ability to associate components with a given skin
+ - skins/vector/src <-- components
+ - skins/vector/css
+ - skins/vector/img
+ - skins/vector/fonts
+ - gather together themes (per skin) into a single place too
+ - skins/vector/themes/foo/css
+ - skins/vector/themes/foo/img
+ - skins/vector/themes/foo/fonts
+ - ideally riot-web would contain almost nothing but skins/vector directory.
+ - ability to entirely replace CSS rather than override it for a given theme
+ - e.g. if we replace `Login.js` with `StatusLogin.js`, then we should similarly be able to replace `_Login.scss` with `_StatusLogin.scss`.
+
+random thoughts;
+ - should we be able to change the entire skin at runtime (more like wordpress) - to the extent of replacing entire components?
+ - might pose security issues if a theme can be swapped out to replace MatrixChat or other fundamental functionality at runtime
+ - if so, perhaps skins & themes should converge...
+
+-----------------
+
+Immediate plan for Status:
+ * Implement it as a theme for the Element skin
+ * Ideally move skins to a sensible level (possibly even including src?)
diff --git a/docs/theming.md b/docs/theming.md
new file mode 100644
index 0000000..9b90fb2
--- /dev/null
+++ b/docs/theming.md
@@ -0,0 +1,98 @@
+Theming Element
+============
+
+Themes are a very basic way of providing simple alternative look & feels to the
+Element app via CSS & custom imagery.
+
+They are *NOT* co be confused with 'skins', which describe apps which sit on top
+of matrix-react-sdk - e.g. in theory Element itself is a react-sdk skin.
+As of Jan 2017, skins are not fully supported; Element is the only available skin.
+
+To define a theme for Element:
+
+ 1. Pick a name, e.g. `teal`. at time of writing we have `light` and `dark`.
+ 2. Fork `src/skins/vector/css/themes/dark.scss` to be `teal.scss`
+ 3. Fork `src/skins/vector/css/themes/_base.scss` to be `_teal.scss`
+ 4. Override variables in `_teal.scss` as desired. You may wish to delete ones
+ which don't differ from `_base.scss`, to make it clear which are being
+ overridden. If every single colour is being changed (as per `_dark.scss`)
+ then you might as well keep them all.
+ 5. Add the theme to the list of entrypoints in webpack.config.js
+ 6. Add the theme to the list of themes in matrix-react-sdk's UserSettings.js
+ 7. Sit back and admire your handywork.
+
+In future, the assets for a theme will probably be gathered together into a
+single directory tree.
+
+Custom Themes
+=============
+
+Themes derived from the built in themes may also be defined in settings.
+
+To avoid name collisions, the internal name of a theme is
+`custom-${theme.name}`. So if you want to set the custom theme below as the
+default theme, you would use `default_theme: "custom-Electric Blue"`.
+
+eg. in config.json:
+
+```
+"settingDefaults": {
+ "custom_themes": [
+ {
+ "name": "Electric Blue",
+ "is_dark": false,
+ "fonts": {
+ "faces": [
+ {
+ "font-family": "Inter",
+ "src": [{"url": "/fonts/Inter.ttf", "format": "ttf"}]
+ }
+ ],
+ "general": "Inter, sans",
+ "monospace": "'Courier New'"
+ },
+ "colors": {
+ "accent-color": "#3596fc",
+ "primary-color": "#368bd6",
+ "warning-color": "#ff4b55",
+ "sidebar-color": "#27303a",
+ "roomlist-background-color": "#f3f8fd",
+ "roomlist-text-color": "#2e2f32",
+ "roomlist-text-secondary-color": "#61708b",
+ "roomlist-highlights-color": "#ffffff",
+ "roomlist-separator-color": "#e3e8f0",
+ "timeline-background-color": "#ffffff",
+ "timeline-text-color": "#2e2f32",
+ "timeline-text-secondary-color": "#61708b",
+ "timeline-highlights-color": "#f3f8fd",
+ "username-colors": ["#ff0000", ...]
+ "avatar-background-colors": ["#cc0000", ...]
+ }
+ }, {
+ "name": "Deep Purple",
+ "is_dark": true,
+ "colors": {
+ "accent-color": "#6503b3",
+ "primary-color": "#368bd6",
+ "warning-color": "#b30356",
+ "sidebar-color": "#15171B",
+ "roomlist-background-color": "#22262E",
+ "roomlist-text-color": "#A1B2D1",
+ "roomlist-text-secondary-color": "#EDF3FF",
+ "roomlist-highlights-color": "#343A46",
+ "roomlist-separator-color": "#a1b2d1",
+ "timeline-background-color": "#181b21",
+ "timeline-text-color": "#EDF3FF",
+ "timeline-text-secondary-color": "#A1B2D1",
+ "timeline-highlights-color": "#22262E"
+ }
+ }
+ ]
+ }
+```
+
+`username-colors` is expected to contain 8 colors. `avatar-background-colors` is expected to contain 3 colors. Both values are optional and have fallbacks from the built-in theme.
+
+These are exposed as `--username-colors_0`, ... and `--avatar-background-colors_0`, ... respectively in CSS.
+
+All properties in `fonts` are optional, and will default to the standard Riot fonts.
diff --git a/docs/translating-dev.md b/docs/translating-dev.md
new file mode 100644
index 0000000..1653b8c
--- /dev/null
+++ b/docs/translating-dev.md
@@ -0,0 +1,63 @@
+# How to translate Element (Dev Guide)
+
+## Requirements
+
+- A working [Development Setup](../../#setting-up-a-dev-environment)
+ - Including up-to-date versions of matrix-react-sdk and matrix-js-sdk
+- Latest LTS version of Node.js installed
+- Be able to understand English
+- Be able to understand the language you want to translate Element into
+
+## Translating strings vs. marking strings for translation
+
+Translating strings are done with the `_t()` function found in matrix-react-sdk/lib/languageHandler.js. It is recommended to call this function wherever you introduce a string constant which should be translated. However, translating can not be performed until after the translation system has been initialized. Thus, sometimes translation must be performed at a different location in the source code than where the string is introduced. This breaks some tooling and makes it difficult to find translatable strings. Therefore, there is the alternative `_td()` function which is used to mark strings for translation, without actually performing the translation (which must still be performed separately, and after the translation system has been initialized).
+
+Basically, whenever a translatable string is introduced, you should call either `_t()` immediately OR `_td()` and later `_t()`.
+
+Example:
+```
+// Module-level constant
+const COLORS = {
+ '#f8481c': _td('reddish orange'), // Can't call _t() here yet
+ '#fc2647': _td('pinky red') // Use _td() instead so the text is picked up for translation anyway
+}
+
+// Function that is called some time after i18n has been loaded
+function getColorName(hex) {
+ return _t(COLORS[hex]); // Perform actual translation here
+}
+```
+
+## Adding new strings
+
+ 1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements. Also import `_td` if needed.
+ 1. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
+ 1. Run `yarn i18n` to update ``src/i18n/strings/en_EN.json``
+ 1. If you added a string with a plural, you can add other English plural variants to ``src/i18n/strings/en_EN.json`` (remeber to edit the one in the same project as the source file containing your new translation).
+
+## Editing existing strings
+
+1. Edit every occurrence of the string inside `_t()` and `_td()` in the JSX files.
+1. Run `yarn i18n` to update `src/i18n/strings/en_EN.json`. (Be sure to run this in the same project as the JSX files you just edited.)
+1. Run `yarn prunei18n` to remove the old string from `src/i18n/strings/*.json`.
+
+## Adding variables inside a string.
+
+1. Extend your ``_t()`` call. Instead of ``_t(STRING)`` use ``_t(STRING, {})``
+1. Decide how to name it. Please think about if the person who has to translate it can understand what it does. E.g. using the name 'recipient' is bad, because a translator does not know if it is the name of a person, an email address, a user ID, etc. Rather use e.g. recipientEmailAddress.
+1. Add it to the array in ``_t`` for example ``_t(STRING, {variable: this.variable})``
+1. Add the variable inside the string. The syntax for variables is ``%(variable)s``. Please note the _s_ at the end. The name of the variable has to match the previous used name.
+
+- You can use the special ``count`` variable to choose between multiple versions of the same string, in order to get the correct pluralization. E.g. ``_t('You have %(count)s new messages', { count: 2 })`` would show 'You have 2 new messages', while ``_t('You have %(count)s new messages', { count: 1 })`` would show 'You have one new message' (assuming a singular version of the string has been added to the translation file. See above). Passing in ``count`` is much prefered over having an if-statement choose the correct string to use, because some languages have much more complicated plural rules than english (e.g. they might need a completely different form if there are three things rather than two).
+- If you want to translate text that includes e.g. hyperlinks or other HTML you have to also use tag substitution, e.g. ``_t('Click here!', {}, { 'a': (sub) => {sub} })``. If you don't do the tag substitution you will end up showing literally '' rather than making a hyperlink.
+- You can also use React components with normal variable substitution if you want to insert HTML markup, e.g. ``_t('Your email address is %(emailAddress)s', { emailAddress: {userEmailAddress} })``.
+
+## Things to know/Style Guides
+
+- Do not use `_t()` inside ``getDefaultProps``: the translations aren't loaded when `getDefaultProps` is called, leading to missing translations. Use `_td()` to indicate that `_t()` will be called on the string later.
+- If using translated strings as constants, translated strings can't be in constants loaded at class-load time since the translations won't be loaded. Mark the strings using `_td()` instead and perform the actual translation later.
+- If a string is presented in the UI with punctuation like a full stop, include this in the translation strings, since punctuation varies between languages too.
+- Avoid "translation in parts", i.e. concatenating translated strings or using translated strings in variable substitutions. Context is important for translations, and translating partial strings this way is simply not always possible.
+- Concatenating strings often also introduces an implicit assumption about word order (e.g. that the subject of the sentence comes first), which is incorrect for many languages.
+- Translation 'smell test': If you have a string that does not begin with a capital letter (is not the start of a sentence) or it ends with e.g. ':' or a preposition (e.g. 'to') you should recheck that you are not trying to translate a partial sentence.
+- If you have multiple strings, that are almost identical, except some part (e.g. a word or two) it is still better to translate the full sentence multiple times. It may seem like inefficient repetion, but unlike programming where you try to minimize repetition, translation is much faster if you have many, full, clear, sentences to work with, rather than fewer, but incomplete sentence fragments.
diff --git a/docs/translating.md b/docs/translating.md
new file mode 100644
index 0000000..cdfb48f
--- /dev/null
+++ b/docs/translating.md
@@ -0,0 +1,64 @@
+# How to translate Element
+
+## Requirements
+
+- Web Browser
+- Be able to understand English
+- Be able to understand the language you want to translate Element into
+
+## Step 0: Join #element-translations:matrix.org
+
+1. Come and join https://matrix.to/#/#element-translations:matrix.org
+2. Read scrollback and/or ask if anyone else is working on your language, and co-ordinate if needed. In general little-or-no coordination is needed though :)
+
+## Step 1: Preparing your Weblate Profile
+
+1. Head to https://translate.element.io and register either via Github or email
+2. After registering check if you got an email to verify your account and click the link (if there is none head to step 1.4)
+3. Log into weblate
+4. Head to https://translate.element.io/accounts/profile/ and select the languages you know and maybe another language you know too.
+6. Head to https://translate.element.io/accounts/profile/#subscriptions and select Element Web as Project
+
+## How to check if your language already is being translated
+
+Go to https://translate.element.io/projects/element-web/ and visit the 2 sub-projects.
+If your language is listed go to Step 2a and if not go to Step 2b
+
+## Step 2a: Helping on existing languages.
+
+1. Head to one of the projects listed https://translate.element.io/projects/element-web/
+2. Click on the ``translate`` button on the right side of your language
+3. Fill in the translations in the writeable field. You will see the original English string and the string of your second language above.
+
+Head to the explanations under Steb 2b
+
+## Step 2b: Adding a new language
+
+1. Go to one of the projects listed https://translate.element.io/projects/element-web/
+2. Click the ``Start new translation`` button at the bottom
+3. Select a language
+4. Start translating like in 2a.3
+5. Repeat these steps for the other projects which are listed at the link of step 2b.1
+
+### What means the green button under the text field?
+
+The green button let you save our translations directly. Please only use it if you are 100% sure about that translation. If you do not know a translation please DO NOT click that button. Use the arrows above the translations field and click to the right.
+
+### What means the yellow button under the text field?
+
+The yellow button has to be used if you are unsure about the translation but you have a rough idea. It adds a new suggestion to the string which can than be reviewed by others.
+
+### What are "%(something)s"?
+
+These things are variables that are expanded when displayed by Element. They can be room names, usernames or similar. If you find one, you can move to the right place for your language, but not delete it as the variable will be missing if you do.
+
+A special case is `%(urlStart)s` and `%(urlEnd)s` which are used to mark the beginning of a hyperlink (i.e. `` and ``. You must keep these markers surrounding the equivalent string in your language that needs to be hyperlinked.
+
+### "I want to come back to this string. How?"
+
+You can use inside the translation field "Review needed" checkbox. It will be shown as Strings that need to be reviewed.
+
+
+### Further reading
+
+The official Weblate doc provides some more in-deepth explanation on how to do translations and talks about do and don'ts. You can find it at: https://docs.weblate.org/en/latest/user/translating.html
diff --git a/element.io/README b/element.io/README
new file mode 100644
index 0000000..140a3fc
--- /dev/null
+++ b/element.io/README
@@ -0,0 +1,12 @@
+This directory contains the config files and deployment scripts for the official
+element.io distribution of Element Web.
+
+You probably do not want to build with this config unless you're building the
+official element.io distribution, but these files may be useful if you want to
+inspect the configuration used there.
+
+Element Desktop uses a separate config (see
+https://github.com/vector-im/element-desktop/tree/develop/element.io).
+
+Deployment scripts (such as app/deploy.py) are meant to be run on the web server
+hosting the Element installation.
diff --git a/element.io/app/config.json b/element.io/app/config.json
new file mode 100644
index 0000000..c8867d3
--- /dev/null
+++ b/element.io/app/config.json
@@ -0,0 +1,40 @@
+{
+ "default_server_name": "matrix.org",
+ "brand": "Element",
+ "integrations_ui_url": "https://scalar.vector.im/",
+ "integrations_rest_url": "https://scalar.vector.im/api",
+ "integrations_widgets_urls": [
+ "https://scalar.vector.im/_matrix/integrations/v1",
+ "https://scalar.vector.im/api",
+ "https://scalar-staging.vector.im/_matrix/integrations/v1",
+ "https://scalar-staging.vector.im/api",
+ "https://scalar-staging.riot.im/scalar/api"
+ ],
+ "hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
+ "bug_report_endpoint_url": "https://element.io/bugreports/submit",
+ "showLabsSettings": false,
+ "piwik": {
+ "url": "https://piwik.riot.im/",
+ "siteId": 1,
+ "policyUrl": "https://element.io/cookie-policy"
+ },
+ "roomDirectory": {
+ "servers": [
+ "matrix.org"
+ ]
+ },
+ "enable_presence_by_hs_url": {
+ "https://matrix.org": false,
+ "https://matrix-client.matrix.org": false
+ },
+ "terms_and_conditions_links": [
+ {
+ "url": "https://element.io/privacy",
+ "text": "Privacy Policy"
+ },
+ {
+ "url": "https://element.io/cookie-policy",
+ "text": "Cookie Policy"
+ }
+ ]
+}
diff --git a/element.io/app/deploy.py b/element.io/app/deploy.py
new file mode 100755
index 0000000..33aa0af
--- /dev/null
+++ b/element.io/app/deploy.py
@@ -0,0 +1,191 @@
+#!/usr/bin/env python
+#
+# download and unpack a riot-web tarball.
+#
+# Allows `bundles` to be extracted to a common directory, and a link to
+# config.json to be added.
+
+from __future__ import print_function
+
+import argparse
+import os
+import os.path
+import subprocess
+import sys
+import tarfile
+import shutil
+import glob
+
+try:
+ # python3
+ from urllib.request import urlretrieve
+except ImportError:
+ # python2
+ from urllib import urlretrieve
+
+class DeployException(Exception):
+ pass
+
+def create_relative_symlink(linkname, target):
+ relpath = os.path.relpath(target, os.path.dirname(linkname))
+ print ("Symlink %s -> %s" % (linkname, relpath))
+ os.symlink(relpath, linkname)
+
+
+def move_bundles(source, dest):
+ """Move the contents of the 'bundles' directory to a common dir
+
+ We check that we will not be overwriting anything before we proceed.
+
+ Args:
+ source (str): path to 'bundles' within the extracted tarball
+ dest (str): target common directory
+ """
+
+ if not os.path.isdir(dest):
+ os.mkdir(dest)
+
+ # build a map from source to destination, checking for non-existence as we go.
+ renames = {}
+ for f in os.listdir(source):
+ dst = os.path.join(dest, f)
+ if os.path.exists(dst):
+ print (
+ "Skipping bundle. The bundle includes '%s' which we have previously deployed."
+ % f
+ )
+ else:
+ renames[os.path.join(source, f)] = dst
+
+ for (src, dst) in renames.iteritems():
+ print ("Move %s -> %s" % (src, dst))
+ os.rename(src, dst)
+
+class Deployer:
+ def __init__(self):
+ self.packages_path = "."
+ self.bundles_path = None
+ self.should_clean = False
+ # filename -> symlink path e.g 'config.localhost.json' => '../localhost/config.json'
+ self.symlink_paths = {}
+ self.verify_signature = True
+
+ def deploy(self, tarball, extract_path):
+ """Download a tarball if necessary, and unpack it
+
+ Returns:
+ (str) the path to the unpacked deployment
+ """
+ print("Deploying %s to %s" % (tarball, extract_path))
+
+ name_str = os.path.basename(tarball).replace(".tar.gz", "")
+ extracted_dir = os.path.join(extract_path, name_str)
+ if os.path.exists(extracted_dir):
+ raise DeployException('Cannot unpack %s: %s already exists' % (
+ tarball, extracted_dir))
+
+ downloaded = False
+ if tarball.startswith("http://") or tarball.startswith("https://"):
+ tarball = self.download_and_verify(tarball)
+ print("Downloaded file: %s" % tarball)
+ downloaded = True
+
+ try:
+ with tarfile.open(tarball) as tar:
+ tar.extractall(extract_path)
+ finally:
+ if self.should_clean and downloaded:
+ os.remove(tarball)
+
+ print ("Extracted into: %s" % extracted_dir)
+
+ if self.symlink_paths:
+ for link_path, file_path in self.symlink_paths.iteritems():
+ create_relative_symlink(
+ target=file_path,
+ linkname=os.path.join(extracted_dir, link_path)
+ )
+
+ if self.bundles_path:
+ extracted_bundles = os.path.join(extracted_dir, 'bundles')
+ move_bundles(source=extracted_bundles, dest=self.bundles_path)
+
+ # replace the extracted_bundles dir (which may not be empty if some
+ # bundles were skipped) with a symlink to the common dir.
+ shutil.rmtree(extracted_bundles)
+ create_relative_symlink(
+ target=self.bundles_path,
+ linkname=extracted_bundles,
+ )
+ return extracted_dir
+
+ def download_and_verify(self, url):
+ tarball = self.download_file(url)
+
+ if self.verify_signature:
+ sigfile = self.download_file(url + ".asc")
+ subprocess.check_call(["gpg", "--verify", sigfile, tarball])
+
+ return tarball
+
+ def download_file(self, url):
+ if not os.path.isdir(self.packages_path):
+ os.mkdir(self.packages_path)
+ local_filename = os.path.join(self.packages_path,
+ url.split('/')[-1])
+ sys.stdout.write("Downloading %s -> %s..." % (url, local_filename))
+ sys.stdout.flush()
+ urlretrieve(url, local_filename)
+ print ("Done")
+ return local_filename
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser("Deploy a Riot build on a web server.")
+ parser.add_argument(
+ "-p", "--packages-dir", default="./packages", help=(
+ "The directory to download the tarball into. (Default: '%(default)s')"
+ )
+ )
+ parser.add_argument(
+ "-e", "--extract-path", default="./deploys", help=(
+ "The location to extract .tar.gz files to. (Default: '%(default)s')"
+ )
+ )
+ parser.add_argument(
+ "-b", "--bundles-dir", nargs='?', default="./bundles", help=(
+ "A directory to move the contents of the 'bundles' directory to. A \
+ symlink to the bundles directory will also be written inside the \
+ extracted tarball. Example: './bundles'. \
+ (Default: '%(default)s')"
+ )
+ )
+ parser.add_argument(
+ "-c", "--clean", action="store_true", default=False, help=(
+ "Remove .tar.gz files after they have been downloaded and extracted. \
+ (Default: %(default)s)"
+ )
+ )
+ parser.add_argument(
+ "--include", nargs='*', default=['./config*.json'], help=(
+ "Symlink these files into the root of the deployed tarball. \
+ Useful for config files and home pages. Supports glob syntax. \
+ (Default: '%(default)s')"
+ )
+ )
+ parser.add_argument(
+ "tarball", help=(
+ "filename of tarball, or URL to download."
+ ),
+ )
+
+ args = parser.parse_args()
+
+ deployer = Deployer()
+ deployer.packages_path = args.packages_dir
+ deployer.bundles_path = args.bundles_dir
+ deployer.should_clean = args.clean
+
+ for include in args.include:
+ deployer.symlink_paths.update({ os.path.basename(pth): pth for pth in glob.iglob(include) })
+
+ deployer.deploy(args.tarball, args.extract_path)
diff --git a/element.io/develop/config.json b/element.io/develop/config.json
new file mode 100644
index 0000000..bcf6142
--- /dev/null
+++ b/element.io/develop/config.json
@@ -0,0 +1,40 @@
+{
+ "default_server_name": "matrix.org",
+ "brand": "Element",
+ "integrations_ui_url": "https://scalar-staging.vector.im/",
+ "integrations_rest_url": "https://scalar-staging.vector.im/api",
+ "integrations_widgets_urls": [
+ "https://scalar.vector.im/_matrix/integrations/v1",
+ "https://scalar.vector.im/api",
+ "https://scalar-staging.vector.im/_matrix/integrations/v1",
+ "https://scalar-staging.vector.im/api",
+ "https://scalar-staging.riot.im/scalar/api"
+ ],
+ "hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
+ "bug_report_endpoint_url": "https://element.io/bugreports/submit",
+ "showLabsSettings": true,
+ "piwik": {
+ "url": "https://piwik.riot.im/",
+ "siteId": 1,
+ "policyUrl": "https://element.io/cookie-policy"
+ },
+ "roomDirectory": {
+ "servers": [
+ "matrix.org"
+ ]
+ },
+ "enable_presence_by_hs_url": {
+ "https://matrix.org": false,
+ "https://matrix-client.matrix.org": false
+ },
+ "terms_and_conditions_links": [
+ {
+ "url": "https://element.io/privacy",
+ "text": "Privacy Policy"
+ },
+ {
+ "url": "https://element.io/cookie-policy",
+ "text": "Cookie Policy"
+ }
+ ]
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..fea84b0
--- /dev/null
+++ b/package.json
@@ -0,0 +1,173 @@
+{
+ "name": "riot-web",
+ "productName": "Riot",
+ "version": "1.7.12",
+ "description": "A feature-rich client for Matrix.org",
+ "author": "New Vector Ltd.",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/vector-im/riot-web"
+ },
+ "license": "Apache-2.0",
+ "files": [
+ "lib",
+ "res",
+ "src",
+ "webpack.config.js",
+ "scripts",
+ "docs",
+ "release.sh",
+ "deploy",
+ "CHANGELOG.md",
+ "CONTRIBUTING.rst",
+ "LICENSE",
+ "README.md",
+ "AUTHORS.rst",
+ "package.json",
+ "contribute.json"
+ ],
+ "style": "bundle.css",
+ "scripts": {
+ "i18n": "matrix-gen-i18n",
+ "prunei18n": "matrix-prune-i18n",
+ "diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
+ "reskindex": "reskindex -h src/header",
+ "reskindex:watch": "reskindex -h src/header -w",
+ "reskindex:watch-react": "node scripts/yarn-sub.js matrix-react-sdk reskindex:watch",
+ "clean": "rimraf lib webapp",
+ "build": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle",
+ "build-stats": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle-stats",
+ "build:jitsi": "node scripts/build-jitsi.js",
+ "build:res": "node scripts/copy-res.js",
+ "build:genfiles": "yarn reskindex && yarn build:res && yarn build:jitsi",
+ "build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
+ "build:compile": "babel -d lib --verbose --extensions \".ts,.js,.tsx\" src",
+ "build:bundle": "webpack --progress --bail --mode production",
+ "build:bundle-stats": "webpack --progress --bail --mode production --json > webpack-stats.json",
+ "build:types": "tsc --emitDeclarationOnly --jsx react",
+ "dist": "scripts/package.sh",
+ "start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,element-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js\"",
+ "start: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",
+ "lint": "yarn lint:types && yarn lint:js && yarn lint:style",
+ "lint:js": "eslint src",
+ "lint:types": "tsc --noEmit --jsx react",
+ "lint:style": "stylelint 'res/css/**/*.scss'",
+ "test": "jest"
+ },
+ "dependencies": {
+ "browser-request": "^0.3.3",
+ "gfm.css": "^1.1.2",
+ "highlight.js": "^9.13.1",
+ "jsrsasign": "^9.1.5",
+ "matrix-js-sdk": "9.0.1",
+ "matrix-react-sdk": "3.7.1",
+ "matrix-widget-api": "^0.1.0-beta.5",
+ "olm": "https://packages.matrix.org/npm/olm/olm-3.2.1.tgz",
+ "prop-types": "^15.7.2",
+ "react": "^16.9.0",
+ "react-dom": "^16.9.0",
+ "sanitize-html": "github:apostrophecms/sanitize-html#3c7f93f2058f696f5359e3e58d464161647226db",
+ "ua-parser-js": "^0.7.19",
+ "url": "^0.11.0"
+ },
+ "devDependencies": {
+ "@babel/cli": "^7.7.5",
+ "@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-syntax-dynamic-import": "^7.7.4",
+ "@babel/plugin-transform-flow-comments": "^7.7.4",
+ "@babel/plugin-transform-runtime": "^7.7.6",
+ "@babel/preset-env": "^7.7.6",
+ "@babel/preset-flow": "^7.7.4",
+ "@babel/preset-react": "^7.7.4",
+ "@babel/preset-typescript": "^7.7.4",
+ "@babel/register": "^7.7.4",
+ "@babel/runtime": "^7.7.6",
+ "@types/flux": "^3.1.9",
+ "@types/modernizr": "^3.5.3",
+ "@types/node": "^12.12.41",
+ "@types/react": "16.9",
+ "@types/react-dom": "^16.9.4",
+ "@types/sanitize-html": "^1.23.3",
+ "autoprefixer": "^9.7.3",
+ "babel-eslint": "^10.0.3",
+ "babel-jest": "^24.9.0",
+ "babel-loader": "^8.0.6",
+ "canvas": "^2.6.1",
+ "chokidar": "^3.3.1",
+ "concurrently": "^4.0.1",
+ "cpx": "^1.3.2",
+ "css-loader": "^3.3.2",
+ "eslint": "7.3.1",
+ "eslint-config-matrix-org": "^0.1.2",
+ "eslint-plugin-babel": "^4.1.2",
+ "eslint-plugin-flowtype": "^2.50.3",
+ "eslint-plugin-react": "^7.11.1",
+ "eslint-plugin-react-hooks": "^2.2.0",
+ "extract-text-webpack-plugin": "^4.0.0-beta.0",
+ "fake-indexeddb": "^3.0.0",
+ "file-loader": "^5.0.2",
+ "fs-extra": "^0.30.0",
+ "html-webpack-plugin": "^3.2.0",
+ "jest": "^26.5.2",
+ "jest-environment-jsdom-sixteen": "^1.0.3",
+ "json-loader": "^0.5.3",
+ "loader-utils": "^1.2.3",
+ "matrix-mock-request": "^1.2.3",
+ "matrix-react-test-utils": "^0.2.2",
+ "mini-css-extract-plugin": "^0.8.0",
+ "minimist": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "modernizr": "^3.6.0",
+ "node-fetch": "^2.6.0",
+ "optimize-css-assets-webpack-plugin": "^5.0.3",
+ "postcss-easings": "^2.0.0",
+ "postcss-extend": "^1.0.5",
+ "postcss-hexrgba": "^2.0.0",
+ "postcss-import": "^12.0.1",
+ "postcss-loader": "^3.0.0",
+ "postcss-mixins": "^6.2.3",
+ "postcss-nested": "^4.2.1",
+ "postcss-preset-env": "^6.7.0",
+ "postcss-scss": "^2.0.0",
+ "postcss-simple-vars": "^5.0.2",
+ "postcss-strip-inline-comments": "^0.1.5",
+ "rimraf": "^2.4.3",
+ "shell-escape": "^0.2.0",
+ "simple-proxy-agent": "^1.1.0",
+ "stylelint": "^12.0.1",
+ "terser-webpack-plugin": "^2.3.0",
+ "typescript": "^3.7.3",
+ "webpack": "^4.41.2",
+ "webpack-cli": "^3.3.10",
+ "webpack-dev-server": "^3.9.0"
+ },
+ "jest": {
+ "testEnvironment": "jest-environment-jsdom-sixteen",
+ "testMatch": [
+ "/test/**/*-test.js"
+ ],
+ "setupFilesAfterEnv": [
+ "/node_modules/matrix-react-sdk/test/setupTests.js"
+ ],
+ "moduleNameMapper": {
+ "\\.(css|scss)$": "/__mocks__/cssMock.js",
+ "\\.(gif|png|svg|ttf|woff2)$": "/node_modules/matrix-react-sdk/__mocks__/imageMock.js",
+ "\\$webapp/i18n/languages.json": "/node_modules/matrix-react-sdk/__mocks__/languages.json",
+ "^browser-request$": "/node_modules/matrix-react-sdk/__mocks__/browser-request.js",
+ "^react$": "/node_modules/react",
+ "^react-dom$": "/node_modules/react-dom",
+ "^matrix-js-sdk$": "/node_modules/matrix-js-sdk/src",
+ "^matrix-react-sdk$": "/node_modules/matrix-react-sdk/src"
+ },
+ "transformIgnorePatterns": [
+ "/node_modules/(?!matrix-js-sdk).+$",
+ "/node_modules/(?!matrix-react-sdk).+$"
+ ]
+ }
+}
diff --git a/release.sh b/release.sh
new file mode 100755
index 0000000..a5fb900
--- /dev/null
+++ b/release.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+#
+# Script to perform a release of element-web.
+#
+# Requires github-changelog-generator; to install, do
+# pip install git+https://github.com/matrix-org/github-changelog-generator.git
+
+set -e
+
+orig_args=$@
+
+# chomp any args starting with '-' as these need to go
+# through to the release script and otherwise we'll get
+# confused about what the version arg is.
+while [[ "$1" == -* ]]; do
+ shift
+done
+
+cd `dirname $0`
+
+for i in matrix-js-sdk matrix-react-sdk
+do
+ echo "Checking version of $i..."
+ depver=`cat package.json | jq -r .dependencies[\"$i\"]`
+ latestver=`yarn info -s $i dist-tags.next`
+ if [ "$depver" != "$latestver" ]
+ then
+ echo "The latest version of $i is $latestver but package.json depends on $depver."
+ echo -n "Type 'u' to auto-upgrade, 'c' to continue anyway, or 'a' to abort:"
+ read resp
+ if [ "$resp" != "u" ] && [ "$resp" != "c" ]
+ then
+ echo "Aborting."
+ exit 1
+ fi
+ if [ "$resp" == "u" ]
+ then
+ echo "Upgrading $i to $latestver..."
+ yarn add -E $i@$latestver
+ git add -u
+ git commit -m "Upgrade $i to $latestver"
+ fi
+ fi
+done
+
+./node_modules/matrix-js-sdk/release.sh -u vector-im -z "$orig_args"
+
+release="${1#v}"
+tag="v${release}"
+prerelease=0
+# We check if this build is a prerelease by looking to
+# see if the version has a hyphen in it. Crude,
+# but semver doesn't support postreleases so anything
+# with a hyphen is a prerelease.
+echo $release | grep -q '-' && prerelease=1
+
+if [ $prerelease -eq 0 ]
+then
+ # For a release, reset SDK deps back to the `develop` branch.
+ for i in matrix-js-sdk matrix-react-sdk
+ do
+ echo "Resetting $i to develop branch..."
+ yarn add github:matrix-org/$i#develop
+ git add -u
+ git commit -m "Reset $i back to develop branch"
+ done
+ git push origin develop
+fi
diff --git a/release_config.yaml b/release_config.yaml
new file mode 100644
index 0000000..49d7ccd
--- /dev/null
+++ b/release_config.yaml
@@ -0,0 +1 @@
+signing_id: releases@riot.im
diff --git a/res/css/structures/ErrorView.scss b/res/css/structures/ErrorView.scss
new file mode 100644
index 0000000..f75ee69
--- /dev/null
+++ b/res/css/structures/ErrorView.scss
@@ -0,0 +1,101 @@
+/*
+Copyright 2020 New Vector Ltd
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// import font-size variables manually, ideally this scss would get loaded by the theme which has all variables in context
+@import "../../../node_modules/matrix-react-sdk/res/css/_font-sizes.scss";
+
+.mx_ErrorView {
+ background: #c5e0f7;
+ background: -moz-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
+ background: -webkit-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
+ background: linear-gradient(to bottom, #c5e0f7 0%, #ffffff 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c5e0f7', endColorstr='#ffffff',GradientType=0 );
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+ width: 100%;
+ min-height: 100%;
+ height: auto;
+ color: #000;
+
+ .mx_ErrorView_container {
+ max-width: 680px;
+ margin: auto;
+ }
+
+ .mx_Button {
+ border: 0;
+ border-radius: 4px;
+ font-size: $font-18px;
+ margin-left: 4px;
+ margin-right: 4px;
+ min-width: 80px;
+ background-color: #03B381;
+ color: #fff;
+ cursor: pointer;
+ padding: 12px 22px;
+ word-break: break-word;
+ text-decoration: none;
+ }
+
+ .mx_Center {
+ justify-content: center;
+ }
+
+ .mx_HomePage_header {
+ color: #2E2F32;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ font-size: $font-16px;
+ h1 {
+ font-size: $font-32px;
+ }
+ h2 {
+ font-size: $font-24px;
+ color: #000;
+ }
+
+ .mx_HomePage_col {
+ display: flex;
+ flex-direction: row;
+ }
+
+ .mx_HomePage_row {
+ flex: 1 1 0;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ }
+
+ .mx_HomePage_logo {
+ margin: auto 20px auto 0;
+ }
+
+ h1, h2 {
+ font-weight: 600;
+ margin-bottom: 32px;
+ }
+
+ .mx_Spacer {
+ margin-top: 24px;
+ }
+
+ .mx_FooterLink {
+ color: #368BD6;
+ text-decoration: none;
+ }
+}
diff --git a/res/decoder-ring/datatypes.js b/res/decoder-ring/datatypes.js
new file mode 100644
index 0000000..93a779e
--- /dev/null
+++ b/res/decoder-ring/datatypes.js
@@ -0,0 +1,107 @@
+/*
+ * Quick-n-dirty algebraic datatypes.
+ *
+ * These let us handle the possibility of failure without having to constantly write code to check for it.
+ * We can apply all of the transformations we need as if the data is present using `map`.
+ * If there's a None, or a FetchError, or a Pending, those are left untouched.
+ *
+ * I've used perhaps an odd bit of terminology from scalaz in `fold`. This is basically a `switch` statement:
+ * You pass it a set of functions to handle the various different states of the datatype, and if it finds the
+ * function it'll call it on its value.
+ *
+ * It's handy to have this in functional style when dealing with React as we can dispatch different ways of rendering
+ * really simply:
+ * ```
+ * bundleFetchStatus.fold({
+ * some: (fetchStatus) => ,
+ * }),
+ * ```
+ */
+
+
+class Optional {
+ static from(value) {
+ return value && Some.of(value) || None;
+ }
+ map(f) {
+ return this;
+ }
+ flatMap(f) {
+ return this;
+ }
+ fold({ none }) {
+ return none && none();
+ }
+}
+class Some extends Optional {
+ constructor(value) {
+ super();
+ this.value = value;
+ }
+ map(f) {
+ return Some.of(f(this.value));
+ }
+ flatMap(f) {
+ return f(this.value);
+ }
+ fold({ some }) {
+ return some && some(this.value);
+ }
+ static of(value) {
+ return new Some(value);
+ }
+}
+const None = new Optional();
+
+class FetchStatus {
+ constructor(opt = {}) {
+ this.opt = { at: Date.now(), ...opt };
+ }
+ map(f) {
+ return this;
+ }
+ flatMap(f) {
+ return this;
+ }
+}
+class Success extends FetchStatus {
+ static of(value) {
+ return new Success(value);
+ }
+ constructor(value, opt) {
+ super(opt);
+ this.value = value;
+ }
+ map(f) {
+ return new Success(f(this.value), this.opt);
+ }
+ flatMap(f) {
+ return f(this.value, this.opt);
+ }
+ fold({ success }) {
+ return success instanceof Function ? success(this.value, this.opt) : undefined;
+ }
+}
+class Pending extends FetchStatus {
+ static of(opt) {
+ return new Pending(opt);
+ }
+ constructor(opt) {
+ super(opt);
+ }
+ fold({ pending }) {
+ return pending instanceof Function ? pending(this.opt) : undefined;
+ }
+}
+class FetchError extends FetchStatus {
+ static of(reason, opt) {
+ return new FetchError(reason, opt);
+ }
+ constructor(reason, opt) {
+ super(opt);
+ this.reason = reason;
+ }
+ fold({ error }) {
+ return error instanceof Function ? error(this.reason, this.opt) : undefined;
+ }
+}
diff --git a/res/decoder-ring/decoder.js b/res/decoder-ring/decoder.js
new file mode 100644
index 0000000..b0cbd3c
--- /dev/null
+++ b/res/decoder-ring/decoder.js
@@ -0,0 +1,336 @@
+class StartupError extends Error {}
+
+/*
+ * We need to know the bundle path before we can fetch the sourcemap files. In a production environment, we can guess
+ * it using this.
+ */
+async function getBundleName(baseUrl) {
+ const res = await fetch(new URL("index.html", baseUrl).toString());
+ if (!res.ok) {
+ throw new StartupError(`Couldn't fetch index.html to prefill bundle; ${res.status} ${res.statusText}`);
+ }
+ const index = await res.text();
+ return index.split("\n").map((line) =>
+ line.match(/
+
+
+
+
+
+
+
+
+
+
+
+
+ Waiting for javascript to run...
+
+
+