From 58de839621b63b7dd3137abe822bfd893e135b88 Mon Sep 17 00:00:00 2001
From: Marcel <MTRNord@users.noreply.github.com>
Date: Thu, 31 May 2018 22:32:29 +0200
Subject: [PATCH 01/36] Fix Tinter.setTheme to not fire using Firefox

This if checks if we got a Firefox using a variable that is undefined everywhere except in Firefox. In Firefox because of how it renders the DOM ensure that css is always loaded before it loads/runs the js code. Therefor onload 1. never triggers and 2. we can just call setTheme.
---
 src/vector/index.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/vector/index.js b/src/vector/index.js
index 14e181d9..0aab9060 100644
--- a/src/vector/index.js
+++ b/src/vector/index.js
@@ -313,9 +313,13 @@ async function loadApp() {
                 // FIXME: we should probably block loading the app or even
                 // showing a spinner until the theme is loaded, to avoid
                 // flashes of unstyled content.
-                a.onload = () => {
+                if (typeof InstallTrigger !== 'undefined') {
                     Tinter.setTheme(theme);
-                };
+                } else {
+                    a.onload = () => {
+                        Tinter.setTheme(theme);
+                    };
+                }
             } else {
                 // Firefox requires this to not be done via `setAttribute`
                 // or via HTML.

From 5b32ecb719b9223eb6d2459b75443c5ce10488d9 Mon Sep 17 00:00:00 2001
From: Marcel <MTRNord@users.noreply.github.com>
Date: Tue, 24 Jul 2018 13:38:49 +0200
Subject: [PATCH 02/36] [Tinter.setTheme fix] add missing comment and move old
 to correct position

---
 src/vector/index.js | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/vector/index.js b/src/vector/index.js
index 0aab9060..67c69eb7 100644
--- a/src/vector/index.js
+++ b/src/vector/index.js
@@ -310,12 +310,19 @@ async function loadApp() {
                 // in case the Tinter.tint() in MatrixChat fires before the
                 // CSS has actually loaded (which in practice happens)...
 
-                // FIXME: we should probably block loading the app or even
-                // showing a spinner until the theme is loaded, to avoid
-                // flashes of unstyled content.
+                // This if fixes Tinter.setTheme to not fire on Firefox
+                // in case it is the first time loading Riot.
+                // `InstallTrigger` is a Object which only exists on Firefox
+                // (it is used for their Plugins) and can be used as a
+                // feature check. 
+                // Firefox loads css always before js. This is why we dont use
+                // onload or it's EventListener as thoose will never trigger.
                 if (typeof InstallTrigger !== 'undefined') {
                     Tinter.setTheme(theme);
                 } else {
+                    // FIXME: we should probably block loading the app or even
+                    // showing a spinner until the theme is loaded, to avoid
+                    // flashes of unstyled content.
                     a.onload = () => {
                         Tinter.setTheme(theme);
                     };

From 74a2b5a9580b557306723d285fe5d1e0d26f6566 Mon Sep 17 00:00:00 2001
From: toriko <liberaknabino@protonmail.com>
Date: Tue, 17 Apr 2018 12:24:05 +0000
Subject: [PATCH 03/36] Translated using Weblate (Japanese)

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
---
 src/i18n/strings/ja.json | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json
index 706b9ab3..0450fca1 100644
--- a/src/i18n/strings/ja.json
+++ b/src/i18n/strings/ja.json
@@ -34,5 +34,6 @@
     "Support for those using, running and writing other bridges": "他のブリッジを利用、運営、作成している方へのサポート",
     "Contributing code to Matrix and Riot": "MatrixとRiotにコードを提供する",
     "Dev chat for the Riot/Web dev team": "Riot/Web開発者チームのための開発者チャット",
-    "Dev chat for the Dendrite dev team": "Dendrite開発者チームのための開発者チャット"
+    "Dev chat for the Dendrite dev team": "Dendrite開発者チームのための開発者チャット",
+    "Co-ordination for Riot translators": "Riot 翻訳者による共同作業"
 }

From f3ee639dcced5263a956c7a3c349defae6734aa9 Mon Sep 17 00:00:00 2001
From: giqtaqisi <giqtaqisi@disroot.org>
Date: Sun, 30 Sep 2018 14:30:14 +0000
Subject: [PATCH 04/36] Added translation using Weblate (Lojban)

---
 src/i18n/strings/jbo.json | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 src/i18n/strings/jbo.json

diff --git a/src/i18n/strings/jbo.json b/src/i18n/strings/jbo.json
new file mode 100644
index 00000000..9e26dfee
--- /dev/null
+++ b/src/i18n/strings/jbo.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file

From 0374c91ee7a43cc4f3ae26b9b7b60bcffdd2c7e8 Mon Sep 17 00:00:00 2001
From: Ryu SASAOKA <ryusasaoka@gmail.com>
Date: Sun, 30 Sep 2018 10:32:30 +0000
Subject: [PATCH 05/36] Translated using Weblate (English (United States))

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
---
 src/i18n/strings/en_US.json | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json
index e5b060cf..fe089a48 100644
--- a/src/i18n/strings/en_US.json
+++ b/src/i18n/strings/en_US.json
@@ -1,16 +1,16 @@
 {
-    "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s on %(osName)s",
-    "Custom Server Options": "Custom Server Options",
-    "Dismiss": "Dismiss",
-    "powered by Matrix": "powered by Matrix",
-    "Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s",
-    "Riot is not supported on mobile web. Install the app?": "Riot is not supported on mobile web. Install the app?",
-    "Unknown device": "Unknown device",
-    "You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
-    "Welcome to Riot.im": "Welcome to Riot.im",
-    "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted chat &amp; collaboration powered by [matrix]",
+    "%(appName)s via %(browserName)s on %(osName)s": "%(osName) の %(browserName) 上の %(appName)",
+    "Custom Server Options": "カスタムサーバのオプション",
+    "Dismiss": "やめる",
+    "powered by Matrix": "Matrix の技術を利用しています",
+    "Riot Desktop on %(platformName)s": "%(platformName) 用 Riot デスクトップ",
+    "Riot is not supported on mobile web. Install the app?": "Riot はモバイル用ウェブサイトを提供していません。アプリをインストールしますか?",
+    "Unknown device": "不明のデバイス",
+    "You need to be using HTTPS to place a screen-sharing call.": "画面共有の通話ではHTTPSを使う必要があります。",
+    "Welcome to Riot.im": "Riot.im にようこそ",
+    "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "[matrix] の技術を用いた分散化、暗号化されたチャットとコラボレーション",
     "Chat with Riot Bot": "Chat with Riot Bot",
-    "Search the room directory": "Search the room directory",
+    "Search the room directory": "ルームディレクトリを検索",
     "Get started with some tips from Riot Bot!": "Get started with some tips from Riot Bot!",
     "General discussion about Matrix and Riot": "General discussion about Matrix and Riot",
     "Discussion of all things Matrix!": "Discussion of all things Matrix!",

From 4f720e9c3b92ba6235edfa982a1ca0ba7d333e2a Mon Sep 17 00:00:00 2001
From: Silvano <silvano87@yahoo.it>
Date: Fri, 28 Sep 2018 22:39:18 +0000
Subject: [PATCH 06/36] Translated using Weblate (Italian)

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
---
 src/i18n/strings/it.json | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json
index 5afb0b92..f563819e 100644
--- a/src/i18n/strings/it.json
+++ b/src/i18n/strings/it.json
@@ -22,18 +22,18 @@
     "Support for those using and running matrix-appservice-irc": "Supporto per chi usa e amministra matrix-appservice-irc",
     "Building services on Matrix": "Costruzione servizi su Matrix",
     "Support for those using the Matrix spec": "Supporto per chi utilizza le specifiche Matrix",
-    "Design and implementation of E2E in Matrix": "Design e implementazione di E2E in Matrix",
+    "Design and implementation of E2E in Matrix": "Progetto e implementazione di E2E in Matrix",
     "Implementing VR services with Matrix": "Implementazione servizi VR con Matrix",
     "Implementing VoIP services with Matrix": "Implementazione servizi VoIP con Matrix",
-    "Discussion of the Identity Service API": "Discussione sull'Identity Service API",
-    "Support for those using, running and writing other bridges": "Supporto per chi usa, amministra e scrive altri bridge",
+    "Discussion of the Identity Service API": "Discussione API del servizio identità",
+    "Support for those using, running and writing other bridges": "Supporto per chi usa, amministra e scrive altri ponti (bridge)",
     "Contributing code to Matrix and Riot": "Contributi di codice per Matrix e Riot",
     "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s tramite %(browserName)s su %(osName)s",
-    "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat criptate e collaborazioni decentralizzate offerte da [matrix]",
-    "Discussion of all things Matrix!": "Discussione su tutto quanto riguardi Matrix!",
+    "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat criptate e decentralizzate &amp; collaborazione offerta da [matrix]",
+    "Discussion of all things Matrix!": "Discussione su tutto riguardo Matrix!",
     "Dev chat for the Riot/Web dev team": "Chat per gli sviluppatori di Riot/Web",
     "Dev chat for the Dendrite dev team": "Chat per gli sviluppatori di Dendrite",
-    "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Esistono già molte stanze in Matrix, collegate a reti già esistenti (Slack, IRC, Gitter ecc) o indipendenti. Dai un'occhiata all'elenco!",
-    "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo dell'home server.<br/> Questo permette di usare Matrix con un account esistente su un home server diverso.<br/><br/>È anche possibile impostare un diverso identity server, ma in quel caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.",
+    "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Esistono già molte stanze in Matrix, collegate a reti esistenti (Slack, IRC, Gitter, ecc.) o indipendenti. Controlla l'elenco!",
+    "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo del server home.<br/> Questo permette di usare Riot con un account Matrix esistente su un server home diverso.<br/><br/>È anche possibile impostare un diverso server identità, ma in tal caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.",
     "Co-ordination for Riot translators": "Coordinazione per i traduttori di Riot"
 }

From 2d78bc95ec938f8ee042accb356ce2f24d1f548b Mon Sep 17 00:00:00 2001
From: giqtaqisi <giqtaqisi@disroot.org>
Date: Mon, 1 Oct 2018 05:36:51 +0000
Subject: [PATCH 07/36] Translated using Weblate (Lojban)

Currently translated at 62.1% (23 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/jbo/
---
 src/i18n/strings/jbo.json | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/src/i18n/strings/jbo.json b/src/i18n/strings/jbo.json
index 9e26dfee..45adaf7a 100644
--- a/src/i18n/strings/jbo.json
+++ b/src/i18n/strings/jbo.json
@@ -1 +1,25 @@
-{}
\ No newline at end of file
+{
+    "Riot is not supported on mobile web. Install the app?": ".i lo samfonxa na kakne lo nu pilno la kibro nu zunti .i .au pei kibycpa le samtci",
+    "Riot Desktop on %(platformName)s": "la skami nu zunti ci'e la'o gy. %(platformName)s .gy.",
+    "Unknown device": "lo na'e te djuno se pilno",
+    "%(appName)s via %(browserName)s on %(osName)s": "la'o gy. %(appName)s .gy. xe be'i la'o gy. %(browserName)s .gy. ci'e la'o gy. %(osName)s .gy.",
+    "You need to be using HTTPS to place a screen-sharing call.": ".i la .hytytypysys. sarcu lo nu co'a vidni jorne",
+    "Custom Server Options": "lo macnu se cuxna be fi lo'i samse'u",
+    "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": ".i zukte lo nu macnu cuxna lo samse'u kei goi ko'a lo nu pilno lo drata samse'u pe la nacmeimei<br/>.i ko'a se cumki lo nu do pilno lo pilno poi zvati lo drata samse'u pe la nacmeimei<br/><br/>.i ji'a cumki fa lo nu do pilno lo drata ke prenu datni samse'u kei goi ko'a .i ku'i ko'a to'e rinka la'a lo nu do zvacpe ja se zvacpe",
+    "Dismiss": "mipri",
+    "powered by Matrix": ".i la nacmeimei cu cumgau",
+    "Welcome to Riot.im": ".i fi'i lo pilno be la nu zunti",
+    "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": ".i la nacmeimei cu cumgau lo mifra je na'e se midju nu tavla je ke kansa gunka",
+    "Search the room directory": "sisku fi lo'i kumfa pe'a",
+    "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": ".i ci'e la nacmeimei cu kumfa pe'a fa so'i da noi jorne jo nai no'e jorne lo drata ciste no'u mu'a la .slak. jo'u lo te irci jo'u la .gityr. .i",
+    "Chat with Riot Bot": "tavla la nu zunti kei sampre",
+    "Get started with some tips from Riot Bot!": ".i .e'u la nu zunti kei sampre cu sidju ko",
+    "General discussion about Matrix and Riot": "lo nu casnu be la nacmeimei .e la nu zunti",
+    "Discussion of all things Matrix!": "lo nu casnu be ro me la nacmeimei",
+    "Riot/Web &amp; Desktop chat": "lo nu casnu be la kibro nu zunti .e la skami nu zunti",
+    "Running Matrix services": "lo nu ralte lo samtcise'u pe la nacmeimei",
+    "Community-run support for Synapse": "lo nu lo cecmu cu sidju fi tu'a la .sinaps.",
+    "Discussion of the Identity Service API": "lo nu casnu lo prenu datni favgau cimde",
+    "Contributing code to Matrix and Riot": "lo nu dunda lo samselpla la nacmeimei .a la nu zunti",
+    "Co-ordination for Riot translators": "lo nu lo fanva pe la nu zunti cu kansa gunka"
+}

From a1a417329c1f4a224d1c8c9df6b31827a895fd79 Mon Sep 17 00:00:00 2001
From: giqtaqisi <giqtaqisi@disroot.org>
Date: Mon, 1 Oct 2018 13:11:46 +0000
Subject: [PATCH 08/36] Translated using Weblate (Lojban)

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/jbo/
---
 src/i18n/strings/jbo.json | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/i18n/strings/jbo.json b/src/i18n/strings/jbo.json
index 45adaf7a..37698bf9 100644
--- a/src/i18n/strings/jbo.json
+++ b/src/i18n/strings/jbo.json
@@ -21,5 +21,19 @@
     "Community-run support for Synapse": "lo nu lo cecmu cu sidju fi tu'a la .sinaps.",
     "Discussion of the Identity Service API": "lo nu casnu lo prenu datni favgau cimde",
     "Contributing code to Matrix and Riot": "lo nu dunda lo samselpla la nacmeimei .a la nu zunti",
-    "Co-ordination for Riot translators": "lo nu lo fanva pe la nu zunti cu kansa gunka"
+    "Co-ordination for Riot translators": "lo nu lo fanva pe la nu zunti cu kansa gunka",
+    "Riot/iOS &amp; matrix-ios-sdk chat": "lo nu casnu la plisyfonkemsamcmu nu zunti .e la'o gy. matrix-ios-sdk .gy.",
+    "Riot/Android &amp; matrix-android-sdk chat": "lo nu casnu la guglyfonkemsamcmu nu zunti .e la'o gy. matrix-android-sdk .gy.",
+    "Matrix technical discussions": "lo nu casnu lo zbaske be la nacmeimei",
+    "Announcements about Synapse releases": "lo notci be lo farvi tcini pe la nirna",
+    "Support for those using and running matrix-appservice-irc": "lo nu sidju lo pilno ja se te se selfu be la'o gy. matrix-appservice-irc .gy.",
+    "Building services on Matrix": "lo nu finti lo te selfu ji'u la nacmeimei",
+    "Support for those using the Matrix spec": "lo nu sidju lo pilno be lo sarcu pe la nacmeimei",
+    "Design and implementation of E2E in Matrix": "lo nu finti lo mulno mifra te platu .a lo samtcise'u be my. ji'u la nacmeimei",
+    "Support for those using, running and writing other bridges": "lo nu sidju lo pilno ja se te se selfu ja finti be lo drata te jorne",
+    "Dev chat for the Riot/Web dev team": "lo nu lo favgau be la kibro nu zunti cu casnu",
+    "Dev chat for the Dendrite dev team": "lo nu lo favgau be la nirndendriti cu casnu",
+    "Implementing VoIP services with Matrix": "lo nu finti lo samtcise'u be fi la .voip. ji'u la nacmeimei",
+    "Implementing VR services with Matrix": "lo nu finti lo samtcise'u be fi lo na'e fatci munje ji'u la nacmeimei",
+    "Admin support for Dendrite": "lo nu sidju lo"
 }

From 18f8ea851909f56c36d40d7d9c14143e61b588e0 Mon Sep 17 00:00:00 2001
From: giqtaqisi <giqtaqisi@disroot.org>
Date: Mon, 1 Oct 2018 13:17:07 +0000
Subject: [PATCH 09/36] Translated using Weblate (Lojban)

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/jbo/
---
 src/i18n/strings/jbo.json | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/i18n/strings/jbo.json b/src/i18n/strings/jbo.json
index 37698bf9..86c4fc55 100644
--- a/src/i18n/strings/jbo.json
+++ b/src/i18n/strings/jbo.json
@@ -26,14 +26,14 @@
     "Riot/Android &amp; matrix-android-sdk chat": "lo nu casnu la guglyfonkemsamcmu nu zunti .e la'o gy. matrix-android-sdk .gy.",
     "Matrix technical discussions": "lo nu casnu lo zbaske be la nacmeimei",
     "Announcements about Synapse releases": "lo notci be lo farvi tcini pe la nirna",
-    "Support for those using and running matrix-appservice-irc": "lo nu sidju lo pilno ja se te se selfu be la'o gy. matrix-appservice-irc .gy.",
+    "Support for those using and running matrix-appservice-irc": "lo nu sidju lo pilno ja admine be la'o gy. matrix-appservice-irc .gy.",
     "Building services on Matrix": "lo nu finti lo te selfu ji'u la nacmeimei",
     "Support for those using the Matrix spec": "lo nu sidju lo pilno be lo sarcu pe la nacmeimei",
     "Design and implementation of E2E in Matrix": "lo nu finti lo mulno mifra te platu .a lo samtcise'u be my. ji'u la nacmeimei",
-    "Support for those using, running and writing other bridges": "lo nu sidju lo pilno ja se te se selfu ja finti be lo drata te jorne",
+    "Support for those using, running and writing other bridges": "lo nu sidju lo pilno ja admine ja finti be lo drata te jorne",
     "Dev chat for the Riot/Web dev team": "lo nu lo favgau be la kibro nu zunti cu casnu",
     "Dev chat for the Dendrite dev team": "lo nu lo favgau be la nirndendriti cu casnu",
     "Implementing VoIP services with Matrix": "lo nu finti lo samtcise'u be fi la .voip. ji'u la nacmeimei",
     "Implementing VR services with Matrix": "lo nu finti lo samtcise'u be fi lo na'e fatci munje ji'u la nacmeimei",
-    "Admin support for Dendrite": "lo nu sidju lo"
+    "Admin support for Dendrite": "lo nu sidju lo admine be la nirndendriti"
 }

From 20ce990763282d8c2f713556c863a4226652986f Mon Sep 17 00:00:00 2001
From: IMIN <2reeseenmin@gmail.com>
Date: Tue, 2 Oct 2018 17:38:59 +0000
Subject: [PATCH 10/36] Translated using Weblate (Korean)

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
---
 src/i18n/strings/ko.json | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/i18n/strings/ko.json b/src/i18n/strings/ko.json
index b976664c..6332682f 100644
--- a/src/i18n/strings/ko.json
+++ b/src/i18n/strings/ko.json
@@ -33,5 +33,7 @@
     "Contributing code to Matrix and Riot": "Matrix와 Riot에 코드 기여하기",
     "Dev chat for the Riot/Web dev team": "Riot/웹 개발 팀을 위한 개발자 대화",
     "Dev chat for the Dendrite dev team": "덴드라이트 개발 팀을 위한 개발자 대화",
-    "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "기존 네트워크(Slack, IRC, Gitter 등)에 연결되있거나 독립된 많은 방이 이미 Matrix에 있습니다. 목록을 확인해보세요!"
+    "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "기존 네트워크(Slack, IRC, Gitter 등)에 연결되있거나 독립된 많은 방이 이미 Matrix에 있습니다. 목록을 확인해보세요!",
+    "Co-ordination for Riot translators": "Riot 번역자 조합",
+    "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "사용자정의 서버 설정에서 다른 홈서버 URL를 지정해 다른 Matrix 서버에 접속할 수 있씁니다. <br/>이렇게하면 다른 홈서버에서 기존의 Matrix 계정으로 Riot을 이용할 수 있습니다.<br/><br/>사용자정의 아이덴티티 서버도 설정할 수 있지만 이메일 주소로 이용자를 초대하거나 자신이 이메일 주소로 초대받을 수 없습니다."
 }

