Compare commits

..
Author SHA1 Message Date
Michael Telatynski 411cb38f5b Update develop tarball url
Requires https://github.com/vector-im/element-web/pull/23454
2022-11-01 17:14:29 +00:00
+7 31c7b7c927 Translations update from Weblate (#435)
* Translated using Weblate (Hungarian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/hu/

* Translated using Weblate (Italian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/it/

* Translated using Weblate (German)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/de/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/et/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/pt_BR/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/id/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/zh_Hant/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/sk/

* Translated using Weblate (Russian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/ru/

* Translated using Weblate (Persian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/fa/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/sv/

* Translated using Weblate (Finnish)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/fi/

* Translated using Weblate (Latvian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/lv/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/es/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/nl/

Co-authored-by: Szimszon <github@oregpreshaz.eu>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: Vri <element@vrifox.cc>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: lvre <7uu3qrbvm@relay.firefox.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Nui Harime <harime.nui@yandex.ru>
Co-authored-by: mmehdishafiee <mmhdishafiee@gmail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Coool (github.com/Coool) <coool@mail.lv>
Co-authored-by: Avery <aveeryy@protonmail.com>
Co-authored-by: Johan Smits <johan@smitsmail.net>
2022-11-01 14:30:07 +00:00
RiotRobot 8e6bf8335c Merge branch 'master' into develop 2022-11-01 10:10:52 +00:00
RiotRobot 57cfcd98c5 v1.11.13 2022-11-01 10:10:39 +00:00
RiotRobot dc68d31f82 Prepare changelog for v1.11.13 2022-11-01 10:10:38 +00:00
RiotRobot d6c73c42a6 Merge branch 'master' into develop 2022-10-26 16:54:28 +01:00
RiotRobot b0a05c8e66 v1.11.12 2022-10-26 16:54:15 +01:00
RiotRobot 4a8d4ce97a Prepare changelog for v1.11.12 2022-10-26 16:54:15 +01:00
RiotRobot 8f06c3c32f Merge branch 'master' into develop 2022-10-25 18:10:25 +01:00
RiotRobot 9eae33bf93 v1.11.11 2022-10-25 18:10:10 +01:00
RiotRobot e35a15f348 Prepare changelog for v1.11.11 2022-10-25 18:10:10 +01:00
RiotRobot cfbe7f0c66 v1.11.11-rc.2 2022-10-24 17:25:35 +01:00
RiotRobot c7cdf19645 Prepare changelog for v1.11.11-rc.2 2022-10-24 17:25:35 +01:00
Michael Telatynski d31622d98c Fix i18n interpolation (#432) 2022-10-21 16:45:34 +01:00
0f52d2057e Translations update from Weblate (#431)
* Translated using Weblate (Hungarian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/hu/

* Translated using Weblate (Italian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/it/

* Translated using Weblate (German)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/de/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/et/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/pt_BR/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/id/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/zh_Hant/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/sk/

Co-authored-by: Szimszon <github@oregpreshaz.eu>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: Vri <element@vrifox.cc>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: lvre <7uu3qrbvm@relay.firefox.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
2022-10-19 13:34:16 -06:00
ElementRobot 74f0e49073 Merge pull request #430 from vector-im/actions/upgrade-deps
Upgrade dependencies
2022-10-18 15:22:08 +01:00
t3chguy 8a1f461dc0 [create-pull-request] automated change 2022-10-18 13:38:27 +00:00
RiotRobot a29c20ee1c v1.11.11-rc.1 2022-10-18 14:32:53 +01:00
RiotRobot 3862d29e39 Prepare changelog for v1.11.11-rc.1 2022-10-18 14:32:53 +01:00
Michael Telatynski ac088dd394 Use brand variable in close confirmation message box (#429) 2022-10-18 12:43:30 +00:00
dc5fc7a2c1 Translations update from Weblate (#428)
Currently translated at 84.4% (38 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/ro/

Co-authored-by: Julian Dumitrascu <get.julian@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
2022-10-18 12:33:30 +01:00
Michael Telatynski d0e1596bf2 Enable Typescript strict mode (#426) 2022-10-13 12:42:33 +01:00
RiotRobot d0c7e3e24b Merge branch 'master' into develop 2022-10-11 18:06:49 +01:00
RiotRobot d33d6786e0 v1.11.10 2022-10-11 18:06:35 +01:00
RiotRobot a9b641b733 Prepare changelog for v1.11.10 2022-10-11 18:06:35 +01:00
RiotRobot 52a62ad59c Merge branch 'master' into develop 2022-10-11 14:16:01 +01:00
RiotRobot 12880a2bf9 v1.11.9 2022-10-11 14:15:45 +01:00
RiotRobot cf80e7a1db Prepare changelog for v1.11.9 2022-10-11 14:15:45 +01:00
RiotRobot dfb1df53bc v1.11.9-rc.2 2022-10-05 14:26:53 +01:00
RiotRobot d4aaff16f7 Prepare changelog for v1.11.9-rc.2 2022-10-05 14:26:52 +01:00
ElementRobot 5bf653578d Merge pull request #425 from vector-im/actions/upgrade-deps
Upgrade dependencies
2022-10-04 16:23:52 +01:00
RiotRobot f41f7251da v1.11.9-rc.1 2022-10-04 14:55:38 +01:00
RiotRobot be67812776 Prepare changelog for v1.11.9-rc.1 2022-10-04 14:55:37 +01:00
t3chguy 596adca864 [create-pull-request] automated change 2022-10-04 13:08:48 +00:00
RiotRobot c49d2d2364 Merge branch 'master' into develop 2022-09-28 16:08:37 +01:00
RiotRobot 53dec932de v1.11.8 2022-09-28 16:08:23 +01:00
RiotRobot eedf9dc16a Prepare changelog for v1.11.8 2022-09-28 16:08:22 +01:00
RiotRobot a09e38727f Merge branch 'master' into develop 2022-09-28 14:32:19 +01:00
RiotRobot ea20e794a5 v1.11.7 2022-09-28 14:32:07 +01:00
RiotRobot bcfa7d21d5 Prepare changelog for v1.11.7 2022-09-28 14:32:06 +01:00
RiotRobot 959a7e1421 Merge branch 'master' into develop 2022-09-27 20:12:15 +01:00
RiotRobot 1290d3daeb v1.11.6 2022-09-27 20:11:54 +01:00
RiotRobot c61da8a6bc Prepare changelog for v1.11.6 2022-09-27 20:11:53 +01:00
Michael Telatynski 8762f1907a Support tar.gz url for fetching packages (#422)
* Support tar.gz url for fetching packages

* Trim version file
2022-09-23 15:39:43 +01:00
ElementRobot 0068a18feb Merge pull request #418 from vector-im/actions/upgrade-deps
Upgrade dependencies
2022-09-23 14:45:48 +01:00
Michael Telatynski 392005b3a4 Fix use of detect-libc typing (#421) 2022-09-23 12:14:09 +01:00
Michael Telatynski b89b2637b9 Fix typing (#420) 2022-09-23 11:04:38 +01:00
Robin ebf7d88710 Merge pull request #419 from robintown/ec-deployment
Use Element Call's staging deployment for nightly
2022-09-22 18:48:14 -04:00
Robin Townsend 895cddacaf Use Element Call's staging deployment for nightly 2022-09-22 18:18:09 -04:00
t3chguy c38263ff21 [create-pull-request] automated change 2022-09-20 14:34:36 +00:00
RiotRobot 9cc66e108a v1.11.6-rc.1 2022-09-20 15:00:20 +01:00
RiotRobot 8f600e566b Prepare changelog for v1.11.6-rc.1 2022-09-20 15:00:19 +01:00
+39 c05ae1b964 Translations update from Weblate (#417)
* Added translation using Weblate (Vietnamese)

* Added translation using Weblate (English (United States))

* Translated using Weblate (English (United States))

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/en_US/

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/vi/

* Translated using Weblate (Frisian)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/fy/

* Added translation using Weblate (Polish)

* Translated using Weblate (Polish)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/pl/

* Added translation using Weblate (Chinese (Traditional))

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/zh_Hant/

* Added translation using Weblate (Slovak)

* Added translation using Weblate (Turkish)

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/he/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/id/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/sk/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/tr/

* Added translation using Weblate (Norwegian Nynorsk)

* Translated using Weblate (Norwegian Nynorsk)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/nn/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/sk/

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/vi/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (44 of 44 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/is/

* Added translation using Weblate (Persian)

* Translated using Weblate (German)

Currently translated at 97.7% (44 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/de/

* Translated using Weblate (Persian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/fa/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/pt_BR/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/et/

* Translated using Weblate (Italian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/it/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/id/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/hu/

* Translated using Weblate (German)

Currently translated at 97.7% (44 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/de/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/sk/

* Translated using Weblate (Russian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/ru/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/es/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/is/

* Added translation using Weblate (Greek)

* Translated using Weblate (Greek)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/el/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/sv/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/nl/

* Added translation using Weblate (Telugu)

* Translated using Weblate (Finnish)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/fi/

* Translated using Weblate (Telugu)

Currently translated at 13.3% (6 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/te/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/tr/

* Added translation using Weblate (Esperanto)

* Added translation using Weblate (Bengali)

* Translated using Weblate (Bengali)

Currently translated at 6.6% (3 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/bn/

* Added translation using Weblate (Lao)

* Translated using Weblate (Lao)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/lo/

* Translated using Weblate (Esperanto)

Currently translated at 42.2% (19 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/eo/

* Added translation using Weblate (Fang (Equatorial Guinea))

* Translated using Weblate (Fang (Equatorial Guinea))

Currently translated at 4.4% (2 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/fan/

* Deleted translation using Weblate (Fang (Equatorial Guinea))

* Translated using Weblate (Polish)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/pl/

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/vi/

* Translated using Weblate (Tamil)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/ta/

* Translated using Weblate (Tamil)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/ta/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/he/

* Translated using Weblate (French)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/fr/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/zh_Hant/

* Added translation using Weblate (Bulgarian)

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/bg/

* Translated using Weblate (Sinhala)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/si/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/de/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/hu/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/zh_Hans/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/bn/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/nl/

* Added translation using Weblate (Lithuanian)

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (45 of 45 strings)

Translation: Element Desktop/element-desktop
Translate-URL: https://translate.element.io/projects/element-desktop/element-desktop/lt/

Co-authored-by: Dinh Quang Tuyen <tuyen.dinh@aarenet.com>
Co-authored-by: Travis Ralston <travpc@gmail.com>
Co-authored-by: James Salter <iteration@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Fjoerfoks <fryskefirefox@gmail.com>
Co-authored-by: m1chj <8hm0nutuhsa9@opayq.com>
Co-authored-by: SiderealArt <nelson22768384@gmail.com>
Co-authored-by: Tomas <tominokov@gmail.com>
Co-authored-by: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-authored-by: Vulcan <element@zbug.anonaddy.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Bjørn I.Svindseth <bjorni.svindseth@yahoo.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Bui Minh Duc <m.nhduc.bui1@gmail.com>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: Eshagh <ase.mugem@gmail.com>
Co-authored-by: Ben Parsons <ben@bpulse.co.uk>
Co-authored-by: lvre <7uu3qrbvm@relay.firefox.com>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: Szimszon <github@oregpreshaz.eu>
Co-authored-by: libexus <libexus@gmail.com>
Co-authored-by: Nikita Epifanov <NikGreens@protonmail.com>
Co-authored-by: iaiz <git@iapellaniz.com>
Co-authored-by: Theo <tbousiou@gmail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Johan Smits <johan@smitsmail.net>
Co-authored-by: vivekkoya <13vivekkoya@gmail.com>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Metehan Özyürek <metehanc8s9@yandex.com>
Co-authored-by: Vilhelmo Bandito <willibandido@gmail.com>
Co-authored-by: Kominak Halalu <kominak310@svcache.com>
Co-authored-by: anoloth <anoloth@gmail.com>
Co-authored-by: worldspeak <septonimus@protonmail.com>
Co-authored-by: Bob B Success <mercelringoo@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@googlemail.com>
Co-authored-by: Piotr Strebski <strebski@gmail.com>
Co-authored-by: Anderson Ivanovich <ivanovicha350@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Clément Hampaï <clement.hampai@cypressxt.net>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Mya Rohit <element@mailbolt.com>
Co-authored-by: HelaBasa <R45XvezA@protonmail.ch>
Co-authored-by: phardyle <bradney_ccea@aleeas.com>
Co-authored-by: Jan Philip Bernius <janphilip@bernius.net>
Co-authored-by: Roland Panír <bogrol2003@gmail.com>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Anonimas <weblate@govindas.net>
2022-09-20 13:46:39 +01:00
David Robertson e2e1b5f8fd Use correct path separators on Linux (#401) 2022-09-16 15:13:03 +01:00
Michael Telatynski 6bd95d072a Update static_analysis.yaml 2022-09-16 08:07:14 +01:00
Michael Telatynski 60b3408eec Turn off tsc --strict annotations (#416) 2022-09-16 08:06:25 +01:00
RiotRobot f3138ecceb Merge branch 'master' into develop 2022-09-13 13:13:35 +01:00
RiotRobot c4cbc54037 v1.11.5 2022-09-13 13:13:22 +01:00
RiotRobot 403b26ed6d Prepare changelog for v1.11.5 2022-09-13 13:13:21 +01:00
Michael Telatynski 5665f7fe0b Tweak backport labels (#415) 2022-09-07 14:56:33 +01:00
ElementRobot 72ea78d0de Merge pull request #414 from vector-im/actions/upgrade-deps
Upgrade dependencies
2022-09-06 14:50:52 +01:00
t3chguy 4c43b5c255 [create-pull-request] automated change 2022-09-06 12:58:24 +00:00
38 changed files with 758 additions and 1033 deletions

No files matched your search

+2 -1
View File
@@ -30,8 +30,9 @@ module.exports = {
"prefer-promise-reject-errors": "off", "prefer-promise-reject-errors": "off",
"quotes": "off", "quotes": "off",
// We disable this while we're transitioning
"@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-explicit-any": "off",
// We're okay with assertion errors when we ask for them
"@typescript-eslint/no-non-null-assertion": "off",
}, },
}], }],
}; };
+1 -1
View File
@@ -25,6 +25,6 @@ jobs:
steps: steps:
- uses: tibdex/backport@v2 - uses: tibdex/backport@v2
with: with:
labels_template: "<%= JSON.stringify(labels) %>" labels_template: "<%= JSON.stringify([...labels, 'X-Release-Blocker']) %>"
# We can't use GITHUB_TOKEN here or CI won't run on the new PR # We can't use GITHUB_TOKEN here or CI won't run on the new PR
github_token: ${{ secrets.ELEMENT_BOT_TOKEN }} github_token: ${{ secrets.ELEMENT_BOT_TOKEN }}
-35
View File
@@ -41,38 +41,3 @@ jobs:
- name: Run Linter - name: Run Linter
run: "yarn run lint:js" run: "yarn run lint:js"
tsc-strict:
name: Typescript Strict Error Checker
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
permissions:
pull-requests: read
checks: write
steps:
- uses: actions/checkout@v3
- name: Get diff lines
id: diff
uses: Equip-Collaboration/diff-line-numbers@v1.0.0
with:
include: '["\\.tsx?$"]'
- name: Detecting files changed
id: files
uses: futuratrepadeira/changed-files@v3.2.1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pattern: '^.*\.tsx?$'
- uses: t3chguy/typescript-check-action@main
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
use-check: false
check-fail-mode: added
output-behaviour: annotate
ts-extra-args: '--strict'
files-changed: ${{ steps.files.outputs.files_updated }}
files-added: ${{ steps.files.outputs.files_created }}
files-deleted: ${{ steps.files.outputs.files_deleted }}
line-numbers: ${{ steps.diff.outputs.lineNumbers }}
+153 -1
View File
@@ -1,6 +1,158 @@
Changes in [1.11.5-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.11.5-rc.1) (2022-09-06) Changes in [1.11.13](https://github.com/vector-im/element-desktop/releases/tag/v1.11.13) (2022-11-01)
=====================================================================================================
## 🐛 Bug Fixes
* Fix default behavior of Room.getBlacklistUnverifiedDevices ([\#2830](https://github.com/matrix-org/matrix-js-sdk/pull/2830)). Contributed by @duxovni.
* Catch server versions API call exception when starting the client ([\#2828](https://github.com/matrix-org/matrix-js-sdk/pull/2828)). Fixes vector-im/element-web#23634.
* Fix authedRequest including `Authorization: Bearer undefined` for password resets ([\#2822](https://github.com/matrix-org/matrix-js-sdk/pull/2822)). Fixes vector-im/element-web#23655.
Changes in [1.11.12](https://github.com/vector-im/element-desktop/releases/tag/v1.11.12) (2022-10-26)
=====================================================================================================
## 🐛 Bug Fixes
* Fix config.json failing to load for Jitsi wrapper in non-root deployment ([\#23577](https://github.com/vector-im/element-web/pull/23577)).
Changes in [1.11.11](https://github.com/vector-im/element-desktop/releases/tag/v1.11.11) (2022-10-25)
=====================================================================================================
## ✨ Features
* Device manager - tweak string formatting of default device name ([\#23457](https://github.com/vector-im/element-web/pull/23457)).
* Add Element Call participant limit ([\#23431](https://github.com/vector-im/element-web/pull/23431)).
* Add Element Call `brand` ([\#23443](https://github.com/vector-im/element-web/pull/23443)).
* Include a file-safe room name and ISO date in chat exports ([\#9440](https://github.com/matrix-org/matrix-react-sdk/pull/9440)). Fixes vector-im/element-web#21812 and vector-im/element-web#19724.
* Room call banner ([\#9378](https://github.com/matrix-org/matrix-react-sdk/pull/9378)). Fixes vector-im/element-web#23453. Contributed by @toger5.
* Device manager - spinners while devices are signing out ([\#9433](https://github.com/matrix-org/matrix-react-sdk/pull/9433)). Fixes vector-im/element-web#15865.
* Device manager - silence call ringers when local notifications are silenced ([\#9420](https://github.com/matrix-org/matrix-react-sdk/pull/9420)).
* Pass the current language to Element Call ([\#9427](https://github.com/matrix-org/matrix-react-sdk/pull/9427)).
* Hide screen-sharing button in Element Call on desktop ([\#9423](https://github.com/matrix-org/matrix-react-sdk/pull/9423)).
* Add reply support to WysiwygComposer ([\#9422](https://github.com/matrix-org/matrix-react-sdk/pull/9422)). Contributed by @florianduros.
* Disconnect other connected devices (of the same user) when joining an Element call ([\#9379](https://github.com/matrix-org/matrix-react-sdk/pull/9379)).
* Device manager - device tile main click target ([\#9409](https://github.com/matrix-org/matrix-react-sdk/pull/9409)).
* Add formatting buttons to the rich text editor ([\#9410](https://github.com/matrix-org/matrix-react-sdk/pull/9410)). Contributed by @florianduros.
* Device manager - current session context menu ([\#9386](https://github.com/matrix-org/matrix-react-sdk/pull/9386)).
* Remove piwik config fallback for privacy policy URL ([\#9390](https://github.com/matrix-org/matrix-react-sdk/pull/9390)).
* Add the first step to integrate the matrix wysiwyg composer ([\#9374](https://github.com/matrix-org/matrix-react-sdk/pull/9374)). Contributed by @florianduros.
* Device manager - UA parsing tweaks ([\#9382](https://github.com/matrix-org/matrix-react-sdk/pull/9382)).
* Device manager - remove client information events when disabling setting ([\#9384](https://github.com/matrix-org/matrix-react-sdk/pull/9384)).
* Add Element Call participant limit ([\#9358](https://github.com/matrix-org/matrix-react-sdk/pull/9358)).
* Add Element Call room settings ([\#9347](https://github.com/matrix-org/matrix-react-sdk/pull/9347)).
* Device manager - render extended device information ([\#9360](https://github.com/matrix-org/matrix-react-sdk/pull/9360)).
* New group call experience: Room header and PiP designs ([\#9351](https://github.com/matrix-org/matrix-react-sdk/pull/9351)).
* Pass language to Jitsi Widget ([\#9346](https://github.com/matrix-org/matrix-react-sdk/pull/9346)). Contributed by @Fox32.
* Add notifications and toasts for Element Call calls ([\#9337](https://github.com/matrix-org/matrix-react-sdk/pull/9337)).
* Device manager - device type icon ([\#9355](https://github.com/matrix-org/matrix-react-sdk/pull/9355)).
* Delete the remainder of groups ([\#9357](https://github.com/matrix-org/matrix-react-sdk/pull/9357)). Fixes vector-im/element-web#22770.
* Device manager - display client information in device details ([\#9315](https://github.com/matrix-org/matrix-react-sdk/pull/9315)).
## 🐛 Bug Fixes
* Send Content-Type: application/json header for integration manager /register API ([\#9490](https://github.com/matrix-org/matrix-react-sdk/pull/9490)). Fixes vector-im/element-web#23580.
* Make ErrorView & CompatibilityView scrollable ([\#23468](https://github.com/vector-im/element-web/pull/23468)). Fixes vector-im/element-web#23376.
* Device manager - put client/browser device metadata in correct section ([\#9447](https://github.com/matrix-org/matrix-react-sdk/pull/9447)).
* update the room unread notification counter when the server changes the value without any related read receipt ([\#9438](https://github.com/matrix-org/matrix-react-sdk/pull/9438)).
* Don't show call banners in video rooms ([\#9441](https://github.com/matrix-org/matrix-react-sdk/pull/9441)).
* Prevent useContextMenu isOpen from being true if the button ref goes away ([\#9418](https://github.com/matrix-org/matrix-react-sdk/pull/9418)). Fixes matrix-org/element-web-rageshakes#15637.
* Automatically focus the WYSIWYG composer when you enter a room ([\#9412](https://github.com/matrix-org/matrix-react-sdk/pull/9412)).
* Improve the tooltips on the call lobby join button ([\#9428](https://github.com/matrix-org/matrix-react-sdk/pull/9428)).
* Pass the homeserver's base URL to Element Call ([\#9429](https://github.com/matrix-org/matrix-react-sdk/pull/9429)). Fixes vector-im/element-web#23301.
* Better accommodate long room names in call toasts ([\#9426](https://github.com/matrix-org/matrix-react-sdk/pull/9426)).
* Hide virtual widgets from the room info panel ([\#9424](https://github.com/matrix-org/matrix-react-sdk/pull/9424)). Fixes vector-im/element-web#23494.
* Inhibit clicking on sender avatar in threads list ([\#9417](https://github.com/matrix-org/matrix-react-sdk/pull/9417)). Fixes vector-im/element-web#23482.
* Correct the dir parameter of MSC3715 ([\#9391](https://github.com/matrix-org/matrix-react-sdk/pull/9391)). Contributed by @dhenneke.
* Use a more correct subset of users in `/remakeolm` developer command ([\#9402](https://github.com/matrix-org/matrix-react-sdk/pull/9402)).
* use correct default for notification silencing ([\#9388](https://github.com/matrix-org/matrix-react-sdk/pull/9388)). Fixes vector-im/element-web#23456.
* Device manager - eagerly create `m.local_notification_settings` events ([\#9353](https://github.com/matrix-org/matrix-react-sdk/pull/9353)).
* Close incoming Element call toast when viewing the call lobby ([\#9375](https://github.com/matrix-org/matrix-react-sdk/pull/9375)).
* Always allow enabling sending read receipts ([\#9367](https://github.com/matrix-org/matrix-react-sdk/pull/9367)). Fixes vector-im/element-web#23433.
* Fixes (vector-im/element-web/issues/22609) where the white theme is not applied when `white -> dark -> white` sequence is done. ([\#9320](https://github.com/matrix-org/matrix-react-sdk/pull/9320)). Contributed by @florianduros.
* Fix applying programmatically set height for "top" room layout ([\#9339](https://github.com/matrix-org/matrix-react-sdk/pull/9339)). Contributed by @Fox32.
Changes in [1.11.10](https://github.com/vector-im/element-desktop/releases/tag/v1.11.10) (2022-10-11)
=====================================================================================================
## 🐛 Bug Fixes
* Use correct default for notification silencing ([\#9388](https://github.com/matrix-org/matrix-react-sdk/pull/9388)). Fixes vector-im/element-web#23456.
Changes in [1.11.9](https://github.com/vector-im/element-desktop/releases/tag/v1.11.9) (2022-10-11)
===================================================================================================
## Deprecations
* Legacy Piwik config.json option `piwik.policy_url` is deprecated in favour of `privacy_policy_url`. Support will be removed in the next release.
## ✨ Features
* Device manager - select all devices ([\#9330](https://github.com/matrix-org/matrix-react-sdk/pull/9330)). Contributed by @kerryarchibald.
* New group call experience: Call tiles ([\#9332](https://github.com/matrix-org/matrix-react-sdk/pull/9332)).
* Add Shift key to FormatQuote keyboard shortcut ([\#9298](https://github.com/matrix-org/matrix-react-sdk/pull/9298)). Contributed by @owi92.
* Device manager - sign out of multiple sessions ([\#9325](https://github.com/matrix-org/matrix-react-sdk/pull/9325)). Contributed by @kerryarchibald.
* Display push toggle for web sessions (MSC3890) ([\#9327](https://github.com/matrix-org/matrix-react-sdk/pull/9327)).
* Add device notifications enabled switch ([\#9324](https://github.com/matrix-org/matrix-react-sdk/pull/9324)).
* Implement push notification toggle in device detail ([\#9308](https://github.com/matrix-org/matrix-react-sdk/pull/9308)).
* New group call experience: Starting and ending calls ([\#9318](https://github.com/matrix-org/matrix-react-sdk/pull/9318)).
* New group call experience: Room header call buttons ([\#9311](https://github.com/matrix-org/matrix-react-sdk/pull/9311)).
* Make device ID copyable in device list ([\#9297](https://github.com/matrix-org/matrix-react-sdk/pull/9297)). Contributed by @duxovni.
* Use display name instead of user ID when rendering power events ([\#9295](https://github.com/matrix-org/matrix-react-sdk/pull/9295)).
* Read receipts for threads ([\#9239](https://github.com/matrix-org/matrix-react-sdk/pull/9239)). Fixes vector-im/element-web#23191.
## 🐛 Bug Fixes
* Use the correct sender key when checking shared secret ([\#2730](https://github.com/matrix-org/matrix-js-sdk/pull/2730)). Fixes vector-im/element-web#23374.
* Fix device selection in pre-join screen for Element Call video rooms ([\#9321](https://github.com/matrix-org/matrix-react-sdk/pull/9321)). Fixes vector-im/element-web#23331.
* Don't render a 1px high room topic if the room topic is empty ([\#9317](https://github.com/matrix-org/matrix-react-sdk/pull/9317)). Contributed by @Arnei.
* Don't show feedback prompts when that UIFeature is disabled ([\#9305](https://github.com/matrix-org/matrix-react-sdk/pull/9305)). Fixes vector-im/element-web#23327.
* Fix soft crash around unknown room pills ([\#9301](https://github.com/matrix-org/matrix-react-sdk/pull/9301)). Fixes matrix-org/element-web-rageshakes#15465.
* Fix spaces feedback prompt wrongly showing when feedback is disabled ([\#9302](https://github.com/matrix-org/matrix-react-sdk/pull/9302)). Fixes vector-im/element-web#23314.
* Fix tile soft crash in ReplyInThreadButton ([\#9300](https://github.com/matrix-org/matrix-react-sdk/pull/9300)). Fixes matrix-org/element-web-rageshakes#15493.
Changes in [1.11.8](https://github.com/vector-im/element-desktop/releases/tag/v1.11.8) (2022-09-28)
===================================================================================================
## 🐛 Bug Fixes
* Bump IDB crypto store version ([\#2705](https://github.com/matrix-org/matrix-js-sdk/pull/2705)).
Changes in [1.11.7](https://github.com/vector-im/element-desktop/releases/tag/v1.11.7) (2022-09-28)
===================================================================================================
## 🔒 Security
* Fix for [CVE-2022-39249](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39249)
* Fix for [CVE-2022-39250](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39250)
* Fix for [CVE-2022-39251](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39251)
* Fix for [CVE-2022-39236](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39236)
Changes in [1.11.6](https://github.com/vector-im/element-desktop/releases/tag/v1.11.6) (2022-09-20)
============================================================================================================= =============================================================================================================
## ✨ Features
* Element Call video rooms ([\#9267](https://github.com/matrix-org/matrix-react-sdk/pull/9267)).
* Device manager - rename session ([\#9282](https://github.com/matrix-org/matrix-react-sdk/pull/9282)).
* Allow widgets to read related events ([\#9210](https://github.com/matrix-org/matrix-react-sdk/pull/9210)). Contributed by @dhenneke.
* Device manager - logout of other session ([\#9280](https://github.com/matrix-org/matrix-react-sdk/pull/9280)).
* Device manager - logout current session ([\#9275](https://github.com/matrix-org/matrix-react-sdk/pull/9275)).
* Device manager - verify other devices ([\#9274](https://github.com/matrix-org/matrix-react-sdk/pull/9274)).
* Allow integration managers to remove users ([\#9211](https://github.com/matrix-org/matrix-react-sdk/pull/9211)).
* Device manager - add verify current session button ([\#9252](https://github.com/matrix-org/matrix-react-sdk/pull/9252)).
* Add NotifPanel dot back. ([\#9242](https://github.com/matrix-org/matrix-react-sdk/pull/9242)). Fixes vector-im/element-web#17641.
* Implement MSC3575: Sliding Sync ([\#8328](https://github.com/matrix-org/matrix-react-sdk/pull/8328)).
* Add the clipboard read permission for widgets ([\#9250](https://github.com/matrix-org/matrix-react-sdk/pull/9250)). Contributed by @stefanmuhle.
## 🐛 Bug Fixes
* Make autocomplete pop-up wider in thread view ([\#9289](https://github.com/matrix-org/matrix-react-sdk/pull/9289)).
* Fix soft crash around inviting invalid MXIDs in start DM on first message flow ([\#9281](https://github.com/matrix-org/matrix-react-sdk/pull/9281)). Fixes matrix-org/element-web-rageshakes#15060 and matrix-org/element-web-rageshakes#15140.
* Fix in-reply-to previews not disappearing when swapping rooms ([\#9278](https://github.com/matrix-org/matrix-react-sdk/pull/9278)).
* Fix invalid instanceof operand window.OffscreenCanvas ([\#9276](https://github.com/matrix-org/matrix-react-sdk/pull/9276)). Fixes vector-im/element-web#23275.
* Fix memory leak caused by unremoved listener ([\#9273](https://github.com/matrix-org/matrix-react-sdk/pull/9273)).
* Fix thumbnail generation when offscreen canvas fails ([\#9272](https://github.com/matrix-org/matrix-react-sdk/pull/9272)). Fixes vector-im/element-web#23265.
* Prevent sliding sync from showing a room under multiple sublists ([\#9266](https://github.com/matrix-org/matrix-react-sdk/pull/9266)).
* Fix tile crash around tooltipify links ([\#9270](https://github.com/matrix-org/matrix-react-sdk/pull/9270)). Fixes vector-im/element-web#23253.
* Device manager - filter out nulled metadatas in device tile properly ([\#9251](https://github.com/matrix-org/matrix-react-sdk/pull/9251)).
* Fix a sliding sync bug which could cause rooms to loop ([\#9268](https://github.com/matrix-org/matrix-react-sdk/pull/9268)).
* Remove the grey gradient on images in bubbles in the timeline ([\#9241](https://github.com/matrix-org/matrix-react-sdk/pull/9241)). Fixes vector-im/element-web#21651.
* Fix html export not including images ([\#9260](https://github.com/matrix-org/matrix-react-sdk/pull/9260)). Fixes vector-im/element-web#22059.
* Fix possible soft crash from a race condition in space hierarchies ([\#9254](https://github.com/matrix-org/matrix-react-sdk/pull/9254)). Fixes matrix-org/element-web-rageshakes#15225.
* Disable all types of autocorrect, -complete, -capitalize, etc on Spotlight's search field ([\#9259](https://github.com/matrix-org/matrix-react-sdk/pull/9259)).
* Handle M_INVALID_USERNAME on /register/available ([\#9237](https://github.com/matrix-org/matrix-react-sdk/pull/9237)). Fixes vector-im/element-web#23161.
* Fix issue with quiet zone around QR code ([\#9243](https://github.com/matrix-org/matrix-react-sdk/pull/9243)). Fixes vector-im/element-web#23199.
Changes in [1.11.5](https://github.com/vector-im/element-desktop/releases/tag/v1.11.5) (2022-09-13)
===================================================================================================
## ✨ Features ## ✨ Features
* Device manager - hide unverified security recommendation when only current session is unverified ([\#9228](https://github.com/matrix-org/matrix-react-sdk/pull/9228)). Contributed by @kerryarchibald. * Device manager - hide unverified security recommendation when only current session is unverified ([\#9228](https://github.com/matrix-org/matrix-react-sdk/pull/9228)). Contributed by @kerryarchibald.
* Device manager - scroll to filtered list from security recommendations ([\#9227](https://github.com/matrix-org/matrix-react-sdk/pull/9227)). Contributed by @kerryarchibald. * Device manager - scroll to filtered list from security recommendations ([\#9227](https://github.com/matrix-org/matrix-react-sdk/pull/9227)). Contributed by @kerryarchibald.
+1 -1
View File
@@ -129,7 +129,7 @@ User-specified config.json
========================== ==========================
+ `%APPDATA%\$NAME\config.json` on Windows + `%APPDATA%\$NAME\config.json` on Windows
+ `$XDG_CONFIG_HOME\$NAME\config.json` or `~/.config/$NAME/config.json` on Linux + `$XDG_CONFIG_HOME/$NAME/config.json` or `~/.config/$NAME/config.json` on Linux
+ `~/Library/Application Support/$NAME/config.json` on macOS + `~/Library/Application Support/$NAME/config.json` on macOS
In the paths above, `$NAME` is typically `Element`, unless you use `--profile In the paths above, `$NAME` is typically `Element`, unless you use `--profile
+3
View File
@@ -49,5 +49,8 @@
"feature_spotlight": true, "feature_spotlight": true,
"feature_video_rooms": true "feature_video_rooms": true
}, },
"element_call": {
"url": "https://element-call.netlify.app"
},
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx" "map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
} }
+2 -1
View File
@@ -2,7 +2,7 @@
"name": "element-desktop", "name": "element-desktop",
"productName": "Element", "productName": "Element",
"main": "lib/electron-main.js", "main": "lib/electron-main.js",
"version": "1.11.5-rc.1", "version": "1.11.13",
"description": "A feature-rich client for Matrix.org", "description": "A feature-rich client for Matrix.org",
"author": "Element", "author": "Element",
"repository": { "repository": {
@@ -55,6 +55,7 @@
"@babel/preset-typescript": "^7.18.6", "@babel/preset-typescript": "^7.18.6",
"@types/auto-launch": "^5.0.1", "@types/auto-launch": "^5.0.1",
"@types/counterpart": "^0.18.1", "@types/counterpart": "^0.18.1",
"@types/detect-libc": "^1.0.0",
"@types/jest": "^28", "@types/jest": "^28",
"@types/minimist": "^1.2.1", "@types/minimist": "^1.2.1",
"@types/mkdirp": "^1.0.2", "@types/mkdirp": "^1.0.2",
Executable → Regular
+7 -3
View File
@@ -14,7 +14,7 @@ const { setPackageVersion } = require('./set-version.js');
const PUB_KEY_URL = "https://packages.riot.im/element-release-key.asc"; const PUB_KEY_URL = "https://packages.riot.im/element-release-key.asc";
const PACKAGE_URL_PREFIX = "https://github.com/vector-im/element-web/releases/download/"; const PACKAGE_URL_PREFIX = "https://github.com/vector-im/element-web/releases/download/";
const DEVELOP_TGZ_URL = "https://vector-im.github.io/element-web/develop.tar.gz"; const DEVELOP_TGZ_URL = "https://element-web-develop.element.io/develop.tar.gz";
const ASAR_PATH = 'webapp.asar'; const ASAR_PATH = 'webapp.asar';
async function downloadToFile(url, filename) { async function downloadToFile(url, filename) {
@@ -95,8 +95,12 @@ async function main() {
filename = 'develop.tar.gz'; filename = 'develop.tar.gz';
url = DEVELOP_TGZ_URL; url = DEVELOP_TGZ_URL;
verify = false; // develop builds aren't signed verify = false; // develop builds aren't signed
} else if (targetVersion.includes("://")) {
filename = targetVersion.substring(targetVersion.lastIndexOf("/") + 1);
url = targetVersion;
verify = false; // manually verified
} else { } else {
filename = 'element-' + targetVersion + '.tar.gz'; filename = `element-${targetVersion}.tar.gz`;
url = PACKAGE_URL_PREFIX + targetVersion + '/' + filename; url = PACKAGE_URL_PREFIX + targetVersion + '/' + filename;
} }
@@ -217,7 +221,7 @@ async function main() {
await asar.createPackage(expectedDeployDir, ASAR_PATH); await asar.createPackage(expectedDeployDir, ASAR_PATH);
if (setVersion) { if (setVersion) {
const semVer = targetVersion.slice(1); const semVer = fs.readFileSync(path.join(expectedDeployDir, "version"), "utf-8").trim();
console.log("Updating version to " + semVer); console.log("Updating version to " + semVer);
await setPackageVersion(semVer); await setPackageVersion(semVer);
} }
+10 -13
View File
@@ -44,9 +44,6 @@ export type Arch = 'arm64' | 'ia32' | 'x64' | 'ppc64' | 'universal';
// See https://docs.microsoft.com/cpp/build/building-on-the-command-line?view=msvc-160#vcvarsall-syntax // See https://docs.microsoft.com/cpp/build/building-on-the-command-line?view=msvc-160#vcvarsall-syntax
export type VcVarsArch = 'amd64' | 'arm64' | 'x86'; export type VcVarsArch = 'amd64' | 'arm64' | 'x86';
// Values are expected to match those used in `detect-libc`.
export type LibC = GLIBC | MUSL;
export type Target = { export type Target = {
id: TargetId; id: TargetId;
platform: Platform; platform: Platform;
@@ -60,7 +57,7 @@ export type WindowsTarget = Target & {
export type LinuxTarget = Target & { export type LinuxTarget = Target & {
platform: 'linux'; platform: 'linux';
libC: LibC; libC: typeof processLibC;
}; };
export type UniversalTarget = Target & { export type UniversalTarget = Target & {
@@ -108,56 +105,56 @@ const x8664UnknownLinuxGnu: LinuxTarget = {
id: 'x86_64-unknown-linux-gnu', id: 'x86_64-unknown-linux-gnu',
platform: 'linux', platform: 'linux',
arch: 'x64', arch: 'x64',
libC: 'glibc', libC: GLIBC,
}; };
const x8664UnknownLinuxMusl: LinuxTarget = { const x8664UnknownLinuxMusl: LinuxTarget = {
id: 'x86_64-unknown-linux-musl', id: 'x86_64-unknown-linux-musl',
platform: 'linux', platform: 'linux',
arch: 'x64', arch: 'x64',
libC: 'musl', libC: MUSL,
}; };
const i686UnknownLinuxGnu: LinuxTarget = { const i686UnknownLinuxGnu: LinuxTarget = {
id: 'i686-unknown-linux-gnu', id: 'i686-unknown-linux-gnu',
platform: 'linux', platform: 'linux',
arch: 'ia32', arch: 'ia32',
libC: 'glibc', libC: GLIBC,
}; };
const i686UnknownLinuxMusl: LinuxTarget = { const i686UnknownLinuxMusl: LinuxTarget = {
id: 'i686-unknown-linux-musl', id: 'i686-unknown-linux-musl',
platform: 'linux', platform: 'linux',
arch: 'ia32', arch: 'ia32',
libC: 'musl', libC: MUSL,
}; };
const aarch64UnknownLinuxGnu: LinuxTarget = { const aarch64UnknownLinuxGnu: LinuxTarget = {
id: 'aarch64-unknown-linux-gnu', id: 'aarch64-unknown-linux-gnu',
platform: 'linux', platform: 'linux',
arch: 'arm64', arch: 'arm64',
libC: 'glibc', libC: GLIBC,
}; };
const aarch64UnknownLinuxMusl: LinuxTarget = { const aarch64UnknownLinuxMusl: LinuxTarget = {
id: 'aarch64-unknown-linux-musl', id: 'aarch64-unknown-linux-musl',
platform: 'linux', platform: 'linux',
arch: 'arm64', arch: 'arm64',
libC: 'musl', libC: MUSL,
}; };
const powerpc64leUnknownLinuxGnu: LinuxTarget = { const powerpc64leUnknownLinuxGnu: LinuxTarget = {
id: 'powerpc64le-unknown-linux-gnu', id: 'powerpc64le-unknown-linux-gnu',
platform: 'linux', platform: 'linux',
arch: 'ppc64', arch: 'ppc64',
libC: 'glibc', libC: GLIBC,
}; };
const powerpc64leUnknownLinuxMusl: LinuxTarget = { const powerpc64leUnknownLinuxMusl: LinuxTarget = {
id: 'powerpc64le-unknown-linux-musl', id: 'powerpc64le-unknown-linux-musl',
platform: 'linux', platform: 'linux',
arch: 'ppc64', arch: 'ppc64',
libC: 'musl', libC: MUSL,
}; };
export const TARGETS: Record<TargetId, Target> = { export const TARGETS: Record<TargetId, Target> = {
@@ -179,7 +176,7 @@ export const TARGETS: Record<TargetId, Target> = {
'powerpc64le-unknown-linux-gnu': powerpc64leUnknownLinuxGnu, 'powerpc64le-unknown-linux-gnu': powerpc64leUnknownLinuxGnu,
}; };
export function getHost(): Target { export function getHost(): Target | undefined {
return Object.values(TARGETS).find(target => ( return Object.values(TARGETS).find(target => (
target.platform === process.platform && target.platform === process.platform &&
target.arch === process.arch && target.arch === process.arch &&
+3 -1
View File
@@ -247,7 +247,9 @@ const warnBeforeExit = (event: Event, input: Input): void => {
if (shouldWarnBeforeExit && exitShortcutPressed) { if (shouldWarnBeforeExit && exitShortcutPressed) {
const shouldCancelCloseRequest = dialog.showMessageBoxSync(global.mainWindow, { const shouldCancelCloseRequest = dialog.showMessageBoxSync(global.mainWindow, {
type: "question", type: "question",
buttons: [_t("Cancel"), _t("Close Element")], buttons: [_t("Cancel"), _t("Close %(brand)s", {
brand: global.vectorConfig.brand || 'Element',
})],
message: _t("Are you sure you want to quit?"), message: _t("Are you sure you want to quit?"),
defaultId: 1, defaultId: 1,
cancelId: 0, cancelId: 0,
+2 -1
View File
@@ -43,5 +43,6 @@
"Show/Hide": "Anzeigen/Ausblenden", "Show/Hide": "Anzeigen/Ausblenden",
"Close Element": "Element schließen", "Close Element": "Element schließen",
"Cancel": "Abbrechen", "Cancel": "Abbrechen",
"Copy image address": "Bild-Adresse kopieren" "Copy image address": "Bild-Adresse kopieren",
"Close %(brand)s": "%(brand)s schließen"
} }
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"Cancel": "Cancel", "Cancel": "Cancel",
"Close Element": "Close Element", "Close %(brand)s": "Close %(brand)s",
"Are you sure you want to quit?": "Are you sure you want to quit?", "Are you sure you want to quit?": "Are you sure you want to quit?",
"Show/Hide": "Show/Hide", "Show/Hide": "Show/Hide",
"Quit": "Quit", "Quit": "Quit",
+2 -1
View File
@@ -43,5 +43,6 @@
"Are you sure you want to quit?": "¿Quieres salir?", "Are you sure you want to quit?": "¿Quieres salir?",
"Close Element": "Cerrar Element", "Close Element": "Cerrar Element",
"Cancel": "Cancelar", "Cancel": "Cancelar",
"Copy image address": "Copiar dirección de la imagen" "Copy image address": "Copiar dirección de la imagen",
"Close %(brand)s": "Cerrar %(brand)s"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Are you sure you want to quit?": "Kas sa kindlasti soovid rakendusest väljuda?", "Are you sure you want to quit?": "Kas sa kindlasti soovid rakendusest väljuda?",
"Close Element": "Sulge Element", "Close Element": "Sulge Element",
"Cancel": "Tühista", "Cancel": "Tühista",
"Copy image address": "Kopeeri pildi aadress" "Copy image address": "Kopeeri pildi aadress",
"Close %(brand)s": "Sulge %(brand)s"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Show/Hide": "نمایش/پنهان", "Show/Hide": "نمایش/پنهان",
"Are you sure you want to quit?": "آیا مطمئنید که می‌خواهید خارج شوید؟", "Are you sure you want to quit?": "آیا مطمئنید که می‌خواهید خارج شوید؟",
"Close Element": "بستن المنت", "Close Element": "بستن المنت",
"Cancel": "لغو" "Cancel": "لغو",
"Close %(brand)s": "بستن %(brand)s"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Are you sure you want to quit?": "Haluatko varmasti poistua?", "Are you sure you want to quit?": "Haluatko varmasti poistua?",
"Close Element": "Sulje Element", "Close Element": "Sulje Element",
"Cancel": "Peruuta", "Cancel": "Peruuta",
"Copy image address": "Kopioi kuvan osoite" "Copy image address": "Kopioi kuvan osoite",
"Close %(brand)s": "Sulje %(brand)s"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Are you sure you want to quit?": "Biztos, hogy kilép?", "Are you sure you want to quit?": "Biztos, hogy kilép?",
"Close Element": "Element bezárása", "Close Element": "Element bezárása",
"Cancel": "Mégsem", "Cancel": "Mégsem",
"Copy image address": "Kép címének másolása" "Copy image address": "Kép címének másolása",
"Close %(brand)s": "%(brand)s bezárása"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Are you sure you want to quit?": "Apakah Anda yakin ingin keluar?", "Are you sure you want to quit?": "Apakah Anda yakin ingin keluar?",
"Close Element": "Tutup Element", "Close Element": "Tutup Element",
"Cancel": "Batal", "Cancel": "Batal",
"Copy image address": "Salin alamat gambar" "Copy image address": "Salin alamat gambar",
"Close %(brand)s": "Tutuo %(brand)s"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Cancel": "Annulla", "Cancel": "Annulla",
"Stop Speaking": "Smetti di parlare", "Stop Speaking": "Smetti di parlare",
"Speech": "Dettatura", "Speech": "Dettatura",
"Copy image address": "Copia indirizzo immagine" "Copy image address": "Copia indirizzo immagine",
"Close %(brand)s": "Chiudi %(brand)s"
} }
+47
View File
@@ -0,0 +1,47 @@
{
"Failed to save image": "Nepavyko įrašyti paveikslėlio",
"Save image as...": "Įrašyti paveikslėlį kaip...",
"Copy image address": "Kopijuoti paveikslėlio adresą",
"Copy image": "Kopijuoti paveikslėlį",
"The image failed to save": "Paveikslėlio nepavyko išsaugoti",
"Bring All to Front": "Viską iškelti į priekį",
"Speech": "Kalba",
"Actual Size": "Tikrasis dydis",
"Toggle Developer Tools": "Perjungti kūrėjo įrankius",
"Toggle Full Screen": "Perjungti viso ekrano režimą",
"Paste and Match Style": "Įklijuoti ir suderinti stilių",
"Redo": "Sugrąžinti veiksmą",
"Undo": "Atšaukti veiksmą",
"Select All": "Pasirinkti visus",
"Delete": "Ištrinti",
"Paste": "Įklijuoti",
"Copy": "Kopijuoti",
"Cut": "Iškirpti",
"Add to dictionary": "Pridėti prie žodyno",
"Copy link address": "Kopijuoti nuorodos adresą",
"Copy email address": "Kopijuoti el. pašto adresą",
"File": "Failas",
"Zoom": "Priartinti",
"Stop Speaking": "Nustoti kalbėti",
"Start Speaking": "Pradėti kalbėti",
"Unhide": "Nebeslėpti",
"Hide Others": "Slėpti kitus",
"Hide": "Slėpti",
"Services": "Paslaugos",
"About": "Apie",
"Element Help": "Element Pagalba",
"Help": "Pagalba",
"Close": "Uždaryti",
"Minimize": "Sumažinti",
"Window": "Langas",
"Preferences": "Nuostatos",
"Zoom Out": "Atitolinti",
"Zoom In": "Priartinti",
"View": "Peržiūrėti",
"Edit": "Redaguoti",
"Quit": "Išeiti",
"Show/Hide": "Rodyti/Slėpti",
"Are you sure you want to quit?": "Ar tikrai norite išeiti?",
"Close Element": "Uždaryti Element",
"Cancel": "Atšaukti"
}
+9 -7
View File
@@ -1,11 +1,11 @@
{ {
"Start Speaking": "Runājiet...", "Start Speaking": "Runājiet...",
"Add to dictionary": "Pievienot vārdnīcai", "Add to dictionary": "Pievienot vārdnīcai",
"The image failed to save": "Attēlu saglabāt neizdevās", "The image failed to save": "Attēlu neizdevās saglabāt",
"Failed to save image": "Neizdevās saglabāt attēlu", "Failed to save image": "Neizdevās saglabāt attēlu",
"Save image as...": "Saglabāt attēlu kā...", "Save image as...": "Saglabāt attēlu kā...",
"Copy link address": "Kopēt saiti", "Copy link address": "Kopēt saiti",
"Copy email address": "Kopēt e-pastu", "Copy email address": "Kopēt e-pasta adresi",
"Copy image": "Kopēt attēlu", "Copy image": "Kopēt attēlu",
"File": "Fails", "File": "Fails",
"Bring All to Front": "Iznest visu priekšplānā", "Bring All to Front": "Iznest visu priekšplānā",
@@ -15,7 +15,7 @@
"Unhide": "Rādīt", "Unhide": "Rādīt",
"Hide Others": "Slēpt citus", "Hide Others": "Slēpt citus",
"Hide": "Slēpt", "Hide": "Slēpt",
"Services": "Servisi/pakalpojumi", "Services": "Pakalpojumi",
"About": "Par programmu", "About": "Par programmu",
"Element Help": "Element palīdzība", "Element Help": "Element palīdzība",
"Help": "Palīdzība", "Help": "Palīdzība",
@@ -24,7 +24,7 @@
"Window": "Logs", "Window": "Logs",
"Toggle Developer Tools": "Pārslēgt uz Izstrādātāja rīkiem", "Toggle Developer Tools": "Pārslēgt uz Izstrādātāja rīkiem",
"Toggle Full Screen": "Pārslēgt uz pilnekrānu", "Toggle Full Screen": "Pārslēgt uz pilnekrānu",
"Preferences": "Parametri/iestatījumi", "Preferences": "Iestatījumi",
"Zoom Out": "Samazināt", "Zoom Out": "Samazināt",
"Zoom In": "Palielināt", "Zoom In": "Palielināt",
"Actual Size": "Faktiskais izmērs", "Actual Size": "Faktiskais izmērs",
@@ -35,12 +35,14 @@
"Paste": "Ievietot", "Paste": "Ievietot",
"Copy": "Kopēt", "Copy": "Kopēt",
"Cut": "Izgriezt", "Cut": "Izgriezt",
"Redo": "Atatdarīt/atatgriezt (redo)", "Redo": "Atatgriezt/atatsaukt/atatdarīt",
"Undo": "Atgreizt/atdarīt (undo)", "Undo": "Atgriezt/atsaukt/atdarīt",
"Edit": "Rediģēt", "Edit": "Rediģēt",
"Quit": "Iziet", "Quit": "Iziet",
"Show/Hide": "Rādīt/nerādīt", "Show/Hide": "Rādīt/nerādīt",
"Are you sure you want to quit?": "Tiešām vēlaties iziet?", "Are you sure you want to quit?": "Tiešām vēlaties iziet?",
"Close Element": "Aizvērt Elementu", "Close Element": "Aizvērt Elementu",
"Cancel": "Atcelt" "Cancel": "Atcelt",
"Copy image address": "Kopēt attēla adresi",
"Close %(brand)s": "Aizvērt %(brand)s"
} }
+4 -3
View File
@@ -13,11 +13,11 @@
"Start Speaking": "Begin met praten", "Start Speaking": "Begin met praten",
"Speech": "Spraak", "Speech": "Spraak",
"Unhide": "Weer laten zien", "Unhide": "Weer laten zien",
"Hide Others": "Andere verbergen", "Hide Others": "Anderen verbergen",
"Hide": "Verbergen", "Hide": "Verbergen",
"Services": "Diensten", "Services": "Diensten",
"About": "Over", "About": "Over",
"Element Help": "Element Help", "Element Help": "Element-hulp",
"Help": "Help", "Help": "Help",
"Close": "Sluiten", "Close": "Sluiten",
"Minimize": "Minimaliseren", "Minimize": "Minimaliseren",
@@ -43,5 +43,6 @@
"Are you sure you want to quit?": "Weet u zeker dat u wilt stoppen?", "Are you sure you want to quit?": "Weet u zeker dat u wilt stoppen?",
"Close Element": "Element sluiten", "Close Element": "Element sluiten",
"Cancel": "Annuleren", "Cancel": "Annuleren",
"Copy image address": "Kopieer afbeeldingsadres" "Copy image address": "Kopieer afbeeldingsadres",
"Close %(brand)s": "Sluit %(brand)s"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Cancel": "Cancelar", "Cancel": "Cancelar",
"Bring All to Front": "Trazer Todas Para Frente", "Bring All to Front": "Trazer Todas Para Frente",
"Hide Others": "Esconder Outras(os)", "Hide Others": "Esconder Outras(os)",
"Copy image address": "Copiar endereço de imagem" "Copy image address": "Copiar endereço de imagem",
"Close %(brand)s": "Fechar %(brand)s"
} }
+3 -3
View File
@@ -35,9 +35,9 @@
"Redo": "Refă", "Redo": "Refă",
"Undo": "Anulare", "Undo": "Anulare",
"Edit": "Editare", "Edit": "Editare",
"Quit": "Închide", "Quit": "Închid",
"Show/Hide": "Arată/Ascunde", "Show/Hide": "Arată/Ascunde",
"Are you sure you want to quit?": "Sunte-ți sigur ca doriți sa inchideți aplicația ?", "Are you sure you want to quit?": "Sigur vrei să ieși din cont?",
"Close Element": "închide aplicația", "Close Element": "Închid Element",
"Cancel": "Anulare" "Cancel": "Anulare"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Speech": "Голос", "Speech": "Голос",
"Hide Others": "Скрыть прочие", "Hide Others": "Скрыть прочие",
"Paste and Match Style": "Вставить с тем же стилем", "Paste and Match Style": "Вставить с тем же стилем",
"Copy image address": "Копировать адрес изображения" "Copy image address": "Копировать адрес изображения",
"Close %(brand)s": "Закрыть %(brand)s"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Show/Hide": "Zobraziť/Skryť", "Show/Hide": "Zobraziť/Skryť",
"Are you sure you want to quit?": "Naozaj chcete zavrieť aplikáciu?", "Are you sure you want to quit?": "Naozaj chcete zavrieť aplikáciu?",
"Cancel": "Zrušiť", "Cancel": "Zrušiť",
"Copy image address": "Kopírovať adresu obrázka" "Copy image address": "Kopírovať adresu obrázka",
"Close %(brand)s": "Zatvoriť %(brand)s"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"The image failed to save": "Bilden sparades inte", "The image failed to save": "Bilden sparades inte",
"Failed to save image": "Misslyckades med att spara bilden", "Failed to save image": "Misslyckades med att spara bilden",
"Are you sure you want to quit?": "Är du säker att du vill avsluta?", "Are you sure you want to quit?": "Är du säker att du vill avsluta?",
"Copy image address": "Kopiera bildadress" "Copy image address": "Kopiera bildadress",
"Close %(brand)s": "Stäng %(brand)s"
} }
+2 -1
View File
@@ -43,5 +43,6 @@
"Are you sure you want to quit?": "您確定要退出嗎?", "Are you sure you want to quit?": "您確定要退出嗎?",
"Close Element": "關閉 Element", "Close Element": "關閉 Element",
"Cancel": "取消", "Cancel": "取消",
"Copy image address": "複製圖片地址" "Copy image address": "複製圖片地址",
"Close %(brand)s": "關閉 %(brand)s"
} }
+6 -6
View File
@@ -46,7 +46,7 @@ ipcMain.on('loudNotification', function(): void {
} }
}); });
let powerSaveBlockerId: number = null; let powerSaveBlockerId: number | null = null;
ipcMain.on('app_onAction', function(_ev: IpcMainEvent, payload) { ipcMain.on('app_onAction', function(_ev: IpcMainEvent, payload) {
switch (payload.action) { switch (payload.action) {
case 'call_state': { case 'call_state': {
@@ -147,11 +147,11 @@ ipcMain.on('ipcCall', async function(_ev: IpcMainEvent, payload) {
case 'getPickleKey': case 'getPickleKey':
try { try {
ret = await keytar.getPassword("element.io", `${args[0]}|${args[1]}`); ret = await keytar?.getPassword("element.io", `${args[0]}|${args[1]}`);
// migrate from riot.im (remove once we think there will no longer be // migrate from riot.im (remove once we think there will no longer be
// logins from the time of riot.im) // logins from the time of riot.im)
if (ret === null) { if (ret === null) {
ret = await keytar.getPassword("riot.im", `${args[0]}|${args[1]}`); ret = await keytar?.getPassword("riot.im", `${args[0]}|${args[1]}`);
} }
} catch (e) { } catch (e) {
// if an error is thrown (e.g. keytar can't connect to the keychain), // if an error is thrown (e.g. keytar can't connect to the keychain),
@@ -163,7 +163,7 @@ ipcMain.on('ipcCall', async function(_ev: IpcMainEvent, payload) {
case 'createPickleKey': case 'createPickleKey':
try { try {
const pickleKey = await randomArray(32); const pickleKey = await randomArray(32);
await keytar.setPassword("element.io", `${args[0]}|${args[1]}`, pickleKey); await keytar?.setPassword("element.io", `${args[0]}|${args[1]}`, pickleKey);
ret = pickleKey; ret = pickleKey;
} catch (e) { } catch (e) {
ret = null; ret = null;
@@ -172,10 +172,10 @@ ipcMain.on('ipcCall', async function(_ev: IpcMainEvent, payload) {
case 'destroyPickleKey': case 'destroyPickleKey':
try { try {
await keytar.deletePassword("element.io", `${args[0]}|${args[1]}`); await keytar?.deletePassword("element.io", `${args[0]}|${args[1]}`);
// migrate from riot.im (remove once we think there will no longer be // migrate from riot.im (remove once we think there will no longer be
// logins from the time of riot.im) // logins from the time of riot.im)
await keytar.deletePassword("riot.im", `${args[0]}|${args[1]}`); await keytar?.deletePassword("riot.im", `${args[0]}|${args[1]}`);
} catch (e) {} } catch (e) {}
break; break;
case 'getDesktopCapturerSources': case 'getDesktopCapturerSources':
+1 -1
View File
@@ -21,7 +21,7 @@ try {
// eslint-disable-next-line @typescript-eslint/no-var-requires // eslint-disable-next-line @typescript-eslint/no-var-requires
keytar = require('keytar'); keytar = require('keytar');
} catch (e) { } catch (e) {
if (e.code === "MODULE_NOT_FOUND") { if ((<NodeJS.ErrnoException>e).code === "MODULE_NOT_FOUND") {
console.log("Keytar isn't installed; secure key storage is disabled."); console.log("Keytar isn't installed; secure key storage is disabled.");
} else { } else {
console.warn("Keytar unexpected error:", e); console.warn("Keytar unexpected error:", e);
+23 -26
View File
@@ -18,7 +18,7 @@ import counterpart from "counterpart";
import type Store from 'electron-store'; import type Store from 'electron-store';
const DEFAULT_LOCALE = "en"; const FALLBACK_LOCALE = 'en';
export function _td(text: string): string { export function _td(text: string): string {
return text; return text;
@@ -27,14 +27,12 @@ export function _td(text: string): string {
type SubstitutionValue = number | string; type SubstitutionValue = number | string;
interface IVariables { interface IVariables {
[key: string]: SubstitutionValue; [key: string]: SubstitutionValue | undefined;
count?: number; count?: number;
} }
export function _t(text: string, variables: IVariables = {}): string { export function _t(text: string, variables: IVariables = {}): string {
const args = Object.assign({ interpolate: false }, variables); const { count } = variables;
const { count } = args;
// Horrible hack to avoid https://github.com/vector-im/element-web/issues/4191 // Horrible hack to avoid https://github.com/vector-im/element-web/issues/4191
// The interpolation library that counterpart uses does not support undefined/null // The interpolation library that counterpart uses does not support undefined/null
@@ -43,21 +41,20 @@ export function _t(text: string, variables: IVariables = {}): string {
// valid ES6 template strings to i18n strings it's extremely easy to pass undefined/null // valid ES6 template strings to i18n strings it's extremely easy to pass undefined/null
// if there are no existing null guards. To avoid this making the app completely inoperable, // if there are no existing null guards. To avoid this making the app completely inoperable,
// we'll check all the values for undefined/null and stringify them here. // we'll check all the values for undefined/null and stringify them here.
Object.keys(args).forEach((key) => { Object.keys(variables).forEach((key) => {
if (args[key] === undefined) { if (variables[key] === undefined) {
console.warn("safeCounterpartTranslate called with undefined interpolation name: " + key); console.warn("safeCounterpartTranslate called with undefined interpolation name: " + key);
args[key] = 'undefined'; variables[key] = 'undefined';
} }
if (args[key] === null) { if (variables[key] === null) {
console.warn("safeCounterpartTranslate called with null interpolation name: " + key); console.warn("safeCounterpartTranslate called with null interpolation name: " + key);
args[key] = 'null'; variables[key] = 'null';
} }
}); });
let translated = counterpart.translate(text, args); let translated = counterpart.translate(text, variables);
if (translated === undefined && count !== undefined) { if (!translated && count !== undefined) {
// counterpart does not do fallback if no pluralisation exists // counterpart does not do fallback if no pluralisation exists in the preferred language, so do it here
// in the preferred language, so do it here translated = counterpart.translate(text, { ...variables, locale: FALLBACK_LOCALE });
translated = counterpart.translate(text, Object.assign({}, args, { locale: DEFAULT_LOCALE }));
} }
// The translation returns text so there's no XSS vector here (no unsafe HTML, no code execution) // The translation returns text so there's no XSS vector here (no unsafe HTML, no code execution)
@@ -66,17 +63,17 @@ export function _t(text: string, variables: IVariables = {}): string {
type Component = () => void; type Component = () => void;
type TypedStore = Store<{ locale?: string | string[] }>; type TypedStore = Store<{ locale?: string[] }>;
export class AppLocalization { export class AppLocalization {
private static readonly STORE_KEY = "locale"; private static readonly STORE_KEY = "locale";
private readonly store: TypedStore; private readonly store: TypedStore;
private readonly localizedComponents: Set<Component>; private readonly localizedComponents?: Set<Component>;
constructor({ store, components = [] }: { store: TypedStore, components: Component[] }) { constructor({ store, components = [] }: { store: TypedStore, components: Component[] }) {
counterpart.registerTranslations("en", this.fetchTranslationJson("en_EN")); counterpart.registerTranslations(FALLBACK_LOCALE, this.fetchTranslationJson("en_EN"));
counterpart.setFallbackLocale('en'); counterpart.setFallbackLocale(FALLBACK_LOCALE);
counterpart.setSeparator('|'); counterpart.setSeparator('|');
if (Array.isArray(components)) { if (Array.isArray(components)) {
@@ -86,7 +83,8 @@ export class AppLocalization {
this.store = store; this.store = store;
if (this.store.has(AppLocalization.STORE_KEY)) { if (this.store.has(AppLocalization.STORE_KEY)) {
const locales = this.store.get(AppLocalization.STORE_KEY); const locales = this.store.get(AppLocalization.STORE_KEY);
this.setAppLocale(locales); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
this.setAppLocale(locales!);
} }
this.resetLocalizedUI(); this.resetLocalizedUI();
@@ -110,7 +108,7 @@ export class AppLocalization {
return require(`./i18n/strings/${this.denormalize(locale)}.json`); return require(`./i18n/strings/${this.denormalize(locale)}.json`);
} catch (e) { } catch (e) {
console.log(`Could not fetch translation json for locale: '${locale}'`, e); console.log(`Could not fetch translation json for locale: '${locale}'`, e);
return null; return {};
} }
} }
@@ -121,16 +119,15 @@ export class AppLocalization {
locales = [locales]; locales = [locales];
} }
locales.forEach(locale => { const loadedLocales = locales.filter(locale => {
const translations = this.fetchTranslationJson(locale); const translations = this.fetchTranslationJson(locale);
if (translations !== null) { if (translations !== null) {
counterpart.registerTranslations(locale, translations); counterpart.registerTranslations(locale, translations);
} }
return !!translations;
}); });
// eslint-disable-next-line @typescript-eslint/ban-ts-comment counterpart.setLocale(loadedLocales[0]);
// @ts-ignore - this looks like a bug but is out of scope for this conversion
counterpart.setLocale(locales);
this.store.set(AppLocalization.STORE_KEY, locales); this.store.set(AppLocalization.STORE_KEY, locales);
this.resetLocalizedUI(); this.resetLocalizedUI();
@@ -138,7 +135,7 @@ export class AppLocalization {
public resetLocalizedUI(): void { public resetLocalizedUI(): void {
console.log("Resetting the UI components after locale change"); console.log("Resetting the UI components after locale change");
this.localizedComponents.forEach(componentSetup => { this.localizedComponents?.forEach(componentSetup => {
if (typeof componentSetup === "function") { if (typeof componentSetup === "function") {
componentSetup(); componentSetup();
} }
+1 -1
View File
@@ -86,7 +86,7 @@ export function getProfileFromDeeplink(args: string[]): string | undefined {
if (deeplinkUrl && deeplinkUrl.includes(SEARCH_PARAM)) { if (deeplinkUrl && deeplinkUrl.includes(SEARCH_PARAM)) {
const parsedUrl = new URL(deeplinkUrl); const parsedUrl = new URL(deeplinkUrl);
if (parsedUrl.protocol === PROTOCOL) { if (parsedUrl.protocol === PROTOCOL) {
const ssoID = parsedUrl.searchParams.get(SEARCH_PARAM); const ssoID = parsedUrl.searchParams.get(SEARCH_PARAM)!;
const store = readStore(); const store = readStore();
console.log("Forwarding to profile: ", store[ssoID]); console.log("Forwarding to profile: ", store[ssoID]);
return store[ssoID]; return store[ssoID];
+7 -8
View File
@@ -40,7 +40,7 @@ try {
ReindexError = seshatModule.ReindexError; ReindexError = seshatModule.ReindexError;
seshatSupported = true; seshatSupported = true;
} catch (e) { } catch (e) {
if (e.code === "MODULE_NOT_FOUND") { if ((<NodeJS.ErrnoException>e).code === "MODULE_NOT_FOUND") {
console.log("Seshat isn't installed, event indexing is disabled."); console.log("Seshat isn't installed, event indexing is disabled.");
} else { } else {
console.warn("Seshat unexpected error:", e); console.warn("Seshat unexpected error:", e);
@@ -49,7 +49,7 @@ try {
const eventStorePath = path.join(app.getPath('userData'), 'EventStore'); const eventStorePath = path.join(app.getPath('userData'), 'EventStore');
let eventIndex: SeshatType = null; let eventIndex: SeshatType | null = null;
const seshatDefaultPassphrase = "DEFAULT_PASSPHRASE"; const seshatDefaultPassphrase = "DEFAULT_PASSPHRASE";
async function getOrCreatePassphrase(key: string): Promise<string> { async function getOrCreatePassphrase(key: string): Promise<string> {
@@ -66,9 +66,8 @@ async function getOrCreatePassphrase(key: string): Promise<string> {
} catch (e) { } catch (e) {
console.log("Error getting the event index passphrase out of the secret store", e); console.log("Error getting the event index passphrase out of the secret store", e);
} }
} else {
return seshatDefaultPassphrase;
} }
return seshatDefaultPassphrase;
} }
const deleteContents = async (p: string): Promise<void> => { const deleteContents = async (p: string): Promise<void> => {
@@ -180,7 +179,7 @@ ipcMain.on('seshat', async function(_ev: IpcMainEvent, payload): Promise<void> {
case 'addEventToIndex': case 'addEventToIndex':
try { try {
eventIndex.addEvent(args[0], args[1]); eventIndex?.addEvent(args[0], args[1]);
} catch (e) { } catch (e) {
sendError(payload.id, e); sendError(payload.id, e);
return; return;
@@ -189,7 +188,7 @@ ipcMain.on('seshat', async function(_ev: IpcMainEvent, payload): Promise<void> {
case 'deleteEvent': case 'deleteEvent':
try { try {
ret = await eventIndex.deleteEvent(args[0]); ret = await eventIndex?.deleteEvent(args[0]);
} catch (e) { } catch (e) {
sendError(payload.id, e); sendError(payload.id, e);
return; return;
@@ -198,7 +197,7 @@ ipcMain.on('seshat', async function(_ev: IpcMainEvent, payload): Promise<void> {
case 'commitLiveEvents': case 'commitLiveEvents':
try { try {
ret = await eventIndex.commit(); ret = await eventIndex?.commit();
} catch (e) { } catch (e) {
sendError(payload.id, e); sendError(payload.id, e);
return; return;
@@ -207,7 +206,7 @@ ipcMain.on('seshat', async function(_ev: IpcMainEvent, payload): Promise<void> {
case 'searchEventIndex': case 'searchEventIndex':
try { try {
ret = await eventIndex.search(args[0]); ret = await eventIndex?.search(args[0]);
} catch (e) { } catch (e) {
sendError(payload.id, e); sendError(payload.id, e);
return; return;
+4 -4
View File
@@ -22,7 +22,7 @@ import fs from "fs";
import { _t } from "./language-helper"; import { _t } from "./language-helper";
let trayIcon: Tray = null; let trayIcon: Tray | null = null;
export function hasTray(): boolean { export function hasTray(): boolean {
return (trayIcon !== null); return (trayIcon !== null);
@@ -65,7 +65,7 @@ export function create(config: IConfig): void {
if (!favicons || favicons.length <= 0 || !favicons[0].startsWith('data:')) { if (!favicons || favicons.length <= 0 || !favicons[0].startsWith('data:')) {
if (lastFavicon !== null) { if (lastFavicon !== null) {
global.mainWindow.setIcon(defaultIcon); global.mainWindow.setIcon(defaultIcon);
trayIcon.setImage(defaultIcon); trayIcon?.setImage(defaultIcon);
lastFavicon = null; lastFavicon = null;
} }
return; return;
@@ -88,12 +88,12 @@ export function create(config: IConfig): void {
} }
} }
trayIcon.setImage(newFavicon); trayIcon?.setImage(newFavicon);
global.mainWindow.setIcon(newFavicon); global.mainWindow.setIcon(newFavicon);
}); });
global.mainWindow.webContents.on('page-title-updated', function(ev, title) { global.mainWindow.webContents.on('page-title-updated', function(ev, title) {
trayIcon.setToolTip(title); trayIcon?.setToolTip(title);
}); });
} }
+1
View File
@@ -70,6 +70,7 @@ export function start(updateBaseUrl: string): void {
// I'm not even going to try to guess which feed style they'd use if they // I'm not even going to try to guess which feed style they'd use if they
// implemented it on Linux, or if it would be different again. // implemented it on Linux, or if it would be different again.
console.log('Auto update not supported on this platform'); console.log('Auto update not supported on this platform');
return;
} }
if (url) { if (url) {
+7 -6
View File
@@ -50,7 +50,7 @@ function safeOpenURL(target: string): void {
// (for instance, open /bin/sh does indeed open a terminal // (for instance, open /bin/sh does indeed open a terminal
// with a shell, albeit with no arguments) // with a shell, albeit with no arguments)
const parsedUrl = url.parse(target); const parsedUrl = url.parse(target);
if (PERMITTED_URL_SCHEMES.indexOf(parsedUrl.protocol) > -1) { if (PERMITTED_URL_SCHEMES.includes(parsedUrl.protocol!)) {
// explicitly use the URL re-assembled by the url library, // explicitly use the URL re-assembled by the url library,
// so we know the url parser has understood all the parts // so we know the url parser has understood all the parts
// of the input string // of the input string
@@ -69,7 +69,7 @@ function onWindowOrNavigate(ev: Event, target: string): void {
} }
function writeNativeImage(filePath: string, img: NativeImage): Promise<void> { function writeNativeImage(filePath: string, img: NativeImage): Promise<void> {
switch (filePath.split('.').pop().toLowerCase()) { switch (filePath.split('.').pop()?.toLowerCase()) {
case "jpg": case "jpg":
case "jpeg": case "jpeg":
return fs.promises.writeFile(filePath, img.toJPEG(100)); return fs.promises.writeFile(filePath, img.toJPEG(100));
@@ -181,7 +181,7 @@ function cutCopyPasteSelectContextMenus(params: ContextMenuParams): MenuItemCons
options.push({ options.push({
label: word, label: word,
click: (menuItem, browserWindow) => { click: (menuItem, browserWindow) => {
browserWindow.webContents.replaceMisspelling(word); browserWindow?.webContents.replaceMisspelling(word);
}, },
}); });
}); });
@@ -190,7 +190,7 @@ function cutCopyPasteSelectContextMenus(params: ContextMenuParams): MenuItemCons
}, { }, {
label: _t('Add to dictionary'), label: _t('Add to dictionary'),
click: (menuItem, browserWindow) => { click: (menuItem, browserWindow) => {
browserWindow.webContents.session.addWordToSpellCheckerDictionary(params.misspelledWord); browserWindow?.webContents.session.addWordToSpellCheckerDictionary(params.misspelledWord);
}, },
}, { }, {
type: 'separator', type: 'separator',
@@ -251,8 +251,9 @@ function onEditableContextMenu(ev: Event, params: ContextMenuParams) {
let userDownloadIndex = 0; let userDownloadIndex = 0;
const userDownloadMap = new Map<number, string>(); // Map from id to path const userDownloadMap = new Map<number, string>(); // Map from id to path
ipcMain.on('userDownloadAction', function(ev: IpcMainEvent, { id, open = false }) { ipcMain.on('userDownloadAction', function(ev: IpcMainEvent, { id, open = false }) {
if (open) { const path = userDownloadMap.get(id);
shell.openPath(userDownloadMap.get(id)); if (open && path) {
shell.openPath(path);
} }
userDownloadMap.delete(id); userDownloadMap.delete(id);
}); });
+1
View File
@@ -16,6 +16,7 @@
"dom" "dom"
], ],
"types": ["jest", "node"], "types": ["jest", "node"],
"strict": true
}, },
"include": [ "include": [
"./src/**/*.ts", "./src/**/*.ts",
+435 -897
View File
File diff suppressed because it is too large. Load diff