Compare commits

...

53 Commits

Author SHA1 Message Date
RiotRobot f552ad6908 v1.10.12 2022-05-10 15:18:38 +01:00
RiotRobot 20abdc6fe2 Prepare changelog for v1.10.12 2022-05-10 15:18:37 +01:00
RiotRobot 79f193bd48 Upgrade matrix-react-sdk to 3.44.0 2022-05-10 15:14:50 +01:00
RiotRobot c014b51a85 Upgrade matrix-js-sdk to 17.2.0 2022-05-10 15:14:22 +01:00
RiotRobot 166c72fb31 v1.10.12-rc.2 2022-05-06 17:37:01 +01:00
RiotRobot c85c8e60a3 Prepare changelog for v1.10.12-rc.2 2022-05-06 17:37:01 +01:00
RiotRobot 75c291e360 Upgrade matrix-react-sdk to 3.44.0-rc.2 2022-05-06 17:25:19 +01:00
RiotRobot 4ce4ced69d v1.10.12-rc.1 2022-05-03 15:36:20 +01:00
RiotRobot bbe243fbf6 Prepare changelog for v1.10.12-rc.1 2022-05-03 15:36:19 +01:00
RiotRobot cd0ec54009 Upgrade matrix-react-sdk to 3.44.0-rc.1 2022-05-03 15:33:45 +01:00
RiotRobot 318273ae17 Upgrade matrix-js-sdk to 17.2.0-rc.1 2022-05-03 15:33:06 +01:00
Element Translate Bot 1aafcaff7a Translations update from Weblate (#22034)
* Translated using Weblate (Indonesian)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Added translation using Weblate (Uzbek)

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Norwegian Nynorsk)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nn/

* Translated using Weblate (Norwegian Nynorsk)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nn/