From 70319e493969d88bdc84903c892dc53a10408992 Mon Sep 17 00:00:00 2001
From: IMIN <2reeseenmin@gmail.com>
Date: Tue, 2 Oct 2018 18:11:56 +0000
Subject: [PATCH 11/36] Translated using Weblate (Korean)

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
---
 src/i18n/strings/ko.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/i18n/strings/ko.json b/src/i18n/strings/ko.json
index 6332682f..ff86d16c 100644
--- a/src/i18n/strings/ko.json
+++ b/src/i18n/strings/ko.json
@@ -35,5 +35,5 @@
     "Dev chat for the Dendrite dev team": "덴드라이트 개발 팀을 위한 개발자 대화",
     "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "기존 네트워크(Slack, IRC, Gitter 등)에 연결되있거나 독립된 많은 방이 이미 Matrix에 있습니다. 목록을 확인해보세요!",
     "Co-ordination for Riot translators": "Riot 번역자 조합",
-    "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "사용자정의 서버 설정에서 다른 홈서버 URL를 지정해 다른 Matrix 서버에 접속할 수 있씁니다. <br/>이렇게하면 다른 홈서버에서 기존의 Matrix 계정으로 Riot을 이용할 수 있습니다.<br/><br/>사용자정의 아이덴티티 서버도 설정할 수 있지만 이메일 주소로 이용자를 초대하거나 자신이 이메일 주소로 초대받을 수 없습니다."
+    "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "사용자정의 서버 설정에서 다른 홈서버 URL를 지정해 다른 Matrix 서버에 접속할 수 있습니다. <br/>이렇게하면 다른 홈서버에서 기존의 Matrix 계정으로 Riot을 이용할 수 있습니다.<br/><br/>사용자정의 아이덴티티 서버도 설정할 수 있지만 이메일 주소로 이용자를 초대하거나 자신이 이메일 주소로 초대받을 수 없습니다."
 }

