Compare commits

...

265 Commits

Author SHA1 Message Date
RiotRobot
74d51a3ab5 v1.7.30 2021-06-07 17:48:13 +01:00
RiotRobot
f6349dd37d Prepare changelog for v1.7.30 2021-06-07 17:48:12 +01:00
RiotRobot
0a3eb467fc Upgrade matrix-react-sdk to 3.23.0 2021-06-07 17:46:00 +01:00
RiotRobot
5da849099f Upgrade matrix-js-sdk to 11.2.0 2021-06-07 17:45:33 +01:00
RiotRobot
8e111e2b9d v1.7.30-rc.1 2021-06-01 16:24:53 +01:00
RiotRobot
24ec0ebbf9 Prepare changelog for v1.7.30-rc.1 2021-06-01 16:24:53 +01:00
RiotRobot
122e9ac087 Upgrade matrix-react-sdk to 3.23.0-rc.1 2021-06-01 16:21:14 +01:00
RiotRobot
d70c651040 Upgrade matrix-js-sdk to 11.2.0-rc.1 2021-06-01 16:20:57 +01:00
J. Ryan Stinnett
3254de8394 Merge pull request #17526 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2021-06-01 15:52:35 +01:00
Weblate
485f92840e Merge branch 'origin/develop' into Weblate. 2021-06-01 14:43:18 +00:00
Robin Townsend
77476451bd Fix Olm asm.js support
Signed-off-by: Robin Townsend <robin@robin.town>
2021-05-31 12:29:30 -04:00
Percy
055d55aac6 Translated using Weblate (Chinese (Simplified))
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/zh_Hans/
2021-05-30 09:34:36 +00:00
Tirifto
1f16ae98f5 Translated using Weblate (Esperanto)
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/eo/
2021-05-30 09:34:36 +00:00
Michael Telatynski
07cf2f20fb Merge pull request #17464 from vector-im/t3chguy/allSettled
Add Modernizr test for Promise.allSettled given js-sdk and react-sdk depend on it
2021-05-25 17:27:55 +01:00
Michael Telatynski
a70803a36e Add Modernizr test for Promise.allSettled given js-sdk and react-sdk depend on it 2021-05-25 16:12:54 +01:00
RiotRobot
f78be2631a Reset matrix-react-sdk back to develop branch 2021-05-24 17:49:06 +01:00
RiotRobot
a380f9c9f2 Reset matrix-js-sdk back to develop branch 2021-05-24 17:48:59 +01:00
RiotRobot
3a537d9fdc Merge branch 'master' into develop 2021-05-24 17:45:59 +01:00
RiotRobot
3a67dc18e9 v1.7.29 2021-05-24 17:40:21 +01:00
RiotRobot
3d90242aba Prepare changelog for v1.7.29 2021-05-24 17:40:21 +01:00
Vibikim
11ba1a6ce8 Translated using Weblate (Romanian)
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/ro/
2021-05-24 16:34:34 +00:00
RiotRobot
cef446d7fa Upgrade matrix-react-sdk to 3.22.0 2021-05-24 17:28:39 +01:00
RiotRobot
59e00cb41d Upgrade matrix-js-sdk to 11.1.0 2021-05-24 17:27:24 +01:00
J. Ryan Stinnett
c08b7be434 Merge pull request #17456 from vector-im/jryans/olm-3.2.3-release
[Release] Bump libolm dependency, and update package name
2021-05-24 16:49:50 +01:00
Hubert Chathi
4960838e58 bump to olm 3.2.3 2021-05-24 16:35:21 +01:00
Hubert Chathi
06ac124bab Bump libolm dependency, and update package name. 2021-05-24 16:34:13 +01:00
J. Ryan Stinnett
661e946e60 Merge pull request #17433 from uhoreg/olm_3.2.2
Bump libolm dependency, and update package name.
2021-05-24 16:22:28 +01:00
Hubert Chathi
4825cf1425 bump to olm 3.2.3 2021-05-24 11:13:11 -04:00
Graeme Power
8bafc273cb Translated using Weblate (Irish)
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/ga/
2021-05-23 10:34:33 +00:00
1sw3
b5ffac2db1 Translated using Weblate (Chinese (Simplified))
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/zh_Hans/
2021-05-22 07:34:33 +00:00
Éden Alencar
1c36138ae8 Translated using Weblate (Portuguese (Brazil))
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/pt_BR/
2021-05-22 07:34:33 +00:00
jelv
fb094fddba 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/
2021-05-22 07:34:33 +00:00
Hubert Chathi
6029556291 Merge branch 'develop' into olm_3.2.2 2021-05-21 16:26:18 -04:00
Hubert Chathi
53eb0e0f26 Bump libolm dependency, and update package name. 2021-05-21 16:10:48 -04:00
Germain
a93c82fe9c Merge pull request #17423 from robintown/remove-logo-spinner
Remove logo spinner
2021-05-21 09:29:15 +01:00
Robin Townsend
4e1204f34e Remove logo spinner
Removed since design wants to avoid associating slowness with the brand.

Signed-off-by: Robin Townsend <robin@robin.town>
2021-05-20 17:28:25 -04:00
RiotRobot
618665f655 v1.7.29-rc.1 2021-05-19 15:33:04 +01:00
RiotRobot
ea01af7993 Prepare changelog for v1.7.29-rc.1 2021-05-19 15:33:04 +01:00
RiotRobot
d95a6a38ae Upgrade matrix-react-sdk to 3.22.0-rc.1 2021-05-19 14:45:45 +01:00
RiotRobot
1ef1c4fbae Upgrade matrix-js-sdk to 11.1.0-rc.1 2021-05-19 14:44:08 +01:00
J. Ryan Stinnett
7015d6e3eb Merge pull request #17384 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2021-05-19 13:34:57 +01:00
Weblate
fe90016f8d Merge branch 'origin/develop' into Weblate. 2021-05-19 12:30:50 +00:00
Fake Mail
b739b0faf9 Translated using Weblate (Bulgarian)
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/bg/
2021-05-19 09:36:59 +00:00
J. Ryan Stinnett
700d894324 Merge pull request #17349 from fooness/patch-1
Prevent minification of `.html` files
2021-05-18 15:45:33 +01:00
fooness
10194fe445 Prevent minification of .html files generated by new verison html-webpack-plugin
This described in https://github.com/vector-im/element-web/issues/17330#issuecomment-842530812, this should prevent the newly introduced version of `html-webpack-plugin` from minifying `.html` files, like e.g. `index.html`, `jitsi.html`, et cetera …

Quoting @jryans via: https://github.com/vector-im/element-web/issues/17330#issuecomment-842415694

> The content of the `index.html` file is not a supported API surface, so it might change at any time.
> 
> This document minification was not done on purpose, but instead it happened as a side effect of upgrading. We would happily accept a PR to fix this, but it is also not a priority for the core team.