* Translated using Weblate (Greek)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/el/

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/vi/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Translated using Weblate (Italian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/it/

* Translated using Weblate (Czech)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Polish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (Polish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt_BR/

* Translated using Weblate (Danish)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/da/

* Translated using Weblate (Danish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/da/

* Translated using Weblate (German)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (German)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (French)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Portuguese)

Currently translated at 88.5% (31 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt/

* Translated using Weblate (Portuguese)

Currently translated at 88.5% (31 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt/

* Translated using Weblate (Hebrew)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Finnish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fi/

* Translated using Weblate (Turkish)

Currently translated at 97.1% (34 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/

* Translated using Weblate (Galician)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

* Added translation using Weblate (Sorani)

* Translated using Weblate (Russian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Galician)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Persian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Persian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (French)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Bosnian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bs/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hi/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Czech)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/

* Translated using Weblate (Galician)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Italian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/it/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/es/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Added translation using Weblate (Armenian)

* Translated using Weblate (Armenian)

Currently translated at 41.9% (13 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hy/

* Translated using Weblate (French)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ne/

* Translated using Weblate (Nepali)

Currently translated at 3.2% (1 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ne/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt_BR/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Esperanto)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/eo/

* Translated using Weblate (Lao)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lo/

* Translated using Weblate (Uzbek)

Currently translated at 12.9% (4 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uz/

* Added translation using Weblate (Bengali)

* Translated using Weblate (Bengali (Bangladesh))

Currently translated at 3.2% (1 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bn_BD/

* Translated using Weblate (Lao)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lo/

* Translated using Weblate (Bengali)

Currently translated at 6.4% (2 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bn/

Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Yorqinbek <yyoriqulov@mail.ru>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Bjørn I.Svindseth <bjorni.svindseth@yahoo.com>
Co-authored-by: pkst-ellak <pkst@eellak.gr>
Co-authored-by: Bui Minh Duc <m.nhduc.bui1@gmail.com>
Co-authored-by: Johan Smits <johan@smitsmail.net>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Hexandcube <hexandcube@hexandcube.tk>
Co-authored-by: Skibbi <skibbi@gmail.com>
Co-authored-by: Norbert <norbertrom01@gmail.com>
Co-authored-by: Szimszon <github@oregpreshaz.eu>
Co-authored-by: TR_SLimey <tr_slimey@protonmail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: lvre <7uu3qrbvm@relay.firefox.com>
Co-authored-by: Alfred Makne Poulsen <Alfredmakne@gmail.com>
Co-authored-by: libexus <libexus@gmail.com>
Co-authored-by: Paragoumba <paragoumba@gmail.com>
Co-authored-by: Helder Ferreira <woounn@gmail.com>
Co-authored-by: Eduardo Ervideira <ejcept@gmail.com>
Co-authored-by: SPiRiT <such.a.lost.spirit@gmail.com>
Co-authored-by: Shi-nobi <mika.lehtonen@mttl.xyz>
Co-authored-by: Mahmut Tuncer <asimbesir4242+elementtranslations@gmail.com>
Co-authored-by: Xose M <xosem@disroot.org>
Co-authored-by: ENIGMA <N0NVAL@protonmail.com>
Co-authored-by: Nikita Epifanov <NikGreens@protonmail.com>
Co-authored-by: Suguru Hirahara <ovestekona@protonmail.com>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: xmeta <x_metawork@yahoo.co.jp>
Co-authored-by: nafi3h <alireza.zarei@gmail.com>
Co-authored-by: Alexandre Franke <alexandre.franke@gmail.com>
Co-authored-by: Nermin <neercsys@gmail.com>
Co-authored-by: Arya Bhosale <arya2001bhosale@gmail.com>
Co-authored-by: oleg-fiksel <github-oleg-fiksel@spam.fiksel.info>
Co-authored-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Co-authored-by: iaiz <git@iapellaniz.com>
Co-authored-by: FIONover <overfion@protonmail.com>
Co-authored-by: Lucas <lucasdupanne@gmail.com>
Co-authored-by: joshua <weblate-p5yaa1sp@dc7ia.eu>
Co-authored-by: Metehan Özyürek <metehanc8s9@yandex.com>
Co-authored-by: Padam Ghimire <padamghimire2020@gmail.com>
Co-authored-by: Vilhelmo Bandito <willibandido@gmail.com>
Co-authored-by: anoloth <anoloth@gmail.com>
Co-authored-by: Sanjar Barakayev <sanjarbarakayev5@gmail.com>
Co-authored-by: Kominak Halalu <kominak310@svcache.com>
2022-05-03 15:11:55 +01:00
Robin 850a250cea Fix label triage automation (#21999) 2022-04-30 15:32:55 +01:00
Robin f733e2af87 Fix Jitsi Meet getting wedged at startup in some cases (#21995) 2022-04-30 10:23:36 -04:00
Robin b5336c9a4d Fix camera getting muted when disconnecting from a video room (#21958) 2022-04-29 08:51:43 -04:00
Kat Gerasimova 2c7680bd87 Add github automation for new labels (#21966)
Add 'Team: Delight' and 'Z-NewUserJourney' to the Delight board
2022-04-28 09:53:20 +01:00
RiotRobot 7c326f49d9 Reset matrix-react-sdk back to develop branch 2022-04-26 12:21:12 +01:00
RiotRobot c627001fc8 Reset matrix-js-sdk back to develop branch 2022-04-26 12:20:33 +01:00
RiotRobot cc572450c5 Merge branch 'master' into develop 2022-04-26 12:18:44 +01:00
RiotRobot c9a0e4d2d5 Merge branch 'release-v1.10.11' 2022-04-26 12:17:41 +01:00
RiotRobot b9668aceff v1.10.11 2022-04-26 11:57:40 +01:00
RiotRobot a797421641 Prepare changelog for v1.10.11 2022-04-26 11:57:39 +01:00
RiotRobot f2cfb75d18 Upgrade matrix-react-sdk to 3.43.0 2022-04-26 11:55:44 +01:00
RiotRobot 9b333e9c44 Upgrade matrix-js-sdk to 17.1.0 2022-04-26 11:54:38 +01:00
James Salter 2ffb3a1180 Pass the version in the updated param to attempt to cache bust (#21912) 2022-04-25 14:15:21 +01:00
Michael Telatynski 691b8d5c38 Upgrade dependencies (#21849) 2022-04-21 08:08:50 +01:00
Robin b41e215112 Show a lobby screen in video rooms (#21746)
* No longer skip the prejoin screen in video rooms

* Enable joining with specific devices

* Start widget API listeners earlier

so that they're instantly ready for use, rather than being stuck behind
the config loading

* Revert "Start widget API listeners earlier"

This reverts commit 2c1bb08832a77fe9f981a24f8349fd707214eb0a.

* Tell the client when the Jitsi wrapper is ready to receive events

* Fix video rooms getting stuck on Jitsi Meet's prejoin screen
2022-04-20 11:03:28 -04:00
James Salter ff89eef01a Ensure updated=1 is set as the query string before any # (#21605)
* Ensure updated=1 is set as the query string before any #

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-04-20 15:12:24 +01:00
RiotRobot 2a5486a4da v1.10.11-rc.1 2022-04-19 15:21:52 +01:00
RiotRobot f5797428ff Prepare changelog for v1.10.11-rc.1 2022-04-19 15:21:51 +01:00
RiotRobot dc649eae77 Upgrade matrix-react-sdk to 3.43.0-rc.1 2022-04-19 15:18:50 +01:00
RiotRobot 3daddf3d1a Upgrade matrix-js-sdk to 17.1.0-rc.1 2022-04-19 15:17:59 +01:00
Element Translate Bot f46a6f2d92 Translations update from Weblate (#21846)
* Translated using Weblate (Slovak)

Currently translated at 97.0% (33 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Hebrew)

Currently translated at 97.0% (33 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Hebrew)

Currently translated at 97.0% (33 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Added translation using Weblate (Uzbek)

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Norwegian Nynorsk)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nn/

* Translated using Weblate (Norwegian Nynorsk)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nn/

* Translated using Weblate (Greek)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/el/

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/vi/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (34 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Translated using Weblate (Italian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/it/

* Translated using Weblate (Czech)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Polish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (Polish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt_BR/

* Translated using Weblate (Danish)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/da/

* Translated using Weblate (Danish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/da/

* Translated using Weblate (German)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (German)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (French)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Portuguese)

Currently translated at 88.5% (31 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt/

* Translated using Weblate (Portuguese)

Currently translated at 88.5% (31 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt/

* Translated using Weblate (Hebrew)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Finnish)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fi/

* Translated using Weblate (Turkish)

Currently translated at 97.1% (34 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/

* Translated using Weblate (Galician)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

* Added translation using Weblate (Sorani)

* Translated using Weblate (Russian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Galician)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Persian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/

* Translated using Weblate (Japanese)

Currently translated at 94.2% (33 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Persian)

Currently translated at 100.0% (35 of 35 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (French)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Bosnian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bs/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hi/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Czech)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/

* Translated using Weblate (Galician)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Italian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/it/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/es/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Added translation using Weblate (Armenian)

* Translated using Weblate (Armenian)

Currently translated at 41.9% (13 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hy/

* Translated using Weblate (French)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/

Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Marek Ľach <graweeld@googlemail.com>
Co-authored-by: a5r0n <h98aaron@gmail.com>
Co-authored-by: Vulcan <element@zbug.anonaddy.com>
Co-authored-by: jelv <post@jelv.nl>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Yorqinbek <yyoriqulov@mail.ru>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Bjørn I.Svindseth <bjorni.svindseth@yahoo.com>
Co-authored-by: pkst-ellak <pkst@eellak.gr>
Co-authored-by: Bui Minh Duc <m.nhduc.bui1@gmail.com>
Co-authored-by: Johan Smits <johan@smitsmail.net>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Hexandcube <hexandcube@hexandcube.tk>
Co-authored-by: Skibbi <skibbi@gmail.com>
Co-authored-by: Norbert <norbertrom01@gmail.com>
Co-authored-by: Szimszon <github@oregpreshaz.eu>
Co-authored-by: TR_SLimey <tr_slimey@protonmail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: lvre <7uu3qrbvm@relay.firefox.com>
Co-authored-by: Alfred Makne Poulsen <Alfredmakne@gmail.com>
Co-authored-by: libexus <libexus@gmail.com>
Co-authored-by: Paragoumba <paragoumba@gmail.com>
Co-authored-by: Helder Ferreira <woounn@gmail.com>
Co-authored-by: Eduardo Ervideira <ejcept@gmail.com>
Co-authored-by: SPiRiT <such.a.lost.spirit@gmail.com>
Co-authored-by: Shi-nobi <mika.lehtonen@mttl.xyz>
Co-authored-by: Mahmut Tuncer <asimbesir4242+elementtranslations@gmail.com>
Co-authored-by: Xose M <xosem@disroot.org>
Co-authored-by: ENIGMA <N0NVAL@protonmail.com>
Co-authored-by: Nikita Epifanov <NikGreens@protonmail.com>
Co-authored-by: Suguru Hirahara <ovestekona@protonmail.com>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: xmeta <x_metawork@yahoo.co.jp>
Co-authored-by: nafi3h <alireza.zarei@gmail.com>
Co-authored-by: Alexandre Franke <alexandre.franke@gmail.com>
Co-authored-by: Nermin <neercsys@gmail.com>
Co-authored-by: Arya Bhosale <arya2001bhosale@gmail.com>
Co-authored-by: oleg-fiksel <github-oleg-fiksel@spam.fiksel.info>
Co-authored-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Co-authored-by: iaiz <git@iapellaniz.com>
Co-authored-by: FIONover <overfion@protonmail.com>
Co-authored-by: Lucas <lucasdupanne@gmail.com>
Co-authored-by: joshua <weblate-p5yaa1sp@dc7ia.eu>
Co-authored-by: Metehan Özyürek <metehanc8s9@yandex.com>
2022-04-19 14:05:42 +01:00
Šimon Brandner a0e08bff4f Document feature_message_right_click_context_menu (#21480)
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-04-15 08:23:02 -06:00
RiotRobot 03ab1237ed Reset matrix-react-sdk back to develop branch 2022-04-12 10:48:13 +01:00
RiotRobot 96d9fac281 Reset matrix-js-sdk back to develop branch 2022-04-12 10:47:59 +01:00
RiotRobot e6414787d4 Merge branch 'master' into develop 2022-04-12 10:47:46 +01:00
Kat Gerasimova cec31d0e71 Don't label threads issues with Z-Labs (#21707)
Threads is out of labs now, so shouldn't be labelled as Z-Labs in our issue tracker any more
2022-04-07 14:59:25 +01:00
Robin ef1d90ad41 Handle forced disconnects from Jitsi (#21697) 2022-04-06 13:08:58 -04:00
Travis Ralston ecf1c41f7c Merge branch 'travis/remove-skinning' into develop 2022-04-05 11:27:43 -06:00
Travis Ralston 98ced973a9 Merge branch 'develop' into travis/remove-skinning 2022-04-05 11:27:37 -06:00
Travis Ralston d39ae8a91b Merge branch 'develop' into travis/remove-skinning 2022-04-05 10:42:48 -06:00
Travis Ralston f7dea9421f Merge branch 'develop' into travis/remove-skinning 2022-03-31 19:21:12 -06:00
Travis Ralston 9c23f6c476 Step 14: Remove reskindex 2022-03-28 15:26:22 -06:00
Travis Ralston 7bd584abe0 Step 13: Update documentation for skinning 2022-03-28 15:17:56 -06:00
Travis Ralston 5b592eca4f Step 10.3: Use module replacement to achieve component overrides
This is the same system as the customisations override, however deliberately using a different JSON file to avoid conflicts. 

Forks would be expected to use the customisations file, not the components file, to override/add components.
2022-03-28 13:02:50 -06:00
Travis Ralston 5459c1eb96 Step 10.2: Move hacky welcome page replacement to react-sdk 2022-03-28 13:02:50 -06:00
Travis Ralston 0bcb1d18ce Step 10.1: Ensure the js-sdk browser bundle gets pulled
We no longer have implicit imports which would have called this path, so manually call it. We have to disable lint as it doesn't like us doing this, but we only end up with a single entry point.
2022-03-28 13:02:50 -06:00
Travis Ralston e1f9e9a8f8 Step 8.1: Remove skin-sdk.js 2022-03-28 13:02:50 -06:00
Travis Ralston 384903361d Step 4: Disable/remove bulk of skinner code 2022-03-28 13:02:50 -06:00
Travis Ralston 585c777878 Step 3.2: Stop using getComponent 2022-03-28 13:02:50 -06:00
Travis Ralston 1bbecdff6c Step 3.1: Stop using getComponent in tests 2022-03-28 13:02:50 -06:00
Travis Ralston 303f06cc61 Step 2: Remove the decorator 2022-03-28 13:02:50 -06:00
61 changed files with 1089 additions and 1145 deletions
+1
View File
@@ -1,2 +1,3 @@
src/vector/modernizr.js
# Legacy skinning file that some people might still have
src/component-index.js
+3 -2
View File
@@ -12,7 +12,6 @@ jobs:
contains(github.event.issue.labels.*.name, 'A-Maths') ||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') ||
contains(github.event.issue.labels.*.name, 'A-Threads') ||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
@@ -104,7 +103,9 @@ jobs:
contains(github.event.issue.labels.*.name, 'A-Spaces') ||
contains(github.event.issue.labels.*.name, 'A-Space-Settings') ||
contains(github.event.issue.labels.*.name, 'A-Subspaces') ||
contains(github.event.issue.labels.*.name, 'Z-IA')
contains(github.event.issue.labels.*.name, 'Team: Delight') ||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
contains(github.event.issue.labels.*.name, 'Z-NewUserJourney')
steps:
- uses: octokit/graphql-action@v2.x
with:
+1
View File
@@ -16,6 +16,7 @@ electron/pub
/config.json
/config.json.*
/config.local*.json
# Legacy skinning file that some people might still have
/src/component-index.js
/.tmp
/webpack-stats.json
+122
View File
@@ -1,3 +1,125 @@
Changes in [1.10.12](https://github.com/vector-im/element-web/releases/tag/v1.10.12) (2022-05-10)
=================================================================================================
## ✨ Features
* Made the location map change the cursor to a pointer so it looks like it's clickable (https ([\#8451](https://github.com/matrix-org/matrix-react-sdk/pull/8451)). Fixes #21991. Contributed by @Odyssey346.
* Implement improved spacing for the thread list and timeline ([\#8337](https://github.com/matrix-org/matrix-react-sdk/pull/8337)). Fixes #21759. Contributed by @luixxiul.
* LLS: expose way to enable live sharing labs flag from location dialog ([\#8416](https://github.com/matrix-org/matrix-react-sdk/pull/8416)).
* Fix source text boxes in View Source modal should have full width ([\#8425](https://github.com/matrix-org/matrix-react-sdk/pull/8425)). Fixes #21938. Contributed by @EECvision.
* Read Receipts: never show +1, if its just 4, show all of them ([\#8428](https://github.com/matrix-org/matrix-react-sdk/pull/8428)). Fixes #21935.
* Add opt-in analytics to onboarding tasks ([\#8409](https://github.com/matrix-org/matrix-react-sdk/pull/8409)). Fixes #21705.
* Allow user to control if they are signed out of all devices when changing password ([\#8259](https://github.com/matrix-org/matrix-react-sdk/pull/8259)). Fixes #2671.
* Implement new Read Receipt design ([\#8389](https://github.com/matrix-org/matrix-react-sdk/pull/8389)). Fixes #20574.
* Stick connected video rooms to the top of the room list ([\#8353](https://github.com/matrix-org/matrix-react-sdk/pull/8353)).
* LLS: fix jumpy maximised map ([\#8387](https://github.com/matrix-org/matrix-react-sdk/pull/8387)).
* Persist audio and video mute state in video rooms ([\#8376](https://github.com/matrix-org/matrix-react-sdk/pull/8376)).
* Forcefully disconnect from video rooms on logout and tab close ([\#8375](https://github.com/matrix-org/matrix-react-sdk/pull/8375)).
* Add local echo of connected devices in video rooms ([\#8368](https://github.com/matrix-org/matrix-react-sdk/pull/8368)).
* Improve text of account deactivation dialog ([\#8371](https://github.com/matrix-org/matrix-react-sdk/pull/8371)). Fixes #17421.
* Live location sharing: own live beacon status on maximised view ([\#8374](https://github.com/matrix-org/matrix-react-sdk/pull/8374)).
* Show a lobby screen in video rooms ([\#8287](https://github.com/matrix-org/matrix-react-sdk/pull/8287)).
* Settings toggle to disable Composer Markdown ([\#8358](https://github.com/matrix-org/matrix-react-sdk/pull/8358)). Fixes #20321.
* Cache localStorage objects for SettingsStore ([\#8366](https://github.com/matrix-org/matrix-react-sdk/pull/8366)).
* Bring `View Source` back from behind developer mode ([\#8369](https://github.com/matrix-org/matrix-react-sdk/pull/8369)). Fixes #21771.
## 🐛 Bug Fixes
* Fix Jitsi Meet getting wedged at startup in some cases ([\#21995](https://github.com/vector-im/element-web/pull/21995)).
* Fix camera getting muted when disconnecting from a video room ([\#21958](https://github.com/vector-im/element-web/pull/21958)).
* Fix race conditions around threads ([\#8448](https://github.com/matrix-org/matrix-react-sdk/pull/8448)). Fixes #21627.
* Fix reading of cached room device setting values ([\#8495](https://github.com/matrix-org/matrix-react-sdk/pull/8495)).
* Fix issue with dispatch happening mid-dispatch due to js-sdk emit ([\#8473](https://github.com/matrix-org/matrix-react-sdk/pull/8473)). Fixes #22019.
* Match MSC behaviour for threads when disabled (thread-aware mode) ([\#8476](https://github.com/matrix-org/matrix-react-sdk/pull/8476)). Fixes #22033.
* Specify position of DisambiguatedProfile inside a thread on bubble message layout ([\#8452](https://github.com/matrix-org/matrix-react-sdk/pull/8452)). Fixes #21998. Contributed by @luixxiul.
* Location sharing: do not trackuserlocation in location picker ([\#8466](https://github.com/matrix-org/matrix-react-sdk/pull/8466)). Fixes #22013.
* fix text and map indent in thread view ([\#8462](https://github.com/matrix-org/matrix-react-sdk/pull/8462)). Fixes #21997.
* Live location sharing: don't group beacon info with room creation summary ([\#8468](https://github.com/matrix-org/matrix-react-sdk/pull/8468)).
* Don't linkify code blocks ([\#7859](https://github.com/matrix-org/matrix-react-sdk/pull/7859)). Fixes #9613.
* read receipts: improve tooltips to show names of users ([\#8438](https://github.com/matrix-org/matrix-react-sdk/pull/8438)). Fixes #21940.
* Fix poll overflowing a reply tile on bubble message layout ([\#8459](https://github.com/matrix-org/matrix-react-sdk/pull/8459)). Fixes #22005. Contributed by @luixxiul.
* Fix text link buttons on UserInfo panel ([\#8247](https://github.com/matrix-org/matrix-react-sdk/pull/8247)). Fixes #21702. Contributed by @luixxiul.
* Clear local storage settings handler cache on logout ([\#8454](https://github.com/matrix-org/matrix-react-sdk/pull/8454)). Fixes #21994.
* Fix jump to bottom button being always displayed in non-overflowing timelines ([\#8460](https://github.com/matrix-org/matrix-react-sdk/pull/8460)). Fixes #22003.
* fix timeline search with empty text box should do nothing ([\#8262](https://github.com/matrix-org/matrix-react-sdk/pull/8262)). Fixes #21714. Contributed by @EECvision.
* Fixes "space panel kebab menu is rendered out of view on sub spaces" ([\#8350](https://github.com/matrix-org/matrix-react-sdk/pull/8350)). Contributed by @yaya-usman.
* Add margin to the location map inside ThreadView ([\#8442](https://github.com/matrix-org/matrix-react-sdk/pull/8442)). Fixes #21982. Contributed by @luixxiul.
* Patch: "Reloading the registration page should warn about data loss" ([\#8377](https://github.com/matrix-org/matrix-react-sdk/pull/8377)). Contributed by @yaya-usman.
* Live location sharing: fix safari timestamps pt 2 ([\#8443](https://github.com/matrix-org/matrix-react-sdk/pull/8443)).
* Fix issue with thread notification state ignoring initial events ([\#8417](https://github.com/matrix-org/matrix-react-sdk/pull/8417)). Fixes #21927.
* Fix event text overflow on bubble message layout ([\#8391](https://github.com/matrix-org/matrix-react-sdk/pull/8391)). Fixes #21882. Contributed by @luixxiul.
* Disable the message action bar when hovering over the 1px border between threads on the list ([\#8429](https://github.com/matrix-org/matrix-react-sdk/pull/8429)). Fixes #21955. Contributed by @luixxiul.
* correctly align read receipts to state events in bubble layout ([\#8419](https://github.com/matrix-org/matrix-react-sdk/pull/8419)). Fixes #21899.
* Fix issue with underfilled timelines when barren of content ([\#8432](https://github.com/matrix-org/matrix-react-sdk/pull/8432)). Fixes #21930.
* Fix baseline misalignment of thread panel summary by deduplication ([\#8413](https://github.com/matrix-org/matrix-react-sdk/pull/8413)).
* Fix editing of non-html replies ([\#8418](https://github.com/matrix-org/matrix-react-sdk/pull/8418)). Fixes #21928.
* Read Receipts "Fall from the Sky" ([\#8414](https://github.com/matrix-org/matrix-react-sdk/pull/8414)). Fixes #21888.
* Make read receipts handle nullable roomMembers correctly ([\#8410](https://github.com/matrix-org/matrix-react-sdk/pull/8410)). Fixes #21896.
* Don't form continuations on either side of a thread root ([\#8408](https://github.com/matrix-org/matrix-react-sdk/pull/8408)). Fixes #20908.
* Fix centering issue with sticker placeholder ([\#8404](https://github.com/matrix-org/matrix-react-sdk/pull/8404)). Fixes #18014 and #6449.
* Disable download option on <video/> , preferring dedicated download button ([\#8403](https://github.com/matrix-org/matrix-react-sdk/pull/8403)). Fixes #21902.
* Fix infinite loop when pinning/unpinning persistent widgets ([\#8396](https://github.com/matrix-org/matrix-react-sdk/pull/8396)). Fixes #21864.
* Tweak ReadReceiptGroup to better handle disambiguation ([\#8402](https://github.com/matrix-org/matrix-react-sdk/pull/8402)). Fixes #21897.
* stop the bottom edge of buttons getting clipped in devtools ([\#8400](https://github.com/matrix-org/matrix-react-sdk/pull/8400)).
* Fix issue with threads timelines with few events cropping events ([\#8392](https://github.com/matrix-org/matrix-react-sdk/pull/8392)). Fixes #20594.
* Changed font-weight to 400 to support light weight font ([\#8345](https://github.com/matrix-org/matrix-react-sdk/pull/8345)). Fixes #21171. Contributed by @goelesha.
* Fix issue with thread panel not updating when it loads on first render ([\#8382](https://github.com/matrix-org/matrix-react-sdk/pull/8382)). Fixes #21737.
* fix: "Mention highlight and cursor hover highlight has different corner radius" ([\#8384](https://github.com/matrix-org/matrix-react-sdk/pull/8384)). Contributed by @yaya-usman.
* Fix regression around haveRendererForEvent for hidden events ([\#8379](https://github.com/matrix-org/matrix-react-sdk/pull/8379)). Fixes #21862 and #21725.
* Fix regression around the room list treeview keyboard a11y ([\#8385](https://github.com/matrix-org/matrix-react-sdk/pull/8385)). Fixes #21436.
* Remove float property to let the margin between events appear on bubble message layout ([\#8373](https://github.com/matrix-org/matrix-react-sdk/pull/8373)). Fixes #21861. Contributed by @luixxiul.
* Fix race in Registration between server change and flows fetch ([\#8359](https://github.com/matrix-org/matrix-react-sdk/pull/8359)). Fixes #21800.
* fix rainbow breaks compound emojis ([\#8245](https://github.com/matrix-org/matrix-react-sdk/pull/8245)). Fixes #21371. Contributed by @EECvision.
* Fix RightPanelStore handling first room on app launch wrong ([\#8370](https://github.com/matrix-org/matrix-react-sdk/pull/8370)). Fixes #21741.
* Fix UnknownBody error message unalignment ([\#8346](https://github.com/matrix-org/matrix-react-sdk/pull/8346)). Fixes #21828. Contributed by @luixxiul.
* Use -webkit-line-clamp for the room header topic overflow ([\#8367](https://github.com/matrix-org/matrix-react-sdk/pull/8367)). Fixes #21852. Contributed by @luixxiul.
* Fix issue with ServerInfo crashing the modal ([\#8364](https://github.com/matrix-org/matrix-react-sdk/pull/8364)).
* Fixes around threads beta in degraded mode ([\#8319](https://github.com/matrix-org/matrix-react-sdk/pull/8319)). Fixes #21762.
Changes in [1.10.11](https://github.com/vector-im/element-web/releases/tag/v1.10.11) (2022-04-26)
=================================================================================================
## ✨ Features
* Handle forced disconnects from Jitsi ([\#21697](https://github.com/vector-im/element-web/pull/21697)). Fixes #21517.
* Improve performance of switching to rooms with lots of servers and ACLs ([\#8347](https://github.com/matrix-org/matrix-react-sdk/pull/8347)).
* Avoid a reflow when setting caret position on an empty composer ([\#8348](https://github.com/matrix-org/matrix-react-sdk/pull/8348)).
* Add message right-click context menu as a labs feature ([\#5672](https://github.com/matrix-org/matrix-react-sdk/pull/5672)).
* Live location sharing - basic maximised beacon map ([\#8310](https://github.com/matrix-org/matrix-react-sdk/pull/8310)).
* Live location sharing - render users own beacons in timeline ([\#8296](https://github.com/matrix-org/matrix-react-sdk/pull/8296)).
* Improve Threads beta around degraded mode ([\#8318](https://github.com/matrix-org/matrix-react-sdk/pull/8318)).
* Live location sharing - beacon in timeline happy path ([\#8285](https://github.com/matrix-org/matrix-react-sdk/pull/8285)).
* Add copy button to View Source screen ([\#8278](https://github.com/matrix-org/matrix-react-sdk/pull/8278)). Fixes #21482. Contributed by @olivialivia.
* Add heart effect ([\#6188](https://github.com/matrix-org/matrix-react-sdk/pull/6188)). Contributed by @CicadaCinema.
* Update new room icon ([\#8239](https://github.com/matrix-org/matrix-react-sdk/pull/8239)).
## 🐛 Bug Fixes
* Fix: "Code formatting button does not escape backticks" ([\#8181](https://github.com/matrix-org/matrix-react-sdk/pull/8181)). Contributed by @yaya-usman.
* Fix beta indicator dot causing excessive CPU usage ([\#8340](https://github.com/matrix-org/matrix-react-sdk/pull/8340)). Fixes #21793.
* Fix overlapping timestamps on empty messages ([\#8205](https://github.com/matrix-org/matrix-react-sdk/pull/8205)). Fixes #21381. Contributed by @goelesha.
* Fix power selector not showing up in user info when state_default undefined ([\#8297](https://github.com/matrix-org/matrix-react-sdk/pull/8297)). Fixes #21669.
* Avoid looking up settings during timeline rendering ([\#8313](https://github.com/matrix-org/matrix-react-sdk/pull/8313)). Fixes #21740.
* Fix a soft crash with video rooms ([\#8333](https://github.com/matrix-org/matrix-react-sdk/pull/8333)).
* Fixes call tiles overflow ([\#8096](https://github.com/matrix-org/matrix-react-sdk/pull/8096)). Fixes #20254. Contributed by @luixxiul.
* Fix a bug with emoji autocomplete sorting where adding the final "&#58;" would cause the emoji with the typed shortcode to no longer be at the top of the autocomplete list. ([\#8086](https://github.com/matrix-org/matrix-react-sdk/pull/8086)). Fixes #19302. Contributed by @commonlawfeature.
* Fix image preview sizing for edge cases ([\#8322](https://github.com/matrix-org/matrix-react-sdk/pull/8322)). Fixes #20088.
* Refactor SecurityRoomSettingsTab and remove unused state ([\#8306](https://github.com/matrix-org/matrix-react-sdk/pull/8306)). Fixes matrix-org/element-web-rageshakes#12002.
* Don't show the prompt to enable desktop notifications immediately after registration ([\#8274](https://github.com/matrix-org/matrix-react-sdk/pull/8274)).
* Stop tracking threads if threads support is disabled ([\#8308](https://github.com/matrix-org/matrix-react-sdk/pull/8308)). Fixes #21766.
* Fix some issues with threads rendering ([\#8305](https://github.com/matrix-org/matrix-react-sdk/pull/8305)). Fixes #21670.
* Fix threads rendering issue in Safari ([\#8298](https://github.com/matrix-org/matrix-react-sdk/pull/8298)). Fixes #21757.
* Fix space panel width change on hovering over space item ([\#8299](https://github.com/matrix-org/matrix-react-sdk/pull/8299)). Fixes #19891.
* Hide the reply in thread button in deployments where beta is forcibly disabled ([\#8294](https://github.com/matrix-org/matrix-react-sdk/pull/8294)). Fixes #21753.
* Prevent soft crash around room list header context menu when space changes ([\#8289](https://github.com/matrix-org/matrix-react-sdk/pull/8289)). Fixes matrix-org/element-web-rageshakes#11416, matrix-org/element-web-rageshakes#11692, matrix-org/element-web-rageshakes#11739, matrix-org/element-web-rageshakes#11772, matrix-org/element-web-rageshakes#11891 matrix-org/element-web-rageshakes#11858 and matrix-org/element-web-rageshakes#11456.
* When selecting reply in thread on a thread response open existing thread ([\#8291](https://github.com/matrix-org/matrix-react-sdk/pull/8291)). Fixes #21743.
* Handle thread bundled relationships coming from the server via MSC3666 ([\#8292](https://github.com/matrix-org/matrix-react-sdk/pull/8292)). Fixes #21450.
* Fix: Avatar preview does not update when same file is selected repeatedly ([\#8288](https://github.com/matrix-org/matrix-react-sdk/pull/8288)). Fixes #20098.
* Fix a bug where user gets a warning when changing powerlevel from **Admin** to **custom level (100)** ([\#8248](https://github.com/matrix-org/matrix-react-sdk/pull/8248)). Fixes #21682. Contributed by @Jumeb.
* Use a consistent alignment for all text items in a list ([\#8276](https://github.com/matrix-org/matrix-react-sdk/pull/8276)). Fixes #21731. Contributed by @luixxiul.
* Fixes button labels being collapsed per a character in CJK languages ([\#8212](https://github.com/matrix-org/matrix-react-sdk/pull/8212)). Fixes #21287. Contributed by @luixxiul.
* Fix: Remove jittery timeline scrolling after jumping to an event ([\#8263](https://github.com/matrix-org/matrix-react-sdk/pull/8263)).
* Fix regression of edits showing up in the timeline with hidden events shown ([\#8260](https://github.com/matrix-org/matrix-react-sdk/pull/8260)). Fixes #21694.
* Fix reporting events not working ([\#8257](https://github.com/matrix-org/matrix-react-sdk/pull/8257)). Fixes #21713.
* Make Jitsi widgets in video rooms immutable ([\#8244](https://github.com/matrix-org/matrix-react-sdk/pull/8244)). Fixes #21647.
* Fix: Ensure links to events scroll the correct events into view ([\#8250](https://github.com/matrix-org/matrix-react-sdk/pull/8250)). Fixes #19934.
Changes in [1.10.10](https://github.com/vector-im/element-web/releases/tag/v1.10.10) (2022-04-14)
=================================================================================================
-7
View File
@@ -264,9 +264,6 @@ top of the underlying `matrix-react-sdk`. `matrix-react-sdk` provides both the
higher and lower level React components useful for building Matrix communication
apps using React.
After creating a new component you must run `yarn reskindex` to regenerate
the `component-index.js` for the app (used in future for skinning).
Please note that Element is intended to run correctly without access to the public
internet. So please don't depend on resources (JS libs, CSS, images, fonts)
hosted by external CDNs or servers but instead please package all dependencies
@@ -321,7 +318,6 @@ Finally, build and start Element itself:
yarn link matrix-js-sdk
yarn link matrix-react-sdk
yarn install
yarn reskindex
yarn start
```
@@ -369,9 +365,6 @@ ___
When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be
automatically picked up by webpack and built.
If you add or remove any components from the Element skin, you will need to rebuild
the skin's index by running, `yarn reskindex`.
If any of these steps error with, `file table overflow`, you are probably on a mac
which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again.
You'll need to do this in each new terminal you open before building Element.
-1
View File
@@ -13,7 +13,6 @@ module.exports = {
"@babel/preset-react",
],
"plugins": [
["@babel/plugin-proposal-decorators", {legacy: true}],
"@babel/plugin-proposal-export-default-from",
"@babel/plugin-proposal-numeric-separator",
"@babel/plugin-proposal-class-properties",
+5
View File
@@ -0,0 +1,5 @@
{
"src/components/views/auth/AuthFooter.tsx": "src/components/views/auth/VectorAuthFooter.tsx",
"src/components/views/auth/AuthHeaderLogo.tsx": "src/components/views/auth/VectorAuthHeaderLogo.tsx",
"src/components/views/auth/AuthPage.tsx": "src/components/views/auth/VectorAuthPage.tsx"
}
+3
View File
@@ -1,5 +1,8 @@
# App load order
**Dev note**: As of March 2022, the skin is no longer part of the app load order at all. The document's graphs have
been kept untouched for posterity.
Old slow flow:
![image](https://user-images.githubusercontent.com/2403652/73848963-00a2a080-4821-11ea-97d4-1200fc2638f3.png)
+3 -3
View File
@@ -34,9 +34,9 @@ default, Element Web does *not* ship with this file to prevent conflicts.
### Custom components
Instead of implementing skinning from the react-sdk, maintainers can use the above system to override components
if they wish. Maintenance and API surface compatibility are left as a responsibility for the project - the layering
in Element Web (including the react-sdk) do not make guarantees that properties/state machines won't change.
Maintainers can use the above system to override components if they wish. Maintenance and API surface compatibility are
left as a responsibility for the project - the layering in Element Web (including the react-sdk) do not make guarantees
that properties/state machines won't change.
### Component visibility customisation
+6
View File
@@ -183,6 +183,12 @@ Threads can be access by clicking their summary below the root event on the room
This feature might work in degraded mode if the homeserver a user is connected to does not advertise support for the unstable feature `org.matrix.msc3440` when calling the `/versions` API endpoint.
## Right-click Message Context Menu (`feature_message_right_click_context_menu`)
Enables showing a right-click context menu when right-clicking messages in the
timeline. This menu shows options that can usually be found in the message
action bar or in the message options.
## Voice & video rooms (`feature_video_rooms`) [In Development]
Enables support for creating and joining video rooms, which are persistent video chats that users can jump in and out of.
-68
View File
@@ -1,68 +0,0 @@
== Skinning refactor ==
matrix-react-sdk
- base images
- base CSS
- all the components needed to build a workable app (including the top layer)
element-web: the Element skin
- Element-specific classes (e.g. login header/footer)
- Element-specific themes
- light
- dark
i.e. the only things which should go into element-web are bits which apply vector-specific skinning
specifically "Stuff that any other brand would not want to use. (e.g. Element logos, links, T&Cs)"
- Questions:
- Electron app? (should probably be a separate repo in its own right? but might as well go here for now)
- index.html & index.js? (should be in matrix-react-sdk, given the SDK is useless without them?)
ideally matrix-react-sdk itself should ship with a default skin which actually works built in.
status skin (can go in the same app for now)
- has status theme
- which inherits from Element light theme
- how do we share graphics between skins?
- shove them into react-sdk, or...
- guess we do ../../vector/img
- this means keeping the skin name in the images (unless /img is a shortcut to the right skin's images)
out of scope:
- making the components more independent, so they can be used in isolation.
- that said, the bits which should probably be used by being embeded into a different app:
- login/reg
- RoomView + RoomSettings
- MessageComposer
- RoomList
- MemberList
- MemberInfo
- Voip UI
- UserSettings
- sharing different js-sdks between the different isolated modules
other changes:
- how do we handle i18n?
- each skin should really be its own i18n project. As long as all the commonality stuff is in matrix-react-sdk this shouldn't be too bad.
- ability to associate components with a given skin
- skins/vector/src <-- components
- skins/vector/css
- skins/vector/img
- skins/vector/fonts
- gather together themes (per skin) into a single place too
- skins/vector/themes/foo/css
- skins/vector/themes/foo/img
- skins/vector/themes/foo/fonts
- ideally element-web would contain almost nothing but skins/vector directory.
- ability to entirely replace CSS rather than override it for a given theme
- e.g. if we replace `Login.js` with `StatusLogin.js`, then we should similarly be able to replace `_Login.scss` with `_StatusLogin.scss`.
random thoughts;
- should we be able to change the entire skin at runtime (more like wordpress) - to the extent of replacing entire components?
- might pose security issues if a theme can be swapped out to replace MatrixChat or other fundamental functionality at runtime
- if so, perhaps skins & themes should converge...
-----------------
Immediate plan for Status:
* Implement it as a theme for the Element skin
* Ideally move skins to a sensible level (possibly even including src?)
+1 -1
View File
@@ -6,7 +6,7 @@ Element app via CSS & custom imagery.
They are *NOT* co be confused with 'skins', which describe apps which sit on top
of matrix-react-sdk - e.g. in theory Element itself is a react-sdk skin.
As of Jan 2017, skins are not fully supported; Element is the only available skin.
As of March 2022, skins are not fully supported; Element is the only available skin.
To define a theme for Element:
+6 -10
View File
@@ -1,6 +1,6 @@
{
"name": "element-web",
"version": "1.10.10",
"version": "1.10.12",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -30,21 +30,18 @@
"i18n": "matrix-gen-i18n",
"prunei18n": "matrix-prune-i18n",
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && matrix-gen-i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"reskindex": "reskindex -h src/header",
"reskindex:watch": "reskindex -h src/header -w",
"reskindex:watch-react": "node scripts/yarn-sub.js matrix-react-sdk reskindex:watch",
"clean": "rimraf lib webapp",
"build": "yarn clean && yarn build:genfiles && yarn build:bundle",
"build-stats": "yarn clean && yarn build:genfiles && yarn build:bundle-stats",
"build:jitsi": "node scripts/build-jitsi.js",
"build:res": "node scripts/copy-res.js",
"build:genfiles": "yarn reskindex && yarn build:res && yarn build:jitsi",
"build:genfiles": "yarn build:res && yarn build:jitsi",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:bundle": "webpack --progress --bail --mode production",
"build:bundle-stats": "webpack --progress --bail --mode production --json > webpack-stats.json",
"dist": "scripts/package.sh",
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,element-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js\"",
"start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,element-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js --https\"",
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js\"",
"start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js --https\"",
"start:res": "yarn build:jitsi && node scripts/copy-res.js -w",
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --mode development --disable-host-check --hot",
"lint": "yarn lint:types && yarn lint:js && yarn lint:style",
@@ -60,8 +57,8 @@
"gfm.css": "^1.1.2",
"jsrsasign": "^10.2.0",
"katex": "^0.12.0",
"matrix-js-sdk": "17.0.0",
"matrix-react-sdk": "3.42.4",
"matrix-js-sdk": "17.2.0",
"matrix-react-sdk": "3.44.0",
"matrix-widget-api": "^0.1.0-beta.18",
"prop-types": "^15.7.2",
"react": "17.0.2",
@@ -74,7 +71,6 @@
"@babel/eslint-parser": "^7.12.10",
"@babel/eslint-plugin": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-decorators": "^7.12.12",
"@babel/plugin-proposal-export-default-from": "^7.12.1",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
"@babel/plugin-proposal-numeric-separator": "^7.12.7",
+2 -1
View File
@@ -173,7 +173,8 @@ we don't have an account and should hide them. No account == no guest account ei
<img src="welcome/images/logo.svg" alt="" class="mx_Logo"/>
</a>
<h1 class="mx_Header_title">_t("Welcome to Element")</h1>
<h4 class="mx_Header_subtitle">_t("Decentralised, encrypted chat &amp; collaboration powered by [matrix]")</h4>
<!-- XXX: Our translations system isn't smart enough to recognize variables in the HTML, so we manually do it -->
<h4 class="mx_Header_subtitle">_t("Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo")</h4>
<div class="mx_ButtonGroup">
<div class="mx_ButtonRow">
<a href="#/login" class="mx_ButtonParent mx_ButtonSignIn mx_Button_iconSignIn">
-153
View File
@@ -1,153 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14576) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="793.322px" height="340.809px" viewBox="0 0 793.322 340.809" enable-background="new 0 0 793.322 340.809"
xml:space="preserve">
<path opacity="0.5" fill="#FFFFFF" d="M34.004,340.809H2c-1.104,0-2-0.896-2-2V2c0-1.104,0.896-2,2-2h32.004c1.104,0,2,0.896,2,2
v7.71c0,1.104-0.896,2-2,2h-21.13v317.386h21.13c1.104,0,2,0.896,2,2.001v7.712C36.004,339.913,35.108,340.809,34.004,340.809
L34.004,340.809z"/>
<path opacity="0.5" fill="#FFFFFF" d="M10.875,9.711v321.386h23.13v7.711H1.999V2.001h32.006v7.71H10.875z"/>
<path opacity="0.5" fill="#FFFFFF" d="M252.402,233.711h-32.993c-1.104,0-2-0.896-2-2v-68.073c0-3.949-0.154-7.722-0.457-11.213
c-0.289-3.282-1.074-6.153-2.332-8.53c-1.204-2.276-3.017-4.119-5.384-5.476c-2.393-1.362-5.775-2.056-10.042-2.056
c-4.238,0-7.674,0.798-10.213,2.371c-2.565,1.596-4.604,3.701-6.053,6.258c-1.498,2.643-2.51,5.694-3.013,9.067
c-0.526,3.513-0.793,7.125-0.793,10.741v66.91c0,1.104-0.896,2-2,2h-32.991c-1.104,0-2-0.896-2-2v-67.373
c0-3.435-0.078-6.964-0.228-10.485c-0.148-3.251-0.767-6.278-1.841-8.995c-1.018-2.571-2.667-4.584-5.047-6.153
c-2.372-1.552-6.029-2.341-10.865-2.341c-1.372,0-3.265,0.328-5.629,0.976c-2.28,0.624-4.536,1.826-6.705,3.577
c-2.152,1.732-4.036,4.306-5.605,7.655c-1.569,3.356-2.367,7.877-2.367,13.438v69.701c0,1.104-0.895,2-2,2H68.857
c-1.104,0-2-0.896-2-2V111.594c0-1.104,0.896-1.999,2-1.999h31.13c1.104,0,2,0.896,2,1.999v11.007
c3.834-4.499,8.248-8.152,13.173-10.896c6.396-3.559,13.799-5.362,22.002-5.362c7.846,0,15.127,1.548,21.642,4.604
c5.794,2.722,10.424,7.26,13.791,13.52c3.449-4.362,7.833-8.306,13.071-11.752c6.422-4.228,14.102-6.371,22.824-6.371
c6.499,0,12.625,0.807,18.209,2.399c5.686,1.628,10.635,4.271,14.712,7.857c4.088,3.605,7.318,8.357,9.601,14.123
c2.25,5.719,3.391,12.649,3.391,20.604v80.384C254.402,232.815,253.507,233.711,252.402,233.711L252.402,233.711z"/>
<path opacity="0.5" fill="#FFFFFF" d="M99.988,111.595v16.264h0.463c4.338-6.191,9.563-10.998,15.684-14.406
c6.117-3.402,13.129-5.11,21.027-5.11c7.588,0,14.521,1.475,20.793,4.415c6.274,2.945,11.038,8.131,14.291,15.567
c3.56-5.265,8.4-9.913,14.521-13.94c6.117-4.025,13.358-6.042,21.724-6.042c6.351,0,12.234,0.776,17.66,2.325
c5.418,1.549,10.065,4.027,13.938,7.434c3.869,3.41,6.889,7.863,9.062,13.357c2.167,5.504,3.253,12.122,3.253,19.869v80.385H219.41
v-68.074c0-4.025-0.154-7.82-0.465-11.385c-0.313-3.56-1.161-6.656-2.555-9.293c-1.395-2.631-3.45-4.724-6.157-6.274
c-2.711-1.543-6.391-2.322-11.037-2.322s-8.403,0.896-11.269,2.671c-2.868,1.784-5.112,4.109-6.737,6.971
c-1.626,2.869-2.711,6.12-3.252,9.762c-0.545,3.638-0.814,7.318-0.814,11.035v66.91h-32.991v-67.375c0-3.562-0.081-7.087-0.23-10.57
c-0.158-3.487-0.814-6.7-1.978-9.645c-1.162-2.94-3.099-5.304-5.809-7.088c-2.711-1.775-6.699-2.671-11.965-2.671
c-1.551,0-3.603,0.349-6.156,1.048c-2.556,0.697-5.036,2.016-7.435,3.949c-2.404,1.938-4.454,4.726-6.158,8.363
c-1.705,3.642-2.556,8.402-2.556,14.287v69.701h-32.99V111.595H99.988z"/>
<path opacity="0.5" fill="#FFFFFF" d="M304.909,236.733c-5.883,0-11.46-0.729-16.574-2.163c-5.192-1.464-9.806-3.774-13.713-6.871
c-3.944-3.117-7.068-7.111-9.282-11.871c-2.205-4.733-3.324-10.412-3.324-16.876c0-7.13,1.293-13.117,3.846-17.797
c2.542-4.674,5.877-8.464,9.912-11.263c3.97-2.752,8.556-4.842,13.63-6.209c4.901-1.322,9.937-2.394,14.961-3.184
c4.986-0.775,9.949-1.404,14.754-1.872c4.679-0.452,8.88-1.139,12.489-2.039c3.412-0.854,6.118-2.09,8.042-3.672
c1.666-1.37,2.416-3.384,2.292-6.151c-0.002-3.289-0.502-5.816-1.492-7.595c-0.998-1.798-2.283-3.15-3.927-4.138
c-1.703-1.02-3.725-1.713-6.012-2.062c-2.47-0.37-5.146-0.557-7.947-0.557c-6.034,0-10.789,1.271-14.135,3.783
c-3.233,2.424-5.155,6.64-5.714,12.527c-0.098,1.026-0.961,1.812-1.992,1.812h-32.992c-0.552,0-1.079-0.229-1.457-0.629
c-0.376-0.402-0.572-0.941-0.54-1.491c0.485-8.073,2.55-14.894,6.142-20.272c3.548-5.331,8.147-9.682,13.661-12.931
c5.424-3.191,11.612-5.498,18.392-6.857c6.684-1.335,13.5-2.013,20.26-2.013c6.096,0,12.365,0.437,18.626,1.296
c6.377,0.88,12.285,2.622,17.562,5.177c5.376,2.604,9.845,6.29,13.282,10.951c3.498,4.744,5.271,11.048,5.271,18.731v62.494
c0,5.307,0.306,10.462,0.915,15.319c0.576,4.64,1.572,8.116,2.963,10.338c0.385,0.616,0.407,1.395,0.055,2.031
c-0.353,0.635-1.022,1.03-1.75,1.03h-33.457c-0.861,0-1.624-0.55-1.898-1.367c-0.646-1.941-1.176-3.939-1.572-5.936
c-0.141-0.696-0.267-1.402-0.38-2.12c-4.825,4.184-10.349,7.24-16.474,9.105C320.033,235.609,312.489,236.733,304.909,236.733
L304.909,236.733z M341.941,176.661c-0.809,0.409-1.676,0.768-2.596,1.074c-2.161,0.72-4.511,1.326-6.988,1.807
c-2.442,0.475-5.033,0.872-7.699,1.186c-2.631,0.311-5.251,0.697-7.784,1.146c-2.329,0.433-4.705,1.035-7.051,1.792
c-2.194,0.711-4.114,1.667-5.699,2.842c-1.531,1.128-2.785,2.587-3.731,4.335c-0.917,1.709-1.385,3.97-1.385,6.719
c0,2.598,0.465,4.778,1.385,6.481c0.928,1.722,2.142,3.035,3.716,4.018c1.644,1.026,3.601,1.757,5.816,2.17
c2.344,0.439,4.799,0.663,7.297,0.663c6.105,0,10.836-0.996,14.063-2.961c3.244-1.973,5.666-4.349,7.199-7.062
c1.568-2.78,2.542-5.62,2.892-8.436c0.376-3.019,0.565-5.436,0.565-7.187V176.661L341.941,176.661z"/>
<path opacity="0.5" fill="#FFFFFF" d="M273.544,129.255c3.405-5.113,7.744-9.215,13.012-12.316
c5.264-3.097,11.186-5.303,17.771-6.621c6.582-1.315,13.205-1.976,19.865-1.976c6.042,0,12.158,0.428,18.354,1.277
c6.195,0.855,11.85,2.522,16.962,4.997c5.111,2.477,9.292,5.926,12.546,10.338c3.253,4.414,4.879,10.262,4.879,17.543v62.494
c0,5.428,0.31,10.611,0.931,15.567c0.615,4.959,1.701,8.676,3.251,11.153H347.66c-0.621-1.86-1.126-3.755-1.511-5.693
c-0.39-1.933-0.661-3.908-0.813-5.923c-5.267,5.422-11.465,9.217-18.585,11.386c-7.127,2.163-14.407,3.251-21.842,3.251
c-5.733,0-11.077-0.698-16.033-2.09c-4.958-1.395-9.293-3.562-13.01-6.51c-3.718-2.938-6.622-6.656-8.713-11.147
s-3.138-9.84-3.138-16.033c0-6.813,1.199-12.43,3.604-16.84c2.399-4.417,5.495-7.939,9.295-10.575
c3.793-2.632,8.129-4.607,13.01-5.923c4.878-1.315,9.795-2.358,14.752-3.137c4.957-0.772,9.835-1.393,14.638-1.857
c4.801-0.466,9.062-1.164,12.779-2.093c3.718-0.929,6.658-2.282,8.829-4.065c2.165-1.781,3.172-4.375,3.02-7.785
c0-3.56-0.58-6.389-1.742-8.479c-1.161-2.09-2.711-3.719-4.646-4.88c-1.937-1.161-4.183-1.936-6.737-2.325
c-2.557-0.382-5.309-0.58-8.248-0.58c-6.506,0-11.617,1.395-15.335,4.183c-3.716,2.788-5.889,7.437-6.506,13.94h-32.991
C268.199,140.794,270.132,134.363,273.544,129.255z M338.713,175.838c-2.09,0.696-4.337,1.275-6.736,1.741
c-2.402,0.465-4.918,0.853-7.551,1.161c-2.635,0.313-5.268,0.698-7.899,1.163c-2.48,0.461-4.919,1.086-7.317,1.857
c-2.404,0.779-4.495,1.822-6.274,3.138c-1.784,1.317-3.216,2.985-4.3,4.994c-1.085,2.014-1.626,4.571-1.626,7.668
c0,2.94,0.541,5.422,1.626,7.431c1.084,2.017,2.558,3.604,4.416,4.765s4.025,1.976,6.507,2.438c2.475,0.466,5.031,0.698,7.665,0.698
c6.505,0,11.537-1.082,15.103-3.253c3.561-2.166,6.192-4.762,7.899-7.785c1.702-3.019,2.749-6.072,3.137-9.174
c0.384-3.097,0.58-5.576,0.58-7.434v-12.316C342.547,174.173,340.805,175.14,338.713,175.838z"/>
<path opacity="0.5" fill="#FFFFFF" d="M444.542,234.874c-5.187,0-10.173-0.361-14.823-1.069c-4.802-0.732-9.104-2.183-12.779-4.313
c-3.789-2.185-6.821-5.341-9.006-9.375c-2.163-3.986-3.26-9.232-3.26-15.59v-68.859h-17.981c-1.104,0-2-0.896-2-1.999v-22.073
c0-1.104,0.896-1.999,2-1.999h17.981V75.582c0-1.104,0.896-2,2-2h32.992c1.104,0,2,0.896,2,2v34.014h22.162c1.104,0,2,0.896,2,1.999
v22.073c0,1.104-0.896,1.999-2,1.999h-22.162v57.479c0,6.229,1.198,8.731,2.202,9.733c1.004,1.007,3.506,2.205,9.738,2.205
c1.804,0,3.542-0.076,5.161-0.225c1.604-0.144,3.174-0.367,4.669-0.665c0.13-0.026,0.261-0.039,0.391-0.039
c0.458,0,0.907,0.159,1.27,0.454c0.463,0.379,0.73,0.946,0.73,1.546v25.555c0,0.979-0.707,1.813-1.672,1.974
c-2.834,0.472-6.041,0.794-9.527,0.957C451.015,234.798,447.718,234.874,444.542,234.874L444.542,234.874z"/>
<path opacity="0.5" fill="#FFFFFF" d="M463.825,111.595v22.072h-24.161v59.479c0,5.573,0.928,9.292,2.788,11.149
c1.856,1.859,5.576,2.788,11.152,2.788c1.859,0,3.638-0.076,5.343-0.232c1.703-0.152,3.33-0.388,4.878-0.696v25.557
c-2.788,0.465-5.887,0.773-9.293,0.931c-3.407,0.149-6.737,0.23-9.99,0.23c-5.111,0-9.953-0.35-14.521-1.048
c-4.571-0.695-8.597-2.047-12.081-4.063c-3.486-2.011-6.236-4.88-8.248-8.597c-2.016-3.714-3.021-8.595-3.021-14.639v-70.859h-19.98
v-22.072h19.98V75.583h32.992v36.012H463.825z"/>
<path opacity="0.5" fill="#FFFFFF" d="M512.613,233.711h-32.991c-1.104,0-2-0.896-2-2V111.594c0-1.104,0.896-1.999,2-1.999h31.366
c1.104,0,2,0.896,2,1.999v15.069c0.967-1.516,2.034-2.978,3.199-4.382c2.754-3.312,5.949-6.182,9.496-8.522
c3.545-2.332,7.385-4.169,11.415-5.462c4.056-1.298,8.327-1.954,12.691-1.954c2.341,0,4.953,0.418,7.766,1.243
c0.852,0.25,1.437,1.032,1.437,1.92v30.67c0,0.6-0.269,1.167-0.732,1.547c-0.361,0.296-0.808,0.452-1.265,0.452
c-0.133,0-0.265-0.013-0.398-0.039c-1.484-0.3-3.299-0.565-5.392-0.787c-2.098-0.224-4.136-0.339-6.062-0.339
c-5.706,0-10.572,0.95-14.467,2.823c-3.862,1.86-7.012,4.428-9.361,7.629c-2.389,3.263-4.115,7.12-5.127,11.47
c-1.043,4.479-1.574,9.409-1.574,14.647v54.132C514.613,232.815,513.717,233.711,512.613,233.711L512.613,233.711z"/>
<path opacity="0.5" fill="#FFFFFF" d="M510.988,111.595V133.9h0.465c1.546-3.72,3.636-7.163,6.272-10.341
c2.634-3.172,5.652-5.885,9.06-8.131c3.405-2.242,7.047-3.985,10.923-5.228c3.868-1.237,7.898-1.859,12.081-1.859
c2.168,0,4.566,0.39,7.202,1.163v30.67c-1.551-0.312-3.41-0.584-5.576-0.814c-2.17-0.233-4.26-0.35-6.274-0.35
c-6.041,0-11.152,1.01-15.332,3.021c-4.182,2.014-7.55,4.761-10.107,8.247c-2.555,3.487-4.379,7.55-5.462,12.198
c-1.083,4.645-1.625,9.682-1.625,15.102v54.133h-32.991V111.595H510.988z"/>
<path opacity="0.5" fill="#FFFFFF" d="M603.923,233.711H570.93c-1.104,0-2-0.896-2-2V111.594c0-1.104,0.896-1.999,2-1.999h32.994
c1.104,0,2,0.896,2,1.999v120.117C605.923,232.815,605.027,233.711,603.923,233.711L603.923,233.711z M603.923,95.006H570.93
c-1.104,0-2-0.896-2-1.999V65.825c0-1.104,0.896-2,2-2h32.994c1.104,0,2,0.896,2,2v27.182
C605.923,94.11,605.027,95.006,603.923,95.006L603.923,95.006z"/>
<path opacity="0.5" fill="#FFFFFF" d="M570.93,93.007V65.824h32.994v27.183H570.93z M603.924,111.595v120.117H570.93V111.595
H603.924z"/>
<path opacity="0.5" fill="#FFFFFF" d="M742.163,233.711h-37.64c-0.671,0-1.297-0.335-1.667-0.896l-23.426-35.352l-23.426,35.352
c-0.369,0.561-0.995,0.896-1.667,0.896h-36.938c-0.741,0-1.424-0.411-1.77-1.067c-0.345-0.654-0.3-1.449,0.118-2.061l42.435-62.055
l-38.71-55.793c-0.424-0.613-0.474-1.408-0.128-2.069c0.343-0.658,1.028-1.071,1.771-1.071h37.636c0.665,0,1.287,0.33,1.658,0.882
l19.477,28.893l19.255-28.884c0.372-0.556,0.996-0.891,1.665-0.891h36.475c0.746,0,1.43,0.415,1.776,1.078
c0.343,0.66,0.289,1.46-0.139,2.071l-38.69,55.082l43.578,62.744c0.424,0.61,0.474,1.408,0.128,2.066
C743.591,233.298,742.908,233.711,742.163,233.711L742.163,233.711z"/>
<path opacity="0.5" fill="#FFFFFF" d="M621.115,111.595h37.637l21.144,31.365l20.911-31.365h36.476l-39.496,56.226l44.377,63.892
h-37.64l-25.093-37.87l-25.094,37.87h-36.938l43.213-63.193L621.115,111.595z"/>
<path opacity="0.5" fill="#FFFFFF" d="M791.322,340.809h-32.008c-1.105,0-2-0.896-2-2v-7.712c0-1.105,0.896-2.001,2-2.001h21.13
V11.71h-21.13c-1.105,0-2-0.896-2-2V2c0-1.104,0.896-2,2-2h32.008c1.104,0,2,0.896,2,2v336.809
C793.322,339.913,792.426,340.809,791.322,340.809L791.322,340.809z"/>
<path opacity="0.5" fill="#FFFFFF" d="M782.443,331.097V9.711h-23.13v-7.71h32.008v336.807h-32.008v-7.711H782.443z"/>
<path d="M10.875,9.711v321.386h23.13v7.711H1.999V2.001h32.006v7.71H10.875z"/>
<path d="M99.988,111.595v16.264h0.463c4.338-6.191,9.563-10.998,15.684-14.406c6.117-3.402,13.129-5.11,21.027-5.11
c7.588,0,14.521,1.475,20.793,4.415c6.274,2.945,11.038,8.131,14.291,15.567c3.56-5.265,8.4-9.913,14.521-13.94
c6.117-4.025,13.358-6.042,21.724-6.042c6.351,0,12.234,0.776,17.66,2.325c5.418,1.549,10.065,4.027,13.938,7.434
c3.869,3.41,6.889,7.863,9.062,13.357c2.167,5.504,3.253,12.122,3.253,19.869v80.385H219.41v-68.074
c0-4.025-0.154-7.82-0.465-11.385c-0.313-3.56-1.161-6.656-2.555-9.293c-1.395-2.631-3.45-4.724-6.157-6.274
c-2.711-1.543-6.391-2.322-11.037-2.322s-8.403,0.896-11.269,2.671c-2.868,1.784-5.112,4.109-6.737,6.971
c-1.626,2.869-2.711,6.12-3.252,9.762c-0.545,3.638-0.814,7.318-0.814,11.035v66.91h-32.991v-67.375c0-3.562-0.081-7.087-0.23-10.57
c-0.158-3.487-0.814-6.7-1.978-9.645c-1.162-2.94-3.099-5.304-5.809-7.088c-2.711-1.775-6.699-2.671-11.965-2.671
c-1.551,0-3.603,0.349-6.156,1.048c-2.556,0.697-5.036,2.016-7.435,3.949c-2.404,1.938-4.454,4.726-6.158,8.363
c-1.705,3.642-2.556,8.402-2.556,14.287v69.701h-32.99V111.595H99.988z"/>
<path d="M273.544,129.255c3.405-5.113,7.744-9.215,13.012-12.316c5.264-3.097,11.186-5.303,17.771-6.621
c6.582-1.315,13.205-1.976,19.865-1.976c6.042,0,12.158,0.428,18.354,1.277c6.195,0.855,11.85,2.522,16.962,4.997
c5.111,2.477,9.292,5.926,12.546,10.338c3.253,4.414,4.879,10.262,4.879,17.543v62.494c0,5.428,0.31,10.611,0.931,15.567
c0.615,4.959,1.701,8.676,3.251,11.153H347.66c-0.621-1.86-1.126-3.755-1.511-5.693c-0.39-1.933-0.661-3.908-0.813-5.923
c-5.267,5.422-11.465,9.217-18.585,11.386c-7.127,2.163-14.407,3.251-21.842,3.251c-5.733,0-11.077-0.698-16.033-2.09
c-4.958-1.395-9.293-3.562-13.01-6.51c-3.718-2.938-6.622-6.656-8.713-11.147s-3.138-9.84-3.138-16.033
c0-6.813,1.199-12.43,3.604-16.84c2.399-4.417,5.495-7.939,9.295-10.575c3.793-2.632,8.129-4.607,13.01-5.923
c4.878-1.315,9.795-2.358,14.752-3.137c4.957-0.772,9.835-1.393,14.638-1.857c4.801-0.466,9.062-1.164,12.779-2.093
c3.718-0.929,6.658-2.282,8.829-4.065c2.165-1.781,3.172-4.375,3.02-7.785c0-3.56-0.58-6.389-1.742-8.479
c-1.161-2.09-2.711-3.719-4.646-4.88c-1.937-1.161-4.183-1.936-6.737-2.325c-2.557-0.382-5.309-0.58-8.248-0.58
c-6.506,0-11.617,1.395-15.335,4.183c-3.716,2.788-5.889,7.437-6.506,13.94h-32.991
C268.199,140.794,270.132,134.363,273.544,129.255z M338.713,175.838c-2.09,0.696-4.337,1.275-6.736,1.741
c-2.402,0.465-4.918,0.853-7.551,1.161c-2.635,0.313-5.268,0.698-7.899,1.163c-2.48,0.461-4.919,1.086-7.317,1.857
c-2.404,0.779-4.495,1.822-6.274,3.138c-1.784,1.317-3.216,2.985-4.3,4.994c-1.085,2.014-1.626,4.571-1.626,7.668
c0,2.94,0.541,5.422,1.626,7.431c1.084,2.017,2.558,3.604,4.416,4.765s4.025,1.976,6.507,2.438c2.475,0.466,5.031,0.698,7.665,0.698
c6.505,0,11.537-1.082,15.103-3.253c3.561-2.166,6.192-4.762,7.899-7.785c1.702-3.019,2.749-6.072,3.137-9.174
c0.384-3.097,0.58-5.576,0.58-7.434v-12.316C342.547,174.173,340.805,175.14,338.713,175.838z"/>
<path d="M463.825,111.595v22.072h-24.161v59.479c0,5.573,0.928,9.292,2.788,11.149c1.856,1.859,5.576,2.788,11.152,2.788
c1.859,0,3.638-0.076,5.343-0.232c1.703-0.152,3.33-0.388,4.878-0.696v25.557c-2.788,0.465-5.887,0.773-9.293,0.931
c-3.407,0.149-6.737,0.23-9.99,0.23c-5.111,0-9.953-0.35-14.521-1.048c-4.571-0.695-8.597-2.047-12.081-4.063
c-3.486-2.011-6.236-4.88-8.248-8.597c-2.016-3.714-3.021-8.595-3.021-14.639v-70.859h-19.98v-22.072h19.98V75.583h32.992v36.012
H463.825z"/>
<path d="M510.988,111.595V133.9h0.465c1.546-3.72,3.636-7.163,6.272-10.341c2.634-3.172,5.652-5.885,9.06-8.131
c3.405-2.242,7.047-3.985,10.923-5.228c3.868-1.237,7.898-1.859,12.081-1.859c2.168,0,4.566,0.39,7.202,1.163v30.67
c-1.551-0.312-3.41-0.584-5.576-0.814c-2.17-0.233-4.26-0.35-6.274-0.35c-6.041,0-11.152,1.01-15.332,3.021
c-4.182,2.014-7.55,4.761-10.107,8.247c-2.555,3.487-4.379,7.55-5.462,12.198c-1.083,4.645-1.625,9.682-1.625,15.102v54.133h-32.991
V111.595H510.988z"/>
<path d="M570.93,93.007V65.824h32.994v27.183H570.93z M603.924,111.595v120.117H570.93V111.595H603.924z"/>
<path d="M621.115,111.595h37.637l21.144,31.365l20.911-31.365h36.476l-39.496,56.226l44.377,63.892h-37.64l-25.093-37.87
l-25.094,37.87h-36.938l43.213-63.193L621.115,111.595z"/>
<path d="M782.443,331.097V9.711h-23.13v-7.71h32.008v336.807h-32.008v-7.711H782.443z"/>
</svg>

Before

Width:  |  Height:  |  Size: 16 KiB

-1
View File
@@ -32,7 +32,6 @@ cd react-sdk
yarn link
yarn link matrix-js-sdk
yarn --network-timeout=100000 install
yarn reskindex
cd ../
echo "Setting up element-web with react-sdk and js-sdk packages"
-8
View File
@@ -92,16 +92,8 @@ pushd matrix-react-sdk
yarn link
yarn link matrix-js-sdk
yarn install --pure-lockfile
yarn reskindex
popd
yarn link matrix-react-sdk
##############################
# Link the reskindex binary in place: if we used `yarn link`,
# Yarn would do this for us, but we don't because we'd have
# to define the Yarn binary prefix somewhere so it could put the
# intermediate symlinks there. Instead, we do it ourselves.
mkdir -p node_modules/.bin
ln -sfv ../matrix-react-sdk/scripts/reskindex.js node_modules/.bin/reskindex
@@ -1,34 +0,0 @@
/*
Copyright 2016 OpenMarket Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2019 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
import EmbeddedPage from 'matrix-react-sdk/src/components/structures/EmbeddedPage';
import sanitizeHtml from 'sanitize-html';
import { _t } from 'matrix-react-sdk/src/languageHandler';
export default class VectorEmbeddedPage extends EmbeddedPage {
static replaces = 'EmbeddedPage';
// we're overriding the base component here, for Element-specific tweaks
translate(s: string) {
s = sanitizeHtml(_t(s));
// ugly fix for https://github.com/vector-im/element-web/issues/4243
// eslint-disable-next-line max-len
s = s.replace(/\[matrix\]/, '<a href="https://matrix.org" target="_blank" rel="noreferrer noopener"><img width="79" height="34" alt="Matrix" style="padding-left: 1px;vertical-align: middle" src="welcome/images/matrix.svg"/></a>');
return s;
}
}
@@ -44,6 +44,4 @@ const VectorAuthFooter = () => {
);
};
VectorAuthFooter.replaces = 'AuthFooter';
export default VectorAuthFooter;
@@ -19,9 +19,7 @@ import React from 'react';
import SdkConfig from 'matrix-react-sdk/src/SdkConfig';
export default class VectorAuthHeaderLogo extends React.PureComponent {
static replaces = 'AuthHeaderLogo';
render() {
public render() {
const brandingConfig = SdkConfig.getObject("branding");
const logoUrl = brandingConfig?.get("auth_header_logo_url") ?? "themes/element/img/logos/element-logo.svg";
+6 -9
View File
@@ -15,16 +15,15 @@ limitations under the License.
*/
import React, { CSSProperties } from 'react';
import * as sdk from 'matrix-react-sdk/src/index';
import SdkConfig from 'matrix-react-sdk/src/SdkConfig';
export default class VectorAuthPage extends React.PureComponent {
static replaces = 'AuthPage';
import VectorAuthFooter from "./VectorAuthFooter";
static welcomeBackgroundUrl;
export default class VectorAuthPage extends React.PureComponent {
private static welcomeBackgroundUrl;
// cache the url as a static to prevent it changing without refreshing
static getWelcomeBackgroundUrl() {
private static getWelcomeBackgroundUrl() {
if (VectorAuthPage.welcomeBackgroundUrl) return VectorAuthPage.welcomeBackgroundUrl;
const brandingConfig = SdkConfig.getObject("branding");
@@ -43,9 +42,7 @@ export default class VectorAuthPage extends React.PureComponent {
return VectorAuthPage.welcomeBackgroundUrl;
}
render() {
const AuthFooter = sdk.getComponent('auth.AuthFooter');
public render() {
const pageStyle = {
background: `center/cover fixed url(${VectorAuthPage.getWelcomeBackgroundUrl()})`,
};
@@ -80,7 +77,7 @@ export default class VectorAuthPage extends React.PureComponent {
{ this.props.children }
</div>
</div>
<AuthFooter />
<VectorAuthFooter />
</div>
);
}
-15
View File
@@ -1,15 +0,0 @@
/*
Copyright 2018 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
+4
View File
@@ -0,0 +1,4 @@
{
"Dismiss": "সরাও",
"Open": "খোলা"
}
+3 -1
View File
@@ -1 +1,3 @@
{}
{
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "ভুল পছন্দসমূহ: এগয়লোর যেকোনো একটি কেবল নির্দিষ্ট করা যাবে default_server_config, default_server_name বা default_hs_url।"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Používání %(brand)s v mobilních zařízeních",
"Switch to space by number": "Přepnout na prostor podle čísla",
"Next recently visited room or community": "Další nedávno navštívená místnost nebo komunita",
"Previous recently visited room or community": "Nedávno navštívená místnost nebo komunita"
"Previous recently visited room or community": "Nedávno navštívená místnost nebo komunita",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Decentralizovaný, šifrovaný chat a spolupráce na platformě $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Verwende %(brand)s am Handy",
"Switch to space by number": "Zum n-ten Space wechseln",
"Next recently visited room or community": "Nächster kürzlich besuchter Raum",
"Previous recently visited room or community": "Vorheriger kürzlich besuchter Raum"
"Previous recently visited room or community": "Vorheriger kürzlich besuchter Raum",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Dezentralisierter, verschlüsselter Chat &amp; Zusammenarbeit unterstützt von $matrixLogo"
}
+1 -1
View File
@@ -26,7 +26,7 @@
"Go to element.io": "Go to element.io",
"Failed to start": "Failed to start",
"Welcome to Element": "Welcome to Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted chat &amp; collaboration powered by [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo",
"Sign In": "Sign In",
"Create Account": "Create Account",
"Explore rooms": "Explore rooms"
+11 -10
View File
@@ -2,10 +2,10 @@
"Dismiss": "Rezigni",
"powered by Matrix": "povigita per Matrix",
"Unknown device": "Nekonata aparato",
"You need to be using HTTPS to place a screen-sharing call.": "Vi devas uzi HTTPS por ekranvidadi.",
"You need to be using HTTPS to place a screen-sharing call.": "Vi devas uzi HTTPS por ekran-kundivide alvoki.",
"Welcome to Element": "Bonvenon al Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Malcentra, ĉifrita babilado &amp; kunlaboro povigita per [matrix]",
"Sign In": "Saluti",
"Sign In": "Ensaluti",
"Create Account": "Krei konton",
"Explore rooms": "Esplori ĉambrojn",
"Unexpected error preparing the app. See console for details.": "Neatendita eraro okazis dum la preparado de la aplikaĵo. Rigardu la konzolon por detaloj.",
@@ -13,16 +13,16 @@
"Invalid configuration: no default server specified.": "Nevalida agordo: neniu implicita servilo estas specifita.",
"The message from the parser is: %(message)s": "La mesaĝo el la analizilo estas: %(message)s",
"Invalid JSON": "Nevalida JSON",
"Go to your browser to complete Sign In": "Iru al via foliumilo por fini la saluton",
"Go to your browser to complete Sign In": "Iru al via retumilo por finpretigi la ensaluton",
"Open user settings": "Malfermi agordojn de uzanto",
"Unable to load config file: please refresh the page to try again.": "Ne povas enlegi agordan dosieron: bonvolu reprovi per aktualigo de la paĝo.",
"Previous/next recently visited room or community": "Antaŭa/sekva freŝe vizitita ĉambro aŭ komunumo",
"Missing indexeddb worker script!": "Mankas fonskripto «indexeddb»!",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s labortabla (%(platformName)s)",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "Nesubtenata foliumilo",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Bonvolu instali foliumilon <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, aŭ <safariLink>Safari</safariLink>, por la plej bona sperto.",
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Vi povas daŭre uzadi vian nunan foliumilon, sed iuj (eĉ ĉiuj) funkcioj eble ne funkcios, kaj la aspekto de la aplikaĵo eble ne estos ĝusta.",
"Unsupported browser": "Nesubtenata retumilo",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Bonvolu instali retumilon <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, aŭ <safariLink>Safari</safariLink>, por la plej bona sperto.",
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Vi povas daŭre uzi vian nunan foliumilon, sed iuj (eĉ ĉiuj) funkcioj eble ne funkciu, kaj la aspekto de la aplikaĵo eble ne estu ĝusta.",
"I understand the risks and wish to continue": "Mi komprenas la riskon kaj volas pluiĝi",
"Go to element.io": "Iri al element.io",
"Failed to start": "Malsukcesis starti",
@@ -30,9 +30,10 @@
"Open": "Malfermi",
"Your Element is misconfigured": "Via Elemento estas misagordita",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Via agordaro de Elemento enhavas nevalidajn datumojn de JSON. Bonvolu korekti la problemon kaj aktualigi la paĝon.",
"Your browser can't run %(brand)s": "Via foliumilo ne povas ruli %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s uzas specialajn funkciojn de foliumilo, kiujn via nuna foliumilo ne subtenas.",
"Your browser can't run %(brand)s": "Via retumilo ne povas ruli %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s uzas specialajn funkciojn de retumilo, kiujn via nuna retumilo ne subtenas.",
"Powered by Matrix": "Povigata de Matrix",
"Use %(brand)s on mobile": "Uzi %(brand)s telefone",
"Switch to space by number": "Baskuli al aro laŭ numero"
"Use %(brand)s on mobile": "Uzi %(brand)s poŝtelefone",
"Switch to space by number": "Baskuli al aro laŭ numero",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Malcentralizita kaj ĉifrita babilejo; kunlaboro danke al $matrixLogo"
}
+2 -1
View File
@@ -34,5 +34,6 @@
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s usa funciones avanzadas que su navegador actual no soporta.",
"Powered by Matrix": "Funciona con Matrix",
"Use %(brand)s on mobile": "Usar %(brand)s en modo móvil",
"Switch to space by number": "Cambiar a espacio por número"
"Switch to space by number": "Cambiar a espacio por número",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Conversaciones y colaboración descentralizadas y cifradas gracias a $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Kasuta rakendust %(brand)s nutiseadmes",
"Switch to space by number": "Vaata kogukonnakeskust tema numbri alusel",
"Next recently visited room or community": "Järgmine hiljuti külastatud jututuba või kogukond",
"Previous recently visited room or community": "Eelmine hiljuti külastatud jututuba või kogukond"
"Previous recently visited room or community": "Eelmine hiljuti külastatud jututuba või kogukond",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Hajutatud ja krüpteeritud suhtlus- ning ühistöörakendus, mille aluseks on $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Utiliser %(brand)s sur téléphone",
"Switch to space by number": "Afficher un espace par son numéro",
"Next recently visited room or community": "Prochain salon ou communauté récemment visité",
"Previous recently visited room or community": "Salon ou communauté précédemment visité"
"Previous recently visited room or community": "Salon ou communauté précédemment visité",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Messagerie décentralisée, chiffrée &amp; une collaboration alimentée par $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Utiliza %(brand)s no móbil",
"Switch to space by number": "Cambiar a espazo polo número",
"Next recently visited room or community": "Seguinte sala ou comunidade visitada recentemente",
"Previous recently visited room or community": "Sala ou Comunidade visitada recentemente"
"Previous recently visited room or community": "Sala ou Comunidade visitada recentemente",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Conversas &amp; colaboración descentralizadas e cifradas grazas a $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Mobilon használd ezt: %(brand)s",
"Switch to space by number": "Tér váltás számmal",
"Next recently visited room or community": "Következő nemrég meglátogatott szoba vagy közösség",
"Previous recently visited room or community": "Előző nemrég meglátogatott szoba vagy közösség"
"Previous recently visited room or community": "Előző nemrég meglátogatott szoba vagy közösség",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Elosztott, titkosított csevegés &amp; együttműködés ezzel: $matrixLogo"
}
+16
View File
@@ -0,0 +1,16 @@
{
"Explore rooms": "Փնտրել սենյակներ",
"Failed to start": "Չի ստացվում սկսել",
"Use %(brand)s on mobile": "Օգտագործում է %(brand)s հեռախոսի վրա",
"You need to be using HTTPS to place a screen-sharing call.": "Դուք պետք է օգտագործեք HTTPS միացում որպիսի կարողանաք կատարել էկրանը ցույց տալով զանգ",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s%(browserName)s%(osName)s",
"Unknown device": "Անծանոթ սարք",
"Welcome to Element": "Բարի գալուստ Element",
"Your browser can't run %(brand)s": "Ձեր բրաուզերը չի թողարկում %(brand)s",
"Unsupported browser": "Չհամապատասխանող բրաուզեր",
"Dismiss": "Հեռացնել",
"Open": "Բացել",
"Unable to load config file: please refresh the page to try again.": "Ֆայլի ներմուծման սխալ․ խնդրում ենք թարմացնել էջը և նորից փորձել։",
"Invalid JSON": "Չաշխատող JSON",
"Your Element is misconfigured": "Ձեր Element֊ը սխալ է կարգավորված"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Your Element is misconfigured": "Anda mengatur Element dengan salah",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Konfigurasi tidak valid: hanya bisa menentukan satu dari default_server_config, default_server_name, atau default_hs_url.",
"Next recently visited room or community": "Ruangan atau komunitas berikutnya yang baru saja dilihat",
"Previous recently visited room or community": "Ruangan atau komunitas sebelumnya yang baru saja dilihat"
"Previous recently visited room or community": "Ruangan atau komunitas sebelumnya yang baru saja dilihat",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Obrolan &amp; kolaborasi terdesentralisasi dan terenkripsi, diberdayakan oleh $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Nota %(brand)s í síma",
"Next recently visited room or community": "Næsta nýlega heimsótt rými eða samfélag",
"Previous recently visited room or community": "Fyrra nýlega heimsótt rými eða samfélag",
"Switch to space by number": "Skipta yfir í rými með númeri"
"Switch to space by number": "Skipta yfir í rými með númeri",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Dreifstýrt, dulritað spjall og samskipti keyrt með $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Usa %(brand)s su mobile",
"Switch to space by number": "Passa allo spazio per numero",
"Next recently visited room or community": "Prossima stanza o comunità visitata di recente",
"Previous recently visited room or community": "Precedente stanza o comunità visitata di recente"
"Previous recently visited room or community": "Precedente stanza o comunità visitata di recente",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Chat e collaborazioni criptate e decentralizzate offerte da $matrixLogo"
}
+31 -1
View File
@@ -1,3 +1,33 @@
{
"Open": "ເປີດ"
"Open": "ເປີດ",
"Explore rooms": "ສຳຫຼວດບັນດາຫ້ອງ",
"Create Account": "ສ້າງບັນຊີ",
"Sign In": "ເຂົ້າສູ່ລະບົບ",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "ການສົນທະນາແບບເຂົ້າລະຫັດ ແລະກະຈ່າຍການຄຸ້ມຄອງ &amp; ການຮ່ວມມື້ ແລະສະໜັບສະໜູນໂດຍ $matrixLogo",
"Welcome to Element": "ຍິນດີຕ້ອນຮັບ",
"Failed to start": "ບໍ່ສາມາດເປີດໄດ້",
"Go to element.io": "ໄປຫາ element.io",
"I understand the risks and wish to continue": "ຂ້າພະເຈົ້າເຂົ້າໃຈຄວາມສ່ຽງ ແລະຢາກສືບຕໍ່",
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "ທ່ານສາມາດສືບຕໍ່ນຳໃຊ້ບຣາວເຊີປັດຈຸບັນຂອງເຈົ້າໄດ້, ແຕ່ບາງຄຸນສົມບັດ ຫຼື ທັງໝົດອາດຈະບໍ່ເຮັດວຽກ ແລະ ລັກສະນະ ແລະ ຄວາມຮູ້ສຶກຂອງແອັບພລິເຄຊັນອາດບໍ່ຖືກຕ້ອງ.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "ກະລຸນາຕິດຕັ້ງ <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> ສຳລັບປະສົບການທີ່ດີທີ່ສຸດ.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s ໃຊ້ຄຸນສົມບັດຂອງບຣາວເຊີຂັ້ນສູງທີ່ບຼາວເຊີປັດຈຸບັນຂອງທ່ານຍັງບໍ່ຮອງຮັບ.",
"Your browser can't run %(brand)s": "ບຣາວເຊີຂອງທ່ານບໍ່ສາມາດແລ່ນ %(brand)s ໄດ້",
"Unsupported browser": "ບໍ່ຮັບຮອງເວັບບຣາວເຊີນີ້",
"Use %(brand)s on mobile": "ໃຊ້ມືຖື %(brand)s",
"Powered by Matrix": "ສະໜັບສະໜູນໂດຍ Matrix",
"You need to be using HTTPS to place a screen-sharing call.": "ທ່ານຈໍາເປັນຕ້ອງໃຊ້ HTTPS ເພື່ອໃຊ້ການແບ່ງປັນຫນ້າຈໍ.",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unknown device": "ທີ່ບໍ່ຮູ້ຈັກອຸປະກອນນີ້",
"Go to your browser to complete Sign In": "ໄປທີ່ໜ້າເວັບຂອງທ່ານເພື່ອເຂົ້າສູ່ລະບົບ",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s ຕັ້ງໂຕະ (%(platformName)s)",
"Dismiss": "ຍົກເລີກ",
"Download Completed": "ດາວໂຫຼດສຳເລັດແລ້ວ",
"Unexpected error preparing the app. See console for details.": "ເກີດຄວາມຜິດພາດທີ່ບໍ່ຄາດຄິດໃນການກະກຽມແອັບຯ. ເບິ່ງ console ສໍາລັບລາຍລະອຽດ.",
"Unable to load config file: please refresh the page to try again.": "ບໍ່ສາມາດໂຫຼດໄຟລ໌ config ໄດ້: ກະລຸນາໂຫຼດໜ້ານີ້ຄືນໃໝ່ເພື່ອລອງອີກຄັ້ງ.",
"Invalid JSON": "JSON ບໍ່ຖືກຕ້ອງ",
"The message from the parser is: %(message)s": "ຂໍ້ຄວາມຈາກຕົວປ່ຽນແມ່ນ: %(message)s",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "ການຕັ້ງຄ່າແອັບ Element ຂອງທ່ານມີຄ່າ JSON ທີ່ບໍ່ຖືກຕ້ອງ. ກະລຸນາແກ້ໄຂບັນຫາ ແລະໂຫຼດໜ້ານີ້ຄືນໃໝ່.",
"Your Element is misconfigured": "ການຕັ້ງຄ່າແອັບ Element ຂອງທ່ານບໍ່ຖືກຕ້ອງ",
"Invalid configuration: no default server specified.": "ການຕັ້ງຄ່າບໍ່ຖືກຕ້ອງ: ບໍ່ໄດ້ລະບຸເຊີບເວີເລີ່ມຕົ້ນ.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "ການຕັ້ງຄ່າບໍ່ຖືກຕ້ອງ: ສາມາດລະບຸໄດ້ພຽງແຕ່ອັນດຽວຂອງ default_server_config, default_server_name, or default_hs_url."
}
+33 -1
View File
@@ -1 +1,33 @@
{}
{
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "सर्वोत्तम अनुभव के लिए कृपया <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, या <safariLink>Safari</safariLink> इंस्टॉल करें।",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s उन्नत ब्राउज़र सुविधाओं का उपयोग करते हैं जो आपके वर्तमान ब्राउज़र द्वारा समर्थित नहीं हैं।",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s का डेस्कटॉप (%(platformName)s)",
"Sign In": "साइन करना",
"Explore rooms": "रूम का अन्वेषण करें",
"Create Account": "खाता बनाएं",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "विकेन्द्रीकृत, एन्क्रिप्टेड च्याट र $matrixLogo द्वारा संचालित सहयोग",
"Welcome to Element": "Element में आपका स्वागत है",
"Failed to start": "प्रारंभ करने में विफल",
"Go to element.io": "element.io पर जाएं",
"I understand the risks and wish to continue": "मैं जोखिमों को समझता हूं और जारी रखना चाहता हूं",
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "आप अपने वर्तमान ब्राउज़र का उपयोग जारी रख सकते हैं, लेकिन हो सकता है कि कुछ या सभी सुविधाएं काम न करें और एप्लिकेशन का रंगरूप गलत हो सकता है।",
"Your browser can't run %(brand)s": "आपका ब्राउज़र %(brand)s को नहीं चला सकता",
"Unsupported browser": "असमर्थित ब्राउज़र",
"Use %(brand)s on mobile": "मोबाइल पर %(brand)s का प्रयोग करें",
"Powered by Matrix": "मैट्रिक्स द्वारा संचालित",
"You need to be using HTTPS to place a screen-sharing call.": "स्क्रीन साझा की कॉल करने के लिए आपको HTTPS का उपयोग करने की आवश्यकता है।",
"Unknown device": "अज्ञात यन्त्र",
"Go to your browser to complete Sign In": "साइन इन पूरा करने के लिए अपने ब्राउज़र पर जाएं",
"Dismiss": "खारिज",
"Open": "खुला",
"Download Completed": "डाउनलोड सम्पन्न हुआ",
"Unexpected error preparing the app. See console for details.": "ऐप्लिकेशन तैयार करने में अनपेक्षित गड़बड़ी हुई. विवरण के लिए कंसोल देखें।",
"Unable to load config file: please refresh the page to try again.": "कॉन्फ़िग फ़ाइल लोड करने में असमर्थ: कृपया पुन: प्रयास करने के लिए पृष्ठ को रीफ़्रेश करें।",
"Invalid JSON": "अमान्य JSON",
"The message from the parser is: %(message)s": "पार्सर का संदेश है: %(message)s",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "आपके एलीमेंट कॉन्फ़िगरेशन में अमान्य JSON है. कृपया समस्या को ठीक करें और पृष्ठ को पुनः लोड करें।",
"Your Element is misconfigured": "आपका तत्व गलत कॉन्फ़िगर किया गया है",
"Invalid configuration: no default server specified.": "अमान्य कॉन्फ़िगरेशन: कोई डिफ़ॉल्ट सर्वर निर्दिष्ट नहीं है।",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "अमान्य कॉन्फ़िगरेशन: केवल default_server_config, default_server_name, या default_hs_url में से कोई एक निर्दिष्ट कर सकता है।"
}
+3 -2
View File
@@ -7,7 +7,7 @@
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentrale en versleutelde chat &amp; samenwerken dankzij [matrix]",
"Sign In": "Inloggen",
"Create Account": "Registreren",
"Explore rooms": "Kamers verkennen",
"Explore rooms": "Kamers ontdekken",
"Unexpected error preparing the app. See console for details.": "Er is een onverwachte fout opgetreden bij het voorbereiden van de app. Zie de console voor details.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuratiefout: kan slechts één van default_server_config, default_server_name, of default_hs_url opgeven.",
"Invalid configuration: no default server specified.": "Configuratie ongeldig: geen standaardserver opgegeven.",
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Gebruik %(brand)s op uw mobiel",
"Switch to space by number": "Wissel naar Space met nummer",
"Next recently visited room or community": "Volgende recent bezochte kamer of community",
"Previous recently visited room or community": "Vorige recent bezochte kamer of community"
"Previous recently visited room or community": "Vorige recent bezochte kamer of community",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Gedecentraliseerde, versleutelde chat &amp; samenwerking mogelijk gemaakt door $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Usar %(brand)s em celular",
"Switch to space by number": "Trocar para espaço por número",
"Next recently visited room or community": "Próxima sala ou comunidade recentemente visitada",
"Previous recently visited room or community": "Anterior sala ou comunidade recentemente visitada"
"Previous recently visited room or community": "Anterior sala ou comunidade recentemente visitada",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Chat descentralizado e encriptado & colaboração, powered by $matrixLogo"
}
+3 -2
View File
@@ -12,7 +12,7 @@
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Неверная конфигурация: можно указывать только один из следующих параметров: default_server_config, default_server_name или default_hs_url.",
"Invalid configuration: no default server specified.": "Неверная конфигурация: сервер по умолчанию не указан.",
"The message from the parser is: %(message)s": "Сообщение из парсера: %(message)s",
"Invalid JSON": "Нерабочий JSON",
"Invalid JSON": "Неверный JSON",
"Go to your browser to complete Sign In": "Перейдите в браузер для завершения входа",
"Open user settings": "Открыть настройки пользователя",
"Missing indexeddb worker script!": "Отсутствует скрипт воркера для indexeddb!",
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Воспользуйтесь %(brand)s на мобильном телефоне",
"Switch to space by number": "Переключение на пространство по номеру",
"Next recently visited room or community": "Следующая недавно посещенная комната или сообщество",
"Previous recently visited room or community": "Предыдущая недавно посещенная комната или сообщество"
"Previous recently visited room or community": "Предыдущая недавно посещенная комната или сообщество",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Децентрализованное, зашифрованное общение и сотрудничество на основе $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Používať %(brand)s pri mobilných zariadeniach",
"Switch to space by number": "Prepnúť do priestoru podľa čísla",
"Next recently visited room or community": "Ďalšia nedávno navštívená miestnosť alebo komunita",
"Previous recently visited room or community": "Predchádzajúca nedávno navštívená miestnosť alebo komunita"
"Previous recently visited room or community": "Predchádzajúca nedávno navštívená miestnosť alebo komunita",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Decentralizované, šifrované konverzácie a spolupráca na platforme $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Përdor %(brand)s në celular",
"Switch to space by number": "Kalo te hapësira me numrin",
"Next recently visited room or community": "Dhomë ose bashkësi e vizituar më parë pasuese",
"Previous recently visited room or community": "Dhomë ose bashkësi e vizituar më parë e mëparshme"
"Previous recently visited room or community": "Dhomë ose bashkësi e vizituar më parë e mëparshme",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Fjalosje &amp; bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në $matrixLogo"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Använd %(brand)s på mobilen",
"Switch to space by number": "Byt till utrymme med nummer",
"Previous recently visited room or community": "Tidigare nyligen besökta rum eller gemenskap",
"Next recently visited room or community": "Nästa nyligen besökta rum eller gemenskap"
"Next recently visited room or community": "Nästa nyligen besökta rum eller gemenskap",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Decentraliserad krypterad chatt &amp; samarbete som drivs av $matrixLogo"
}
+2 -1
View File
@@ -35,5 +35,6 @@
"Missing indexeddb worker script!": "Indexeddb worker kodu eksik!",
"Use %(brand)s on mobile": "Mobilde %(brand)s kullan",
"Switch to space by number": "Sayı ile belirtilen alana geç",
"Previous recently visited room or community": "En son ziyaret edilen oda veya topluluk"
"Previous recently visited room or community": "En son ziyaret edilen oda veya topluluk",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "$matrixLogo tarafından merkeziyetsiz, şifrelenmiş sohbet &amp; iş birliği"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "Користуйтеся %(brand)s на мобільному",
"Switch to space by number": "Перейдіть до простору за номером",
"Next recently visited room or community": "Наступна нещодавно відвідана кімната або спільнота",
"Previous recently visited room or community": "Попередня нещодавно відвідана кімната або спільнота"
"Previous recently visited room or community": "Попередня нещодавно відвідана кімната або спільнота",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Децентралізована, зашифрована бесіда та співпраця на основі $matrixLogo"
}
+6 -1
View File
@@ -1 +1,6 @@
{}
{
"Create Account": "Ro'yxatdan o'tish",
"Sign In": "Kirish",
"Dismiss": "Bekor qilish",
"Open": "Ochiq"
}
+2 -1
View File
@@ -36,5 +36,6 @@
"Use %(brand)s on mobile": "在行動裝置上使用 %(brand)s",
"Switch to space by number": "依數字切換至空間",
"Next recently visited room or community": "下一個近期造訪過的聊天室或社群",
"Previous recently visited room or community": "前一個近期造訪過的聊天室或社群"
"Previous recently visited room or community": "前一個近期造訪過的聊天室或社群",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "去中心化、加密的聊天與協作,威力本源 $matrixLogo"
}
+5 -3
View File
@@ -18,8 +18,10 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
// To ensure we load the browser-request version
import "matrix-js-sdk"; // eslint-disable-line no-restricted-imports
import React from 'react';
import * as sdk from 'matrix-react-sdk/src/index';
import PlatformPeg from 'matrix-react-sdk/src/PlatformPeg';
import { _td, newTranslatableError } from 'matrix-react-sdk/src/languageHandler';
import AutoDiscoveryUtils from 'matrix-react-sdk/src/utils/AutoDiscoveryUtils';
@@ -30,6 +32,7 @@ import { IConfigOptions } from "matrix-react-sdk/src/IConfigOptions";
import { logger } from "matrix-js-sdk/src/logger";
import { createClient } from "matrix-js-sdk/src/matrix";
import { SnakedObject } from "matrix-react-sdk/src/utils/SnakedObject";
import MatrixChat from "matrix-react-sdk/src/components/structures/MatrixChat";
import { parseQs } from './url_utils';
import VectorBasePlatform from "./platform/VectorBasePlatform";
@@ -133,7 +136,6 @@ export async function loadApp(fragParams: {}) {
const defaultDeviceName = snakedConfig.get("default_device_display_name")
?? platform.getDefaultDeviceDisplayName();
const MatrixChat = sdk.getComponent('structures.MatrixChat');
return <MatrixChat
onNewScreen={onNewScreen}
makeRegistrationUrl={makeRegistrationUrl}
@@ -147,7 +149,7 @@ export async function loadApp(fragParams: {}) {
/>;
}
async function verifyServerConfig() {
async function verifyServerConfig(): Promise<IConfigOptions> {
let validatedConfig;
try {
logger.log("Verifying homeserver configuration");
+1 -4
View File
@@ -110,7 +110,6 @@ async function start() {
preparePlatform,
loadOlm,
loadConfig,
loadSkin,
loadLanguage,
loadTheme,
loadApp,
@@ -160,10 +159,9 @@ async function start() {
const loadLanguagePromise = loadLanguage();
// as quickly as we possibly can, set a default theme...
const loadThemePromise = loadTheme();
const loadSkinPromise = loadSkin();
// await things settling so that any errors we have to render have features like i18n running
await settled(loadSkinPromise, loadThemePromise, loadLanguagePromise);
await settled(loadThemePromise, loadLanguagePromise);
let acceptBrowser = supportedBrowser;
if (!acceptBrowser && window.localStorage) {
@@ -211,7 +209,6 @@ async function start() {
// assert things started successfully
// ##################################
await loadOlmPromise;
await loadSkinPromise;
await loadThemePromise;
await loadLanguagePromise;
-21
View File
@@ -127,27 +127,6 @@ export async function loadLanguage() {
}
}
export async function loadSkin() {
// Ensure the skin is the very first thing to load for the react-sdk. We don't even want to reference
// the SDK until we have to in imports.
logger.log("Loading skin...");
// load these async so that its code is not executed immediately and we can catch any exceptions
const [sdk, skin] = await Promise.all([
import(
/* webpackChunkName: "matrix-react-sdk" */
/* webpackPreload: true */
"matrix-react-sdk"),
import(
/* webpackChunkName: "element-web-component-index" */
/* webpackPreload: true */
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore - this module is generated so may fail lint
"../component-index"),
]);
sdk.loadSkin(skin);
logger.log("Skin loaded!");
}
export async function loadTheme() {
setTheme();
}
+64 -24
View File
@@ -127,7 +127,7 @@ const ack = (ev: CustomEvent<IWidgetApiRequest>) => widgetApi.transport.reply(ev
const instanceConfig = new SnakedObject<IConfigOptions>((await configPromise) ?? <IConfigOptions>{});
const jitsiConfig = instanceConfig.get("jitsi_widget") ?? {};
skipOurWelcomeScreen = (new SnakedObject<IConfigOptions["jitsi_widget"]>(jitsiConfig))
.get("skip_built_in_welcome_screen") || isVideoChannel;
.get("skip_built_in_welcome_screen") ?? false;
// Either reveal the prejoin screen, or skip straight to Jitsi depending on the config.
// We don't set up the call yet though as this might lead to failure without the widget API.
@@ -145,7 +145,8 @@ const ack = (ev: CustomEvent<IWidgetApiRequest>) => widgetApi.transport.reply(ev
widgetApi.on(`action:${ElementWidgetActions.JoinCall}`,
(ev: CustomEvent<IWidgetApiRequest>) => {
joinConference();
const { audioDevice, videoDevice } = ev.detail.data;
joinConference(audioDevice as string, videoDevice as string);
ack(ev);
},
);
@@ -211,6 +212,13 @@ const ack = (ev: CustomEvent<IWidgetApiRequest>) => widgetApi.transport.reply(ev
}
enableJoinButton(); // always enable the button
// Inform the client that we're ready to receive events
try {
await widgetApi?.transport.send(ElementWidgetActions.WidgetReady, {});
} catch (e) {
logger.error(e);
}
} catch (e) {
logger.error("Error setting up Jitsi widget", e);
document.getElementById("widgetActionContainer").innerText = "Failed to load Jitsi widget";
@@ -281,7 +289,20 @@ function createJWTToken() {
);
}
function joinConference() { // event handler bound in HTML
async function notifyHangup() {
if (widgetApi) {
// We send the hangup event before setAlwaysOnScreen, because the latter
// can cause the receiving side to instantly stop listening.
try {
await widgetApi.transport.send(ElementWidgetActions.HangupCall, {});
} finally {
await widgetApi.setAlwaysOnScreen(false);
}
}
}
// event handler bound in HTML
function joinConference(audioDevice?: string, videoDevice?: string) {
let jwt;
if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) {
if (!openIdToken?.access_token) { // eslint-disable-line camelcase
@@ -306,6 +327,14 @@ function joinConference() { // event handler bound in HTML
height: "100%",
parentNode: document.querySelector("#jitsiContainer"),
roomName: conferenceId,
devices: {
audioInput: audioDevice,
videoInput: videoDevice,
},
userInfo: {
displayName,
email: userId,
},
interfaceConfigOverwrite: {
SHOW_JITSI_WATERMARK: false,
SHOW_WATERMARK_FOR_GUESTS: false,
@@ -313,16 +342,19 @@ function joinConference() { // event handler bound in HTML
VIDEO_LAYOUT_FIT: "height",
},
configOverwrite: {
subject: roomName,
startAudioOnly,
startWithAudioMuted: !audioDevice,
startWithVideoMuted: !videoDevice,
} as any,
jwt: jwt,
};
// Video channel widgets need some more tailored config options
if (isVideoChannel) {
// Ensure that we start on Jitsi Meet's native prejoin screen, for
// deployments that skip straight to the conference by default
options.configOverwrite.prejoinConfig = { enabled: true };
// Ensure that we skip Jitsi Meet's native prejoin screen, for
// deployments that have it enabled
options.configOverwrite.prejoinConfig = { enabled: false };
// Use a simplified set of toolbar buttons
options.configOverwrite.toolbarButtons = [
"microphone", "camera", "desktop", "tileview", "hangup",
@@ -332,14 +364,12 @@ function joinConference() { // event handler bound in HTML
}
meetApi = new JitsiMeetExternalAPI(jitsiDomain, options);
if (displayName) meetApi.executeCommand("displayName", displayName);
if (avatarUrl) meetApi.executeCommand("avatarUrl", avatarUrl);
if (userId) meetApi.executeCommand("email", userId);
if (roomName) meetApi.executeCommand("subject", roomName);
// fires once when user joins the conference
// (regardless of video on or off)
meetApi.on("videoConferenceJoined", () => {
if (avatarUrl) meetApi.executeCommand("avatarUrl", avatarUrl);
if (widgetApi) {
// ignored promise because we don't care if it works
// noinspection JSIgnoredPromiseFromCall
@@ -351,35 +381,45 @@ function joinConference() { // event handler bound in HTML
if (isVideoChannel) meetApi.executeCommand("setTileView", true);
});
meetApi.on("videoConferenceLeft", () => {
notifyHangup();
meetApi = null;
});
meetApi.on("readyToClose", () => {
switchVisibleContainers();
if (widgetApi) {
// We send the hangup event before setAlwaysOnScreen, because the latter
// can cause the receiving side to instantly stop listening.
// ignored promise because we don't care if it works
// noinspection JSIgnoredPromiseFromCall
widgetApi.transport.send(ElementWidgetActions.HangupCall, {}).finally(() =>
widgetApi.setAlwaysOnScreen(false),
);
}
document.getElementById("jitsiContainer").innerHTML = "";
meetApi = null;
if (skipOurWelcomeScreen) {
skipToJitsiSplashScreen();
}
});
meetApi.on("errorOccurred", ({ error }) => {
if (error.isFatal) {
// We got disconnected. Since Jitsi Meet might send us back to the
// prejoin screen, we're forced to act as if we hung up entirely.
notifyHangup();
}
});
meetApi.on("audioMuteStatusChanged", ({ muted }) => {
const action = muted ? ElementWidgetActions.MuteAudio : ElementWidgetActions.UnmuteAudio;
widgetApi.transport.send(action, {});
});
meetApi.on("videoMuteStatusChanged", ({ muted }) => {
const action = muted ? ElementWidgetActions.MuteVideo : ElementWidgetActions.UnmuteVideo;
widgetApi.transport.send(action, {});
if (muted) {
// Jitsi Meet always sends a "video muted" event directly before
// hanging up, which we need to ignore by padding the timeout here,
// otherwise the React SDK will mistakenly think the user turned off
// their video by hand
setTimeout(() => {
if (meetApi) widgetApi.transport.send(ElementWidgetActions.MuteVideo, {});
}, 200);
} else {
widgetApi.transport.send(ElementWidgetActions.UnmuteVideo, {});
}
});
["videoConferenceJoined", "participantJoined", "participantLeft"].forEach(event => {
+6 -12
View File
@@ -28,7 +28,6 @@ import { logger } from "matrix-js-sdk/src/logger";
import VectorBasePlatform from './VectorBasePlatform';
import { parseQs } from "../url_utils";
import { reloadPage } from "../routing";
const POKE_RATE_MS = 10 * 60 * 1000; // 10 min
@@ -132,7 +131,7 @@ export default class WebPlatform extends VectorBasePlatform {
console.log("startUpdater, current version is " + this.getNormalizedAppVersion(process.env.VERSION));
this.pollForUpdate((version: string, newVersion: string) => {
const query = parseQs(location);
if (query.updated === "1") {
if (query.updated) {
console.log("Update reloaded but still on an old version, stopping");
// We just reloaded already and are still on the old version!
// Show the toast rather than reload in a loop.
@@ -140,16 +139,11 @@ export default class WebPlatform extends VectorBasePlatform {
return;
}
// Set updated=1 as a query param so we can detect that we've already done this once
// and reload the page.
let suffix = "updated=1";
if (window.location.search.length === 0) {
suffix = "?" + suffix;
} else {
suffix = "&" + suffix;
}
reloadPage(window.location.href + suffix);
// Set updated as a cachebusting query param and reload the page.
const url = new URL(window.location.href);
url.searchParams.set("updated", newVersion);
console.log("Update reloading to " + url.toString());
window.location.href = url.toString();
});
setInterval(() => this.pollForUpdate(showUpdateToast, hideUpdateToast), POKE_RATE_MS);
}
-7
View File
@@ -71,13 +71,6 @@ export function onNewScreen(screen: string, replaceLast = false) {
}
}
// reload the page to a different url
export function reloadPage(newUrl: string) {
console.log("reloadPage to " + newUrl);
window.removeEventListener('hashchange', onHashChange);
window.location.href = newUrl;
}
export function init() {
window.addEventListener('hashchange', onHashChange);
}
+3 -8
View File
@@ -18,9 +18,7 @@ limitations under the License.
import PlatformPeg from 'matrix-react-sdk/src/PlatformPeg';
import WebPlatform from '../../src/vector/platform/WebPlatform';
import * as sdk from "matrix-react-sdk/src/index";
import * as jssdk from "matrix-js-sdk/src/matrix";
import "../skin-sdk";
import "../jest-mocks";
import React from "react";
import ReactDOM from "react-dom";
@@ -28,15 +26,12 @@ import ReactTestUtils from "react-dom/test-utils";
import {makeType} from "matrix-react-sdk/src/utils/TypeUtils";
import {ValidatedServerConfig} from "matrix-react-sdk/src/utils/AutoDiscoveryUtils";
import {sleep} from "../test-utils";
import * as test_utils from "../test-utils";
import MockHttpBackend from "matrix-mock-request";
import "fake-indexeddb/auto";
import { RoomView as RoomViewClass } from 'matrix-react-sdk/src/components/structures/RoomView';
const MatrixChat = sdk.getComponent('structures.MatrixChat');
const RoomDirectory = sdk.getComponent('structures.RoomDirectory');
const RoomPreviewBar = sdk.getComponent('rooms.RoomPreviewBar');
import MatrixChat from "matrix-react-sdk/src/components/structures/MatrixChat";
import RoomDirectory from "matrix-react-sdk/src/components/structures/RoomDirectory";
import RoomPreviewBar from "matrix-react-sdk/src/components/views/rooms/RoomPreviewBar";
const HS_URL='http://localhost';
const IS_URL='http://localhost';
+17 -18
View File
@@ -19,16 +19,14 @@ limitations under the License.
import PlatformPeg from 'matrix-react-sdk/src/PlatformPeg';
import WebPlatform from '../../src/vector/platform/WebPlatform';
import '../skin-sdk';
import "../jest-mocks";
import React from 'react';
import ReactDOM from 'react-dom';
import ReactTestUtils from 'react-dom/test-utils';
import MatrixReactTestUtils from 'matrix-react-test-utils';
import * as jssdk from 'matrix-js-sdk/src/matrix';
import * as sdk from 'matrix-react-sdk/src/index';
import {MatrixClientPeg} from 'matrix-react-sdk/src/MatrixClientPeg';
import {Views} from 'matrix-react-sdk/src/components/structures/MatrixChat';
import MatrixChat, {Views} from 'matrix-react-sdk/src/components/structures/MatrixChat';
import dis from 'matrix-react-sdk/src/dispatcher/dispatcher';
import * as test_utils from '../test-utils';
import MockHttpBackend from 'matrix-mock-request';
@@ -41,6 +39,8 @@ import {cleanLocalstorage} from "../test-utils";
import {IndexedDBCryptoStore} from "matrix-js-sdk/src/crypto/store/indexeddb-crypto-store";
import { RoomView as RoomViewClass } from 'matrix-react-sdk/src/components/structures/RoomView';
import LoginComponent from 'matrix-react-sdk/src/components/structures/auth/Login';
import WelcomeComponent from "matrix-react-sdk/src/components/views/auth/Welcome";
import EmbeddedPage from "matrix-react-sdk/src/components/structures/EmbeddedPage";
const DEFAULT_HS_URL='http://my_server';
const DEFAULT_IS_URL='http://my_is';
@@ -124,7 +124,6 @@ describe('loading:', function() {
};
}
const MatrixChat = sdk.getComponent('structures.MatrixChat');
const fragParts = parseQsFromFragment(windowLocation);
const config = Object.assign({
@@ -269,7 +268,7 @@ describe('loading:', function() {
return awaitLoginComponent(matrixChat).then(() => {
// we expect a single <Login> component
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.auth.Login'));
matrixChat, LoginComponent);
// the only outstanding request should be a GET /login
// (in particular there should be no /register request for
@@ -290,7 +289,7 @@ describe('loading:', function() {
}).then(() => {
// once the sync completes, we should have a room view
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.EmbeddedPage'));
matrixChat, EmbeddedPage);
expect(windowLocation.hash).toEqual("#/home");
});
});
@@ -343,7 +342,7 @@ describe('loading:', function() {
// once the sync completes, we should have a home page
httpBackend.verifyNoOutstandingExpectation();
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.EmbeddedPage'));
matrixChat, EmbeddedPage);
expect(windowLocation.hash).toEqual("#/home");
});
});
@@ -384,7 +383,7 @@ describe('loading:', function() {
// we expect a single <Login> component
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.auth.Login'),
matrixChat, LoginComponent,
);
// the only outstanding request should be a GET /login
@@ -413,7 +412,7 @@ describe('loading:', function() {
// we should see a home page, even though we previously had
// a stored mx_last_room_id
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.EmbeddedPage'));
matrixChat, EmbeddedPage);
expect(windowLocation.hash).toEqual("#/home");
});
});
@@ -447,7 +446,7 @@ describe('loading:', function() {
// once the sync completes, we should have a welcome page
httpBackend.verifyNoOutstandingExpectation();
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('auth.Welcome'));
matrixChat, WelcomeComponent);
expect(windowLocation.hash).toEqual("#/welcome");
});
});
@@ -480,7 +479,7 @@ describe('loading:', function() {
// once the sync completes, we should have a welcome page
httpBackend.verifyNoOutstandingExpectation();
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('auth.Welcome'));
matrixChat, WelcomeComponent);
expect(windowLocation.hash).toEqual("#/welcome");
expect(MatrixClientPeg.get().baseUrl).toEqual(DEFAULT_HS_URL);
expect(MatrixClientPeg.get().idBaseUrl).toEqual(DEFAULT_IS_URL);
@@ -539,7 +538,7 @@ describe('loading:', function() {
}).then(() => {
// once the sync completes, we should have a home page
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.EmbeddedPage'));
matrixChat, EmbeddedPage);
// we simulate a click on the 'login' button by firing off
// the relevant dispatch.
@@ -561,7 +560,7 @@ describe('loading:', function() {
// we expect a single <Login> component
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.auth.Login'),
matrixChat, LoginComponent,
);
});
@@ -569,7 +568,7 @@ describe('loading:', function() {
// ILAG renders this obsolete. I think.
it('should allow us to return to the app', function() {
const login = ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.auth.Login')
matrixChat, LoginComponent
);
const linkText = 'Return to app';
@@ -586,7 +585,7 @@ describe('loading:', function() {
return sleep(1).then(() => {
// we should be straight back into the home page
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.EmbeddedPage'));
matrixChat, EmbeddedPage);
});
});
*/
@@ -733,19 +732,19 @@ function awaitRoomView(matrixChat, retryLimit?, retryCount?) {
function awaitLoginComponent(matrixChat, attempts?) {
return MatrixReactTestUtils.waitForRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.auth.Login'), attempts,
matrixChat, LoginComponent, attempts,
);
}
function awaitWelcomeComponent(matrixChat, attempts?) {
return MatrixReactTestUtils.waitForRenderedComponentWithType(
matrixChat, sdk.getComponent('auth.Welcome'), attempts,
matrixChat, WelcomeComponent, attempts,
);
}
function moveFromWelcomeToLogin(matrixChat) {
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('auth.Welcome'));
matrixChat, WelcomeComponent);
dis.dispatch({ action: 'start_login' });
return awaitLoginComponent(matrixChat);
}
-9
View File
@@ -1,9 +0,0 @@
/*
* skin-sdk.js
*
* Skins the react-sdk with the vector components
*/
import * as sdk from "matrix-react-sdk";
import * as skin from "../src/component-index";
sdk.loadSkin(skin);
+2 -2
View File
@@ -1,7 +1,7 @@
{
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": false,
"emitDecoratorMetadata": false,
"resolveJsonModule": true,
"esModuleInterop": true,
"module": "commonjs",
+18 -8
View File
@@ -49,14 +49,24 @@ try {
} catch (e) {
// ignore - not important
}
const moduleReplacementPlugins = Object.entries(fileOverrides).map(([oldPath, newPath]) => {
return new webpack.NormalModuleReplacementPlugin(
// because the input is effectively defined by the person running the build, we don't
// need to do anything special to protect against regex overrunning, etc.
new RegExp(oldPath.replace(/\//g, '[\\/\\\\]').replace(/\./g, '\\.')),
path.resolve(__dirname, newPath),
);
});
function parseOverridesToReplacements(overrides) {
return Object.entries(overrides).map(([oldPath, newPath]) => {
return new webpack.NormalModuleReplacementPlugin(
// because the input is effectively defined by the person running the build, we don't
// need to do anything special to protect against regex overrunning, etc.
new RegExp(oldPath.replace(/\//g, '[\\/\\\\]').replace(/\./g, '\\.')),
path.resolve(__dirname, newPath),
);
});
}
const moduleReplacementPlugins = [
...parseOverridesToReplacements(require('./components.json')),
// Allow customisations to override the default components too
...parseOverridesToReplacements(fileOverrides),
];
module.exports = (env, argv) => {
// Establish settings based on the environment and args.
+668 -675
View File
File diff suppressed because it is too large Load Diff