From b6d5f350e4c83cba8c97a39d4c923b4b24b8ed08 Mon Sep 17 00:00:00 2001
From: toriko <liberaknabino@protonmail.com>
Date: Wed, 3 Oct 2018 07:08:51 +0000
Subject: [PATCH 12/36] Translated using Weblate (Japanese)

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
---
 src/i18n/strings/ja.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json
index 0450fca1..d941db19 100644
--- a/src/i18n/strings/ja.json
+++ b/src/i18n/strings/ja.json
@@ -15,7 +15,7 @@
     "Chat with Riot Bot": "Riot Botと会話",
     "Get started with some tips from Riot Bot!": "Riot Botにヒントをもらって始めましょう!",
     "General discussion about Matrix and Riot": "MatrixとRiotの概略",
-    "Discussion of all things Matrix!": "Matrixなんでも討論",
+    "Discussion of all things Matrix!": "Matrixなんでも議論!",
     "Riot/Web &amp; Desktop chat": "Riot/Web &amp; デスクトップ版チャット",
     "Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk チャット",
     "Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk チャット",
@@ -27,7 +27,7 @@
     "Support for those using and running matrix-appservice-irc": "matrix-appservice-ircを利用並びに運営している方へのサポート",
     "Building services on Matrix": "Matrixでのサービスの開発",
     "Support for those using the Matrix spec": "Matrixスペックを利用する方へのサポート",
-    "Design and implementation of E2E in Matrix": "Matrixでのデザインとエンドツーエンドの実装",
+    "Design and implementation of E2E in Matrix": "Matrixのデザインとエンドツーエンドの実装",
     "Implementing VR services with Matrix": "MatrixでのVRサービスの実装",
     "Implementing VoIP services with Matrix": "MatrixでのIP電話サービスの実装",
     "Discussion of the Identity Service API": "Identity Service APIの議論",

From 4f5b61b7982732c87498cac9e6a16c437ee89c19 Mon Sep 17 00:00:00 2001
From: David Baker <github@dbkr.co.uk>
Date: Thu, 4 Oct 2018 16:29:28 +0000
Subject: [PATCH 13/36] Translated using Weblate (English (United States))

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
---
 src/i18n/strings/en_US.json | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json
index fe089a48..8900c37b 100644
--- a/src/i18n/strings/en_US.json
+++ b/src/i18n/strings/en_US.json
@@ -1,8 +1,8 @@
 {
     "%(appName)s via %(browserName)s on %(osName)s": "%(osName) の %(browserName) 上の %(appName)",
-    "Custom Server Options": "カスタムサーバのオプション",
-    "Dismiss": "やめる",
-    "powered by Matrix": "Matrix の技術を利用しています",
+    "Custom Server Options": "Custom Server Options",
+    "Dismiss": "Dismiss",
+    "powered by Matrix": "powered by Matrix",
     "Riot Desktop on %(platformName)s": "%(platformName) 用 Riot デスクトップ",
     "Riot is not supported on mobile web. Install the app?": "Riot はモバイル用ウェブサイトを提供していません。アプリをインストールしますか?",
     "Unknown device": "不明のデバイス",

From f17712fab38186014894055c9ee64bc1527e5507 Mon Sep 17 00:00:00 2001
From: Besnik Bleta <besnik@programeshqip.org>
Date: Mon, 26 Mar 2018 19:10:00 +0000
Subject: [PATCH 14/36] Translated using Weblate (Albanian)

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
---
 src/i18n/strings/sq.json | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json
index 5053cb70..ffed029c 100644
--- a/src/i18n/strings/sq.json
+++ b/src/i18n/strings/sq.json
@@ -34,5 +34,6 @@
     "Support for those using, running and writing other bridges": "Asistencë për ata që përdorin, xhirojnë ose programojnë ura të tjera",
     "Contributing code to Matrix and Riot": "Kontribut me kod te Matrix dhe te Riot",
     "Dev chat for the Riot/Web dev team": "Fjalosje mbi zhvillimin, për ekipin e zhvilluesve të Riot/Web-i",
-    "Dev chat for the Dendrite dev team": "Fjalosje zhvillimi, për ekipin e zhvilluesve të Dendrite-it"
+    "Dev chat for the Dendrite dev team": "Fjalosje zhvillimi, për ekipin e zhvilluesve të Dendrite-it",
+    "Co-ordination for Riot translators": "Bashkërendim për përkthyes të Riot-it"
 }

From 46587450cb315914cd2429d6b06517a79c3f4945 Mon Sep 17 00:00:00 2001
From: Besnik Bleta <besnik@programeshqip.org>
Date: Fri, 5 Oct 2018 10:10:27 +0000
Subject: [PATCH 15/36] Translated using Weblate (Albanian)

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
---
 src/i18n/strings/sq.json | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json
index ffed029c..134585b3 100644
--- a/src/i18n/strings/sq.json
+++ b/src/i18n/strings/sq.json
@@ -1,5 +1,5 @@
 {
-    "Riot is not supported on mobile web. Install the app?": "Riot-i nuk mbulohet nën web për celularët. Të instalohet aplikacioni?",
+    "Riot is not supported on mobile web. Install the app?": "Riot-i nuk mbulohet në web për celularë. Të instalohet aplikacioni?",
     "Riot Desktop on %(platformName)s": "Riot Desktop në %(platformName)s",
     "Unknown device": "Pajisje e panjohur",
     "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s përmes %(browserName)s nën %(osName)s",
@@ -9,7 +9,7 @@
     "Dismiss": "Mos e merr parasysh",
     "powered by Matrix": "bazuar në Matrix",
     "Welcome to Riot.im": "Mirë se vini te Riot.im",
-    "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted Fjalosje &amp; bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në [matrix]",
+    "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Fjalosje &amp; bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në [matrix]",
     "Search the room directory": "Kërkoni te drejtoria e dhomave",
     "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Ka tashmë plot dhoma në Matrix, të lidhura me rrjete ekzistues (Slack, IRC, Gitter, etj) ose të pavarur. Hidhini një sy listës!",
     "Chat with Riot Bot": "Fjalosuni me Robotin Riot",
@@ -27,13 +27,13 @@
     "Support for those using and running matrix-appservice-irc": "Asistencë për ata që përdorin dhe xhirojnë matrix-appservice-irc",
     "Building services on Matrix": "Ndërtim shërbimesh mbi Matrix",
     "Support for those using the Matrix spec": "Asistencë për ata që përdorin specifikimet Matrix",
-    "Design and implementation of E2E in Matrix": "Konceptimi dhe sendërtimi i E2E në Matrix",
+    "Design and implementation of E2E in Matrix": "Konceptimi dhe sendërtimi i E2E-s në Matrix",
     "Implementing VR services with Matrix": "Sendërtim shërbimesh VR me Matrix-in",
     "Implementing VoIP services with Matrix": "Sendërtim shërbimesh VoIP me Matrix-in",
-    "Discussion of the Identity Service API": "Diskutime mbi Identity Service API",
+    "Discussion of the Identity Service API": "Diskutime mbi API-n Identity Service",
     "Support for those using, running and writing other bridges": "Asistencë për ata që përdorin, xhirojnë ose programojnë ura të tjera",
     "Contributing code to Matrix and Riot": "Kontribut me kod te Matrix dhe te Riot",
     "Dev chat for the Riot/Web dev team": "Fjalosje mbi zhvillimin, për ekipin e zhvilluesve të Riot/Web-i",
-    "Dev chat for the Dendrite dev team": "Fjalosje zhvillimi, për ekipin e zhvilluesve të Dendrite-it",
+    "Dev chat for the Dendrite dev team": "Fjalosje mbi zhvillimi, për ekipin e zhvilluesve të Dendrite-it",
     "Co-ordination for Riot translators": "Bashkërendim për përkthyes të Riot-it"
 }