Could please someone test and, hopefully, accept this change back to not minifying the `.html` files?
2021-05-18 12:35:51 +02:00
Ege
90a20ce6a7 Translated using Weblate (Turkish)
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/tr/
2021-05-18 09:19:39 +00:00
Ege Sertçetin
a380fe5883 Translated using Weblate (Turkish)
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/tr/
2021-05-18 09:19:39 +00:00
Erkin Alp Güney
148149f765 Translated using Weblate (Turkish)
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/tr/
2021-05-18 09:19:39 +00:00
J. Ryan Stinnett
7895fc1c78 Merge pull request #17346 from vector-im/travis/wapi-dev
Update matrix-widget-api/react-sdk dependency reference
2021-05-18 10:03:52 +01:00
Travis Ralston
51b380da65 Update matrix-widget-api/react-sdk dependency reference
To fix inevitable build errors.
2021-05-17 16:39:04 -06:00
RiotRobot
c41ba297e3 Reset matrix-react-sdk back to develop branch 2021-05-17 14:00:39 +01:00
RiotRobot
e565044aa3 Reset matrix-js-sdk back to develop branch 2021-05-17 14:00:27 +01:00
RiotRobot
304fccaec4 Merge branch 'master' into develop 2021-05-17 14:00:15 +01:00
RiotRobot
4e0ea04d3c v1.7.28 2021-05-17 13:57:04 +01:00
RiotRobot
0733cd6a9b Prepare changelog for v1.7.28 2021-05-17 13:57:03 +01:00
RiotRobot
0cd7d9a57d Upgrade matrix-react-sdk to 3.21.0 2021-05-17 13:52:21 +01:00
RiotRobot
8ce7de3b1c Upgrade matrix-js-sdk to 11.0.0 2021-05-17 13:51:42 +01:00
Trendyne
f04790e1cd Translated using Weblate (Icelandic)
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/is/
2021-05-14 22:34:30 +00:00
libexus
0ac07c4522 Translated using Weblate (German)
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/de/
2021-05-14 22:34:30 +00:00
Travis Ralston
e716e484a6 Merge pull request #16989 from SimonBrandner/https
Add `yarn start:https`
2021-05-13 20:16:11 -06:00
Oliver Gramberg
099f5844b4 Translated using Weblate (German)
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/de/
2021-05-13 18:04:18 +00:00
jelv
918d9834ee 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/
2021-05-13 12:34:30 +00:00
Šimon Brandner
009a56cee7 Merge branch 'develop' into https 2021-05-12 10:05:06 +02:00
J. Ryan Stinnett
040555772a Merge pull request #17239 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2021-05-11 17:46:51 +01:00
Travis Ralston
3b1193c1e6 Merge pull request #17204 from vector-im/travis/voicemessages/indev
Remove "in development" flag from voice messages labs documentation
2021-05-11 10:12:50 -06:00
Travis Ralston
c00abd6add Merge pull request #17193 from vector-im/travis/voicemessages/safari
Add required webpack+jest config to load Safari support modules
2021-05-11 10:12:36 -06:00
Weblate
f9db77758b Merge branch 'origin/develop' into Weblate. 2021-05-11 15:48:18 +00:00
RiotRobot
5eaaf34fe2 v1.7.28-rc.1 2021-05-11 16:47:53 +01:00
RiotRobot
a9c43e57a8 Prepare changelog for v1.7.28-rc.1 2021-05-11 16:47:53 +01:00
RiotRobot
4cb245b8d8 Upgrade matrix-react-sdk to 3.21.0-rc.1 2021-05-11 16:42:44 +01:00
RiotRobot
9502a11f6d Upgrade matrix-js-sdk to 11.0.0-rc.1 2021-05-11 16:41:56 +01:00
Hivaa
d998fa88e6 Translated using Weblate (Persian)
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/fa/
2021-05-11 10:34:29 +00:00
J. Ryan Stinnett
4ef7ceebe5 Merge pull request #17231 from vector-im/jryans/sanitize-upgrade
Switch back to release version of `sanitize-html`
2021-05-11 10:08:02 +01:00
J. Ryan Stinnett
4acde37698 Merge remote-tracking branch 'origin/develop' into jryans/sanitize-upgrade 2021-05-11 09:51:35 +01:00
Šimon Brandner
49bcf02db3 Merge remote-tracking branch 'upstream/develop' into https 2021-05-11 07:11:31 +02:00
Travis Ralston
45424f4a3b Better words? 2021-05-10 19:03:57 -06:00
J. Ryan Stinnett
dbd4e209d3 Switch back to release version of sanitize-html
The limit depth option has been available in a released version for a while now.
2021-05-10 17:48:06 +01:00
RiotRobot
10d5855bba Reset matrix-react-sdk back to develop branch 2021-05-10 15:33:40 +01:00
RiotRobot
182ec9cdb4 Reset matrix-js-sdk back to develop branch 2021-05-10 15:33:29 +01:00
RiotRobot
c07f2e1c18 Merge branch 'master' into develop 2021-05-10 15:33:16 +01:00
RiotRobot
93e6abefed v1.7.27 2021-05-10 15:29:37 +01:00
RiotRobot
fc02ecc3a1 Prepare changelog for v1.7.27 2021-05-10 15:29:36 +01:00
RiotRobot
25f2859a95 Upgrade matrix-react-sdk to 3.20.0 2021-05-10 15:26:39 +01:00
RiotRobot
64c44aef8e Upgrade matrix-js-sdk to 10.1.0 2021-05-10 15:23:51 +01:00
J. Ryan Stinnett
8dfc3797f0 Merge pull request #17199 from vector-im/dependabot/npm_and_yarn/url-parse-1.5.1
Bump url-parse from 1.4.7 to 1.5.1
2021-05-10 13:31:36 +01:00
J. Ryan Stinnett
bb979157e4 Merge pull request #17205 from vector-im/dependabot/npm_and_yarn/lodash-4.17.21
Bump lodash from 4.17.20 to 4.17.21
2021-05-10 13:21:02 +01:00
J. Ryan Stinnett
1f2559a86d Merge pull request #17219 from vector-im/dependabot/npm_and_yarn/hosted-git-info-2.8.9
Bump hosted-git-info from 2.8.8 to 2.8.9
2021-05-10 13:15:19 +01:00
dependabot[bot]
114acc022f Bump hosted-git-info from 2.8.8 to 2.8.9
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 01:45:11 +00:00
Šimon Brandner
63f370c2db Merge branch 'develop' into https 2021-05-09 08:43:04 +02:00
dependabot[bot]
b1f9a96268 Bump lodash from 4.17.20 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-08 07:46:06 +00:00
Travis Ralston
c246d7839f Remove "in development" flag from voice messages labs documentation
See https://github.com/matrix-org/matrix-react-sdk/pull/5995
2021-05-07 19:37:40 -06:00
Travis Ralston
cd127c51ae Merge pull request #17194 from vector-im/travis/dev1
Disable host checking on the webpack dev server
2021-05-07 08:02:04 -06:00
dependabot[bot]
6670859dc6 Bump url-parse from 1.4.7 to 1.5.1
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.4.7 to 1.5.1.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.4.7...1.5.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-07 11:26:45 +00:00
Travis Ralston
6c8d52f8df Add jest config too 2021-05-06 22:14:33 -06:00
Travis Ralston
b260621aff Disable host checking on the webpack dev server
This is useful when you're doing cross-browser testing on a service which demands you use "localhost.com" for reasons.
2021-05-06 21:51:43 -06:00
Travis Ralston
07a0af2aae Add required webpack config to load Safari support modules
See https://github.com/matrix-org/matrix-react-sdk/pull/5989
2021-05-06 21:51:03 -06:00
Travis Ralston
7cfec9255e Merge pull request #17190 from vector-im/dependabot/npm_and_yarn/ua-parser-js-0.7.24
Bump ua-parser-js from 0.7.23 to 0.7.24
2021-05-06 19:12:50 -06:00
dependabot[bot]
90825eac79 Bump ua-parser-js from 0.7.23 to 0.7.24
Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.23 to 0.7.24.
- [Release notes](https://github.com/faisalman/ua-parser-js/releases)
- [Commits](https://github.com/faisalman/ua-parser-js/compare/0.7.23...0.7.24)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-06 22:24:19 +00:00
Quang Trung
12c56fb647 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/
2021-05-06 20:34:28 +00:00
Bartosz
b39b92eb20 Translated using Weblate (Polish)
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/pl/
2021-05-06 20:34:28 +00:00
Oliver Gramberg
008ea589dc Translated using Weblate (German)
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/de/
2021-05-06 20:34:28 +00:00
RiotRobot
ee620be1ec v1.7.27-rc.1 2021-05-04 16:01:27 +01:00
RiotRobot
2db3bb5556 Prepare changelog for v1.7.27-rc.1 2021-05-04 16:01:26 +01:00
RiotRobot
bc70ef72ff Upgrade matrix-react-sdk to 3.20.0-rc.1 2021-05-04 15:58:02 +01:00
RiotRobot
d3fb0acdfb Upgrade matrix-js-sdk to 10.1.0-rc.1 2021-05-04 15:56:59 +01:00
J. Ryan Stinnett
17c566e31e Merge pull request #17160 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2021-05-04 15:28:33 +01:00
Weblate
ac42f774aa Merge branch 'origin/develop' into Weblate. 2021-05-04 14:27:58 +00:00
liimee
28fb9bfc75 Translated using Weblate (Indonesian)
Currently translated at 23.5% (8 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/
2021-05-02 11:34:26 +00:00
iaiz
b98effbf32 Translated using Weblate (Spanish)
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/es/
2021-05-02 11:34:26 +00:00
Hakim Oubouali
889ed4541b Translated using Weblate (Central Atlas Tamazight)
Currently translated at 41.1% (14 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tzm/
2021-04-30 12:34:26 +00:00
@a2sc:matrix.org
427ca9d92d Translated using Weblate (German)
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/de/
2021-04-30 12:34:26 +00:00
Hakim Oubouali
3df2616f4e Translated using Weblate (Central Atlas Tamazight)
Currently translated at 41.1% (14 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tzm/
2021-04-28 11:34:25 +00:00
jelv
9ef7507750 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/
2021-04-28 11:34:25 +00:00
David Baker
c5f533011b Merge pull request #17008 from vector-im/dbkr/asserted_identity
Document option for obeying asserted identity
2021-04-28 09:47:50 +01:00
David Baker
d03032b808 Put asserted identity under voip section 2021-04-27 19:34:21 +01:00
Germain
17dcef621e Merge pull request #17052 from vector-im/gsouquet-desktop-i18n 2021-04-27 15:48:55 +01:00
Germain Souquet
bf305f76a7 Upgrade matrix-web-i18n to use matrix prefixed binaries 2021-04-27 15:07:48 +01:00
Michael Telatynski
5ad5af7f20 Merge pull request #17061 from vector-im/t3chguy/ts/1
Convert Vector skin react components to Typescript
2021-04-27 09:40:42 +01:00
RiotRobot
4b3ba43f38 Reset matrix-react-sdk back to develop branch 2021-04-26 18:05:19 +01:00
RiotRobot
7e6ce7fb76 Reset matrix-js-sdk back to develop branch 2021-04-26 18:04:54 +01:00
RiotRobot
5c126cb61e Merge branch 'master' into develop 2021-04-26 18:04:04 +01:00
RiotRobot
6d056d7a08 v1.7.26 2021-04-26 17:55:54 +01:00
RiotRobot
d22e1fff16 Prepare changelog for v1.7.26 2021-04-26 17:55:53 +01:00
RiotRobot
0c8fee3528 Upgrade matrix-react-sdk to 3.19.0 2021-04-26 17:52:34 +01:00
RiotRobot
535ca49479 Upgrade matrix-js-sdk to 10.0.0 2021-04-26 17:51:43 +01:00
Germain Souquet
86c61cab33 Move i18n utils to its own module 2021-04-26 16:52:11 +01:00
Weblate
416de8332a Merge branch 'origin/develop' into Weblate. 2021-04-26 15:19:01 +00:00
Robert M Campbell
e30137ce68 Translated using Weblate (Lao)
Currently translated at 2.9% (1 of 34 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lo/
2021-04-26 15:19:01 +00:00
random
982b10464f Translated using Weblate (Italian)
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/it/
2021-04-26 15:19:01 +00:00
Germain Souquet
dc4cc02682 Change lang type to allow for multiple locales 2021-04-26 13:54:17 +01:00
Michael Telatynski
a8429f3e1d Convert Vector skin react components to Typescript 2021-04-26 09:49:21 +01:00
Robert M Campbell
3343d14323 Added translation using Weblate (Lao) 2021-04-26 07:22:19 +00:00
Besnik Bleta
94d05c7e25 Translated using Weblate (Albanian)
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/sq/
2021-04-25 20:34:24 +00:00
Nikita Epifanov
2976d4c0cf Translated using Weblate (Russian)
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/ru/
2021-04-25 20:34:24 +00:00
libexus
b2683fb675 Translated using Weblate (German)
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/de/
2021-04-25 20:34:24 +00:00
XoseM
f7180853fc Translated using Weblate (Galician)
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/gl/
2021-04-24 06:34:24 +00:00
Jeff Huang
cb625469a5 Translated using Weblate (Chinese (Traditional))
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/zh_Hant/
2021-04-24 06:34:24 +00:00
Ihor Hordiichuk
296e5913b7 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/
2021-04-24 06:34:24 +00:00
LinAGKar
bd888ff7c9 Translated using Weblate (Swedish)
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/sv/
2021-04-24 06:34:24 +00:00
Szimszon
26a229d745 Translated using Weblate (Hungarian)
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/hu/
2021-04-24 06:34:23 +00:00
Thibault Martin
47f1d2fb98 Translated using Weblate (French)
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/fr/
2021-04-24 06:34:23 +00:00
J. Ryan Stinnett
f0069c6ebd Merge pull request #16980 from vector-im/jryans/code-quality
Add code quality review policy
2021-04-23 18:11:22 +01:00
J. Ryan Stinnett
15fe7091ff Add section on quality when guarded by a feature flag 2021-04-23 17:46:08 +01:00
Germain Souquet
f5c2d51f1e Implement IPC call to Electron to set language 2021-04-23 17:14:40 +01:00
Travis Ralston
947c913d1c Merge pull request #17013 from vector-im/travis/voice/event_type
Register RecorderWorklet from react-sdk
2021-04-22 14:42:04 -06:00
Travis Ralston
69b4296fa7 Merge branch 'develop' into travis/voice/event_type 2021-04-22 14:37:23 -06:00
Germain
8692d6fa89 Merge pull request #17039 from vector-im/gsouquet-preload-fonts 2021-04-22 17:15:06 +01:00
Germain Souquet
83359afe5d Remove deprecated velocity-animate dependency from lock file 2021-04-22 16:28:21 +01:00
Germain Souquet
8abc7cd87c Only inject Inter fonts to HtmlWebpackPlugin 2021-04-22 14:31:06 +01:00
J. Ryan Stinnett
11b40eeff4 Merge pull request #17041 from vector-im/jryans/disable-calc-warn
Disable `postcss-calc`'s noisy `warnWhenCannotResolve` option
2021-04-22 13:18:24 +01:00
J. Ryan Stinnett
9cf35ab199 Disable postcss-calc's noisy warnWhenCannotResolve option
While it sounds like a useful warning at first, it turns out the warnings it
prints are ones we're unlike to ever act on, such as adding percentages and
pixels, which seem fine to have. This resets to default behaviour, which leaves
the warning off.
2021-04-22 13:05:02 +01:00
Germain Souquet
87806b8a67 Remove overzealous linter fixes 2021-04-22 12:22:10 +01:00
Germain Souquet
417835fcca Preload Inter font to avoid FOIT on slow connections 2021-04-22 12:09:50 +01:00
Germain Souquet
708f6a26b1 Upgrade html-webpack-plugin to v4.5.2 2021-04-22 10:22:52 +01:00
RiotRobot
1a7cfc67d9 v1.7.26-rc.1 2021-04-21 17:19:47 +01:00
RiotRobot
29528eaed4 Prepare changelog for v1.7.26-rc.1 2021-04-21 17:19:47 +01:00
RiotRobot
42067f9fd5 Upgrade matrix-react-sdk to 3.19.0-rc.1 2021-04-21 16:56:32 +01:00
RiotRobot
ea8989816f Upgrade matrix-js-sdk to 10.0.0-rc.1 2021-04-21 16:55:51 +01:00
J. Ryan Stinnett
571807d226 Merge pull request #17031 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2021-04-21 16:29:26 +01:00
Priit Jõerüüt
9960277ad0 Translated using Weblate (Estonian)
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/et/
2021-04-21 15:28:35 +00:00
Weblate
4e0035b0a7 Merge branch 'origin/develop' into Weblate. 2021-04-21 15:20:05 +00:00
Travis Ralston
9c3627dca9 Register RecorderWorklet from react-sdk 2021-04-19 21:51:25 -06:00
Travis Ralston
36f8a37bd4 Merge pull request #17010 from vector-im/dependabot/npm_and_yarn/ssri-6.0.2
Bump ssri from 6.0.1 to 6.0.2
2021-04-19 16:01:34 -06:00
dependabot[bot]
0fa062ccf6 Bump ssri from 6.0.1 to 6.0.2
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-19 21:57:14 +00:00
David Baker
c98ca42bbd Document option for obeying asserted identity 2021-04-19 20:31:55 +01:00
J. Ryan Stinnett
b0c43890af Change #element-dev reference to a link 2021-04-19 17:02:11 +01:00
J. Ryan Stinnett
dd303b292a Merge pull request #17003 from vector-im/jryans/node-env-develop
Fix `NODE_ENV` value for CI environments
2021-04-19 16:04:10 +01:00
J. Ryan Stinnett
53f9895901 Set NODE_ENV in a different way
With the approach in https://github.com/vector-im/element-web/pull/16969,
Webpack seems to sometimes do what we want, sometimes not... I haven't quite
worked out why. Perhaps there's some conflict or race in Webpack's defaults...?

This new approach seems to work as expected when running
`./scripts/ci_package.sh`, which matches what development deployments are doing.
2021-04-19 15:52:24 +01:00
J. Ryan Stinnett
14c23f1387 Remove old -d argument when packaging on CI
This `-d` argument was removed from `package.sh` ages ago
(ec66069e96), but we seem to have missed removing
it here.
2021-04-19 15:45:16 +01:00
Germain
4d6a8f9194 Merge pull request #16969 from vector-im/gsouquet-nightly-react-prod 2021-04-19 09:19:57 +01:00
Šimon Brandner
3c8efd51ef Add yarn start:https
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-18 15:44:38 +02:00
Sven Grewe
cddbe86481 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/
2021-04-18 12:34:25 +00:00
libexus
5e86344293 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/
2021-04-18 12:34:25 +00:00
Sagititi
2ffb9e8438 Translated using Weblate (Occitan)
Currently translated at 63.6% (21 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/oc/
2021-04-18 12:34:23 +00:00
Thai Localization
ed4c6a77d1 Translated using Weblate (Thai)
Currently translated at 48.4% (16 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/th/
2021-04-18 12:34:22 +00:00
J. Ryan Stinnett
c2e87dde85 Add code quality review policy
This adds a new review policy which encourages tests for new features. As with
everything, we'll continue to tune this based on feedback.
2021-04-16 18:53:18 +01:00
J. Ryan Stinnett
001b15b856 Rewrap review guide 2021-04-16 16:02:46 +01:00
Germain Souquet
84d6dcf498 Revert overzealous ESLint updates 2021-04-16 09:18:32 +01:00
Travis Ralston
e4c9444fe3 Merge pull request #16962 from vector-im/travis/dnd
Labs documentation for DND mode
2021-04-15 08:37:06 -06:00
Germain Souquet
0532c9c37b Use React production for CI builds
When running Nightly build we want to benefit from the fast runtime that React production offers and get rid of the runtime overhead that comes with development.

We are setting NODE_ENV and not "webpack.mode" to not loose sourcemaps and have minified sources in that environment
2021-04-15 15:17:24 +01:00
Germain Souquet
f06eb14c48 Linter recommendations 2021-04-15 15:15:48 +01:00
Germain
1b349023ed Merge pull request #16965 from vector-im/gsouquet-ignorelist-rename
Rename blackboxing to new option ignore list
2021-04-15 14:08:39 +01:00
Germain
72f987a42b Rename blackboxing to new option ignore list 2021-04-15 10:57:54 +01:00
Germain
1c18379b5c Merge pull request #16963 from vector-im/gsouquet-deprecate-velocity
Remove velocity-animate from lockfile
2021-04-15 09:05:54 +01:00
Germain Souquet
325cf2c08b remove velocity animate from lockfile 2021-04-15 08:39:34 +01:00
Travis Ralston
4c96b7826c Labs documentation for DND mode 2021-04-15 00:50:35 -06:00
J. Ryan Stinnett
3228a3abd1 Update security notice
New information came to light after the original report, so this updates the
notice to match the latest details.
2021-04-14 12:43:49 +01:00
Travis Ralston
ddbfab4fc5 Merge pull request #16890 from vector-im/travis/custom-mobile-apps
Add mobile download link configuration
2021-04-13 14:04:33 -06:00
Thai Localization
b744e97fd0 Translated using Weblate (Thai)
Currently translated at 45.4% (15 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/th/
2021-04-13 08:34:24 +00:00
Travis Ralston
cd7fd24b1a Translated using Weblate (English (United States))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/en_US/
2021-04-13 08:34:21 +00:00
Travis Ralston
1de7828e4d Write out docs explicitly. 2021-04-12 14:59:56 -06:00
RiotRobot
fb0bc34042 Reset matrix-react-sdk back to develop branch 2021-04-12 15:33:08 +01:00
RiotRobot
f38aedae85 Reset matrix-js-sdk back to develop branch 2021-04-12 15:32:56 +01:00
RiotRobot
ecf41e6fa5 Merge branch 'master' into develop 2021-04-12 15:32:45 +01:00
RiotRobot
643897a204 Merge branch 'develop' of github.com:vector-im/element-web into develop 2021-04-12 15:32:40 +01:00
RiotRobot
0bc5a01228 v1.7.25 2021-04-12 15:29:40 +01:00
RiotRobot
95fb11a2b9 Prepare changelog for v1.7.25 2021-04-12 15:29:40 +01:00
RiotRobot
19748762a5 Upgrade matrix-react-sdk to 3.18.0 2021-04-12 15:27:10 +01:00
RiotRobot
d1d6ef55ff Upgrade matrix-js-sdk to 9.11.0 2021-04-12 15:26:37 +01:00
Qt Resynth
c6e9aba308 Translated using Weblate (English (United States))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/en_US/
2021-04-10 03:38:23 +00:00
Travis Ralston
bd38ad5166 Appease the linter 2021-04-08 18:43:57 -06:00
Travis Ralston
1952cf6563 Add missing closing tag in guide 2021-04-08 18:43:15 -06:00
Travis Ralston
c580148bb7 Add mobile download link configuration
This is similar to the desktopBuilds config option.

The mobile setup guide and static incompatible browser pages are not touched by these options given they are static assets and easily replaced.
2021-04-08 18:39:09 -06:00
Travis Ralston
75aef71fe6 Merge pull request #16883 from vector-im/travis/no-staging
Switch develop to not-staging Scalar by default
2021-04-07 10:31:11 -06:00
Travis Ralston
5207e35488 Switch develop to not-staging Scalar by default 2021-04-07 10:20:16 -06:00
Travis Ralston
040058957f Merge pull request #16880 from vector-im/travis/sso-redirect-auto
Support a config option to skip login/welcome and go to SSO
2021-04-07 07:40:50 -06:00
RiotRobot
11ce4fa41b v1.7.25-rc.1 2021-04-07 13:11:55 +01:00
RiotRobot
74b4c91d58 Prepare changelog for v1.7.25-rc.1 2021-04-07 13:11:54 +01:00
RiotRobot
c7d34ae926 Upgrade matrix-react-sdk to 3.18.0-rc.1 2021-04-07 13:09:19 +01:00
RiotRobot
9400bd1fd2 Upgrade matrix-js-sdk to 9.11.0-rc.1 2021-04-07 13:07:02 +01:00
J. Ryan Stinnett
e7301ffd74 Merge pull request #16882 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2021-04-07 12:44:56 +01:00
Weblate
43bc270284 Merge branch 'origin/develop' into Weblate. 2021-04-07 11:42:17 +00:00
Travis Ralston
5642fc4026 Doc the return 2021-04-06 19:43:24 -06:00
Travis Ralston
97a43d058d Support a config option to skip login/welcome and go to SSO
For deployments which want this sort of functionality for their users. Ideal for self-hosted deployments.
2021-04-06 19:39:26 -06:00
Hakim Oubouali
46082f63b3 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 39.3% (13 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tzm/
2021-04-05 01:34:17 +00:00
Travis Ralston
3f0f077ced Merge pull request #16838 from vector-im/revert-16698-gzip-static
Revert "Docker image: serve pre-compressed assets using gzip_static"
2021-04-01 07:26:03 -06:00
Travis Ralston
dfa70b0637 Revert "Docker image: serve pre-compressed assets using gzip_static" 2021-03-31 17:59:39 -06:00
Germain
184efbbc44 Merge pull request #16814 from vector-im/gsouquet-docs 2021-03-31 12:51:40 +01:00
Germain
a9db513352 Update docs/native-node-modules.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-03-29 18:07:45 +01:00
Germain Souquet
1ea1d29d3e Move native node modules documentation to element-desktop 2021-03-29 15:59:21 +01:00
RiotRobot
ff74d3ce13 Reset matrix-react-sdk back to develop branch 2021-03-29 13:45:49 +01:00
RiotRobot
75f840a214 Reset matrix-js-sdk back to develop branch 2021-03-29 13:45:37 +01:00
RiotRobot
fd85d3f33d Merge branch 'master' into develop 2021-03-29 13:45:26 +01:00
RiotRobot
ac15f2755c v1.7.24 2021-03-29 13:42:29 +01:00
RiotRobot
d178286e2b Prepare changelog for v1.7.24 2021-03-29 13:42:28 +01:00
RiotRobot
929fa5d59d Upgrade matrix-react-sdk to 3.17.0 2021-03-29 13:38:52 +01:00
RiotRobot
20b1321818 Upgrade matrix-js-sdk to 9.10.0 2021-03-29 13:38:31 +01:00
Germain
47486e84dd Merge pull request #16781 from vector-im/gsouquet-warn-before-exit
Add user settings for warn before exit
2021-03-29 12:07:59 +01:00
RainSlide
83ebda350a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/
2021-03-29 09:17:03 +00:00
RainSlide
6fa5591cfe Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/
2021-03-26 11:34:14 +00:00
Travis Ralston
a2074cbc02 Merge pull request #16768 from ShadowJonathan/patch-1
Change ISSUE_TEMPLATE bold lines to proper headers
2021-03-25 09:01:11 -06:00
Germain Souquet
1d79f97a7a Add user settings for warn before exit 2021-03-25 14:15:34 +00:00
J. Ryan Stinnett
57d5206592 Merge pull request #16447 from nielsbasjes/AddK8sExampleConfig
Add example for deployment into Kubernetes
2021-03-25 13:18:14 +00:00
J. Ryan Stinnett
912e7c9f68 Merge pull request #16770 from ShadowJonathan/patch-2
Create bare-bones `PULL_REQUEST_TEMPLATE.md`
2021-03-25 13:13:55 +00:00
RiotRobot
a05c68e8d9 v1.7.24-rc.1 2021-03-25 12:30:33 +00:00
RiotRobot
9063f07b05 Prepare changelog for v1.7.24-rc.1 2021-03-25 12:30:33 +00:00
RiotRobot
a13863714c Upgrade matrix-react-sdk to 3.17.0-rc.1 2021-03-25 12:23:53 +00:00
RiotRobot
5e6ae6a855 Upgrade matrix-js-sdk to 9.10.0-rc.1 2021-03-25 12:23:18 +00:00
Jonathan de Jong
9e15000ea1 Create PULL_REQUEST_TEMPLATE.md 2021-03-24 17:00:59 +01:00
Travis Ralston
6201c3a3f5 Merge pull request #16705 from vector-im/travis/voice-messages/exp
Add webpack config and labs flag docs for voice messages
2021-03-24 09:56:39 -06:00
Jonathan de Jong
88bf562150 Update suggestion-or-feature-request.md 2021-03-24 16:53:08 +01:00
J. Ryan Stinnett
c5cff11fba Merge pull request #16766 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2021-03-24 15:48:51 +00:00
Weblate
11d02f68da Merge branch 'origin/develop' into Weblate. 2021-03-24 15:47:50 +00:00
RainSlide
61ad5409ea Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/
2021-03-24 15:47:48 +00:00
Travis Ralston
8ad5640ece Merge pull request #16698 from kvadevack/gzip-static
Docker image: serve pre-compressed assets using gzip_static
2021-03-23 19:06:22 -06:00
Travis Ralston
4eb7c1bc00 Add docs for where the worker comes from 2021-03-23 18:29:26 -06:00
waclaw66
54513158b9 Translated using Weblate (Czech)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/
2021-03-23 20:34:13 +00:00
Travis Ralston
0a793d23be Merge pull request #16732 from vector-im/travis/style-lint
Fix style lint issues
2021-03-23 07:31:53 -06:00
Niels Basjes
281236432a Provide documentation on how to run on Kubernetes 2021-03-23 11:55:11 +01:00
Germain
b211407b76 Updated expected webpack output in setup guide
Updated expected webpack output in setup guide
2021-03-22 15:50:49 +00:00
Germain
740bf51e46 Updated expected webpack output in setup guide 2021-03-22 12:39:26 +00:00
Travis Ralston
c854769440 Colour codes are difficult 2021-03-19 16:31:24 -06:00
Travis Ralston
0c7baa46f4 Fix style lint issues 2021-03-19 16:24:32 -06:00
Travis Ralston
a1c602c98e Merge pull request #16468 from vector-im/travis/welcome-login
Docs for `loginForWelcome`
2021-03-19 09:12:42 -06:00
Travis Ralston
025225a899 Merge pull request #16697 from vector-im/travis/no-persist-logs
Disable rageshake persistence if no logs would be submitted
2021-03-18 07:55:53 -06:00
Travis Ralston
146ed151dd Add docs for labs flag 2021-03-16 23:24:26 -06:00
Travis Ralston
cd2dda268f Add webpack config for opus-recorder worker 2021-03-16 22:58:50 -06:00
Martin Häger
b8b8a5ee85 Docker image: serve pre-compressed assets using gzip_static
Signed-off-by: Martin Häger <martin.haeger@gmail.com>
2021-03-16 22:41:43 +01:00
Travis Ralston
a76c4ae943 Disable rageshake persistence if no logs would be submitted
This also delays the persistence until later in the app startup - this is fine for the reasons listed on the partner PR: https://github.com/matrix-org/matrix-react-sdk/pull/5767

Fixes https://github.com/vector-im/element-web/issues/16694
2021-03-16 14:22:06 -06:00
MamasLT
979851ae1b Translated using Weblate (Lithuanian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lt/
2021-03-16 18:34:11 +00:00
Thibault Martin
54b8e93ee4 Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/
2021-03-15 17:34:10 +00:00
Graeme Power
92a12b7ac0 Translated using Weblate (Irish)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ga/
2021-03-14 16:34:11 +00:00
Sven Grewe
bcf4aaee95 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/
2021-03-14 16:34:10 +00:00
libexus
f2b98f14d4 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/
2021-03-14 16:34:10 +00:00
Travis Ralston
c6ab8d1d37 Docs for loginForWelcome 2021-02-16 15:19:21 -07:00
62 changed files with 1299 additions and 462 deletions

View File

@@ -7,14 +7,14 @@ assignees: ''
---
**Is your suggestion related to a problem? Please describe.**
#### Is your suggestion related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
#### Describe the solution you'd like.
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
#### Describe alternatives you've considered.
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
#### Additional context
Add any other context or screenshots about the feature request here.

3
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,3 @@
<!-- Please read CONTRIBUTING.md before submitting your pull request -->
<!-- Include a Sign-Off at the end of your Pull Request (as described in CONTRIBUTING.md), or on every commit -->

View File

@@ -1,3 +1,210 @@
Changes in [1.7.30](https://github.com/vector-im/element-web/releases/tag/v1.7.30) (2021-06-07)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.30-rc.1...v1.7.30)
* Upgrade to React SDK 3.23.0 and JS SDK 11.2.0
Changes in [1.7.30-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.30-rc.1) (2021-06-01)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.29...v1.7.30-rc.1)
* Upgrade to React SDK 3.23.0-rc.1 and JS SDK 11.2.0-rc.1
* Translations update from Weblate
[\#17526](https://github.com/vector-im/element-web/pull/17526)
* Add Modernizr test for Promise.allSettled given js-sdk and react-sdk depend
on it
[\#17464](https://github.com/vector-im/element-web/pull/17464)
* Bump libolm dependency, and update package name.
[\#17433](https://github.com/vector-im/element-web/pull/17433)
* Remove logo spinner
[\#17423](https://github.com/vector-im/element-web/pull/17423)
Changes in [1.7.29](https://github.com/vector-im/element-web/releases/tag/v1.7.29) (2021-05-24)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.29-rc.1...v1.7.29)
## Security notice
Element Web 1.7.29 fixes (by upgrading to olm 3.2.3) an issue in code used for
decrypting server-side stored secrets. The issue could potentially allow a
malicious homeserver to cause a stack buffer overflow in the affected function
and to control that function's local variables.
## All changes
* Upgrade to React SDK 3.22.0 and JS SDK 11.1.0
* [Release] Bump libolm dependency, and update package name
[\#17456](https://github.com/vector-im/element-web/pull/17456)
Changes in [1.7.29-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.29-rc.1) (2021-05-19)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.28...v1.7.29-rc.1)
* Upgrade to React SDK 3.22.0-rc.1 and JS SDK 11.1.0-rc.1
* Translations update from Weblate
[\#17384](https://github.com/vector-im/element-web/pull/17384)
* Prevent minification of `.html` files
[\#17349](https://github.com/vector-im/element-web/pull/17349)
* Update matrix-widget-api/react-sdk dependency reference
[\#17346](https://github.com/vector-im/element-web/pull/17346)
* Add `yarn start:https`
[\#16989](https://github.com/vector-im/element-web/pull/16989)
* Translations update from Weblate
[\#17239](https://github.com/vector-im/element-web/pull/17239)
* Remove "in development" flag from voice messages labs documentation
[\#17204](https://github.com/vector-im/element-web/pull/17204)
* Add required webpack+jest config to load Safari support modules
[\#17193](https://github.com/vector-im/element-web/pull/17193)
Changes in [1.7.28](https://github.com/vector-im/element-web/releases/tag/v1.7.28) (2021-05-17)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.28-rc.1...v1.7.28)
## Security notice
Element Web 1.7.28 fixes (by upgrading to matrix-react-sdk 3.21.0) a low
severity issue (GHSA-8796-gc9j-63rv) related to file upload. When uploading a
file, the local file preview can lead to execution of scripts embedded in the
uploaded file, but only after several user interactions to open the preview in
a separate tab. This only impacts the local user while in the process of
uploading. It cannot be exploited remotely or by other users. Thanks to
[Muhammad Zaid Ghifari](https://github.com/MR-ZHEEV) for responsibly disclosing
this via Matrix's Security Disclosure Policy.
## All changes
* Upgrade to React SDK 3.21.0 and JS SDK 11.0.0
Changes in [1.7.28-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.28-rc.1) (2021-05-11)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.27...v1.7.28-rc.1)
* Upgrade to React SDK 3.21.0-rc.1 and JS SDK 11.0.0-rc.1
* Switch back to release version of `sanitize-html`
[\#17231](https://github.com/vector-im/element-web/pull/17231)
* Bump url-parse from 1.4.7 to 1.5.1
[\#17199](https://github.com/vector-im/element-web/pull/17199)
* Bump lodash from 4.17.20 to 4.17.21
[\#17205](https://github.com/vector-im/element-web/pull/17205)
* Bump hosted-git-info from 2.8.8 to 2.8.9
[\#17219](https://github.com/vector-im/element-web/pull/17219)
* Disable host checking on the webpack dev server
[\#17194](https://github.com/vector-im/element-web/pull/17194)
* Bump ua-parser-js from 0.7.23 to 0.7.24
[\#17190](https://github.com/vector-im/element-web/pull/17190)
Changes in [1.7.27](https://github.com/vector-im/element-web/releases/tag/v1.7.27) (2021-05-10)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.27-rc.1...v1.7.27)
* Upgrade to React SDK 3.20.0 and JS SDK 10.1.0
Changes in [1.7.27-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.27-rc.1) (2021-05-04)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.26...v1.7.27-rc.1)
* Upgrade to React SDK 3.20.0-rc.1 and JS SDK 10.1.0-rc.1
* Translations update from Weblate
[\#17160](https://github.com/vector-im/element-web/pull/17160)
* Document option for obeying asserted identity
[\#17008](https://github.com/vector-im/element-web/pull/17008)
* Implement IPC call to Electron to set language
[\#17052](https://github.com/vector-im/element-web/pull/17052)
* Convert Vector skin react components to Typescript
[\#17061](https://github.com/vector-im/element-web/pull/17061)
* Add code quality review policy
[\#16980](https://github.com/vector-im/element-web/pull/16980)
* Register RecorderWorklet from react-sdk
[\#17013](https://github.com/vector-im/element-web/pull/17013)
* Preload Inter font to avoid FOIT on slow connections
[\#17039](https://github.com/vector-im/element-web/pull/17039)
* Disable `postcss-calc`'s noisy `warnWhenCannotResolve` option
[\#17041](https://github.com/vector-im/element-web/pull/17041)
Changes in [1.7.26](https://github.com/vector-im/element-web/releases/tag/v1.7.26) (2021-04-26)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.26-rc.1...v1.7.26)
* Upgrade to React SDK 3.19.0 and JS SDK 10.0.0
Changes in [1.7.26-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.26-rc.1) (2021-04-21)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.25...v1.7.26-rc.1)
* Upgrade to React SDK 3.19.0-rc.1 and JS SDK 10.0.0-rc.1
* Translations update from Weblate
[\#17031](https://github.com/vector-im/element-web/pull/17031)
* Bump ssri from 6.0.1 to 6.0.2
[\#17010](https://github.com/vector-im/element-web/pull/17010)
* Fix `NODE_ENV` value for CI environments
[\#17003](https://github.com/vector-im/element-web/pull/17003)
* Use React production mode in CI builds
[\#16969](https://github.com/vector-im/element-web/pull/16969)
* Labs documentation for DND mode
[\#16962](https://github.com/vector-im/element-web/pull/16962)
* Rename blackboxing to new option ignore list
[\#16965](https://github.com/vector-im/element-web/pull/16965)
* Remove velocity-animate from lockfile
[\#16963](https://github.com/vector-im/element-web/pull/16963)
* Add mobile download link configuration
[\#16890](https://github.com/vector-im/element-web/pull/16890)
* Switch develop to not-staging Scalar by default
[\#16883](https://github.com/vector-im/element-web/pull/16883)
* Support a config option to skip login/welcome and go to SSO
[\#16880](https://github.com/vector-im/element-web/pull/16880)
Changes in [1.7.25](https://github.com/vector-im/element-web/releases/tag/v1.7.25) (2021-04-12)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.25-rc.1...v1.7.25)
* Upgrade to React SDK 3.18.0 and JS SDK 9.11.0
Changes in [1.7.25-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.25-rc.1) (2021-04-07)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.24...v1.7.25-rc.1)
* Upgrade to React SDK 3.18.0-rc.1 and JS SDK 9.11.0-rc.1
* Translations update from Weblate
[\#16882](https://github.com/vector-im/element-web/pull/16882)
* Revert "Docker image: serve pre-compressed assets using gzip_static"
[\#16838](https://github.com/vector-im/element-web/pull/16838)
* Move native node modules documentation to element-desktop
[\#16814](https://github.com/vector-im/element-web/pull/16814)
* Add user settings for warn before exit
[\#16781](https://github.com/vector-im/element-web/pull/16781)
* Change ISSUE_TEMPLATE bold lines to proper headers
[\#16768](https://github.com/vector-im/element-web/pull/16768)
* Add example for deployment into Kubernetes
[\#16447](https://github.com/vector-im/element-web/pull/16447)
* Create bare-bones `PULL_REQUEST_TEMPLATE.md`
[\#16770](https://github.com/vector-im/element-web/pull/16770)
* Add webpack config and labs flag docs for voice messages
[\#16705](https://github.com/vector-im/element-web/pull/16705)
Changes in [1.7.24](https://github.com/vector-im/element-web/releases/tag/v1.7.24) (2021-03-29)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.24-rc.1...v1.7.24)
* Upgrade to React SDK 3.17.0 and JS SDK 9.10.0
Changes in [1.7.24-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.24-rc.1) (2021-03-25)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.23...v1.7.24-rc.1)
* Upgrade to React SDK 3.17.0-rc.2 and JS SDK 9.10.0-rc.1
* Translations update from Weblate
[\#16766](https://github.com/vector-im/element-web/pull/16766)
* Docker image: serve pre-compressed assets using gzip_static
[\#16698](https://github.com/vector-im/element-web/pull/16698)
* Fix style lint issues
[\#16732](https://github.com/vector-im/element-web/pull/16732)
* Updated expected webpack output in setup guide
[\#16740](https://github.com/vector-im/element-web/pull/16740)
* Docs for `loginForWelcome`
[\#16468](https://github.com/vector-im/element-web/pull/16468)
* Disable rageshake persistence if no logs would be submitted
[\#16697](https://github.com/vector-im/element-web/pull/16697)
Changes in [1.7.23](https://github.com/vector-im/element-web/releases/tag/v1.7.23) (2021-03-15)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.23-rc.1...v1.7.23)
@@ -38,12 +245,12 @@ Changes in [1.7.22](https://github.com/vector-im/element-web/releases/tag/v1.7.2
## Security notice
Element Web 1.7.22 fixes (by upgrading to matrix-react-sdk 3.15.0) a low
Element Web 1.7.22 fixes (by upgrading to matrix-react-sdk 3.15.0) a moderate
severity issue (CVE-2021-21320) where the user content sandbox can be abused to
trick users into opening unexpected documents. The content is opened with a
`blob` origin that cannot access Matrix user data, so messages and secrets are
not at risk. Thanks to @keerok for responsibly disclosing this via Matrix's
Security Disclosure Policy.
trick users into opening unexpected documents after several user interactions.
The content can be opened with a `blob` origin from the Matrix client, so it is
possible for a malicious document to access user messages and secrets. Thanks to
@keerok for responsibly disclosing this via Matrix's Security Disclosure Policy.
## All changes

View File

@@ -202,6 +202,12 @@ docker build -t \
.
```
Running in Kubernetes
=====================
The provided element-web docker image can also be run from within a Kubernetes cluster.
See the [Kubernetes example](docs/kubernetes.md) for more details.
config.json
===========
@@ -298,15 +304,10 @@ yarn start
Wait a few seconds for the initial build to finish; you should see something like:
```
Hash: b0af76309dd56d7275c8
Version: webpack 1.12.14
Time: 14533ms
Asset Size Chunks Chunk Names
bundle.js 4.2 MB 0 [emitted] main
bundle.css 91.5 kB 0 [emitted] main
bundle.js.map 5.29 MB 0 [emitted] main
bundle.css.map 116 kB 0 [emitted] main
+ 1013 hidden modules
[element-js] <s> [webpack.Progress] 100%
[element-js]
[element-js] 「wdm」: 1840 modules
[element-js] 「wdm」: Compiled successfully.
```
Remember, the command will not terminate since it runs the web server
and rebuilds source files when they change. This development server also

View File

@@ -25,9 +25,7 @@
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"defaultCountryCode": "GB",
"showLabsSettings": false,
"features": {
"feature_new_spinner": false
},
"features": { },
"default_federate": true,
"default_theme": "light",
"roomDirectory": {

View File

@@ -22,9 +22,12 @@ For a good example, see https://develop.element.io/config.json.
`default_hs_url` is specified. When multiple sources are specified, it is unclear
which should take priority and therefore the application cannot continue.
* As of Element 1.4.0, identity servers are optional. See [Identity servers](#identity-servers) below.
1. `sso_immediate_redirect`: When `true`, Element will assume the default server supports SSO
and attempt to send the user there to continue (if they aren't already logged in). Default
`false`. Note that this disables all usage of the welcome page.
1. `features`: Lookup of optional features that may be force-enabled (`true`) or force-disabled (`false`).
When features are not listed here, their defaults will be used, and users can turn them on/off if `showLabsSettings`
allows them to. The available optional experimental features vary from release to release and are
allows them to. The available optional experimental features vary from release to release and are
[documented](labs.md). The feature flag process is [documented](feature-flags.md) as well.
1. `showLabsSettings`: Shows the "labs" tab of user settings. Useful to allow users to turn on experimental features
they might not otherwise have access to.
@@ -72,6 +75,9 @@ For a good example, see https://develop.element.io/config.json.
1. `homeUrl`: Content shown on the inside of the app when a specific room is
not selected. By default, no home page is configured. If one is set, a
button to access it will be shown in the top left menu.
1. `loginForWelcome`: Overrides `welcomeUrl` to make the welcome page be the
same page as the login page when `true`. This effectively disables the
welcome page.
1. `defaultCountryCode`: The ISO 3166 alpha2 country code to use when showing
country selectors, like the phone number input on the registration page.
Defaults to `GB` if the given code is unknown or not provided.
@@ -110,12 +116,26 @@ For a good example, see https://develop.element.io/config.json.
1. `logo`: An HTTP URL to the avatar for the desktop build. Should be 24x24, ideally
an SVG.
1. `url`: An HTTP URL for where to send the user to download the desktop build.
1. `mobileBuilds`: Used to alter promotional links to the mobile app. By default the
builds are considered available and accessible from https://element.io. This config
option is typically used in a context of encouraging the user to try the mobile app
instead of a mobile/incompatible browser.
1. `ios`: The URL to the iOS build. If `null`, it will be assumed to be not available.
If not set, the default element.io builds will be used.
1. `android`: The URL to the Android build. If `null`, it will be assumed to be not available.
If not set, the default element.io builds will be used.
1. `fdroid`: The URL to the FDroid build. If `null`, it will be assumed to be not available.
If not set, the default element.io builds will be used.
1. `mobileGuideToast`: Whether to show a toast a startup which nudges users on
iOS and Android towards the native mobile apps. The toast redirects to the
mobile guide if they accept. Defaults to false.
1. `audioStreamUrl`: If supplied, show an option on Jitsi widgets to stream
audio using Jitsi's live streaming feature. This option is experimental and
may be removed at any time without notice.
1. `voip`: Behaviour related to calls
1. `obeyAssertedIdentity`: If set, MSC3086 asserted identity messages sent
on VoIP calls will cause the call to appear in the room corresponding to the
asserted identity. This *must* only be set in trusted environments.
Note that `index.html` also has an og:image meta tag that is set to an image
hosted on riot.im. This is the image used if links to your copy of Element

187
docs/kubernetes.md Normal file
View File

@@ -0,0 +1,187 @@
Running in Kubernetes
=====================
In case you would like to deploy element-web in a kubernetes cluster you can use
the provided Kubernetes example below as a starting point. Note that this example assumes the
Nginx ingress to be installed.
Note that the content of the required `config.json` is defined inside this yaml because it needs
to be put in your Kubernetes cluster as a `ConfigMap`.
So to use it you must create a file with this content as a starting point and modify it so it meets
the requirements of your environment.
Then you can deploy it to your cluster with something like `kubectl apply -f my-element-web.yaml`.
# This is an example of a POSSIBLE config for deploying a single element-web instance in Kubernetes
# Use the element-web namespace to put it all in.
apiVersion: v1
kind: Namespace
metadata:
name: element-web
---
# The config.json file is to be put into Kubernetes as a config file in such a way that
# the element web instance can read it.
# The code below shows how this can be done with the config.sample.json content.
apiVersion: v1
kind: ConfigMap
metadata:
name: element-config
namespace: element-web
data:
config.json: |
{
"default_server_config": {
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org",
"server_name": "matrix.org"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
},
"disable_custom_urls": false,
"disable_guests": false,
"disable_login_language_selector": false,
"disable_3pid_login": false,
"brand": "Element",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
"https://scalar.vector.im/_matrix/integrations/v1",
"https://scalar.vector.im/api",
"https://scalar-staging.vector.im/_matrix/integrations/v1",
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"defaultCountryCode": "GB",
"showLabsSettings": false,
"features": { },
"default_federate": true,
"default_theme": "light",
"roomDirectory": {
"servers": [
"matrix.org"
]
},
"piwik": {
"url": "https://piwik.riot.im/",
"whitelistedHSUrls": ["https://matrix.org"],
"whitelistedISUrls": ["https://vector.im", "https://matrix.org"],
"siteId": 1
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,
"https://matrix-client.matrix.org": false
},
"settingDefaults": {
"breadcrumbs": true
},
"jitsi": {
"preferredDomain": "jitsi.riot.im"
}
}
---
# A deployment of the element-web for a single instance
apiVersion: apps/v1
kind: Deployment
metadata:
name: element
namespace: element-web
spec:
selector:
matchLabels:
app: element
replicas: 1
template:
metadata:
labels:
app: element
spec:
containers:
- name: element
image: vectorim/element-web:latest
volumeMounts:
- name: config-volume
mountPath: /app/config.json
subPath: config.json
ports:
- containerPort: 80
name: element
protocol: TCP
readinessProbe:
httpGet:
path: /
port: element
initialDelaySeconds: 2
periodSeconds: 3
livenessProbe:
httpGet:
path: /
port: element
initialDelaySeconds: 10
periodSeconds: 10
volumes:
- name: config-volume
configMap:
name: element-config
---
# Wrap it all in a Service
apiVersion: v1
kind: Service
metadata:
name: element
namespace: element-web
spec:
selector:
app: element
ports:
- name: default
protocol: TCP
port: 80
targetPort: 80
---
# An ingress definition to expose the service via a hostname
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: element
namespace: element-web
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/configuration-snippet: |
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "frame-ancestors 'none'";
spec:
rules:
- host: element.example.nl
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: element
port:
number: 80
---

View File

@@ -19,10 +19,6 @@ Still in heavy development.
Enables rendering of LaTeX maths in messages using [KaTeX](https://katex.org/). LaTeX between single dollar-signs is interpreted as inline maths and double dollar-signs as display maths (i.e. centred on its own line).
## New spinner design (`feature_new_spinner`)
Replaces the old spinner image with a new, svg-based one featuring a sleeker design.
## Message pinning (`feature_pinning`)
Allows you to pin messages in the room. To pin a message, use the 3 dots to the right of the message
@@ -123,3 +119,16 @@ or feedback for this functionality at this time.
Allows users to receive encrypted messages by creating a device that is stored
encrypted on the server, as described in [MSC2697](https://github.com/matrix-org/matrix-doc/pull/2697).
## Voice messages (`feature_voice_messages`)
Offers a way to send more time-sensitive information through the power of voice. When enabled, use the microphone
icon on the lower right to start recording your message. You will have a chance to review after you're done recording,
and if it sounds fine then send it off for the rest of the room to hear.
Voice messages are automatically downloaded to ensure they are ready for playback as soon as possible.
## Do not disturb (`feature_dnd`)
Enables UI for turning on "do not disturb" mode for the current device. When DND mode is engaged, popups
and notification noises are suppressed. Not perfect, but can help reduce noise.

View File

@@ -1,60 +1,3 @@
# Native Node Modules
For some features, the desktop version of Element can make use of native Node
modules. These allow Riot to integrate with the desktop in ways that a browser
cannot.
While native modules enable powerful new features, they must be complied for
each operating system. For official Element releases, we will always build these
modules from source to ensure we can trust the compiled output. In the future,
we may offer a pre-compiled path for those who want to use these features in a
custom build of Element without installing the various build tools required.
Do note that compiling a module for a particular operating system
(Linux/macOS/Windows) will need to be done on that operating system.
Cross-compiling from a host OS for a different target OS may be possible, but
we don't support this flow with Element dependencies at this time.
At the moment, we need to make some changes to the Element release process before
we can support native Node modules at release time, so these features are
currently disabled by default until that is resolved. The following sections
explain the manual steps you can use with a custom build of Element to enable
these features if you'd like to try them out.
## Adding Seshat for search in E2E encrypted rooms
Seshat is a native Node module that adds support for local event indexing and
full text search in E2E encrypted rooms.
Since Seshat is written in Rust, the Rust compiler and related tools need to be
installed before installing Seshat itself. To install Rust please consult the
official Rust [documentation](https://www.rust-lang.org/tools/install).
Seshat also depends on the SQLCipher library to store its data in encrypted form
on disk. You'll need to install it via your OS package manager.
After installing the Rust compiler and SQLCipher, Seshat support can be added
using yarn inside the `electron_app/` directory:
yarn add matrix-seshat
You will have to rebuild the native libraries against electron's version of
of node rather than your system node, using the `electron-build-env` tool.
This is also needed to when pulling in changes to Seshat using `yarn link`.
Again from the `electron_app/` directory:
yarn add electron-build-env
Recompiling Seshat itself can be done like so:
yarn run electron-build-env -- --electron 6.1.1 -- neon build matrix-seshat --release
Please make sure to include all the `--` as well as the `--release` command line
switch at the end. Modify your electron version accordingly depending on the
version that is installed on your system.
After this is done the Electron version of Element can be run from the main folder
as usual using:
yarn electron
This documentation moved to the [`element-desktop`](https://github.com/vector-im/element-desktop/blob/develop/docs/native-node-modules.md) repository.

View File

@@ -58,6 +58,43 @@ When reviewing code, here are some things we look for and also things we avoid:
* Assign issues only when in progress to indicate to others what can be picked
up
## Code Quality
In the past, we have occasionally written different kinds of tests for
Element and the SDKs, but it hasn't been a consistent focus. Going forward, we'd
like to change that.
* For new features, code reviewers will expect some form of automated testing to
be included by default
* For bug fixes, regression tests are of course great to have, but we don't want
to block fixes on this, so we won't require them at this time
The above policy is not a strict rule, but instead it's meant to be a
conversation between the author and reviewer. As an author, try to think about
writing a test when making your next change. As a reviewer, try to think about
how you might test the area of code you are reviewing. If the reviewer agrees
it would be quite difficult to test some new feature, then it's okay for them to
accept the change without tests for now, but we'd eventually like to be more
strict about this further down the road.
If you do spot areas that are quite hard to test today, please let us know in
[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org). We can
work on improving the app architecture and testing helpers so that future tests
are easier for everyone to write, but we won't know which parts are difficult
unless people shout when stumbling through them.
We recognise that this testing policy will slow things down a bit, but overall
it should encourage better long-term health of the app and give everyone more
confidence when making changes as coverage increases over time.
For changes guarded by a feature flag, we currently lean towards prioritising
our ability to evolve quickly using such flags and thus we will not currently
require tests to appear at the same time as the initial landing of features
guarded by flags, as long as (for new flagged features going forward) the
feature author understands that they are effectively deferring part of their
work (adding tests) until later and tests are expected to appear before the
feature can be enabled by default.
## Design and Product Review
We want to ensure that all changes to Element fit with our design and product
@@ -79,5 +116,5 @@ easily.
Before starting work on a feature, it's best to ensure your plan aligns well
with our vision for Element. Please chat with the team in
[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) before you
start so we can ensure it's something we'd be willing to merge.
[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) before
you start so we can ensure it's something we'd be willing to merge.

View File

@@ -1,8 +1,8 @@
{
"default_server_name": "matrix.org",
"brand": "Element",
"integrations_ui_url": "https://scalar-staging.vector.im/",
"integrations_rest_url": "https://scalar-staging.vector.im/api",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
"https://scalar.vector.im/_matrix/integrations/v1",
"https://scalar.vector.im/api",

View File

@@ -1,6 +1,6 @@
{
"name": "element-web",
"version": "1.7.23",
"version": "1.7.30",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -29,7 +29,7 @@
"scripts": {
"i18n": "matrix-gen-i18n",
"prunei18n": "matrix-prune-i18n",
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"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",
@@ -44,8 +44,9 @@
"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:res": "yarn build:jitsi && node scripts/copy-res.js -w",
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development",
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development --disable-host-check",
"lint": "yarn lint:types && yarn lint:js && yarn lint:style",
"lint:js": "eslint src",
"lint:types": "tsc --noEmit --jsx react",
@@ -53,20 +54,20 @@
"test": "jest"
},
"dependencies": {
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.3.tgz",
"browser-request": "^0.3.3",
"gfm.css": "^1.1.2",
"highlight.js": "^10.5.0",
"jsrsasign": "^10.1.5",
"katex": "^0.12.0",
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
"matrix-widget-api": "^0.1.0-beta.13",
"olm": "https://packages.matrix.org/npm/olm/olm-3.2.1.tgz",
"matrix-js-sdk": "11.2.0",
"matrix-react-sdk": "3.23.0",
"matrix-widget-api": "^0.1.0-beta.14",
"prop-types": "^15.7.2",
"react": "^16.14.0",
"react-dom": "^16.14.0",
"sanitize-html": "github:apostrophecms/sanitize-html#3c7f93f2058f696f5359e3e58d464161647226db",
"ua-parser-js": "^0.7.23"
"sanitize-html": "^2.3.2",
"ua-parser-js": "^0.7.24"
},
"devDependencies": {
"@babel/core": "^7.12.10",
@@ -86,12 +87,13 @@
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.10",
"@babel/runtime": "^7.12.5",
"@principalstudio/html-webpack-inject-preload": "^1.2.7",
"@types/flux": "^3.1.9",
"@types/modernizr": "^3.5.3",
"@types/node": "^14.14.22",
"@types/react": "^16.9",
"@types/react-dom": "^16.9.10",
"@types/sanitize-html": "^1.27.1",
"@types/sanitize-html": "^2.3.1",
"autoprefixer": "^9.8.6",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.6.3",
@@ -111,13 +113,14 @@
"fake-indexeddb": "^3.1.2",
"file-loader": "^5.1.0",
"fs-extra": "^0.30.0",
"html-webpack-plugin": "^3.2.0",
"html-webpack-plugin": "^4.5.2",
"jest": "^26.6.3",
"jest-environment-jsdom-sixteen": "^1.0.3",
"json-loader": "^0.5.7",
"loader-utils": "^1.4.0",
"matrix-mock-request": "^1.2.3",
"matrix-react-test-utils": "^0.2.2",
"matrix-web-i18n": "github:matrix-org/matrix-web-i18n",
"mini-css-extract-plugin": "^0.12.0",
"minimist": "^1.2.5",
"mkdirp": "^1.0.4",
@@ -165,7 +168,10 @@
"^react$": "<rootDir>/node_modules/react",
"^react-dom$": "<rootDir>/node_modules/react-dom",
"^matrix-js-sdk$": "<rootDir>/node_modules/matrix-js-sdk/src",
"^matrix-react-sdk$": "<rootDir>/node_modules/matrix-react-sdk/src"
"^matrix-react-sdk$": "<rootDir>/node_modules/matrix-react-sdk/src",
"decoderWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"decoderWorker\\.min\\.wasm": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"waveWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js"
},
"transformIgnorePatterns": [
"/node_modules/(?!matrix-js-sdk).+$",

View File

@@ -22,7 +22,7 @@ limitations under the License.
background: -moz-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
background: -webkit-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
background: linear-gradient(to bottom, #c5e0f7 0%, #ffffff 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c5e0f7', endColorstr='#ffffff',GradientType=0 );
filter: progid:dximagetransform.microsoft.gradient(startColorstr='#c5e0f7', endColorstr='#ffffff', GradientType=0);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
width: 100%;
min-height: 100%;
@@ -41,7 +41,7 @@ limitations under the License.
margin-left: 4px;
margin-right: 4px;
min-width: 80px;
background-color: #03B381;
background-color: #03b381;
color: #fff;
cursor: pointer;
padding: 12px 22px;
@@ -54,7 +54,7 @@ limitations under the License.
}
.mx_HomePage_header {
color: #2E2F32;
color: #2e2f32;
display: flex;
align-items: center;
justify-content: center;
@@ -95,7 +95,7 @@ limitations under the License.
}
.mx_FooterLink {
color: #368BD6;
color: #368bd6;
text-decoration: none;
}
}

View File

@@ -14,4 +14,4 @@ JSSDK_SHA=$(cd node_modules/matrix-js-sdk; git rev-parse --short=12 HEAD)
VECTOR_SHA=$(git rev-parse --short=12 HEAD) # use the ACTUAL SHA rather than assume develop
CI_PACKAGE=true DIST_VERSION=$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA scripts/package.sh -d
CI_PACKAGE=true DIST_VERSION=$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA scripts/package.sh

View File

@@ -1,10 +0,0 @@
const fs = require("fs");
if (process.argv.length < 4) throw new Error("Missing source and target file arguments");
const sourceFile = fs.readFileSync(process.argv[2], 'utf8');
const targetFile = fs.readFileSync(process.argv[3], 'utf8');
if (sourceFile !== targetFile) {
throw new Error("Files do not match");
}

View File

@@ -69,7 +69,7 @@ const COPY_LIST = [
["res/vector-icons/**", "webapp/vector-icons"],
["res/decoder-ring/**", "webapp/decoder-ring"],
["node_modules/matrix-react-sdk/res/media/**", "webapp/media"],
["node_modules/olm/olm_legacy.js", "webapp", { directwatch: 1 }],
["node_modules/@matrix-org/olm/olm_legacy.js", "webapp", { directwatch: 1 }],
["./config.json", "webapp", { directwatch: 1 }],
["contribute.json", "webapp"],
];

View File

@@ -27,7 +27,55 @@ interface IProps {
}
const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
const brand = SdkConfig.get().brand;
const {brand, mobileBuilds} = SdkConfig.get();
let ios = null;
const iosCustomUrl = mobileBuilds?.ios;
if (iosCustomUrl !== null) { // could be undefined or a string
ios = <>
<p><strong>iOS</strong> (iPhone or iPad)</p>
<a
href={iosCustomUrl || "https://apps.apple.com/app/vector/id1083446067"}
target="_blank"
className="mx_ClearDecoration"
>
<img height="48" src="themes/element/img/download/apple.svg" alt="Apple App Store" />
</a>
</>;
}
let android = [<p className="mx_Spacer" key="header"><strong>Android</strong></p>];
const andCustomUrl = mobileBuilds?.android;
const fdroidCustomUrl = mobileBuilds?.fdroid;
if (andCustomUrl !== null) { // undefined or string
android.push(<a
href={andCustomUrl || "https://play.google.com/store/apps/details?id=im.vector.app"}
target="_blank"
className="mx_ClearDecoration"
key="android"
>
<img height="48" src="themes/element/img/download/google.svg" alt="Google Play Store" />
</a>);
}
if (fdroidCustomUrl !== null) { // undefined or string
android.push(<a
href={fdroidCustomUrl || "https://f-droid.org/repository/browse/?fdid=im.vector.app"}
target="_blank"
className="mx_ClearDecoration"
key="fdroid"
>
<img height="48" src="themes/element/img/download/fdroid.svg" alt="F-Droid" />
</a>);
}
if (android.length === 1) { // just a header, meaning no links
android = [];
}
let mobileHeader = <h2 id="step2_heading">{_t("Use %(brand)s on mobile", {brand})}</h2>;
if (!android.length && !ios) {
mobileHeader = null;
}
return <div className="mx_ErrorView">
<div className="mx_ErrorView_container">
<div className="mx_HomePage_header">
@@ -76,30 +124,9 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
<div className="mx_HomePage_col">
<div className="mx_HomePage_row">
<div>
<h2 id="step2_heading">Use Element on mobile</h2>
<p><strong>iOS</strong> (iPhone or iPad)</p>
<a
href="https://apps.apple.com/app/vector/id1083446067"
target="_blank"
className="mx_ClearDecoration"
>
<img height="48" src="themes/element/img/download/apple.svg" alt="Apple App Store" />
</a>
<p className="mx_Spacer"><strong>Android</strong></p>
<a
href="https://play.google.com/store/apps/details?id=im.vector.app"
target="_blank"
className="mx_ClearDecoration"
>
<img height="48" src="themes/element/img/download/google.svg" alt="Google Play Store" />
</a>
<a
href="https://f-droid.org/repository/browse/?fdid=im.vector.app"
target="_blank"
className="mx_ClearDecoration"
>
<img height="48" src="themes/element/img/download/fdroid.svg" alt="F-Droid" />
</a>
{mobileHeader}
{ios}
{android}
</div>
</div>
</div>

View File

@@ -24,7 +24,7 @@ export default class VectorEmbeddedPage extends EmbeddedPage {
static replaces = 'EmbeddedPage';
// we're overriding the base component here, for Element-specific tweaks
translate(s) {
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

View File

@@ -16,16 +16,11 @@ limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
import SdkConfig from 'matrix-react-sdk/src/SdkConfig';
export default class VectorAuthHeaderLogo extends React.PureComponent {
static replaces = 'AuthHeaderLogo'
static propTypes = {
icon: PropTypes.string,
}
render() {
const brandingConfig = SdkConfig.get().branding;
let logoUrl = "themes/element/img/logos/element-logo.svg";

View File

@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import React from 'react';
import React, { CSSProperties } from 'react';
import * as sdk from 'matrix-react-sdk/src/index';
import SdkConfig from 'matrix-react-sdk/src/SdkConfig';
@@ -48,12 +48,12 @@ export default class VectorAuthPage extends React.PureComponent {
background: `center/cover fixed url(${VectorAuthPage.getWelcomeBackgroundUrl()})`,
};
const modalStyle = {
const modalStyle: CSSProperties = {
position: 'relative',
background: 'initial',
};
const blurStyle = {
const blurStyle: CSSProperties = {
position: 'absolute',
top: 0,
right: 0,
@@ -63,7 +63,7 @@ export default class VectorAuthPage extends React.PureComponent {
background: pageStyle.background,
};
const modalContentStyle = {
const modalContentStyle: CSSProperties = {
display: 'flex',
zIndex: 1,
background: 'rgba(255, 255, 255, 0.59)',

View File

@@ -32,5 +32,6 @@
"Open": "Отвори",
"Your browser can't run %(brand)s": "Браузърът ви не може да изпълни %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s използва модерни функции на браузъра, които не се поддържат от Вашия.",
"Powered by Matrix": "Базирано на Matrix"
"Powered by Matrix": "Базирано на Matrix",
"Use %(brand)s on mobile": "Използвайте %(brand)s на мобилен телефон"
}

View File

@@ -2,7 +2,7 @@
"Welcome to Element": "Vítá vás Element",
"Unknown device": "Neznámé zařízení",
"You need to be using HTTPS to place a screen-sharing call.": "Pro uskutečnění hovoru se sdílením obrazovky musíte používat HTTPS.",
"Dismiss": "Zahodit",
"Dismiss": "Zavřít",
"powered by Matrix": "používá protokol Matrix",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizovaný, šifrovaný chat a spolupráce na platformě [matrix]",
"Sign In": "Přihlásit se",

View File

@@ -2,35 +2,36 @@
"powered by Matrix": "betrieben mit Matrix",
"Dismiss": "Ausblenden",
"Unknown device": "Unbekanntes Gerät",
"You need to be using HTTPS to place a screen-sharing call.": "Du musst HTTPS nutzen um einen Anruf mit Bildschirmfreigabe durchzuführen.",
"You need to be using HTTPS to place a screen-sharing call.": "Du musst HTTPS nutzen, um einen Anruf mit Bildschirmfreigabe durchzuführen.",
"Welcome to Element": "Willkommen bei Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Dezentrale, verschlüsselte Chat- &amp; Kollaborationslösung mittels [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Dezentrale, verschlüsselte Chat- &amp; Kollaborationslösung basierend auf [matrix]",
"Sign In": "Anmelden",
"Create Account": "Account erstellen",
"Create Account": "Konto erstellen",
"Explore rooms": "Räume erkunden",
"Unexpected error preparing the app. See console for details.": "Unerwarteter Fehler bei der Vorbereitung der App. Siehe in die Konsole für mehr Details.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ungültige Konfiguration: Es kann nur eine der Optionen default_server_config, default_server_name oder default_hs_url angegeben werden.",
"Invalid configuration: no default server specified.": "Ungültige Konfiguration: Es wurde kein Standardserver angegeben.",
"The message from the parser is: %(message)s": "Die Nachricht des Parsers ist: %(message)s",
"Invalid JSON": "Ungültiges JSON",
"Go to your browser to complete Sign In": "Gehe in deinen Browser, um die Anmeldung abzuschließen",
"Open user settings": "Öffne Nutzer-Einstellungen",
"Go to your browser to complete Sign In": "Gehe zu deinem Browser, um die Anmeldung abzuschließen",
"Open user settings": "Benutzereinstellungen öffnen",
"Unable to load config file: please refresh the page to try again.": "Konfigurationsdatei kann nicht geladen werden: Bitte aktualisiere die Seite, um es erneut zu versuchen.",
"Missing indexeddb worker script!": "Fehlendes indexeddb Worker-Skript!",
"Missing indexeddb worker script!": "Fehlendes indexeddb-Arbeitsskript!",
"Previous/next recently visited room or community": "Vorheriger/nächster kürzlich besuchter Raum oder Community",
"Unsupported browser": "Nicht unterstützter Browser",
"Go to element.io": "Gehe zu element.io",
"Failed to start": "Start fehlgeschlagen",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Bitte installiere <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, oder <safariLink>Safari</safariLink> für das beste Erlebnis.",
"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.": "Du kannst deinen aktuellen Browser weiterhin verwenden, es kann aber sein, dass einige oder alle Funktionen nicht verfügbar stehen oder dass das Aussehen und die Bedienung der Anwendung nicht korrekt ist.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Bitte installiere <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> oder <safariLink>Safari</safariLink> für das beste Erlebnis.",
"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.": "Du kannst deinen aktuellen Browser weiterhin verwenden. Es ist aber möglich, dass nicht alles richtig funktioniert oder das Aussehen der App inkorrekt ist.",
"I understand the risks and wish to continue": "Ich verstehe die Risiken und möchte fortfahren",
"Your Element is misconfigured": "Dein Element ist falsch konfiguriert",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Deine Element Konfiguration enthält ungültiges JSON. Bitte korrigiere das Problem und lade die Seite neu.",
"Download Completed": "Download fertiggestellt",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Deine Elementkonfiguration enthält ungültiges JSON. Bitte korrigiere das Problem und lade die Seite neu.",
"Download Completed": "Herunterladen fertiggestellt",
"Open": "Öffnen",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s verwendet erweiterte Browserfunktionen, die von Ihrem aktuellen Browser nicht unterstützt werden.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s verwendet erweiterte Browserfunktionen, die von deinem Browser nicht unterstützt werden.",
"Your browser can't run %(brand)s": "Dein Browser kann %(brand)s nicht ausführen",
"Powered by Matrix": "Betrieben mit Matrix"
"Powered by Matrix": "Betrieben mit Matrix",
"Use %(brand)s on mobile": "Verwende %(brand)s auf dem Handy"
}

View File

@@ -19,6 +19,7 @@
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
"Powered by Matrix": "Powered by Matrix",
"Use %(brand)s on mobile": "Use %(brand)s on mobile",
"Unsupported browser": "Unsupported browser",
"Your browser can't run %(brand)s": "Your browser can't run %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s uses advanced browser features which aren't supported by your current browser.",

View File

@@ -32,5 +32,6 @@
"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.",
"Powered by Matrix": "Povigata de Matrix"
"Powered by Matrix": "Povigata de Matrix",
"Use %(brand)s on mobile": "Uzi %(brand)s telefone"
}

View File

@@ -32,5 +32,6 @@
"Open": "Abrir",
"Your browser can't run %(brand)s": "Tu navegador no es compatible con %(brand)s",
"%(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"
"Powered by Matrix": "Funciona con Matrix",
"Use %(brand)s on mobile": "Usar %(brand)s en modo móvil"
}

View File

@@ -32,5 +32,6 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Sinu Element'i seadistustes on vigased JSON-vormingus andmed. Palun paranda see viga ja laadi leht uuesti.",
"Your browser can't run %(brand)s": "%(brand)s ei toimi sinu brauseris",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s kasutab mitmeid uusi brauseri-põhiseid tehnoloogiaid, mis ei ole veel sinu veebibrauseris toetatud.",
"Powered by Matrix": "Põhineb Matrix'il"
"Powered by Matrix": "Põhineb Matrix'il",
"Use %(brand)s on mobile": "Kasuta %(brand)s rakendust nutiseadmes"
}

View File

@@ -26,11 +26,12 @@
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s%(browserName)s، %(osName)s",
"Unsupported browser": "مرورگر پش‬تبانی نشده",
"Your browser can't run %(brand)s": "مرورگر شما نمیتواند %(brand)s را اجرا کند",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s از ویژگی های پیشرفته مرورگر استفاده میکند که که در مرورگر فعلی شما پشتیبانی نمیشوند.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s از ویژگی های پیشرفته مرورگر استفاده میکند که در مرورگر فعلی شما پشتیبانی نمیشوند.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "لطفا برای تجربه بهتر <chromeLink>کروم</chromeLink>، <firefoxLink>فایرفاکس</firefoxLink>، یا <safariLink>سافاری</safariLink> را نصب کنید.",
"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.": "شما میتوانید با مرورگر فعلی خود ادامه دهید، اما ممکن است برخی یا کل ویژگی ها کار نکنند و نگاه و احساس از برنامه ممکن است درست نباشد.",
"I understand the risks and wish to continue": "از خطرات این کار آگاهم و مایلم که ادامه بدهم",
"Go to element.io": "برو به element.io",
"Failed to start": "مشکل در آغاز",
"Powered by Matrix": "قدرت‌گرفته از ماتریکس"
"Powered by Matrix": "قدرت‌گرفته از ماتریکس",
"Use %(brand)s on mobile": "استفاده از %(brand)s روی گوشی"
}

View File

@@ -7,7 +7,7 @@
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Messagerie et collaboration décentralisées et chiffrées, propulsées par [matrix]",
"Sign In": "Se connecter",
"Create Account": "Créer un compte",
"Explore rooms": "Explorer les salons",
"Explore rooms": "Parcourir les salons",
"Unexpected error preparing the app. See console for details.": "Une erreur inattendue est survenue pendant la préparation de lapplication. Consultez la console pour avoir des détails.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuration invalide : il ne faut spécifier quun des trois champs parmis default_server_config, default_server_name et default_hs_url.",
"Invalid configuration: no default server specified.": "Configuration invalide : aucun serveur par défaut spécifié.",
@@ -32,5 +32,6 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configuration de votre Element contient du JSON invalide. Veuillez corriger le problème et recharger la page.",
"Your browser can't run %(brand)s": "Votre navigateur ne peut pas exécuter %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s nécessite des fonctionnalités avancées que votre navigateur actuel ne prend pas en charge.",
"Powered by Matrix": "Propulsé par Matrix"
"Powered by Matrix": "Propulsé par Matrix",
"Use %(brand)s on mobile": "Utiliser %(brand)s sur téléphone"
}

View File

@@ -7,5 +7,31 @@
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Meán comhrá agus comhoibriú, díláraithe agus criptithe, cumhachtaithe ag [matrix]",
"Sign In": "Sínigh Isteach",
"Create Account": "Déan cuntas a chruthú",
"Explore rooms": "Breathnaigh thart ar na seomraí"
"Explore rooms": "Breathnaigh thart ar na seomraí",
"Your browser can't run %(brand)s": "Níl do bhrabhsálaí comhoiriúnach do %(brand)s",
"Go to your browser to complete Sign In": "Oscail do bhrabhsálaí agus críochnaigh an clárú",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Coinníonn do chumraíocht JSON neamhbhailí. Ceartaigh an fadhb agus athlódáil an leathanach le do thoil.",
"Your Element is misconfigured": "Níl do fheidhmchlár Element cumraithe i gceart",
"Previous/next recently visited room or community": "roimhe/chéad eile, seomra nó pobal is déanaí",
"Failed to start": "Theip chun tosú",
"I understand the risks and wish to continue": "Tuigim na rioscaí agus ba mhaith liom lean ar aghaidh",
"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.": "An féidir leat úsáid do bhrabhsálaí reatha, ach nár oibrí roinnt nó gach gné agus nár thaispeántar an feidhmchlár i gceart.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Suiteáil <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> chun an taithí is fearr a fháil.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "Úsáideann %(brand)s gnéithe ardforbartha nach bhfuil ar fáil faoi do bhrabhsálaí reatha.",
"Unsupported browser": "Brabhsálaí gan tacaíocht",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s deisce (%(platformName)s)",
"Unexpected error preparing the app. See console for details.": "Earráid nuair an feidhmchlár a hullmhú. Feic sa consól le haghaidh eolas.",
"Unable to load config file: please refresh the page to try again.": "Ní féidir an comhad cumraíochta a lódáil. Athnuaigh an leathanach chun déanamh iarracht arís le do thoil.",
"Download Completed": "Íoslódáil críochnaithe",
"Invalid JSON": "JSON neamhbhailí",
"The message from the parser is: %(message)s": "Is í an teachtaireacht as an parsálaí: %(message)s",
"Invalid configuration: no default server specified.": "Cumraíocht neamhbhailí: Níl aon freastalaí réamhshocraithe a sonrú.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Cumraíocht neamhbhailí: ní féidir ach ceann de default_server_config, default_server_name, nó default_hs_url a shonrú.",
"Missing indexeddb worker script!": "An script oibrí \"indexeddb\" ag iarraidh!",
"Powered by Matrix": "Cumhachtaithe ag Matrix",
"Go to element.io": "Téigh go element.io",
"Open user settings": "Oscail socruithe úsáideora",
"Open": "Oscail",
"Use %(brand)s on mobile": "Úsáid %(brand)s ar guthán póca"
}

View File

@@ -32,5 +32,6 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "A configuración de Element contén JSON non válido. Corrixe o problema e recarga a páxina.",
"Your browser can't run %(brand)s": "O teu navegador non pode executar %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s utiliza características avanzadas do navegador que non están dispoñibles no teu navegador.",
"Powered by Matrix": "Funciona grazas a Matrix"
"Powered by Matrix": "Funciona grazas a Matrix",
"Use %(brand)s on mobile": "Utiliza %(brand)s no móbil"
}

View File

@@ -32,5 +32,6 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Az Element érvénytelen JSON-t tartalmazó konfigurációval rendelkezik. Javítsa és töltse újra az oldalt.",
"Your browser can't run %(brand)s": "A böngészője nem tudja futtatni ezt: %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s speciális böngészőfunkciókat használ, amelyeket a jelenlegi böngészője nem támogat.",
"Powered by Matrix": "A gépházban: Matrix"
"Powered by Matrix": "A gépházban: Matrix",
"Use %(brand)s on mobile": "Mobilon használd ezt: %(brand)s"
}

View File

@@ -4,5 +4,8 @@
"Unknown device": "Perangkat Tidak Diketahui",
"You need to be using HTTPS to place a screen-sharing call.": "Anda perlu menggunakan HTTPS untuk melakukan panggilan berbagi-layar.",
"Welcome to Element": "Selamat datang di Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Obrolan terenkripsi, terdesentralisasi &amp; kolaborasi didukung oleh [matrix]"
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Obrolan terenkripsi, terdesentralisasi &amp; kolaborasi didukung oleh [matrix]",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Konfigurasi Element Anda mengandung JSON yang tidak valid. Mohon perbaiki masalahnya dan muat ulang halaman nya.",
"Invalid configuration: no default server specified.": "Konfigurasi tidak valid: server default belum ditentukan.",
"Missing indexeddb worker script!": "Tidak ada script worker indexeddb!"
}

View File

@@ -32,5 +32,6 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Element stillingar þínar innihalda ógilda JSON. Vinsamlegast leiðréttu vandamálið og endurhladdu síðuna.",
"Your Element is misconfigured": "Element þitt er rangt stillt",
"Invalid configuration: no default server specified.": "Ógild stilling: enginn sjálfgefinn þjónn tilgreindur.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ógild stilling: getur aðeins tilgreint einn af default_server_config, default_server_name eða default_hs_url."
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ógild stilling: getur aðeins tilgreint einn af default_server_config, default_server_name eða default_hs_url.",
"Use %(brand)s on mobile": "Nota %(brand)s í síma"
}

View File

@@ -32,5 +32,6 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configurazione del tuo elemento contiene un JSON non valido. Correggi il problema e ricarica la pagina.",
"Your browser can't run %(brand)s": "Il tuo browser non può eseguire %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s usa funzionalità avanzate del browser che non sono supportate dal tuo browser attuale.",
"Powered by Matrix": "Offerto da Matrix"
"Powered by Matrix": "Offerto da Matrix",
"Use %(brand)s on mobile": "Usa %(brand)s su mobile"
}

3
src/i18n/strings/lo.json Normal file
View File

@@ -0,0 +1,3 @@
{
"Open": "ເປີດ"
}

View File

@@ -6,7 +6,7 @@
"Dismiss": "Atmesti",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizuoti, šifruoti pokalbiai ir bendradarbiavimas, veikiantis su [matrix]",
"Sign In": "Prisijungti",
"Create Account": "Sukurti paskyrą",
"Create Account": "Sukurti Paskyrą",
"Explore rooms": "Žvalgyti kambarius",
"The message from the parser is: %(message)s": "Analizatoriaus žinutė yra: %(message)s",
"Invalid JSON": "Klaidingas JSON",

View File

@@ -1,12 +1,12 @@
{
"Dismiss": "Afwijzen",
"Dismiss": "Sluiten",
"powered by Matrix": "draait op Matrix",
"Unknown device": "Onbekend apparaat",
"You need to be using HTTPS to place a screen-sharing call.": "Oproepen met schermdelen vergen HTTPS.",
"Welcome to Element": "Welkom bij Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Gedecentraliseerd en versleuteld chatten &amp; samenwerken dankzij [matrix]",
"Sign In": "Aanmelden",
"Create Account": "Account aanmaken",
"Sign In": "Inloggen",
"Create Account": "Registeren",
"Explore rooms": "Gesprekken 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.",
@@ -22,15 +22,16 @@
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "Niet-ondersteunde browser",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Installeer <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, of <safariLink>Safari</safariLink> voor de beste gebruikservaring.",
"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.": "Je kunt je huidige browser blijven gebruiken, maar sommige of alle functies zouden niet kunnen werken en de uitstraling van het programma kan verkeerd zijn.",
"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.": "U kunt uw huidige browser blijven gebruiken, maar sommige of alle functies zouden niet kunnen werken en de weergave van het programma kan verkeerd zijn.",
"I understand the risks and wish to continue": "Ik begrijp de risico's en wil verder gaan",
"Go to element.io": "Ga naar element.io",
"Failed to start": "Opstarten mislukt",
"Open": "Openen",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Je Element configuratie bevat ongeldige JSON. Gelieve het probleem te corrigeren daarna de pagina te herladen.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Uw Element configuratie bevat ongeldige JSON. Gelieve het probleem te corrigeren daarna de pagina te herladen.",
"Download Completed": "Download voltooid",
"Your Element is misconfigured": "Je Element is verkeerd geconfigureerd",
"Your browser can't run %(brand)s": "Je browser kan %(brand)s niet draaien",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s gebruikt geavanceerde functies die niet ondersteund worden in je huidige browser.",
"Powered by Matrix": "Gebruikt Matrix technologie"
"Your Element is misconfigured": "Uw Element is verkeerd geconfigureerd",
"Your browser can't run %(brand)s": "Uw browser kan %(brand)s niet starten",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s gebruikt geavanceerde functies die niet ondersteund worden in uw huidige browser.",
"Powered by Matrix": "Mogelijk gemaakt door Matrix",
"Use %(brand)s on mobile": "Gebruik %(brand)s op uw mobiel"
}

View File

@@ -10,5 +10,27 @@
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Messatjariá chifrada, descentralizada e collaborativa propulsada per [matrix]",
"Sign In": "Se connectar",
"Create Account": "Crear un compte",
"Explore rooms": "Percórrer las salas"
"Explore rooms": "Percórrer las salas",
"Missing indexeddb worker script!": "Lo worker script IndexedDB manca !",
"Invalid configuration: no default server specified.": "Configuracion invalida : pas de servidor per defauta especificat.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuracion invalida : podètz unicament especificar un camp entre default_server_config, default_server_name, o default_hs_url.",
"Failed to start": "Non se pòt pas lançar",
"Go to element.io": "Anar a element.io",
"I understand the risks and wish to continue": "Compréni los risques e vòli contunhar",
"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.": "Podètz contunhar a utilizar lo vòstre navigator actual, mas qualques o totes las foncionalitats o/e l'apparéncia poirián mal foncionar .",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Si vos plai installatz <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, o <safariLink>Safari</safariLink> per una melhora experiéncia.",
"Your browser can't run %(brand)s": "Lo vòstre navigator non pòt pas executar %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s utiliza de foncions avançadas que lo vòstre navigator non suporta pas.",
"Unsupported browser": "Navigator incompatible",
"Powered by Matrix": "Fonciona ambé Matrix",
"You need to be using HTTPS to place a screen-sharing call.": "Devetz utilizar HTTPS per apelar ambé partatge d'ecran.",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s de burèu (%(platformName)s)",
"Previous/next recently visited room or community": "Sala o comunautat recentament visitada precedenta/seguenta",
"Open user settings": "Dobrir los paramètres utilizaire",
"Open": "Dobrir",
"Download Completed": "Descargament acabat",
"Unable to load config file: please refresh the page to try again.": "Se pòt pas cargar lo fichièr de configuracion : si vos plai actualizatz la pagina per tornar ensajar.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configuracion d'Element conténe de JSON invalid. Si vos plai corregitz lo problème e actualizatz la pagina.",
"Your Element is misconfigured": "Lo vòstre Element es mal configurat"
}

View File

@@ -32,5 +32,6 @@
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s używa zaawansowanych funkcji przeglądarki, które nie są dostępne w twojej przeglądarce.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Konfiguracja Elementa zawiera niepoprawny JSON. Popraw konfiguracje i odśwież stronę.",
"Your Element is misconfigured": "Element jest nieprawidłowo skonfigurowany",
"Powered by Matrix": "Zasilane przez Matrix"
"Powered by Matrix": "Zasilane przez Matrix",
"Use %(brand)s on mobile": "Użyj %(brand)s w telefonie"
}

View File

@@ -32,5 +32,6 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Sua configuração do Element contém JSON inválido. Por favor, corrija o problema e recarregue a página.",
"Your browser can't run %(brand)s": "Seu navegador não consegue rodar o %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s usa recursos avançados que não são suportados pelo seu navegador de internet atual.",
"Powered by Matrix": "Construído com tecnologia Matrix"
"Powered by Matrix": "Construído com tecnologia Matrix",
"Use %(brand)s on mobile": "Usar %(brand)s no celular"
}

View File

@@ -6,7 +6,7 @@
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat decentralizat, criptat &amp; colaborare propulsata de [matrix]",
"You need to be using HTTPS to place a screen-sharing call.": "Trebuie să folosești HTTPS pentru a plasa un apel de tip screen-sharing.",
"Sign In": "Autentificare",
"Create Account": "Înregistare",
"Create Account": "Crează un cont",
"Explore rooms": "Explorează camerele",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuratie invalida: se poate specifica doar una dintre default_server_config, default_server_name, or default_hs_url.",
"Invalid JSON": "JSON invalid",
@@ -16,5 +16,22 @@
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Instalati va rog <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> pentru o experienta mai buna.",
"I understand the risks and wish to continue": "Inteleg riscul si doresc sa continui",
"Go to element.io": "Acceseaza element.io",
"Failed to start": "Nu reuseste sa porneasca"
"Failed to start": "Nu reuseste sa porneasca",
"Your Element is misconfigured": "Element-ul tău este configurat necorespunzător",
"Missing indexeddb worker script!": "Scriptul de lucru indexddb lipsește!",
"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.": "Poți continua să folosești browser-ul curent, însă aspectul și experiența câtorva sau tuturor funcțiilor poate fi incorectă.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s folosește funcții avansate de browser ce nu sunt suportate de browser-ul dumneavoastră.",
"Your browser can't run %(brand)s": "Browserul tău nu poate rula %(brand)s",
"Use %(brand)s on mobile": "Folosește %(brand)s pe mobil",
"Powered by Matrix": "Bazat pe Matrix",
"Go to your browser to complete Sign In": "Du-te la browser pentru a finaliza Autentificarea",
"Previous/next recently visited room or community": "Precedenta/următoarea cameră sau comunitate vizitată recent",
"Open user settings": "Deschide setările de utilizator",
"Open": "Deschide",
"Download Completed": "Descărcare Completă",
"Unexpected error preparing the app. See console for details.": "Eroare neașteptată în aplicație. Vezi consola pentru detalii.",
"Unable to load config file: please refresh the page to try again.": "Nu se poate încărca fișierul de configurație: vă rugăm sa reîncărcați pagina și să încercați din nou.",
"The message from the parser is: %(message)s": "Mesajul de la parser este: %(message)s",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Configurația ta Element conține JSON invalid. Vă rugăm sa corectați problema și să reîncărcați pagina.",
"Invalid configuration: no default server specified.": "Configurație invalidă: niciun server implicit specificat."
}

View File

@@ -32,5 +32,6 @@
"Open": "Открыть",
"Your browser can't run %(brand)s": "Ваш браузер не может запустить %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s использует расширенные возможности, которые не поддерживаются вашим браузером.",
"Powered by Matrix": "На технологии Matrix"
"Powered by Matrix": "На технологии Matrix",
"Use %(brand)s on mobile": "Воспользуйтесь %(brand)s на мобильном телефоне"
}

View File

@@ -32,5 +32,6 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Formësimi juaj i Element-it përmban JSON të pavlefshëm. Ju lutemi, ndreqeni problemin dhe ringarkoni faqen.",
"Your browser can't run %(brand)s": "Shfletuesi juaj smund të xhirojë %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s përdor veçori të thelluara të shfletuesit, të cilat shfletuesi juaj i tanishëm si mbulon.",
"Powered by Matrix": "Bazuar në Matrix"
"Powered by Matrix": "Bazuar në Matrix",
"Use %(brand)s on mobile": "Përdor %(brand)s në celular"
}

View File

@@ -32,5 +32,6 @@
"Open": "Öppna",
"Powered by Matrix": "Drivs av Matrix",
"Your browser can't run %(brand)s": "Din webbläsare kan inte köra %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s använder avancerade webbläsarfunktioner som inte stöds av din aktuella webbläsare."
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s använder avancerade webbläsarfunktioner som inte stöds av din aktuella webbläsare.",
"Use %(brand)s on mobile": "Använd %(brand)s på mobilen"
}

View File

@@ -1,13 +1,19 @@
{
"powered by Matrix": "ใช้เทคโนโลยี Matrix",
"Dismiss": "ไม่สนใจ",
"Dismiss": "ปิด",
"Unknown device": "อุปกรณ์ที่ไม่รู้จัก",
"You need to be using HTTPS to place a screen-sharing call.": "คุณต้องใช้ HTTPS เพื่อเริ่มติดต่อแบบแบ่งปันหน้าจอ",
"Welcome to Element": "ยินดีต้อนรับสู่ Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "ระบบแชทและประสานงาน ไร้ศูนย์กลางและเข้ารหัสได้ โดยใช้เทคโนโลยีจาก [matrix]",
"The message from the parser is: %(message)s": "ข้อความจากparserคือ:%(message)s",
"The message from the parser is: %(message)s": "ข้อความจากตัวแยกวิเคราะห์คือ: %(message)s",
"Invalid JSON": "JSON ไม่ถูกต้อง",
"Sign In": "เข้าสู่ระบบ",
"Sign In": "ลงชื่อเข้า",
"Create Account": "สร้างบัญชี",
"Explore rooms": "สำรวจห้อง"
"Explore rooms": "สำรวจห้อง",
"Download Completed": "การดาวน์โหลดเสร็จสมบูรณ์",
"Open user settings": "เปิดการตั้งค่าผู้ใช้",
"Go to element.io": "ไปยัง element.io",
"Failed to start": "ไม่สามารถเริ่ม",
"Open": "เปิด",
"Powered by Matrix": "ขับเคลื่อนโดย Matrix"
}

View File

@@ -8,9 +8,9 @@
"Sign In": "Giriş Yap",
"Create Account": "Hesap Oluştur",
"Explore rooms": "Odaları keşfet",
"Invalid JSON": "Geçersiz JSON",
"Invalid JSON": "JSON geçersiz",
"Unexpected error preparing the app. See console for details.": "Uygulama hazırlanırken beklenmeyen bir hata oldu. Detaylar için konsola bakın.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Geçersiz yapılandırma: default_server_config, default_server_name, yada default_hs_url den sadece birisi seçilebilir.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Hatalı ayarlar: default_server_config, default_server_name ve default_hs_url ayarlarından en fazla biri girilebilir.",
"Invalid configuration: no default server specified.": "Geçersiz yapılandırma: varsayılan sunucu seçilmemiş.",
"The message from the parser is: %(message)s": "Ayrıştırıcıdan gelen mesaj: %(message)s",
"Go to your browser to complete Sign In": "Oturum açmayı tamamlamak için tarayıcınıza gidin",
@@ -28,9 +28,10 @@
"Go to element.io": "element.io adresine git",
"Failed to start": "Başlatılamadı",
"Previous/next recently visited room or community": "Yakında ziyaret edilen önceki/sonraki oda veya topluluk",
"Powered by Matrix": "Matrix tarafından güçlendirildi",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Powered by Matrix": "Gücünü Matrix'ten alır",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName) (%(browserName), %(osName))",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Masaüstü (%(platformName)s)",
"Open": "Aç",
"Missing indexeddb worker script!": "Indexeddb worker kodu eksik!"
"Missing indexeddb worker script!": "Indexeddb worker kodu eksik!",
"Use %(brand)s on mobile": "Mobilde %(brand)s kullan"
}

View File

@@ -1,5 +1,5 @@
{
"Create Account": "Ssenflul amiḍan",
"Create Account": "senflul amiḍan",
"Download Completed": "Ittusmed wagam",
"Powered by Matrix": "Ittusker s Matrix",
"Sign In": "Kcem",
@@ -10,5 +10,7 @@
"Unknown device": "Allal arussin",
"Open user settings": "Ṛẓem tisɣal n unessemres",
"Dismiss": "Nexxel",
"Open": "Ṛẓem"
"Open": "Ṛẓem",
"The message from the parser is: %(message)s": "Tuzint n umeslad: %(message)s",
"Use %(brand)s on mobile": "Semres %(brand)s g utilifun"
}

View File

@@ -32,5 +32,6 @@
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Powered by Matrix": "Працює на Matrix",
"Your browser can't run %(brand)s": "Ваш переглядач неспроможний запустити %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s використовує передові властивості, які ваш браузер не підтримує."
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s використовує передові властивості, які ваш браузер не підтримує.",
"Use %(brand)s on mobile": "Користуйтеся %(brand)s на мобільному"
}

View File

@@ -6,7 +6,7 @@
"Welcome to Element": "Chào mừng tới Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat phân tán, mã hóa &amp; giao tiếp được tài trợ bởi [matrix]",
"Unexpected error preparing the app. See console for details.": "Lỗi xảy ra trong lúc chuẩn bị app. Xem console log để biết chi tiết.",
"The message from the parser is: %(message)s": "Nội dung tin là: %(message)s",
"The message from the parser is: %(message)s": "Thông báo của trình xử lý là: %(message)s",
"Invalid JSON": "JSON không hợp lệ",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Thiết lập không hợp lệ: chỉ có thể điền một trong số default_server_config, default_server_name, hoặc default_hs_url.",
"Invalid configuration: no default server specified.": "Cấu hình không hợp lệ: máy chủ mặc định không được thiết lập.",
@@ -23,8 +23,15 @@
"Unsupported browser": "Trình duyệt không được hỗ trợ",
"Go to your browser to complete Sign In": "Mở trình duyệt web để hoàn thành đăng nhập",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Máy tính để bàn (%(platformName)s)",
"Previous/next recently visited room or community": "Phòng chat hoặc cộng đồng gần đây trước/tiếp theo",
"Previous/next recently visited room or community": "Phòng chat hoặc cộng đồng đã đi đến gần đây trước/tiếp theo",
"Open user settings": "Mở cài đặt người dùng",
"Open": "Mở",
"Unable to load config file: please refresh the page to try again.": "Không thể tải tệp cấu hình: hãy làm mới trang để thử lại."
"Unable to load config file: please refresh the page to try again.": "Không thể tải tệp cấu hình: hãy làm mới trang để thử lại.",
"Failed to start": "Khởi động thất bại",
"Use %(brand)s on mobile": "Sử dụng %(brand)s trên di động",
"Powered by Matrix": "Được chạy bởi công nghệ Matrix",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Missing indexeddb worker script!": "Thiếu tệp lệnh làm việc của indexeddb!",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Thiết lập Element của bạn chứa JSON không hợp lệ. Vui lòng sửa vấn đề và tải lại trang.",
"Your Element is misconfigured": "Element của bạn bị thiết lập sai"
}

View File

@@ -1,36 +1,37 @@
{
"Dismiss": "标记为已读",
"Dismiss": "忽略",
"powered by Matrix": "由 Matrix 驱动",
"Unknown device": "未知设备",
"You need to be using HTTPS to place a screen-sharing call.": "您需要使用 HTTPS 以进行共享屏幕通话。",
"Welcome to Element": "欢迎来到 Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "去中心化、加密聊天&amp;与协作,由 [matrix] 驱动",
"Sign In": "登",
"Create Account": "创建账",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "去中心化、加密聊天与协作,由 [matrix] 驱动",
"Sign In": "登",
"Create Account": "创建账",
"Explore rooms": "探索聊天室",
"The message from the parser is: %(message)s": "语法分析器的信息:%(message)s",
"Invalid JSON": "无效的 JSON",
"Unexpected error preparing the app. See console for details.": "软件准备时出错,详细信息请查看控制台。",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "无效的配置:只能设置 default_server_configdefault_server_name或 default_hs_url 中的一个。",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "无效的配置:只能设置 default_server_configdefault_server_name 或 default_hs_url 中的一个。",
"Invalid configuration: no default server specified.": "无效的配置:没有设置默认服务器。",
"Missing indexeddb worker script!": "缺少 IndexedDB 辅助脚本!",
"Unable to load config file: please refresh the page to try again.": "无法加载配置文件:请再次刷新页面。",
"Open user settings": "打开用户设置",
"Previous/next recently visited room or community": "上一个 / 下一个最近访问的聊天室或社区",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s 桌面版 (%(platformName)s)",
"Go to your browser to complete Sign In": "您的浏览器完成登录",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s 桌面版%(platformName)s",
"Go to your browser to complete Sign In": "转到您的浏览器完成登录",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "不支持的浏览器",
"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> 以获得最佳体验。",
"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.": "您可以继续使用您目前的浏览器,但部分或全部的功能可能无法正常工作,应用程序的外观可能也看起来不正确。",
"I understand the risks and wish to continue": "我了解风险并希望继续",
"Go to element.io": " element.io",
"Go to element.io": "前往 element.io",
"Failed to start": "启动失败",
"Your Element is misconfigured": "Element 配置错误",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Element 配置文件中包含无效的JSON请改正错误并重新加载页面。",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Element 配置文件中包含无效的 JSON请改正错误并重新加载页面。",
"Download Completed": "下载成功",
"Open": "打开",
"Your browser can't run %(brand)s": "浏览器无法运行%(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "当前浏览器不支持%(brand)s调用的高级浏览器特性。",
"Powered by Matrix": "由 Matrix 驱动"
"Your browser can't run %(brand)s": "浏览器无法运行 %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "当前浏览器不支持 %(brand)s 所需的高级浏览器特性。",
"Powered by Matrix": "由 Matrix 驱动",
"Use %(brand)s on mobile": "在移动设备上使用 %(brand)s"
}

View File

@@ -32,5 +32,6 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Element 的配置中包含無效JSON請更正錯誤並重新加載網頁。",
"Your browser can't run %(brand)s": "當前瀏覽器無法運行%(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "當前瀏覽器不支持%(brand)s使用的高級特性。",
"Powered by Matrix": "由 Matrix 提供"
"Powered by Matrix": "由 Matrix 提供",
"Use %(brand)s on mobile": "在行動裝置上使用 %(brand)s"
}

View File

@@ -35,6 +35,7 @@ import SdkConfig from "matrix-react-sdk/src/SdkConfig";
import {parseQs, parseQsFromFragment} from './url_utils';
import VectorBasePlatform from "./platform/VectorBasePlatform";
import {createClient} from "matrix-js-sdk/src/matrix";
let lastLocationHashSet: string = null;
@@ -153,6 +154,26 @@ export async function loadApp(fragParams: {}) {
// Don't bother loading the app until the config is verified
const config = await verifyServerConfig();
// Before we continue, let's see if we're supposed to do an SSO redirect
const [userId] = await Lifecycle.getStoredSessionOwner();
const hasPossibleToken = !!userId;
const isReturningFromSso = !!params.loginToken;
const autoRedirect = config['sso_immediate_redirect'] === true;
if (!hasPossibleToken && !isReturningFromSso && autoRedirect) {
console.log("Bypassing app load to redirect to SSO");
const tempCli = createClient({
baseUrl: config['validated_server_config'].hsUrl,
idBaseUrl: config['validated_server_config'].isUrl,
});
PlatformPeg.get().startSingleSignOn(tempCli, "sso", `/${getScreenFromLocation(window.location).screen}`);
// We return here because startSingleSignOn() will asynchronously redirect us. We don't
// care to wait for it, and don't want to show any UI while we wait (not even half a welcome
// page). As such, just don't even bother loading the MatrixChat component.
return;
}
const MatrixChat = sdk.getComponent('structures.MatrixChat');
return <MatrixChat
onNewScreen={onNewScreen}

View File

@@ -22,7 +22,7 @@
<meta name="msapplication-TileImage" content="<%= require('../../res/vector-icons/mstile-150.png') %>">
<meta name="msapplication-config" content="<%= require('../../res/vector-icons/browserconfig.xml') %>">
<meta name="theme-color" content="#ffffff">
<meta property="og:image" content="<%= htmlWebpackPlugin.options.vars.og_image_url %>" />
<meta property="og:image" content="<%= og_image_url %>" />
<meta http-equiv="Content-Security-Policy" content="
default-src 'none';
style-src 'self' 'unsafe-inline';
@@ -49,11 +49,24 @@
<link rel="stylesheet" href="<%= file %>">
<% }
} %>
<% for (var i=0; i < htmlWebpackPlugin.tags.headTags.length; i++) {
var tag = htmlWebpackPlugin.tags.headTags[i];
var path = tag.attributes && tag.attributes.href;
if (path.indexOf("Inter") !== -1) { %>
<link rel="preload" as="font" href="<%= path %>" crossorigin="anonymous"/>
<% }
} %>
</head>
<body style="height: 100%; margin: 0;" data-vector-indexeddb-worker-script="<%= htmlWebpackPlugin.files.chunks['indexeddb-worker'].entry %>">
<body
style="height: 100%; margin: 0;"
data-vector-indexeddb-worker-script="<%= htmlWebpackPlugin.files.js.find(entry => entry.includes("indexeddb-worker.js")) %>"
data-vector-recorder-worklet-script="<%= htmlWebpackPlugin.files.js.find(entry => entry.includes("recorder-worklet.js")) %>"
>
<noscript>Sorry, Element requires JavaScript to be enabled.</noscript> <!-- TODO: Translate this? -->
<section id="matrixchat" style="height: 100%; overflow: auto;" class="notranslate"></section>
<script src="<%= htmlWebpackPlugin.files.chunks['bundle'].entry %>"></script>
<script src="<%= htmlWebpackPlugin.files.js.find(entry => entry.includes("bundle.js")) %>"></script>
<!-- Legacy supporting Prefetch images -->
<img src="<%= require('matrix-react-sdk/res/img/warning.svg') %>" width="24" height="23" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>

View File

@@ -51,6 +51,9 @@ function checkBrowserFeatures() {
// ES2018: http://262.ecma-international.org/9.0/#sec-promise.prototype.finally
window.Modernizr.addTest("promiseprototypefinally", () =>
typeof window.Promise?.prototype?.finally === "function");
// ES2020: http://262.ecma-international.org/#sec-promise.allsettled
window.Modernizr.addTest("promiseallsettled", () =>
typeof window.Promise?.allSettled === "function");
// ES2018: https://262.ecma-international.org/9.0/#sec-get-regexp.prototype.dotAll
window.Modernizr.addTest("regexpdotall", () => (
window.RegExp?.prototype &&
@@ -92,6 +95,7 @@ async function start() {
// load init.ts async so that its code is not executed immediately and we can catch any exceptions
const {
rageshakePromise,
setupLogStorage,
preparePlatform,
loadOlm,
loadConfig,
@@ -138,6 +142,9 @@ async function start() {
await settled(loadConfigPromise); // wait for it to settle
// keep initialising so that we can show any possible error with as many features (theme, i18n) as possible
// now that the config is ready, try to persist logs
const persistLogsPromise = setupLogStorage();
// Load language after loading config.json so that settingsDefaults.language can be applied
const loadLanguagePromise = loadLanguage();
// as quickly as we possibly can, set a default theme...
@@ -197,6 +204,11 @@ async function start() {
await loadThemePromise;
await loadLanguagePromise;
// We don't care if the log persistence made it through successfully, but we do want to
// make sure it had a chance to load before we move on. It's prepared much higher up in
// the process, making this the first time we check that it did something.
await settled(persistLogsPromise);
// Finally, load the app. All of the other react-sdk imports are in this file which causes the skinner to
// run on the components.
await loadApp(fragparts.params);

View File

@@ -19,8 +19,8 @@ limitations under the License.
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import olmWasmPath from "olm/olm.wasm";
import Olm from 'olm';
import olmWasmPath from "@matrix-org/olm/olm.wasm";
import Olm from '@matrix-org/olm';
import * as ReactDOM from "react-dom";
import * as React from "react";
@@ -33,7 +33,7 @@ import PlatformPeg from "matrix-react-sdk/src/PlatformPeg";
import SdkConfig from "matrix-react-sdk/src/SdkConfig";
import {setTheme} from "matrix-react-sdk/src/theme";
import { initRageshake } from "./rageshakesetup";
import {initRageshake, initRageshakeStore} from "./rageshakesetup";
export const rageshakePromise = initRageshake();
@@ -51,6 +51,14 @@ export function preparePlatform() {
}
}
export function setupLogStorage() {
if (SdkConfig.get().bug_report_endpoint_url) {
return initRageshakeStore();
}
console.warn("No bug report endpoint set - logs will not be persisted");
return Promise.resolve();
}
export async function loadConfig() {
// XXX: We call this twice, once here and once in MatrixChat as a prop. We call it here to ensure
// granular settings are loaded correctly and to avoid duplicating the override logic for the theme.

View File

@@ -152,7 +152,7 @@ body {
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.92 33.32C20.92 34.2478 20.1679 35 19.24 35C13.0544 35 8.04001 29.9856 8.04001 23.8C8.04001 22.8722 8.79217 22.12 9.72001 22.12C10.6478 22.12 11.4 22.8722 11.4 23.8C11.4 28.1299 14.9101 31.64 19.24 31.64C20.1679 31.64 20.92 32.3922 20.92 33.32Z" fill="#0DBD8B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.68 24.9199C3.75216 24.9199 3 24.1678 3 23.2399C3 17.0543 8.01441 12.0399 14.2 12.0399C15.1278 12.0399 15.88 12.7921 15.88 13.7199C15.88 14.6478 15.1278 15.3999 14.2 15.3999C9.87009 15.3999 6.36 18.91 6.36 23.2399C6.36 24.1678 5.60784 24.9199 4.68 24.9199Z" fill="#0DBD8B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.32 17.0801C30.2478 17.0801 31 17.8322 31 18.7601C31 24.9457 25.9856 29.9601 19.8 29.9601C18.8722 29.9601 18.12 29.2079 18.12 28.2801C18.12 27.3522 18.8722 26.6001 19.8 26.6001C24.1299 26.6001 27.64 23.09 27.64 18.7601C27.64 17.8322 28.3922 17.0801 29.32 17.0801Z" fill="#0DBD8B"/>
</svg>
</svg>
</span>
<p>Set up Element on iOS or Android</p>
</div>
@@ -260,6 +260,7 @@ body {
</g>
</g>
</svg>
</a>
<a href="https://f-droid.org/repository/browse/?fdid=im.vector.app" target="_blank" class="mx_ClearDecoration">
<svg width="164px" height="48px" viewBox="0 0 157 46" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<desc>Get it on F-Droid.</desc>

View File

@@ -399,6 +399,18 @@ export default class ElectronPlatform extends VectorBasePlatform {
return this._ipcCall('setAutoLaunchEnabled', enabled);
}
supportsWarnBeforeExit(): boolean {
return true;
}
async shouldWarnBeforeExit(): Promise<boolean> {
return this._ipcCall('shouldWarnBeforeExit');
}
async setWarnBeforeExit(enabled: boolean): Promise<void> {
return this._ipcCall('setWarnBeforeExit', enabled);
}
supportsAutoHideMenuBar(): boolean {
// This is irelevant on Mac as Menu bars don't live in the app window
return !isMac;
@@ -498,6 +510,10 @@ export default class ElectronPlatform extends VectorBasePlatform {
return this.eventIndexManager;
}
async setLanguage(preferredLangs: string[]) {
return this._ipcCall('setLanguage', preferredLangs);
}
setSpellCheckLanguages(preferredLangs: string[]) {
this._ipcCall('setSpellCheckLanguages', preferredLangs).catch(error => {
console.log("Failed to send setSpellCheckLanguages IPC to Electron");

View File

@@ -31,11 +31,12 @@ import SdkConfig from "matrix-react-sdk/src/SdkConfig";
import sendBugReport from "matrix-react-sdk/src/rageshake/submit-rageshake";
export function initRageshake() {
const prom = rageshake.init();
// we manually check persistence for rageshakes ourselves
const prom = rageshake.init(/*setUpPersistence=*/false);
prom.then(() => {
console.log("Initialised rageshake.");
console.log("To fix line numbers in Chrome: " +
"Meatball menu → Settings → Blackboxing → Add /rageshake\\.js$");
"Meatball menu → Settings → Ignore list → Add /rageshake\\.js$");
window.addEventListener('beforeunload', (e) => {
console.log('element-web closing');
@@ -50,6 +51,10 @@ export function initRageshake() {
return prom;
}
export function initRageshakeStore() {
return rageshake.tryInitStorage();
}
window.mxSendRageshake = function(text: string, withLogs?: boolean) {
const url = SdkConfig.get().bug_report_endpoint_url;
if (!url) {

View File

@@ -4,20 +4,29 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const TerserPlugin = require('terser-webpack-plugin');
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const webpack = require("webpack");
const HtmlWebpackInjectPreload = require('@principalstudio/html-webpack-inject-preload');
let og_image_url = process.env.RIOT_OG_IMAGE_URL;
if (!og_image_url) og_image_url = 'https://app.element.io/themes/element/img/logos/opengraph.png';
let ogImageUrl = process.env.RIOT_OG_IMAGE_URL;
if (!ogImageUrl) ogImageUrl = 'https://app.element.io/themes/element/img/logos/opengraph.png';
const additionalPlugins = [
// This is where you can put your customisation replacements.
];
module.exports = (env, argv) => {
let nodeEnv = argv.mode;
if (process.env.CI_PACKAGE) {
// Don't run minification for CI builds (this is only set for runs on develop)
// We override this via environment variable to avoid duplicating the scripts
// in `package.json` just for a different mode.
argv.mode = "development";
// More and more people are using nightly build as their main client
// Libraries like React have a development build that is useful
// when working on the app but adds significant runtime overhead
// We want to use the React production build but not compile the whole
// application to productions standards
nodeEnv = "production";
}
const development = {};
@@ -38,12 +47,18 @@ module.exports = (env, argv) => {
return {
...development,
node: {
// Mock out the NodeFS module: The opus decoder imports this wrongly.
fs: 'empty',
},
entry: {
"bundle": "./src/vector/index.ts",
"indexeddb-worker": "./src/vector/indexeddb-worker.js",
"mobileguide": "./src/vector/mobile_guide/index.js",
"jitsi": "./src/vector/jitsi/index.ts",
"usercontent": "./node_modules/matrix-react-sdk/src/usercontent/index.js",
"recorder-worklet": "./node_modules/matrix-react-sdk/src/voice/RecorderWorklet.ts",
// CSS themes
"theme-legacy": "./node_modules/matrix-react-sdk/res/themes/legacy-light/css/legacy-light.scss",
@@ -80,6 +95,10 @@ module.exports = (env, argv) => {
// we use a CSS optimizer too and need to manage it ourselves.
minimize: argv.mode === 'production',
minimizer: argv.mode === 'production' ? [new TerserPlugin({}), new OptimizeCSSAssetsPlugin({})] : [],
// Set the value of `process.env.NODE_ENV` for libraries like React
// See also https://v4.webpack.js.org/configuration/optimization/#optimizationnodeenv
nodeEnv,
},
resolve: {
@@ -152,8 +171,8 @@ module.exports = (env, argv) => {
},
loader: 'babel-loader',
options: {
cacheDirectory: true
}
cacheDirectory: true,
},
},
{
test: /\.css$/,
@@ -164,7 +183,7 @@ module.exports = (env, argv) => {
options: {
importLoaders: 1,
sourceMap: true,
}
},
},
{
loader: 'postcss-loader',
@@ -202,7 +221,7 @@ module.exports = (env, argv) => {
"local-plugins": true,
},
},
]
],
},
{
test: /\.scss$/,
@@ -213,7 +232,7 @@ module.exports = (env, argv) => {
options: {
importLoaders: 1,
sourceMap: true,
}
},
},
{
loader: 'postcss-loader',
@@ -231,7 +250,7 @@ module.exports = (env, argv) => {
require("postcss-easings")(),
require("postcss-strip-inline-comments")(),
require("postcss-hexrgba")(),
require("postcss-calc")({warnWhenCannotResolve: true}),
require("postcss-calc")(),
// It's important that this plugin is last otherwise we end
// up with broken CSS.
@@ -241,7 +260,7 @@ module.exports = (env, argv) => {
"local-plugins": true,
},
},
]
],
},
{
test: /\.wasm$/,
@@ -252,6 +271,55 @@ module.exports = (env, argv) => {
outputPath: '.',
},
},
{
// Fix up the name of the opus-recorder worker (react-sdk dependency).
// We more or less just want it to be clear it's for opus and not something else.
test: /encoderWorker\.min\.js$/,
loader: "file-loader",
type: "javascript/auto", // https://github.com/webpack/webpack/issues/6725
options: {
// We deliberately override the name so it makes sense in debugging
name: 'opus-encoderWorker.min.[hash:7].[ext]',
outputPath: '.',
},
},
{
// This is from the same place as the encoderWorker above, but only needed
// for Safari support.
test: /decoderWorker\.min\.js$/,
loader: "file-loader",
type: "javascript/auto", // https://github.com/webpack/webpack/issues/6725
options: {
// We deliberately override the name so it makes sense in debugging
name: 'opus-decoderWorker.min.[hash:7].[ext]',
outputPath: '.',
},
},
{
// This is from the same place as the encoderWorker above, but only needed
// for Safari support.
test: /decoderWorker\.min\.wasm$/,
loader: "file-loader",
type: "javascript/auto", // https://github.com/webpack/webpack/issues/6725
options: {
// We deliberately don't change the name because the decoderWorker has this
// hardcoded. This is here to avoid the default wasm rule from adding a hash.
name: 'decoderWorker.min.wasm',
outputPath: '.',
},
},
{
// This is from the same place as the encoderWorker above, but only needed
// for Safari support.
test: /waveWorker\.min\.js$/,
loader: "file-loader",
type: "javascript/auto", // https://github.com/webpack/webpack/issues/6725
options: {
// We deliberately override the name so it makes sense in debugging
name: 'wave-encoderWorker.min.[hash:7].[ext]',
outputPath: '.',
},
},
{
// cache-bust languages.json file placed in
// element-web/webapp/i18n during build by copy-res.js
@@ -299,7 +367,7 @@ module.exports = (env, argv) => {
},
],
},
]
],
},
plugins: [
@@ -318,9 +386,9 @@ module.exports = (env, argv) => {
// of the themes and which chunks we actually care about.
inject: false,
excludeChunks: ['mobileguide', 'usercontent', 'jitsi'],
minify: argv.mode === 'production',
vars: {
og_image_url: og_image_url,
minify: false,
templateParameters: {
og_image_url: ogImageUrl,
},
}),
@@ -328,7 +396,7 @@ module.exports = (env, argv) => {
new HtmlWebpackPlugin({
template: './src/vector/jitsi/index.html',
filename: 'jitsi.html',
minify: argv.mode === 'production',
minify: false,
chunks: ['jitsi'],
}),
@@ -336,7 +404,7 @@ module.exports = (env, argv) => {
new HtmlWebpackPlugin({
template: './src/vector/mobile_guide/index.html',
filename: 'mobile_guide/index.html',
minify: argv.mode === 'production',
minify: false,
chunks: ['mobileguide'],
}),
@@ -344,13 +412,13 @@ module.exports = (env, argv) => {
new HtmlWebpackPlugin({
template: './src/vector/static/unable-to-load.html',
filename: 'static/unable-to-load.html',
minify: argv.mode === 'production',
minify: false,
chunks: [],
}),
new HtmlWebpackPlugin({
template: './src/vector/static/incompatible-browser.html',
filename: 'static/incompatible-browser.html',
minify: argv.mode === 'production',
minify: false,
chunks: [],
}),
@@ -358,10 +426,14 @@ module.exports = (env, argv) => {
new HtmlWebpackPlugin({
template: './node_modules/matrix-react-sdk/src/usercontent/index.html',
filename: 'usercontent/index.html',
minify: argv.mode === 'production',
minify: false,
chunks: ['usercontent'],
}),
new HtmlWebpackInjectPreload({
files: [{ match: /.*Inter.*\.woff2?$/ }],
}),
...additionalPlugins,
],
@@ -426,6 +498,7 @@ function getAssetOutputPath(url, resourcePath) {
* be placed directly into things like CSS files.
*
* @param {string} path Some path to a file.
* @returns {string} converted path
*/
function toPublicPath(path) {
return path.replace(/\\/g, '/');

579
yarn.lock

File diff suppressed because it is too large Load Diff