From 39b5e4b1e36e3f01d948a58764a5a660817a494f Mon Sep 17 00:00:00 2001
From: Bruno Windels <brunow@matrix.org>
Date: Mon, 8 Oct 2018 17:16:22 +0200
Subject: [PATCH 16/36] update matrix-react-sdk to 0.13.6

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 5409da7f..d64dbda1 100644
--- a/package.json
+++ b/package.json
@@ -71,7 +71,7 @@
     "gfm.css": "^1.1.1",
     "highlight.js": "^9.0.0",
     "matrix-js-sdk": "0.11.1",
-    "matrix-react-sdk": "0.13.5",
+    "matrix-react-sdk": "0.13.6",
     "modernizr": "^3.1.0",
     "prop-types": "^15.5.10",
     "react": "^15.6.0",

From dec60a9c8593014a4d4b8dc9b34922902bbd351b Mon Sep 17 00:00:00 2001
From: Bruno Windels <brunow@matrix.org>
Date: Mon, 8 Oct 2018 17:19:54 +0200
Subject: [PATCH 17/36] v0.16.6

---
 electron_app/package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/electron_app/package.json b/electron_app/package.json
index 206811e3..1996b224 100644
--- a/electron_app/package.json
+++ b/electron_app/package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "src/electron-main.js",
-  "version": "0.16.5",
+  "version": "0.16.6",
   "description": "A feature-rich client for Matrix.org",
   "author": "Vector Creations Ltd.",
   "dependencies": {

From 52954982a33d6fe2791ffba27ac6ba7ca198113e Mon Sep 17 00:00:00 2001
From: Bruno Windels <brunow@matrix.org>
Date: Mon, 8 Oct 2018 17:21:35 +0200
Subject: [PATCH 18/36] Prepare changelog for v0.16.6

---
 CHANGELOG.md | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 26b6f881..d3dfd476 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+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)

From 060a7807f00b7786ee0c9cbb76a46645a18f3b17 Mon Sep 17 00:00:00 2001
From: Bruno Windels <brunow@matrix.org>
Date: Mon, 8 Oct 2018 17:21:35 +0200
Subject: [PATCH 19/36] v0.16.6

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index d64dbda1..f88d1b16 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "electron_app/src/electron-main.js",
-  "version": "0.16.5",
+  "version": "0.16.6",
   "description": "A feature-rich client for Matrix.org",
   "author": "New Vector Ltd.",
   "repository": {

From af4d3da7a8ade986bd4f89956984fe8cae1b67cd Mon Sep 17 00:00:00 2001
From: Matthew Hodgson <matthew@matrix.org>
Date: Thu, 11 Oct 2018 10:29:28 +0100
Subject: [PATCH 20/36] link to Here Be Dragons

---
 README.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/README.md b/README.md
index 6e4248b0..72def228 100644
--- a/README.md
+++ b/README.md
@@ -234,6 +234,10 @@ Before attempting to develop on Riot you **must** read the developer guide
 for `matrix-react-sdk` at https://github.com/matrix-org/matrix-react-sdk, which
 also defines the design, architecture and style for Riot too.
 
+You should also familiarise yourself with the "Here be Dragons" guide to the
+tame & not-so-tame dragons (gotchas) which exist in the codebase:
+https://docs.google.com/document/d/12jYzvkidrp1h7liEuLIe6BMdU0NUjndUYI971O06ooM
+
 The idea of Riot 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

From 80f096434278693eea271c0c5e4ac4bacbdf44e5 Mon Sep 17 00:00:00 2001
From: David Baker <github@dbkr.co.uk>
Date: Thu, 4 Oct 2018 16:29:28 +0000
Subject: [PATCH 21/36] Translated using Weblate (English (United States))

Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
---
 src/i18n/strings/en_US.json | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json
index 8900c37b..e5b060cf 100644
--- a/src/i18n/strings/en_US.json
+++ b/src/i18n/strings/en_US.json
@@ -1,16 +1,16 @@
 {
-    "%(appName)s via %(browserName)s on %(osName)s": "%(osName) の %(browserName) 上の %(appName)",
+    "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s on %(osName)s",
     "Custom Server Options": "Custom Server Options",
     "Dismiss": "Dismiss",
     "powered by Matrix": "powered by Matrix",
-    "Riot Desktop on %(platformName)s": "%(platformName) 用 Riot デスクトップ",
-    "Riot is not supported on mobile web. Install the app?": "Riot はモバイル用ウェブサイトを提供していません。アプリをインストールしますか?",
-    "Unknown device": "不明のデバイス",
-    "You need to be using HTTPS to place a screen-sharing call.": "画面共有の通話ではHTTPSを使う必要があります。",
-    "Welcome to Riot.im": "Riot.im にようこそ",
-    "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "[matrix] の技術を用いた分散化、暗号化されたチャットとコラボレーション",
+    "Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s",
+    "Riot is not supported on mobile web. Install the app?": "Riot is not supported on mobile web. Install the app?",
+    "Unknown device": "Unknown device",
+    "You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
+    "Welcome to Riot.im": "Welcome to Riot.im",
+    "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted chat &amp; collaboration powered by [matrix]",
     "Chat with Riot Bot": "Chat with Riot Bot",
-    "Search the room directory": "ルームディレクトリを検索",
+    "Search the room directory": "Search the room directory",
     "Get started with some tips from Riot Bot!": "Get started with some tips from Riot Bot!",
     "General discussion about Matrix and Riot": "General discussion about Matrix and Riot",
     "Discussion of all things Matrix!": "Discussion of all things Matrix!",

From 845b40d815c9049c2b1f1f6435340d49abc8ee52 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Thu, 11 Oct 2018 12:06:30 +0100
Subject: [PATCH 22/36] Bump electron version to 3

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index b79fee97..e3ec97d1 100644
--- a/package.json
+++ b/package.json
@@ -151,7 +151,7 @@
   "build": {
     "appId": "im.riot.app",
     "category": "Network",
-    "electronVersion": "2.0.8",
+    "electronVersion": "3.0.3",
     "//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
     "asar": false,
     "dereference": true,

From ba51c0721ecaf01ee6f649d5213642bcdaa7c72f Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Thu, 11 Oct 2018 15:42:30 +0100
Subject: [PATCH 23/36] js-sdk & react-sdk rc.1

---
 package.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/package.json b/package.json
index e3ec97d1..cb2f3b38 100644
--- a/package.json
+++ b/package.json
@@ -70,8 +70,8 @@
     "gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279",
     "gfm.css": "^1.1.2",
     "highlight.js": "^9.0.0",
-    "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
-    "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
+    "matrix-js-sdk": "0.12.0-rc.1",
+    "matrix-react-sdk": "0.14.0-rc.1",
     "modernizr": "^3.6.0",
     "prop-types": "^15.6.2",
     "react": "^15.6.0",

From aaa9c8275862f19304ecb7a821d327e24d1f333d Mon Sep 17 00:00:00 2001
From: David Baker <dbkr@users.noreply.github.com>
Date: Thu, 11 Oct 2018 16:01:56 +0100
Subject: [PATCH 24/36] Revert "also commit the lock file when bumping version
 as it is now committed to the repo"

---
 release.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/release.sh b/release.sh
index 95eb4d46..b5bdb010 100755
--- a/release.sh
+++ b/release.sh
@@ -42,7 +42,7 @@ echo "electron npm version"
 
 cd electron_app
 npm version --no-git-tag-version "$release"
-git commit package.json package-lock.json -m "$tag"
+git commit package.json -m "$tag"
 
 
 cd ..

From 74f2266d8962b54705ec8c4d2e4c0873e5a4a553 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Thu, 11 Oct 2018 16:02:48 +0100
Subject: [PATCH 25/36] v0.17.0-rc.1

---
 electron_app/package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/electron_app/package.json b/electron_app/package.json
index 206811e3..7c5b32ac 100644
--- a/electron_app/package.json
+++ b/electron_app/package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "src/electron-main.js",
-  "version": "0.16.5",
+  "version": "0.17.0-rc.1",
   "description": "A feature-rich client for Matrix.org",
   "author": "Vector Creations Ltd.",
   "dependencies": {

From 848bd8f55342b7d85abf0ef2fbaec54451d53c95 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Thu, 11 Oct 2018 16:03:52 +0100
Subject: [PATCH 26/36] Prepare changelog for v0.17.0-rc.1

---
 CHANGELOG.md | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 26b6f881..35a49988 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,40 @@
+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.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)

From 5ad9d2094aeeeb956078ecda029992629a8d6ba6 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Thu, 11 Oct 2018 16:03:53 +0100
Subject: [PATCH 27/36] v0.17.0-rc.1

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index cb2f3b38..85bb6e0c 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "electron_app/src/electron-main.js",
-  "version": "0.16.5",
+  "version": "0.17.0-rc.1",
   "description": "A feature-rich client for Matrix.org",
   "author": "New Vector Ltd.",
   "repository": {

From 4e65b5f73bdffe648ccb9882f3859dd30c528287 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Mon, 15 Oct 2018 18:13:47 +0100
Subject: [PATCH 28/36] Update to latest electron builder

Tested auto update on both windows (ia32) and mac, seems to work!
---
 package.json | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/package.json b/package.json
index e3ec97d1..5a32a692 100644
--- a/package.json
+++ b/package.json
@@ -100,8 +100,8 @@
     "concurrently": "^4.0.1",
     "cpx": "^1.3.2",
     "cross-env": "^4.0.0",
-    "electron-builder": "^11.2.4",
-    "electron-builder-squirrel-windows": "^11.2.1",
+    "electron-builder": "^20.28.4",
+    "electron-builder-squirrel-windows": "^11.6.1",
     "electron-devtools-installer": "^2.2.4",
     "emojione": "^2.2.7",
     "eslint": "^5.6.0",
@@ -150,12 +150,7 @@
   },
   "build": {
     "appId": "im.riot.app",
-    "category": "Network",
     "electronVersion": "3.0.3",
-    "//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
-    "asar": false,
-    "dereference": true,
-    "//files": "We bundle everything, so we only need to include webapp/",
     "files": [
       "node_modules/**",
       "src/**",
@@ -172,8 +167,13 @@
         "StartupWMClass": "riot"
       }
     },
+    "mac": {
+      "category": "public.app-category.social-networking"
+    },
     "win": {
-      "target": "squirrel"
+      "target": {
+        "target": "squirrel"
+      }
     },
     "directories": {
       "buildResources": "electron_app/build",

From a0e067510cdb97b2c7b063d4fb276d5bedfa1b05 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Mon, 15 Oct 2018 18:13:47 +0100
Subject: [PATCH 29/36] Update to latest electron builder

Tested auto update on both windows (ia32) and mac, seems to work!
---
 package.json | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/package.json b/package.json
index 85bb6e0c..a6d6762d 100644
--- a/package.json
+++ b/package.json
@@ -100,8 +100,8 @@
     "concurrently": "^4.0.1",
     "cpx": "^1.3.2",
     "cross-env": "^4.0.0",
-    "electron-builder": "^11.2.4",
-    "electron-builder-squirrel-windows": "^11.2.1",
+    "electron-builder": "^20.28.4",
+    "electron-builder-squirrel-windows": "^11.6.1",
     "electron-devtools-installer": "^2.2.4",
     "emojione": "^2.2.7",
     "eslint": "^5.6.0",
@@ -150,12 +150,7 @@
   },
   "build": {
     "appId": "im.riot.app",
-    "category": "Network",
     "electronVersion": "3.0.3",
-    "//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
-    "asar": false,
-    "dereference": true,
-    "//files": "We bundle everything, so we only need to include webapp/",
     "files": [
       "node_modules/**",
       "src/**",
@@ -172,8 +167,13 @@
         "StartupWMClass": "riot"
       }
     },
+    "mac": {
+      "category": "public.app-category.social-networking"
+    },
     "win": {
-      "target": "squirrel"
+      "target": {
+        "target": "squirrel"
+      }
     },
     "directories": {
       "buildResources": "electron_app/build",

From de7d3ba701fd6ae854361d158c49ef7364e89002 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Tue, 16 Oct 2018 10:26:04 +0100
Subject: [PATCH 30/36] Change electron build script paths

Because electron builder has decided to output the mac assets to
somewhere else today.
---
 scripts/electron-package.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/electron-package.sh b/scripts/electron-package.sh
index f0ba9414..bd68d9c2 100755
--- a/scripts/electron-package.sh
+++ b/scripts/electron-package.sh
@@ -100,7 +100,7 @@ mkdir -p "$projdir/electron_app/dist/unsigned/"
 # Install packages: what the user downloads the first time,
 # (DMGs for mac, exe installer for windows)
 mkdir -p "$pubdir/install/macos"
-cp $distdir/mac/*.dmg "$pubdir/install/macos/"
+cp $distdir/*.dmg "$pubdir/install/macos/"
 
 # Windows installers go to the dist dir because they need signing
 mkdir -p "$pubdir/install/win32/ia32/"
@@ -111,7 +111,7 @@ cp $distdir/win/*.exe "$projdir/electron_app/dist/unsigned/"
 
 # Packages for auto-update
 mkdir -p "$pubdir/update/macos"
-cp $distdir/mac/*.zip "$pubdir/update/macos/"
+cp $distdir/*-mac.zip "$pubdir/update/macos/"
 echo "$vername" > "$pubdir/update/macos/latest"
 
 mkdir -p "$pubdir/update/win32/ia32/"

From 005e4aa1bd1eb38d0d9c5dcf45f219dcbe49c98c Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Tue, 16 Oct 2018 10:43:15 +0100
Subject: [PATCH 31/36] Phased rollout of lazyloading

---
 electron_app/riot.im/config.json | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/electron_app/riot.im/config.json b/electron_app/riot.im/config.json
index 10b453a4..2a52a511 100644
--- a/electron_app/riot.im/config.json
+++ b/electron_app/riot.im/config.json
@@ -21,6 +21,15 @@
         "siteId": 1,
         "policyUrl": "https://matrix.org/docs/guides/riot_im_cookie_policy"
     },
+    "phasedRollOut": {
+        "feature_lazyloading": {
+            "offset": 1539684000000,
+            "period": 604800000
+        }
+    },
+    "features": {
+        "feature_lazyloading": "enable"
+    },
     "enable_presence_by_hs_url": {
         "https://matrix.org": false
     }

From 4afb5caa4e7d3cd4b59fa566491a3034032c9fb5 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Tue, 16 Oct 2018 10:58:29 +0100
Subject: [PATCH 32/36] Released js-sdk & react-sdk

---
 package.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/package.json b/package.json
index a6d6762d..7b935173 100644
--- a/package.json
+++ b/package.json
@@ -70,8 +70,8 @@
     "gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279",
     "gfm.css": "^1.1.2",
     "highlight.js": "^9.0.0",
-    "matrix-js-sdk": "0.12.0-rc.1",
-    "matrix-react-sdk": "0.14.0-rc.1",
+    "matrix-js-sdk": "0.12.0",
+    "matrix-react-sdk": "0.14.0",
     "modernizr": "^3.6.0",
     "prop-types": "^15.6.2",
     "react": "^15.6.0",

From 1fc8592ef65b36a08c2eb0c57e8d81155a7e1c64 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Tue, 16 Oct 2018 10:59:18 +0100
Subject: [PATCH 33/36] v0.17.0

---
 electron_app/package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/electron_app/package.json b/electron_app/package.json
index 7c5b32ac..18847188 100644
--- a/electron_app/package.json
+++ b/electron_app/package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "src/electron-main.js",
-  "version": "0.17.0-rc.1",
+  "version": "0.17.0",
   "description": "A feature-rich client for Matrix.org",
   "author": "Vector Creations Ltd.",
   "dependencies": {

From 65cc3000eef1a9ca6d26afc1ffa6639cf1f9fb4b Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Tue, 16 Oct 2018 11:00:39 +0100
Subject: [PATCH 34/36] Prepare changelog for v0.17.0

---
 CHANGELOG.md | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 35a49988..49f4760f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,12 @@
+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)

From 41540842eb44e72aaab97bebdc6c981d4f686ef3 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Tue, 16 Oct 2018 11:00:39 +0100
Subject: [PATCH 35/36] v0.17.0

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 7b935173..73f0a1d7 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "electron_app/src/electron-main.js",
-  "version": "0.17.0-rc.1",
+  "version": "0.17.0",
   "description": "A feature-rich client for Matrix.org",
   "author": "New Vector Ltd.",
   "repository": {

From 2202ff1ccdbe5ae57724b24b2cf989687e4f98a9 Mon Sep 17 00:00:00 2001
From: David Baker <dave@matrix.org>
Date: Tue, 16 Oct 2018 11:12:13 +0100
Subject: [PATCH 36/36] update deps

---
 package-lock.json | 601 +++++++++-------------------------------------
 package.json      |  12 +-
 2 files changed, 119 insertions(+), 494 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index a5f23a57..dd7c656a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "riot-web",
-  "version": "0.16.5",
+  "version": "0.17.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
@@ -56,15 +56,6 @@
             "supports-color": "^5.3.0"
           }
         },
-        "color-convert": {
-          "version": "1.9.3",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-          "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-          "dev": true,
-          "requires": {
-            "color-name": "1.1.3"
-          }
-        },
         "has-flag": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -552,79 +543,6 @@
       "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
       "dev": true
     },
-    "archiver": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/archiver/-/archiver-3.0.0.tgz",
-      "integrity": "sha512-5QeR6Xc5hSA9X1rbQfcuQ6VZuUXOaEdB65Dhmk9duuRJHYif/ZyJfuyJqsQrj34PFjU5emv5/MmfgA8un06onw==",
-      "dev": true,
-      "requires": {
-        "archiver-utils": "^2.0.0",
-        "async": "^2.0.0",
-        "buffer-crc32": "^0.2.1",
-        "glob": "^7.0.0",
-        "readable-stream": "^2.0.0",
-        "tar-stream": "^1.5.0",
-        "zip-stream": "^2.0.1"
-      },
-      "dependencies": {
-        "glob": {
-          "version": "7.1.3",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
-          "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.4",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        }
-      }
-    },
-    "archiver-utils": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.0.0.tgz",
-      "integrity": "sha512-JRBgcVvDX4Mwu2RBF8bBaHcQCSxab7afsxAPYDQ5W+19quIPP5CfKE7Ql+UHs9wYvwsaNR8oDuhtf5iqrKmzww==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.0.0",
-        "graceful-fs": "^4.1.0",
-        "lazystream": "^1.0.0",
-        "lodash.assign": "^4.2.0",
-        "lodash.defaults": "^4.2.0",
-        "lodash.difference": "^4.5.0",
-        "lodash.flatten": "^4.4.0",
-        "lodash.isplainobject": "^4.0.6",
-        "lodash.toarray": "^4.4.0",
-        "lodash.union": "^4.6.0",
-        "normalize-path": "^3.0.0",
-        "readable-stream": "^2.0.0"
-      },
-      "dependencies": {
-        "glob": {
-          "version": "7.1.3",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
-          "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.4",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-          "dev": true
-        }
-      }
-    },
     "are-we-there-yet": {
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
@@ -1979,48 +1897,6 @@
       "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=",
       "dev": true
     },
-    "bl": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
-      "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.3.5",
-        "safe-buffer": "^5.1.1"
-      },
-      "dependencies": {
-        "process-nextick-args": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
-          "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
     "blob": {
       "version": "0.0.4",
       "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
@@ -2363,12 +2239,6 @@
       "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
       "dev": true
     },
-    "buffer-crc32": {
-      "version": "0.2.13",
-      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
-      "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
-      "dev": true
-    },
     "buffer-fill": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
@@ -2863,7 +2733,6 @@
       "version": "1.9.3",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
       "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
       "requires": {
         "color-name": "1.1.3"
       }
@@ -2943,18 +2812,6 @@
       "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
       "dev": true
     },
-    "compress-commons": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
-      "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
-      "dev": true,
-      "requires": {
-        "buffer-crc32": "^0.2.1",
-        "crc32-stream": "^2.0.0",
-        "normalize-path": "^2.0.0",
-        "readable-stream": "^2.0.0"
-      }
-    },
     "compressible": {
       "version": "2.0.15",
       "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz",
@@ -3477,37 +3334,6 @@
         }
       }
     },
-    "crc": {
-      "version": "3.8.0",
-      "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz",
-      "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==",
-      "dev": true,
-      "requires": {
-        "buffer": "^5.1.0"
-      },
-      "dependencies": {
-        "buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
-          "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
-          "dev": true,
-          "requires": {
-            "base64-js": "^1.0.2",
-            "ieee754": "^1.1.4"
-          }
-        }
-      }
-    },
-    "crc32-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz",
-      "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
-      "dev": true,
-      "requires": {
-        "crc": "^3.4.4",
-        "readable-stream": "^2.0.0"
-      }
-    },
     "create-ecdh": {
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
@@ -4368,20 +4194,6 @@
         }
       }
     },
-    "electron-builder-squirrel-windows": {
-      "version": "20.28.3",
-      "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-20.28.3.tgz",
-      "integrity": "sha512-dQy0Fsgw7ri+/Ua4QmO7+NSJjy5yDiV/Qs3Y9g8dT8+Ry48A5J+3NRBbnsVY2U3xFRyUW0RBt8RYjk1hD6GI6A==",
-      "dev": true,
-      "requires": {
-        "7zip-bin": "~4.0.2",
-        "archiver": "^3.0.0",
-        "bluebird-lst": "^1.0.5",
-        "builder-util": "~6.1.3",
-        "fs-extra-p": "^4.6.1",
-        "sanitize-filename": "^1.6.1"
-      }
-    },
     "electron-devtools-installer": {
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/electron-devtools-installer/-/electron-devtools-installer-2.2.4.tgz",
@@ -4676,16 +4488,16 @@
       "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
     },
     "eslint": {
-      "version": "5.6.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.6.0.tgz",
-      "integrity": "sha512-/eVYs9VVVboX286mBK7bbKnO1yamUy2UCRjiY6MryhQL2PaaXCExsCQ2aO83OeYRhU2eCU/FMFP+tVMoOrzNrA==",
+      "version": "5.7.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.7.0.tgz",
+      "integrity": "sha512-zYCeFQahsxffGl87U2aJ7DPyH8CbWgxBC213Y8+TCanhUTf2gEvfq3EKpHmEcozTLyPmGe9LZdMAwC/CpJBM5A==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
         "ajv": "^6.5.3",
         "chalk": "^2.1.0",
         "cross-spawn": "^6.0.5",
-        "debug": "^3.1.0",
+        "debug": "^4.0.1",
         "doctrine": "^2.1.0",
         "eslint-scope": "^4.0.0",
         "eslint-utils": "^1.3.1",
@@ -4712,12 +4524,12 @@
         "path-is-inside": "^1.0.2",
         "pluralize": "^7.0.0",
         "progress": "^2.0.0",
-        "regexpp": "^2.0.0",
+        "regexpp": "^2.0.1",
         "require-uncached": "^1.0.3",
         "semver": "^5.5.1",
         "strip-ansi": "^4.0.0",
         "strip-json-comments": "^2.0.1",
-        "table": "^4.0.3",
+        "table": "^5.0.2",
         "text-table": "^0.2.0"
       },
       "dependencies": {
@@ -4768,15 +4580,6 @@
             "supports-color": "^5.3.0"
           }
         },
-        "color-convert": {
-          "version": "1.9.3",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-          "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-          "dev": true,
-          "requires": {
-            "color-name": "1.1.3"
-          }
-        },
         "cross-spawn": {
           "version": "6.0.5",
           "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@@ -4791,9 +4594,9 @@
           }
         },
         "debug": {
-          "version": "3.2.5",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz",
-          "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
+          "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
           "dev": true,
           "requires": {
             "ms": "^2.1.1"
@@ -4829,9 +4632,9 @@
           }
         },
         "globals": {
-          "version": "11.7.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz",
-          "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==",
+          "version": "11.8.0",
+          "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz",
+          "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==",
           "dev": true
         },
         "has-flag": {
@@ -4856,28 +4659,16 @@
           "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
           "dev": true
         },
-        "lodash": {
-          "version": "4.17.11",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
-          "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
-          "dev": true
-        },
         "ms": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
           "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
           "dev": true
         },
-        "progress": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
-          "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
-          "dev": true
-        },
         "semver": {
-          "version": "5.5.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz",
-          "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==",
+          "version": "5.6.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+          "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
           "dev": true
         },
         "sprintf-js": {
@@ -5766,12 +5557,6 @@
         "null-check": "^1.0.0"
       }
     },
-    "fs-constants": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
-      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
-      "dev": true
-    },
     "fs-extra": {
       "version": "0.30.0",
       "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
@@ -6239,9 +6024,9 @@
       "dev": true
     },
     "highlight.js": {
-      "version": "9.12.0",
-      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
-      "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4="
+      "version": "9.13.0",
+      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.0.tgz",
+      "integrity": "sha512-2B90kcNnErqRTmzdZw6IPLEC9CdsiIMhj+r8L3LJKRCgtEJ+LY5yzWuQCVnADTI0wwocQinFzaaL/JjTQNqI/g=="
     },
     "hmac-drbg": {
       "version": "1.0.1",
@@ -6932,15 +6717,6 @@
             "supports-color": "^5.3.0"
           }
         },
-        "color-convert": {
-          "version": "1.9.3",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-          "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-          "dev": true,
-          "requires": {
-            "color-name": "1.1.3"
-          }
-        },
         "has-flag": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -6953,12 +6729,6 @@
           "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
           "dev": true
         },
-        "lodash": {
-          "version": "4.17.11",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
-          "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
-          "dev": true
-        },
         "string-width": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
@@ -7149,11 +6919,6 @@
       "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
       "dev": true
     },
-    "is-empty": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/is-empty/-/is-empty-1.2.0.tgz",
-      "integrity": "sha1-3pu1snhzigWgsJpX4ftNSjQan2s="
-    },
     "is-equal": {
       "version": "1.5.5",
       "resolved": "https://registry.npmjs.org/is-equal/-/is-equal-1.5.5.tgz",
@@ -8617,7 +8382,7 @@
       "dependencies": {
         "lodash": {
           "version": "3.10.1",
-          "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
           "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
           "dev": true
         },
@@ -8701,11 +8466,6 @@
         }
       }
     },
-    "keycode": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz",
-      "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ="
-    },
     "killable": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@@ -8745,15 +8505,6 @@
       "integrity": "sha512-pjCf3BYk+uv3ZcPzEVM0BFvO9Uw58TmlrU0oG5tTrr9Kcid3+kdKxapH8CjdYmVa2nO5wOoZn2rdvZx2PKj/xg==",
       "dev": true
     },
-    "lazystream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
-      "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.0.5"
-      }
-    },
     "lcid": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
@@ -8883,29 +8634,11 @@
       "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
       "dev": true
     },
-    "lodash.defaults": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
-      "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
-      "dev": true
-    },
-    "lodash.difference": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
-      "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=",
-      "dev": true
-    },
     "lodash.escaperegexp": {
       "version": "4.1.2",
       "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz",
       "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c="
     },
-    "lodash.flatten": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
-      "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
-      "dev": true
-    },
     "lodash.isplainobject": {
       "version": "4.0.6",
       "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
@@ -8927,18 +8660,6 @@
       "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=",
       "dev": true
     },
-    "lodash.toarray": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
-      "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=",
-      "dev": true
-    },
-    "lodash.union": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
-      "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=",
-      "dev": true
-    },
     "log4js": {
       "version": "3.0.5",
       "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.5.tgz",
@@ -9064,9 +8785,8 @@
       "dev": true
     },
     "matrix-js-sdk": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-0.11.0.tgz",
-      "integrity": "sha512-MrUBQEDug/75rpJkwAl57ocpvp7VO2tKQOSm2g8u2zEkVoMZt73DJAuQEdt1n3e4Ef2y7/niJqSjDuuXI3G5Pg==",
+      "version": "github:matrix-org/matrix-js-sdk#5d84db9fb72678af38c50de5eefe4c0b7bd48af1",
+      "from": "github:matrix-org/matrix-js-sdk#develop",
       "requires": {
         "another-json": "^0.2.0",
         "babel-runtime": "^6.26.0",
@@ -9087,11 +8807,10 @@
       }
     },
     "matrix-react-sdk": {
-      "version": "0.13.4",
-      "resolved": "https://registry.npmjs.org/matrix-react-sdk/-/matrix-react-sdk-0.13.4.tgz",
-      "integrity": "sha512-JtD5Fl1HGBV/arDOehXEWOajowPpiWN3V1bZaX8Dkb80JcGjxuzsa4BEz3h2FM9zU432FEMVvl5q5OaroBkFuw==",
+      "version": "github:matrix-org/matrix-react-sdk#8015bdfed77bc5a33ddc9aca2760639501cf422c",
+      "from": "github:matrix-org/matrix-react-sdk#develop",
       "requires": {
-        "babel-runtime": "^6.11.6",
+        "babel-runtime": "^6.26.0",
         "bluebird": "^3.5.0",
         "blueimp-canvas-to-blob": "^3.5.0",
         "browser-encrypt-attachment": "^0.3.0",
@@ -9108,12 +8827,12 @@
         "gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279810d05319ac5ff1bd34910bff32325c7b",
         "gfm.css": "^1.1.1",
         "glob": "^5.0.14",
-        "highlight.js": "^9.0.0",
+        "highlight.js": "^9.13.0",
         "isomorphic-fetch": "^2.2.1",
         "linkifyjs": "^2.1.6",
         "lodash": "^4.13.1",
         "lolex": "2.3.2",
-        "matrix-js-sdk": "0.11.0",
+        "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#5d84db9fb72678af38c50de5eefe4c0b7bd48af1",
         "optimist": "^0.6.1",
         "pako": "^1.0.5",
         "prop-types": "^15.5.8",
@@ -9126,16 +8845,21 @@
         "react-gemini-scrollbar": "github:matrix-org/react-gemini-scrollbar#5e97aef7e034efc8db1431f4b0efe3b26e249ae9",
         "resize-observer-polyfill": "^1.5.0",
         "sanitize-html": "^1.18.4",
-        "slate": "0.34.7",
+        "slate": "^0.41.2",
         "slate-html-serializer": "^0.6.1",
         "slate-md-serializer": "github:matrix-org/slate-md-serializer#f7c4ad394f5af34d4c623de7909ce95ab78072d3",
-        "slate-react": "^0.12.4",
+        "slate-react": "^0.18.10",
         "text-encoding-utf-8": "^1.0.1",
         "url": "^0.11.0",
         "velocity-vector": "github:vector-im/velocity#059e3b2348f1110888d033974d3109fd5a3af00f",
-        "whatwg-fetch": "^1.0.0"
+        "whatwg-fetch": "^1.1.1"
       },
       "dependencies": {
+        "highlight.js": {
+          "version": "9.13.0",
+          "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.0.tgz",
+          "integrity": "sha512-2B90kcNnErqRTmzdZw6IPLEC9CdsiIMhj+r8L3LJKRCgtEJ+LY5yzWuQCVnADTI0wwocQinFzaaL/JjTQNqI/g=="
+        },
         "whatwg-fetch": {
           "version": "1.1.1",
           "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz",
@@ -10271,7 +9995,7 @@
         },
         "xmlbuilder": {
           "version": "9.0.7",
-          "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+          "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
           "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
           "dev": true
         }
@@ -10980,6 +10704,12 @@
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
       "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
     },
+    "progress": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
+      "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
+      "dev": true
+    },
     "promise": {
       "version": "7.3.1",
       "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
@@ -11281,6 +11011,12 @@
       "from": "github:matrix-org/react-gemini-scrollbar#5e97aef",
       "requires": {
         "gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279810d05319ac5ff1bd34910bff32325c7b"
+      },
+      "dependencies": {
+        "gemini-scrollbar": {
+          "version": "github:matrix-org/gemini-scrollbar#b302279810d05319ac5ff1bd34910bff32325c7b",
+          "from": "github:matrix-org/gemini-scrollbar#b302279"
+        }
       }
     },
     "react-immutable-proptypes": {
@@ -11305,14 +11041,6 @@
         }
       }
     },
-    "react-portal": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/react-portal/-/react-portal-3.2.0.tgz",
-      "integrity": "sha512-avb1FreAZAVCvNNyS2dCpxZiPYPJnAasHYPxdVBTROgNFeI+KSb+OoMHNsC1GbDawESCriPwCX+qKua6WSPIFw==",
-      "requires": {
-        "prop-types": "^15.5.8"
-      }
-    },
     "react-redux": {
       "version": "5.0.7",
       "resolved": "http://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz",
@@ -11324,13 +11052,6 @@
         "lodash-es": "^4.17.5",
         "loose-envify": "^1.1.0",
         "prop-types": "^15.6.0"
-      },
-      "dependencies": {
-        "lodash": {
-          "version": "4.17.11",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
-          "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
-        }
       }
     },
     "read-cache": {
@@ -11522,9 +11243,9 @@
       }
     },
     "regexpp": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz",
-      "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
+      "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
       "dev": true
     },
     "regexpu-core": {
@@ -11967,9 +11688,9 @@
       }
     },
     "sanitize-html": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.19.0.tgz",
-      "integrity": "sha512-Qt2imq49f2qP4537a7R2Xgx9sjTvw18jIT7zKurhu5kpYNQfMo8EZaW3OcpoXCvg3GTN4C4R3mN8ao7STUtKtA==",
+      "version": "1.19.1",
+      "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.19.1.tgz",
+      "integrity": "sha512-zNYr6FvBn4bZukr9x2uny6od/9YdjCLwF+FqxivqI0YOt/m9GIxfX+tWhm52tBAPUXiTTb4bJTGVagRz5b06bw==",
       "requires": {
         "chalk": "^2.3.0",
         "htmlparser2": "^3.9.0",
@@ -12001,14 +11722,6 @@
             "supports-color": "^5.3.0"
           }
         },
-        "color-convert": {
-          "version": "1.9.3",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-          "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-          "requires": {
-            "color-name": "1.1.3"
-          }
-        },
         "has-flag": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -12282,25 +11995,23 @@
       "dev": true
     },
     "slate": {
-      "version": "0.34.7",
-      "resolved": "https://registry.npmjs.org/slate/-/slate-0.34.7.tgz",
-      "integrity": "sha1-WQjh0PwJKiISSIvsplZx8B4OuAo=",
+      "version": "0.41.3",
+      "resolved": "https://registry.npmjs.org/slate/-/slate-0.41.3.tgz",
+      "integrity": "sha512-I/ymHWRxtoSOWYKh/SFgW3Vkkojt5ywWf7Wh4oBvaKic/3mAsM1wymyZmhnvSKK59IeE0JJzD4uyyQaM1KEFHA==",
       "requires": {
         "debug": "^3.1.0",
         "direction": "^0.1.5",
         "esrever": "^0.2.0",
-        "is-empty": "^1.0.0",
         "is-plain-object": "^2.0.4",
         "lodash": "^4.17.4",
-        "slate-dev-logger": "^0.1.39",
-        "slate-schema-violations": "^0.1.20",
+        "slate-dev-warning": "^0.0.1",
         "type-of": "^2.0.1"
       },
       "dependencies": {
         "debug": {
-          "version": "3.2.5",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz",
-          "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==",
+          "version": "3.2.6",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
           "requires": {
             "ms": "^2.1.1"
           }
@@ -12313,17 +12024,17 @@
       }
     },
     "slate-base64-serializer": {
-      "version": "0.2.68",
-      "resolved": "https://registry.npmjs.org/slate-base64-serializer/-/slate-base64-serializer-0.2.68.tgz",
-      "integrity": "sha512-bYgsKyDW852Yn301BEL0pCMAbR22rTFw4VGj1i7Utv4CuH2ViZZZE7BOW8eUTlamQtANsGQKf1m3DXHl/QQKxA==",
+      "version": "0.2.72",
+      "resolved": "https://registry.npmjs.org/slate-base64-serializer/-/slate-base64-serializer-0.2.72.tgz",
+      "integrity": "sha512-Bra4elmvDIfsFwh1BjW1E7O3g+/BOkfSAij10mjraveHG5MC386t/FJ1itZt2ydv+EAlep5iXkbKzMp8u+RalQ==",
       "requires": {
         "isomorphic-base64": "^1.0.2"
       }
     },
     "slate-dev-environment": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/slate-dev-environment/-/slate-dev-environment-0.1.6.tgz",
-      "integrity": "sha512-DDeNzcpBvdEtPmuLrpPtrth7vnK693fgxzwS6FACu3oMBoXjh0qcJWVBktecPJXJDxcTVkWUpt0dPhfXLMIkWQ==",
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/slate-dev-environment/-/slate-dev-environment-0.2.0.tgz",
+      "integrity": "sha512-xxh3ThUSHYDwRUaywRQeOySJFI1kU4mYw9uDUbjk3VTpt0BHCFufHkCU5f22U8HyP7b2nDVFwfyXg1Q0o+Ksag==",
       "requires": {
         "is-in-browser": "^1.1.3"
       }
@@ -12333,13 +12044,18 @@
       "resolved": "https://registry.npmjs.org/slate-dev-logger/-/slate-dev-logger-0.1.43.tgz",
       "integrity": "sha512-GkcPMGzmPVm85AL+jaKnzhIA0UH9ktQDEIDM+FuQtz+TAPcpPCQiRAaZ6I2p2uD0Hq9bImhKSCtHIa0qRxiVGw=="
     },
+    "slate-dev-warning": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/slate-dev-warning/-/slate-dev-warning-0.0.1.tgz",
+      "integrity": "sha512-QdXa+qmOG46VrTfnzn2gUVzs1WiO3Q+zCv3XomzMNGdgAJjCgHBs3jaeQD845h15loS3OJ181gCNAkB3dby6Hw=="
+    },
     "slate-hotkeys": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/slate-hotkeys/-/slate-hotkeys-0.1.4.tgz",
-      "integrity": "sha1-WxCyoXiv/GCCf5KE1MCl1+UEH/4=",
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/slate-hotkeys/-/slate-hotkeys-0.2.5.tgz",
+      "integrity": "sha512-b1KnfQTcw6HwgKNUQCdxl1SUu6Sm26DaAqYjxM+ftd/6sUSmDN0YTdMfK+UbNND7WRCkN2Acqq36zQJfEczekg==",
       "requires": {
-        "is-hotkey": "^0.1.1",
-        "slate-dev-environment": "^0.1.4"
+        "is-hotkey": "^0.1.3",
+        "slate-dev-environment": "^0.2.0"
       }
     },
     "slate-html-serializer": {
@@ -12356,48 +12072,49 @@
       "from": "github:matrix-org/slate-md-serializer#f7c4ad3"
     },
     "slate-plain-serializer": {
-      "version": "0.5.41",
-      "resolved": "https://registry.npmjs.org/slate-plain-serializer/-/slate-plain-serializer-0.5.41.tgz",
-      "integrity": "sha512-KPC2T5PT29JN7uxpmpg/xIGO1YjNmpTfghkGsUKBx7HHYjGe5c9jEApolTvzNy3F3w+wGQNsiT+aN6dn9m6sFA==",
-      "requires": {
-        "slate-dev-logger": "^0.1.43"
-      }
+      "version": "0.6.11",
+      "resolved": "https://registry.npmjs.org/slate-plain-serializer/-/slate-plain-serializer-0.6.11.tgz",
+      "integrity": "sha512-BPFi76EDyb8sPLQjUKFDFFtee/4rMmQceIgD6L6abv7ABndfNrBkK+uXTRQ42H4H60r1sXKvMnPYDsEuLwG+MA=="
     },
     "slate-prop-types": {
-      "version": "0.4.66",
-      "resolved": "https://registry.npmjs.org/slate-prop-types/-/slate-prop-types-0.4.66.tgz",
-      "integrity": "sha512-5Y2MdsLVc6YWQK5Z3vablXEs5VLkpRAVsJ4PuELgrAzcGEvHpI8UlpR0zcMGF9SsJVWMaIY8fF6+9nh3pAg0JQ=="
+      "version": "0.4.67",
+      "resolved": "https://registry.npmjs.org/slate-prop-types/-/slate-prop-types-0.4.67.tgz",
+      "integrity": "sha512-FmdwitAw1Y69JHm326dfwP6Zd6R99jz1Im8jvKcnG2hytk72I1vIv6ct2CkNGwc3sg90+OIO/Rf18frYxxoTzw=="
     },
     "slate-react": {
-      "version": "0.12.11",
-      "resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.12.11.tgz",
-      "integrity": "sha1-bYPmBGNHBHV2kKV9vWqrKCqWStM=",
+      "version": "0.18.11",
+      "resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.18.11.tgz",
+      "integrity": "sha512-7u0+LLabGaxjWYb0oTqUDcs3iCvJdaZwcGW6hLc1hFv06KkwaIxAqYpP8dUBRVlQd+0/X0TdyagCmf0IjFSPhg==",
       "requires": {
         "debug": "^3.1.0",
         "get-window": "^1.1.1",
         "is-window": "^1.0.2",
-        "keycode": "^2.1.2",
         "lodash": "^4.1.1",
+        "memoize-one": "^4.0.0",
         "prop-types": "^15.5.8",
         "react-immutable-proptypes": "^2.1.0",
-        "react-portal": "^3.1.0",
         "selection-is-backward": "^1.0.0",
-        "slate-base64-serializer": "^0.2.36",
-        "slate-dev-environment": "^0.1.2",
-        "slate-dev-logger": "^0.1.39",
-        "slate-hotkeys": "^0.1.2",
-        "slate-plain-serializer": "^0.5.17",
-        "slate-prop-types": "^0.4.34"
+        "slate-base64-serializer": "^0.2.69",
+        "slate-dev-environment": "^0.2.0",
+        "slate-dev-warning": "^0.0.1",
+        "slate-hotkeys": "^0.2.5",
+        "slate-plain-serializer": "^0.6.8",
+        "slate-prop-types": "^0.4.67"
       },
       "dependencies": {
         "debug": {
-          "version": "3.2.5",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz",
-          "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==",
+          "version": "3.2.6",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
           "requires": {
             "ms": "^2.1.1"
           }
         },
+        "memoize-one": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.2.tgz",
+          "integrity": "sha512-ucx2DmXTeZTsS4GPPUZCbULAN7kdPT1G+H49Y34JjbQ5ESc6OGhVxKvb1iKhr9v19ZB9OtnHwNnhUnNR/7Wteg=="
+        },
         "ms": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
@@ -12405,11 +12122,6 @@
         }
       }
     },
-    "slate-schema-violations": {
-      "version": "0.1.39",
-      "resolved": "https://registry.npmjs.org/slate-schema-violations/-/slate-schema-violations-0.1.39.tgz",
-      "integrity": "sha512-SNRoV9Ii5UqjNqAKcIw7aAOMwgI45zsn86ue2n8NVLNOCe3fUI35cjq6l3fdvmRYw4X/GcZqzhpQsizHD3ts6A=="
-    },
     "slice-ansi": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
@@ -13117,15 +12829,13 @@
       "integrity": "sha512-nOWwx35/JuDI4ONuF0ZTo6lYvI0fY0tZCH1ErzY2EXfu4az50ZyiUX8X073FLiZtmWUVlkRnuXsehjJgCw9tYg=="
     },
     "table": {
-      "version": "4.0.3",
-      "resolved": "http://registry.npmjs.org/table/-/table-4.0.3.tgz",
-      "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==",
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/table/-/table-5.1.0.tgz",
+      "integrity": "sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==",
       "dev": true,
       "requires": {
-        "ajv": "^6.0.1",
-        "ajv-keywords": "^3.0.0",
-        "chalk": "^2.1.0",
-        "lodash": "^4.17.4",
+        "ajv": "^6.5.3",
+        "lodash": "^4.17.10",
         "slice-ansi": "1.0.0",
         "string-width": "^2.1.1"
       },
@@ -13148,47 +12858,12 @@
           "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
           "dev": true
         },
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.1",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
-          "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "color-convert": {
-          "version": "1.9.3",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-          "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-          "dev": true,
-          "requires": {
-            "color-name": "1.1.3"
-          }
-        },
         "fast-deep-equal": {
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
           "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
           "dev": true
         },
-        "has-flag": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-          "dev": true
-        },
         "is-fullwidth-code-point": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
@@ -13219,15 +12894,6 @@
           "requires": {
             "ansi-regex": "^3.0.0"
           }
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
         }
       }
     },
@@ -13331,21 +12997,6 @@
         "uid-number": "^0.0.6"
       }
     },
-    "tar-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
-      "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
-      "dev": true,
-      "requires": {
-        "bl": "^1.0.0",
-        "buffer-alloc": "^1.2.0",
-        "end-of-stream": "^1.0.0",
-        "fs-constants": "^1.0.0",
-        "readable-stream": "^2.3.0",
-        "to-buffer": "^1.1.1",
-        "xtend": "^4.0.0"
-      }
-    },
     "temp-file": {
       "version": "3.1.3",
       "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.1.3.tgz",
@@ -13449,12 +13100,6 @@
       "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
       "dev": true
     },
-    "to-buffer": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
-      "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
-      "dev": true
-    },
     "to-fast-properties": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
@@ -15408,9 +15053,9 @@
       }
     },
     "webpack-cli": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.1.tgz",
-      "integrity": "sha512-th5EUyVeGcAAVlFOcJg11fapD/xoLRE4j/eSfrmMAo3olPjvB7lgEPUtCbRP0OGmstvnQBl4VZP+zluXWDiBxg==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz",
+      "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==",
       "dev": true,
       "requires": {
         "chalk": "^2.4.1",
@@ -15468,15 +15113,6 @@
             "wrap-ansi": "^2.0.0"
           }
         },
-        "color-convert": {
-          "version": "1.9.3",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-          "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-          "dev": true,
-          "requires": {
-            "color-name": "1.1.3"
-          }
-        },
         "cross-spawn": {
           "version": "6.0.5",
           "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@@ -15598,9 +15234,9 @@
           "dev": true
         },
         "semver": {
-          "version": "5.5.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz",
-          "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==",
+          "version": "5.6.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+          "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
           "dev": true
         },
         "string-width": {
@@ -17174,7 +16810,7 @@
     },
     "xmlbuilder": {
       "version": "8.2.2",
-      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
+      "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
       "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=",
       "dev": true
     },
@@ -17245,17 +16881,6 @@
       "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
       "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
       "dev": true
-    },
-    "zip-stream": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-2.0.1.tgz",
-      "integrity": "sha512-c+eUhhkDpaK87G/py74wvWLtz2kzMPNCCkUApkun50ssE0oQliIQzWpTnwjB+MTKVIf2tGzIgHyqW/Y+W77ecQ==",
-      "dev": true,
-      "requires": {
-        "archiver-utils": "^2.0.0",
-        "compress-commons": "^1.2.0",
-        "readable-stream": "^2.0.0"
-      }
     }
   }
 }
diff --git a/package.json b/package.json
index 73f0a1d7..37ddd112 100644
--- a/package.json
+++ b/package.json
@@ -69,14 +69,14 @@
     "favico.js": "^0.3.10",
     "gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279",
     "gfm.css": "^1.1.2",
-    "highlight.js": "^9.0.0",
-    "matrix-js-sdk": "0.12.0",
-    "matrix-react-sdk": "0.14.0",
+    "highlight.js": "^9.13.0",
+    "matrix-js-sdk": "matrix-org/matrix-js-sdk#develop",
+    "matrix-react-sdk": "matrix-org/matrix-react-sdk#develop",
     "modernizr": "^3.6.0",
     "prop-types": "^15.6.2",
     "react": "^15.6.0",
     "react-dom": "^15.6.0",
-    "sanitize-html": "^1.18.4",
+    "sanitize-html": "^1.19.1",
     "ua-parser-js": "^0.7.18",
     "url": "^0.11.0"
   },
@@ -104,7 +104,7 @@
     "electron-builder-squirrel-windows": "^11.6.1",
     "electron-devtools-installer": "^2.2.4",
     "emojione": "^2.2.7",
-    "eslint": "^5.6.0",
+    "eslint": "^5.7.0",
     "eslint-config-google": "^0.7.1",
     "eslint-plugin-babel": "^4.1.2",
     "eslint-plugin-flowtype": "^2.50.3",
@@ -142,7 +142,7 @@
     "rimraf": "^2.4.3",
     "source-map-loader": "^0.2.4",
     "webpack": "^4.20.2",
-    "webpack-cli": "^3.1.1",
+    "webpack-cli": "^3.1.2",
     "webpack-dev-server": "^3.1.9"
   },
   "optionalDependencies": {