Compare commits
333 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
625e001592 | ||
|
|
2861089193 | ||
|
|
872a7d9699 | ||
|
|
554a9de7c7 | ||
|
|
5a5b820fe5 | ||
|
|
6a84aa9403 | ||
|
|
d5325e203d | ||
|
|
e097a24afb | ||
|
|
567a4a6a1c | ||
|
|
0d6f4794d0 | ||
|
|
e1357879f0 | ||
|
|
b43d6536f5 | ||
|
|
e0e29996e0 | ||
|
|
9b119e3bc3 | ||
|
|
8c02abc88a | ||
|
|
7da72b219b | ||
|
|
2918ee3e1b | ||
|
|
edd85ad9e3 | ||
|
|
bf4df74c69 | ||
|
|
d8408933f1 | ||
|
|
ea498d663e | ||
|
|
b495af97e9 | ||
|
|
c667473258 | ||
|
|
ec781b3ebe | ||
|
|
c2e25fa427 | ||
|
|
02ffbd6f32 | ||
|
|
c41f164c75 | ||
|
|
d0b9b211c9 | ||
|
|
ed255e48f9 | ||
|
|
79303ec387 | ||
|
|
3360f02ed9 | ||
|
|
c4fa2d2585 | ||
|
|
c4545341ea | ||
|
|
ef839c45a7 | ||
|
|
9a8f9307fe | ||
|
|
a991156608 | ||
|
|
1b481c2a13 | ||
|
|
44fefec9ea | ||
|
|
110f4dc907 | ||
|
|
dab75ec0c2 | ||
|
|
c67906c3c6 | ||
|
|
aed9721936 | ||
|
|
344363d29d | ||
|
|
aef2ffb01b | ||
|
|
a63bd875bc | ||
|
|
9084a70e2e | ||
|
|
1c63db6441 | ||
|
|
1a635f6bf0 | ||
|
|
ed05f9deae | ||
|
|
b4167eaeaf | ||
|
|
512212b021 | ||
|
|
d3b3bb42aa | ||
|
|
078a1223b2 | ||
|
|
d8e0ea5791 | ||
|
|
11d54e926e | ||
|
|
301ea6a5f3 | ||
|
|
e743a12f30 | ||
|
|
8f409a8277 | ||
|
|
bb370f143c | ||
|
|
2d1d5e5066 | ||
|
|
354898376b | ||
|
|
899bcc067f | ||
|
|
58445efdde | ||
|
|
6e7826f416 | ||
|
|
f1e89bf833 | ||
|
|
d05c022d4f | ||
|
|
06611cb9cb | ||
|
|
64fd07ec73 | ||
|
|
deb40fe172 | ||
|
|
2ab0745063 | ||
|
|
278c81fbc6 | ||
|
|
7bdd2fd204 | ||
|
|
8d93991193 | ||
|
|
8c916721d2 | ||
|
|
40998b799a | ||
|
|
6583064cb4 | ||
|
|
6d251868a9 | ||
|
|
5b86aa3a7a | ||
|
|
4c1752e18c | ||
|
|
80e5c22065 | ||
|
|
9e2648877a | ||
|
|
19cc55f95d | ||
|
|
f5d35462e4 | ||
|
|
0c1a4c9a24 | ||
|
|
c1d3b46259 | ||
|
|
06355213ad | ||
|
|
ab95183e4f | ||
|
|
1e1a14c9a9 | ||
|
|
0ed6c550c2 | ||
|
|
cd20ff15b1 | ||
|
|
09bfe1a7e6 | ||
|
|
2b45efbdda | ||
|
|
b506d418ea | ||
|
|
a568f2ee02 | ||
|
|
ca73b06cc4 | ||
|
|
21b5eb722b | ||
|
|
b59cdaa741 | ||
|
|
2ea3e67a65 | ||
|
|
501f17a4ca | ||
|
|
f2b51848b7 | ||
|
|
893b874c10 | ||
|
|
ca312254d5 | ||
|
|
83b9adadd7 | ||
|
|
8d4ba9c02d | ||
|
|
c431177bda | ||
|
|
c8a3901633 | ||
|
|
cefe77befc | ||
|
|
fcb6444771 | ||
|
|
a12d617469 | ||
|
|
70bbeeee3b | ||
|
|
9baa3961aa | ||
|
|
f759c9b0a0 | ||
|
|
156752a220 | ||
|
|
b6dca76ad6 | ||
|
|
69bdb52c02 | ||
|
|
9c94f9f1ca | ||
|
|
f528301435 | ||
|
|
47c8c5507a | ||
|
|
5ae93b6916 | ||
|
|
90d86312e7 | ||
|
|
262b856813 | ||
|
|
a84925259f | ||
|
|
9c3325fb67 | ||
|
|
56761020bb | ||
|
|
6b31c14c97 | ||
|
|
67d82f2695 | ||
|
|
35327ff6a4 | ||
|
|
a3fdb1c2a2 | ||
|
|
98acd1b059 | ||
|
|
4bff37b16c | ||
|
|
098d8b154b | ||
|
|
cc7e64375d | ||
|
|
9d6bbef04e | ||
|
|
f821b7c8bb | ||
|
|
469df236d9 | ||
|
|
d64639c70a | ||
|
|
71206e8e3d | ||
|
|
ce44cbb2dc | ||
|
|
be1e4552aa | ||
|
|
d297ee5c7e | ||
|
|
b9a7531926 | ||
|
|
5de910a9eb | ||
|
|
dda3779ad8 | ||
|
|
0bdf979c46 | ||
|
|
7c895bd8c0 | ||
|
|
fe98a8b0c2 | ||
|
|
90d5c202c6 | ||
|
|
d8a7af0e7e | ||
|
|
7fe1acfd91 | ||
|
|
e9b7b36c87 | ||
|
|
6cef14e6cc | ||
|
|
212e4f831f | ||
|
|
059366f07a | ||
|
|
40384ffe42 | ||
|
|
5a9cc764c6 | ||
|
|
13330c5b8c | ||
|
|
beb98e9ebb | ||
|
|
9856978d0a | ||
|
|
d005d1f1c6 | ||
|
|
6f6c6d7b75 | ||
|
|
dae2f6c442 | ||
|
|
33c93e55c6 | ||
|
|
4d2e4d30ca | ||
|
|
6420120dd4 | ||
|
|
c5ba9de9c7 | ||
|
|
e391eea779 | ||
|
|
66a20f5356 | ||
|
|
36bd39fd21 | ||
|
|
78dd07cbfd | ||
|
|
ab5c00e8c4 | ||
|
|
a4e28cce88 | ||
|
|
68c4d005f1 | ||
|
|
588566cae7 | ||
|
|
847c15b2cd | ||
|
|
2716629642 | ||
|
|
74b0200337 | ||
|
|
593a56e2d7 | ||
|
|
55153ba7d2 | ||
|
|
2d97ff4eba | ||
|
|
ea4985819f | ||
|
|
231e87aca2 | ||
|
|
69c7d08941 | ||
|
|
06aa5a9aa9 | ||
|
|
0f76c858ac | ||
|
|
dfb1579625 | ||
|
|
94ffd69ce4 | ||
|
|
325ddbf5ca | ||
|
|
477886551d | ||
|
|
19ce3c99a0 | ||
|
|
b8662b43d8 | ||
|
|
44bf49d414 | ||
|
|
d1a6b656bc | ||
|
|
7f4f9b2cf1 | ||
|
|
e71180bf11 | ||
|
|
acca9005a9 | ||
|
|
4053d598f8 | ||
|
|
f37b63a6cb | ||
|
|
7793f07c81 | ||
|
|
8fd92b43ed | ||
|
|
c2a9157258 | ||
|
|
917a85ead9 | ||
|
|
3daec2a422 | ||
|
|
427328f934 | ||
|
|
0507cd2d90 | ||
|
|
5350c5e551 | ||
|
|
97314f2c9e | ||
|
|
f8e84c42ad | ||
|
|
fd2895eb40 | ||
|
|
dc73505c84 | ||
|
|
d4d1b957af | ||
|
|
04f95cc555 | ||
|
|
2d03ccfa57 | ||
|
|
ed86341ba5 | ||
|
|
4ee538117b | ||
|
|
3402236a0c | ||
|
|
89ce904ebb | ||
|
|
1dae7df28a | ||
|
|
c0143e58a2 | ||
|
|
75c9bad10d | ||
|
|
b5f114c157 | ||
|
|
27ff4e9488 | ||
|
|
54f92bd483 | ||
|
|
aeca2571e8 | ||
|
|
25eb587e3b | ||
|
|
ea059bbd7d | ||
|
|
06f434c313 | ||
|
|
07c0b20075 | ||
|
|
72aeb6ea5d | ||
|
|
520e6e5fef | ||
|
|
e710346fd6 | ||
|
|
49fd9f827d | ||
|
|
5fdeb23ca0 | ||
|
|
9700ff9083 | ||
|
|
7b209bdf9f | ||
|
|
910ab3583f | ||
|
|
5f353c4907 | ||
|
|
9cb823b210 | ||
|
|
947c6b2365 | ||
|
|
7b71db94e0 | ||
|
|
ad95d1fa64 | ||
|
|
cfee4c925a | ||
|
|
1edbe36547 | ||
|
|
87c42934ea | ||
|
|
daa755017e | ||
|
|
cdf9547220 | ||
|
|
408766366c | ||
|
|
7b93c56bd0 | ||
|
|
b29498bfae | ||
|
|
ca78985abc | ||
|
|
aa2f3918cc | ||
|
|
11e676cee0 | ||
|
|
0191d65bac | ||
|
|
8f1a641e6d | ||
|
|
7a2b103165 | ||
|
|
77c64fa03c | ||
|
|
184c37077b | ||
|
|
4753a49819 | ||
|
|
db08128954 | ||
|
|
1d06496bd1 | ||
|
|
48f71f26e7 | ||
|
|
7e404ace8c | ||
|
|
f54d265f90 | ||
|
|
fe535fc1e3 | ||
|
|
2a5b389053 | ||
|
|
991a1e743c | ||
|
|
c710cde50c | ||
|
|
05551219ac | ||
|
|
e0b05678e5 | ||
|
|
0564f4097b | ||
|
|
313489801d | ||
|
|
e65351073e | ||
|
|
8892ad9bb0 | ||
|
|
c9733c568e | ||
|
|
d8dea01ae5 | ||
|
|
8414dbdb99 | ||
|
|
4b137b639e | ||
|
|
53c5626bc8 | ||
|
|
3c13a5c6c6 | ||
|
|
f703124895 | ||
|
|
10d6fbaef7 | ||
|
|
92382e11ef | ||
|
|
a3eaa9d7fa | ||
|
|
831c81fcd5 | ||
|
|
21329f17c9 | ||
|
|
d5d3bcfac3 | ||
|
|
b440a263bd | ||
|
|
513c7075ab | ||
|
|
9f6a9e101c | ||
|
|
407777539f | ||
|
|
64a0d5eca1 | ||
|
|
2d58f74c02 | ||
|
|
6295ca2b12 | ||
|
|
a1ec01cd08 | ||
|
|
79ba7ab67e | ||
|
|
050b7ad961 | ||
|
|
9be700afa4 | ||
|
|
c56368cdbb | ||
|
|
15a8ee6663 | ||
|
|
d42e5ea1d8 | ||
|
|
20c6e6dd73 | ||
|
|
b8b5c30eb6 | ||
|
|
7d3ccb6242 | ||
|
|
7ef0702df4 | ||
|
|
a1e6b019d2 | ||
|
|
97afe18310 | ||
|
|
736c575f1b | ||
|
|
aa9b517664 | ||
|
|
984f5ac901 | ||
|
|
6a89776404 | ||
|
|
11600238ed | ||
|
|
0f7a207c3e | ||
|
|
6c92e794f9 | ||
|
|
c114932da0 | ||
|
|
4eb5bb2bae | ||
|
|
82749c3de3 | ||
|
|
a40cc4fa3e | ||
|
|
c988988a70 | ||
|
|
b31bf6cfca | ||
|
|
c47532fe2a | ||
|
|
7b8010f23a | ||
|
|
14daccecfc | ||
|
|
b9b859dd28 | ||
|
|
477b7a362b | ||
|
|
c7617c2538 | ||
|
|
465a2ce314 | ||
|
|
05d5e3f680 | ||
|
|
737fa7dca5 | ||
|
|
c76a5f2c52 | ||
|
|
2fa8b0f8b2 | ||
|
|
69745bbd40 | ||
|
|
6092bb3ae0 | ||
|
|
65f37665e4 | ||
|
|
02ca5011a3 |
2
.github/ISSUE_TEMPLATE.md
vendored
2
.github/ISSUE_TEMPLATE.md
vendored
@@ -38,7 +38,7 @@ For the web app:
|
||||
|
||||
- **Browser**: Chrome, Safari, Firefox? which version?
|
||||
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
|
||||
- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web?
|
||||
- **URL**: develop.element.io / app.element.io / somewhere else? If a private server, what version of Element Web?
|
||||
|
||||
For the desktop app:
|
||||
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -48,7 +48,7 @@ For the web app:
|
||||
|
||||
- **Browser**: Chrome, Safari, Firefox? which version?
|
||||
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
|
||||
- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web?
|
||||
- **URL**: develop.element.io / app.element.io / somewhere else? If a private server, what version of Element Web?
|
||||
|
||||
For the desktop app:
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ For the web app:
|
||||
|
||||
- **Browser**: Chrome, Safari, Firefox? which version?
|
||||
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
|
||||
- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web?
|
||||
- **URL**: develop.element.io / app.element.io / somewhere else? If a private server, what version of Element Web?
|
||||
|
||||
For the desktop app:
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ module.exports = {
|
||||
"at-rule-no-unknown": null,
|
||||
"no-descending-specificity": null,
|
||||
"scss/at-rule-no-unknown": [true, {
|
||||
// https://github.com/vector-im/riot-web/issues/10544
|
||||
// https://github.com/vector-im/element-web/issues/10544
|
||||
"ignoreAtRules": ["define-mixin"],
|
||||
}],
|
||||
}
|
||||
|
||||
@@ -16,3 +16,6 @@ include:
|
||||
|
||||
* Alexandr Korsak (https://github.com/oivoodoo)
|
||||
Improved multiple file uploading
|
||||
|
||||
* Thom Cleary (https://github.com/thomcatdotrocks)
|
||||
Small update for tarball deployment
|
||||
|
||||
210
CHANGELOG.md
210
CHANGELOG.md
@@ -1,3 +1,213 @@
|
||||
Changes in [1.7.16](https://github.com/vector-im/element-web/releases/tag/v1.7.16) (2020-12-21)
|
||||
===============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.16-rc.1...v1.7.16)
|
||||
|
||||
* Upgrade to React SDK 3.11.1 and JS SDK 9.4.1
|
||||
|
||||
Changes in [1.7.16-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.16-rc.1) (2020-12-16)
|
||||
=========================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.15...v1.7.16-rc.1)
|
||||
|
||||
* Upgrade to React SDK 3.11.0-rc.2 and JS SDK 9.4.0-rc.2
|
||||
* Translations update from Weblate
|
||||
[\#15979](https://github.com/vector-im/element-web/pull/15979)
|
||||
* Bump ini from 1.3.5 to 1.3.7
|
||||
[\#15949](https://github.com/vector-im/element-web/pull/15949)
|
||||
* Document pull request previews
|
||||
[\#15937](https://github.com/vector-im/element-web/pull/15937)
|
||||
* Improve asset path for KaTeX fonts
|
||||
[\#15939](https://github.com/vector-im/element-web/pull/15939)
|
||||
* Fix an important semicolon
|
||||
[\#15912](https://github.com/vector-im/element-web/pull/15912)
|
||||
* Bump highlight.js from 10.1.2 to 10.4.1
|
||||
[\#15898](https://github.com/vector-im/element-web/pull/15898)
|
||||
* Add gitter.im to room directory
|
||||
[\#15894](https://github.com/vector-im/element-web/pull/15894)
|
||||
* Extend Platform to support idpId for SSO flows
|
||||
[\#15771](https://github.com/vector-im/element-web/pull/15771)
|
||||
* Include KaTeX CSS as a dependency
|
||||
[\#15843](https://github.com/vector-im/element-web/pull/15843)
|
||||
|
||||
Changes in [1.7.15](https://github.com/vector-im/element-web/releases/tag/v1.7.15) (2020-12-07)
|
||||
===============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.15-rc.1...v1.7.15)
|
||||
|
||||
* Upgrade to React SDK 3.10.0 and JS SDK 9.3.0
|
||||
|
||||
Changes in [1.7.15-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.15-rc.1) (2020-12-02)
|
||||
=========================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.14...v1.7.15-rc.1)
|
||||
|
||||
* Upgrade to React SDK 3.10.0-rc.1 and JS SDK 9.3.0-rc.1
|
||||
* Include KaTeX CSS as a dependency
|
||||
[\#15843](https://github.com/vector-im/element-web/pull/15843)
|
||||
* Translations update from Weblate
|
||||
[\#15884](https://github.com/vector-im/element-web/pull/15884)
|
||||
* added katex.min.css to webpack for math support (main PR in matrix-react-
|
||||
sdk)
|
||||
[\#15277](https://github.com/vector-im/element-web/pull/15277)
|
||||
* Rebrand package name and other details
|
||||
[\#15828](https://github.com/vector-im/element-web/pull/15828)
|
||||
* Bump highlight.js from 9.18.1 to 10.1.2
|
||||
[\#15819](https://github.com/vector-im/element-web/pull/15819)
|
||||
* Update branding of packaging artifacts
|
||||
[\#15810](https://github.com/vector-im/element-web/pull/15810)
|
||||
* Update the react-sdk reference in the lockfile
|
||||
[\#15814](https://github.com/vector-im/element-web/pull/15814)
|
||||
* Update widget API for good measure in Element Web
|
||||
[\#15812](https://github.com/vector-im/element-web/pull/15812)
|
||||
* Stop publishing Element to NPM
|
||||
[\#15811](https://github.com/vector-im/element-web/pull/15811)
|
||||
* Add inotify instance limit info to README
|
||||
[\#15795](https://github.com/vector-im/element-web/pull/15795)
|
||||
|
||||
Changes in [1.7.14](https://github.com/vector-im/element-web/releases/tag/v1.7.14) (2020-11-23)
|
||||
===============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.14-rc.1...v1.7.14)
|
||||
|
||||
* Upgrade to React SDK 3.9.0 and JS SDK 9.2.0
|
||||
|
||||
Changes in [1.7.14-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.14-rc.1) (2020-11-18)
|
||||
=========================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.13...v1.7.14-rc.1)
|
||||
|
||||
* Upgrade to React SDK 3.9.0-rc.1 and JS SDK 9.2.0-rc.1
|
||||
* Translations update from Weblate
|
||||
[\#15767](https://github.com/vector-im/element-web/pull/15767)
|
||||
* Update the widget-api for element-web
|
||||
[\#15717](https://github.com/vector-im/element-web/pull/15717)
|
||||
|
||||
Changes in [1.7.13](https://github.com/vector-im/element-web/releases/tag/v1.7.13) (2020-11-09)
|
||||
===============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.13-rc.1...v1.7.13)
|
||||
|
||||
* Upgrade to React SDK 3.8.0 and JS SDK 9.1.0
|
||||
|
||||
Changes in [1.7.13-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.13-rc.1) (2020-11-04)
|
||||
=========================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.12...v1.7.13-rc.1)
|
||||
|
||||
* Upgrade to React SDK 3.8.0-rc.1 and JS SDK 9.1.0-rc.1
|
||||
* Translations update from Weblate
|
||||
[\#15644](https://github.com/vector-im/element-web/pull/15644)
|
||||
* Add countly experiment to develop/nightly configs
|
||||
[\#15614](https://github.com/vector-im/element-web/pull/15614)
|
||||
* Add documentation for new UIFeature flag regarding room history settings
|
||||
[\#15592](https://github.com/vector-im/element-web/pull/15592)
|
||||
* Rename Docker repo in docs
|
||||
[\#15590](https://github.com/vector-im/element-web/pull/15590)
|
||||
* Fix Jitsi regressions with custom themes
|
||||
[\#15575](https://github.com/vector-im/element-web/pull/15575)
|
||||
|
||||
Changes in [1.7.12](https://github.com/vector-im/element-web/releases/tag/v1.7.12) (2020-10-28)
|
||||
===============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.11...v1.7.12)
|
||||
|
||||
* Upgrade to React SDK 3.7.1 and JS SDK 9.0.1
|
||||
* [Release] Fix Jitsi regressions with custom themes
|
||||
[\#15577](https://github.com/vector-im/element-web/pull/15577)
|
||||
|
||||
Changes in [1.7.11](https://github.com/vector-im/element-web/releases/tag/v1.7.11) (2020-10-26)
|
||||
===============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.11-rc.1...v1.7.11)
|
||||
|
||||
* Upgrade to React SDK 3.7.0 and JS SDK 9.0.0
|
||||
|
||||
Changes in [1.7.11-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.11-rc.1) (2020-10-21)
|
||||
=========================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.10...v1.7.11-rc.1)
|
||||
|
||||
* Upgrade to React SDK 3.7.0-rc.2 and JS SDK 9.0.0-rc.1
|
||||
* Update Weblate URL
|
||||
[\#15516](https://github.com/vector-im/element-web/pull/15516)
|
||||
* Translations update from Weblate
|
||||
[\#15517](https://github.com/vector-im/element-web/pull/15517)
|
||||
* Jitsi accept theme variable and restyle
|
||||
[\#15499](https://github.com/vector-im/element-web/pull/15499)
|
||||
* Skip editor confirmation of upgrades
|
||||
[\#15506](https://github.com/vector-im/element-web/pull/15506)
|
||||
* Adjust for new widget messaging APIs
|
||||
[\#15495](https://github.com/vector-im/element-web/pull/15495)
|
||||
* Use HTTPS_PROXY environment variable for downloading external_api.min…
|
||||
[\#15479](https://github.com/vector-im/element-web/pull/15479)
|
||||
* Document customisation points
|
||||
[\#15475](https://github.com/vector-im/element-web/pull/15475)
|
||||
* Don't fatally end the Jitsi widget when it's not being used as a widget
|
||||
[\#15466](https://github.com/vector-im/element-web/pull/15466)
|
||||
* electron-platform: Pass the user/devce id pair when initializing the event
|
||||
index.
|
||||
[\#15455](https://github.com/vector-im/element-web/pull/15455)
|
||||
|
||||
Changes in [1.7.10](https://github.com/vector-im/element-web/releases/tag/v1.7.10) (2020-10-20)
|
||||
===============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.9...v1.7.10)
|
||||
|
||||
* [Release] Adjust for new widget messaging APIs
|
||||
[\#15497](https://github.com/vector-im/element-web/pull/15497)
|
||||
* Upgrade to React SDK 3.6.1
|
||||
|
||||
Changes in [1.7.9](https://github.com/vector-im/element-web/releases/tag/v1.7.9) (2020-10-12)
|
||||
=============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.9-rc.1...v1.7.9)
|
||||
|
||||
* Upgrade to React SDK 3.6.0 and JS SDK 8.5.0
|
||||
|
||||
Changes in [1.7.9-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.9-rc.1) (2020-10-07)
|
||||
=======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.8...v1.7.9-rc.1)
|
||||
|
||||
* Upgrade to React SDK 3.6.0-rc.1 and JS SDK 8.5.0-rc.1
|
||||
* Update from Weblate
|
||||
[\#15406](https://github.com/vector-im/element-web/pull/15406)
|
||||
* Update Jest and JSDOM
|
||||
[\#15402](https://github.com/vector-im/element-web/pull/15402)
|
||||
* Add support for dehydration/fallback keys
|
||||
[\#15398](https://github.com/vector-im/element-web/pull/15398)
|
||||
* Remove riot-bot from sample config
|
||||
[\#15376](https://github.com/vector-im/element-web/pull/15376)
|
||||
* Switch to using the Widget API SDK for Jitsi widgets
|
||||
[\#15102](https://github.com/vector-im/element-web/pull/15102)
|
||||
* Remove workbox
|
||||
[\#15352](https://github.com/vector-im/element-web/pull/15352)
|
||||
* Disable workbox when running in webpack dev server, not in dev mode
|
||||
[\#15345](https://github.com/vector-im/element-web/pull/15345)
|
||||
* Update Riot -> Element in contribute.json
|
||||
[\#15326](https://github.com/vector-im/element-web/pull/15326)
|
||||
* Update Riot -> Element in redeploy.py
|
||||
[\#15336](https://github.com/vector-im/element-web/pull/15336)
|
||||
* Update Riot -> Element in docs/feature-flags.md
|
||||
[\#15325](https://github.com/vector-im/element-web/pull/15325)
|
||||
* Update Riot -> Element in element.io/README.md
|
||||
[\#15327](https://github.com/vector-im/element-web/pull/15327)
|
||||
* Update Riot -> Element in VectorAuthFooter
|
||||
[\#15328](https://github.com/vector-im/element-web/pull/15328)
|
||||
* Update Riot -> Element in VectorEmbeddedPage
|
||||
[\#15329](https://github.com/vector-im/element-web/pull/15329)
|
||||
* Update Riot -> Element in docs/review.md
|
||||
[\#15330](https://github.com/vector-im/element-web/pull/15330)
|
||||
* Update Riot -> Element in welcome.html
|
||||
[\#15332](https://github.com/vector-im/element-web/pull/15332)
|
||||
* Update Riot -> Element in issues-burndown.pl
|
||||
[\#15333](https://github.com/vector-im/element-web/pull/15333)
|
||||
* Update Riot -> Element in redeploy.py
|
||||
[\#15334](https://github.com/vector-im/element-web/pull/15334)
|
||||
* Update Riot -> Element in index.ts
|
||||
[\#15335](https://github.com/vector-im/element-web/pull/15335)
|
||||
* Update Riot -> Element Web in issue templates
|
||||
[\#15324](https://github.com/vector-im/element-web/pull/15324)
|
||||
* Give the Jitsi widget an icon to help with discovery
|
||||
[\#15316](https://github.com/vector-im/element-web/pull/15316)
|
||||
* Jitsi widget wrapper updates for hangup button
|
||||
[\#15219](https://github.com/vector-im/element-web/pull/15219)
|
||||
* Tidy up Service Worker, only run Workbox in production
|
||||
[\#15271](https://github.com/vector-im/element-web/pull/15271)
|
||||
* Remove conference handler
|
||||
[\#15274](https://github.com/vector-im/element-web/pull/15274)
|
||||
* Rebrand the webpack pipeline for Element
|
||||
[\#15266](https://github.com/vector-im/element-web/pull/15266)
|
||||
* Replace dummy sw.js with pre-caching and runtime-caching workbox SW
|
||||
[\#15196](https://github.com/vector-im/element-web/pull/15196)
|
||||
|
||||
Changes in [1.7.8](https://github.com/vector-im/element-web/releases/tag/v1.7.8) (2020-09-28)
|
||||
=============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.8-rc.1...v1.7.8)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
FROM node:12 as builder
|
||||
|
||||
# Support custom branches of the react-sdk and js-sdk. This also helps us build
|
||||
# images of riot-web develop.
|
||||
# images of element-web develop.
|
||||
ARG USE_CUSTOM_SDKS=false
|
||||
ARG REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git"
|
||||
ARG REACT_SDK_BRANCH="master"
|
||||
|
||||
33
README.md
33
README.md
@@ -39,14 +39,14 @@ released version of Element:
|
||||
|
||||
1. Download the latest version from https://github.com/vector-im/element-web/releases
|
||||
1. Untar the tarball on your web server
|
||||
1. Move (or symlink) the `riot-x.x.x` directory to an appropriate name
|
||||
1. Move (or symlink) the `element-x.x.x` directory to an appropriate name
|
||||
1. Configure the correct caching headers in your webserver (see below)
|
||||
1. If desired, copy `config.sample.json` to `config.json` and edit it
|
||||
as desired. See the [configuration docs](docs/config.md) for details.
|
||||
1. Enter the URL into your browser and log into Element!
|
||||
|
||||
Releases are signed using gpg and the OpenPGP standard, and can be checked against the public key located
|
||||
at https://packages.riot.im/riot-release-key.asc.
|
||||
at https://packages.riot.im/element-release-key.asc.
|
||||
|
||||
Note that for the security of your chats will need to serve Element
|
||||
over HTTPS. Major browsers also do not allow you to use VoIP/video
|
||||
@@ -129,14 +129,14 @@ Running from Docker
|
||||
The Docker image can be used to serve element-web as a web server. The easiest way to use
|
||||
it is to use the prebuilt image:
|
||||
```bash
|
||||
docker run -p 80:80 vectorim/riot-web
|
||||
docker run -p 80:80 vectorim/element-web
|
||||
```
|
||||
|
||||
To supply your own custom `config.json`, map a volume to `/app/config.json`. For example,
|
||||
if your custom config was located at `/etc/element-web/config.json` then your Docker command
|
||||
would be:
|
||||
```bash
|
||||
docker run -p 80:80 -v /etc/element-web/config.json:/app/config.json vectorim/riot-web
|
||||
docker run -p 80:80 -v /etc/element-web/config.json:/app/config.json vectorim/element-web
|
||||
```
|
||||
|
||||
To build the image yourself:
|
||||
@@ -275,22 +275,29 @@ modifying it. See the [configuration docs](docs/config.md) for details.
|
||||
Open http://127.0.0.1:8080/ in your browser to see your newly built Element.
|
||||
|
||||
**Note**: The build script uses inotify by default on Linux to monitor directories
|
||||
for changes. If the inotify watch limit is too low your build will silently fail.
|
||||
To avoid this issue, we recommend a limit of at least 128M.
|
||||
for changes. If the inotify limits are too low your build will fail silently or with
|
||||
`Error: EMFILE: too many open files`. To avoid these issues, we recommend a watch limit
|
||||
of at least `128M` and instance limit around `512`.
|
||||
|
||||
To set a new inotify watch limit, execute:
|
||||
You may be interested in issues [#15750](https://github.com/vector-im/element-web/issues/15750) and
|
||||
[#15774](https://github.com/vector-im/element-web/issues/15774) for further details.
|
||||
|
||||
To set a new inotify watch and instance limit, execute:
|
||||
|
||||
```
|
||||
$ sudo sysctl fs.inotify.max_user_watches=131072
|
||||
$ sudo sysctl -p
|
||||
sudo sysctl fs.inotify.max_user_watches=131072
|
||||
sudo sysctl fs.inotify.max_user_instances=512
|
||||
sudo sysctl -p
|
||||
```
|
||||
|
||||
If you wish, you can make this new limit permanent, by executing:
|
||||
If you wish, you can make the new limits permanent, by executing:
|
||||
|
||||
```
|
||||
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
|
||||
$ sudo sysctl -p
|
||||
echo fs.inotify.max_user_watches=131072 | sudo tee -a /etc/sysctl.conf
|
||||
echo fs.inotify.max_user_instances=512 | sudo tee -a /etc/sysctl.conf
|
||||
sudo sysctl -p
|
||||
```
|
||||
|
||||
___
|
||||
|
||||
When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be
|
||||
@@ -333,7 +340,7 @@ To add a new translation, head to the [translating doc](docs/translating.md).
|
||||
|
||||
For a developer guide, see the [translating dev doc](docs/translating-dev.md).
|
||||
|
||||
[<img src="https://translate.riot.im/widgets/element-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.riot.im/engage/element-web/?utm_source=widget)
|
||||
[<img src="https://translate.element.io/widgets/element-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.element.io/engage/element-web/?utm_source=widget)
|
||||
|
||||
Triaging issues
|
||||
===============
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
"matrix.org"
|
||||
]
|
||||
},
|
||||
"welcomeUserId": "@riot-bot:matrix.org",
|
||||
"piwik": {
|
||||
"url": "https://piwik.riot.im/",
|
||||
"whitelistedHSUrls": ["https://matrix.org"],
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": "Riot",
|
||||
"name": "Element",
|
||||
"description": "A glossy Matrix collaboration client for the web.",
|
||||
"repository": {
|
||||
"url": "https://github.com/vector-im/riot-web",
|
||||
"url": "https://github.com/vector-im/element-web",
|
||||
"license": "Apache License 2.0"
|
||||
},
|
||||
"bugs": {
|
||||
"list": "https://github.com/vector-im/riot-web/issues",
|
||||
"report": "https://github.com/vector-im/riot-web/issues/new/choose"
|
||||
"list": "https://github.com/vector-im/element-web/issues",
|
||||
"report": "https://github.com/vector-im/element-web/issues/new/choose"
|
||||
},
|
||||
"keywords": [
|
||||
"chat",
|
||||
|
||||
@@ -74,7 +74,7 @@ Key:
|
||||
|
||||
Notes:
|
||||
+ A task begins when all its dependencies (arrows going into it) are fulfilled.
|
||||
+ The success of setting up rageshake is never asserted, riot-web has a fallback path for running without IDB (and thus rageshake).
|
||||
+ The success of setting up rageshake is never asserted, element-web has a fallback path for running without IDB (and thus rageshake).
|
||||
+ Everything is awaited to be settled before the Modernizr check, to allow it to make use of things like i18n if they are successful.
|
||||
|
||||
Underlying dependencies:
|
||||
|
||||
@@ -152,7 +152,7 @@ decentralised.
|
||||
Desktop app configuration
|
||||
=========================
|
||||
|
||||
See https://github.com/vector-im/riot-desktop#user-specified-configjson
|
||||
See https://github.com/vector-im/element-desktop#user-specified-configjson
|
||||
|
||||
UI Features
|
||||
===========
|
||||
@@ -192,3 +192,5 @@ Currently, the following UI feature flags are supported:
|
||||
useful if accounts are managed externally.
|
||||
* `UIFeature.advancedEncryption` - Whether or not advanced encryption options are shown to the
|
||||
user.
|
||||
* `UIFeature.roomHistorySettings` - Whether or not the room history settings are shown to the user.
|
||||
This should only be used if the room history visibility options are managed by the server.
|
||||
|
||||
34
docs/customisations.md
Normal file
34
docs/customisations.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Customisations
|
||||
|
||||
Element Web and the React SDK support "customisation points" that can be used to
|
||||
easily add custom logic specific to a particular deployment of Element Web.
|
||||
|
||||
An example of this is the [security customisations
|
||||
module](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/customisations/Security.ts).
|
||||
This module in the React SDK only defines some empty functions and their types:
|
||||
it does not do anything by default.
|
||||
|
||||
To make use of these customisation points, you will first need to fork Element
|
||||
Web so that you can add your own code. Even though the default module is part of
|
||||
the React SDK, you can still override it from the Element Web layer:
|
||||
|
||||
1. Copy the default customisation module to
|
||||
`element-web/src/customisations/YourNameSecurity.ts`
|
||||
2. Edit customisations points and make sure export the ones you actually want to
|
||||
activate
|
||||
3. Tweak the Element build process to use the customised module instead of the
|
||||
default by adding this to end of the `plugins` array in `webpack.config.js`:
|
||||
|
||||
```js
|
||||
new webpack.NormalModuleReplacementPlugin(
|
||||
/src\/customisations\/Security.ts/,
|
||||
path.resolve(__dirname, 'src/customisations/YourNameSecurity.ts'),
|
||||
),
|
||||
```
|
||||
|
||||
If we add more customisation modules in the future, we'll likely improve these
|
||||
steps to remove the need for build changes like the above.
|
||||
|
||||
By isolating customisations to their own module, this approach should remove the
|
||||
chance of merge conflicts when updating your fork, and thus simplify ongoing
|
||||
maintenance.
|
||||
@@ -8,7 +8,7 @@ For example, flags make the following things possible:
|
||||
* Extended testing of a feature via labs on develop
|
||||
* Enabling features when ready instead of the first moment the code is released
|
||||
* Testing a feature with a specific set of users (by enabling only on a specific
|
||||
Riot instance)
|
||||
Element instance)
|
||||
|
||||
The size of the feature controlled by a feature flag may vary widely: it could
|
||||
be a large project like reactions or a smaller change to an existing algorithm.
|
||||
@@ -49,7 +49,7 @@ When starting work on a feature, we should create a matching feature flag:
|
||||
```js
|
||||
SettingsStore.getValue("feature_cats")
|
||||
```
|
||||
3. Document the feature in the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
|
||||
3. Document the feature in the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
|
||||
|
||||
With these steps completed, the feature is disabled by default, but can be
|
||||
enabled on develop and nightly by interested users for testing.
|
||||
@@ -60,9 +60,9 @@ The following lists a few common options.
|
||||
## Enabling by default on develop and nightly
|
||||
|
||||
Set the feature to `true` in the
|
||||
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
|
||||
[develop](https://github.com/vector-im/element-web/blob/develop/element.io/develop/config.json)
|
||||
and
|
||||
[nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json)
|
||||
[nightly](https://github.com/vector-im/element-desktop/blob/develop/element.io/nightly/config.json)
|
||||
configs:
|
||||
|
||||
```json
|
||||
@@ -74,9 +74,9 @@ configs:
|
||||
## Enabling by default on staging, app, and release
|
||||
|
||||
Set the feature to `true` in the
|
||||
[staging / app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json)
|
||||
[staging / app](https://github.com/vector-im/element-web/blob/develop/element.io/app/config.json)
|
||||
and
|
||||
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
|
||||
[release](https://github.com/vector-im/element-desktop/blob/develop/element.io/release/config.json)
|
||||
configs.
|
||||
|
||||
**Note:** The above will only enable the feature for https://app.element.io and official Element
|
||||
@@ -90,18 +90,18 @@ Once we're confident that a feature is working well, we should remove or convert
|
||||
If the feature is meant to be turned off/on by the user:
|
||||
1. Remove `isFeature` from the [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
|
||||
2. Change the `default` to `true` (if desired).
|
||||
3. Remove the feature from the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
|
||||
3. Remove the feature from the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
|
||||
4. Celebrate! 🥳
|
||||
|
||||
If the feature is meant to be forced on (non-configurable):
|
||||
1. Remove the [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
|
||||
2. Remove all `getValue` lines that test for the feature.
|
||||
3. Remove the feature from the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
|
||||
3. Remove the feature from the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
|
||||
4. If applicable, remove the feature state from
|
||||
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json),
|
||||
[nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json),
|
||||
[staging / app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json),
|
||||
[develop](https://github.com/vector-im/element-web/blob/develop/element.io/develop/config.json),
|
||||
[nightly](https://github.com/vector-im/element-desktop/blob/develop/element.io/nightly/config.json),
|
||||
[staging / app](https://github.com/vector-im/element-web/blob/develop/element.io/app/config.json),
|
||||
and
|
||||
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
|
||||
[release](https://github.com/vector-im/element-desktop/blob/develop/element.io/release/config.json)
|
||||
configs
|
||||
5. Celebrate! 🥳
|
||||
|
||||
BIN
docs/img/pr-checks.png
Normal file
BIN
docs/img/pr-checks.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 155 KiB |
@@ -40,7 +40,7 @@ should start a new conference on your Jitsi server.
|
||||
domain will appear later in the URL as a configuration parameter.
|
||||
|
||||
**Hint**: If you want everyone on your homeserver to use the same Jitsi server by
|
||||
default, and you are using riot-web 1.6 or newer, set the following on your homeserver's
|
||||
default, and you are using element-web 1.6 or newer, set the following on your homeserver's
|
||||
`/.well-known/matrix/client` config:
|
||||
```json
|
||||
{
|
||||
|
||||
@@ -7,6 +7,10 @@ to `Settings->Labs`. This list is non-exhaustive and subject to change, chat in
|
||||
**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be
|
||||
dropped. Ask in the room if you are unclear about any details here.**
|
||||
|
||||
## Render LaTeX maths in messages (`feature_latex_maths`)
|
||||
|
||||
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.
|
||||
@@ -106,3 +110,8 @@ To enable message previews for reactions in DMs, enable `feature_roomlist_previe
|
||||
represent what communities v2 will look/feel like and can/will change without notice. Due to the early
|
||||
stages this feature is in and the requirement for a compatible homeserver, we will not be accepting issues
|
||||
or feedback for this functionality at this time.
|
||||
|
||||
## Dehydrated devices (`feature_dehydration`)
|
||||
|
||||
Allows users to receive encrypted messages by creating a device that is stored
|
||||
encrypted on the server, as described in [MSC2697](https://github.com/matrix-org/matrix-doc/pull/2697).
|
||||
|
||||
33
docs/pr-previews.md
Normal file
33
docs/pr-previews.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Pull Request Previews
|
||||
|
||||
Pull requests to the React SDK layer (and in the future other layers as well)
|
||||
automatically set up a preview site with a full deployment of Element with the
|
||||
changes from the pull request added in so that anyone can easily test and review
|
||||
them. This is especially useful for checking visual and interactive changes.
|
||||
|
||||
To access the preview site, scroll down to the bottom of the PR where the
|
||||
various CI results are displayed:
|
||||
|
||||

|
||||
|
||||
The checks section could be collapsed at first, so you may need to click "Show
|
||||
all checks" to reveal them. Look for an entry that mentions `deploy-preview`. It
|
||||
may be at the end of the list, so you may need scroll a bit to see it. To access
|
||||
the preview site, click the "Details" link in the deploy preview row.
|
||||
|
||||
**Important:** Please always use test accounts when logging into preview sites,
|
||||
as they may contain unreviewed and potentially dangerous code that could damage
|
||||
your account, exfiltrate encryption keys, etc.
|
||||
|
||||
## FAQs
|
||||
|
||||
### Are preview sites created for pull requests from contributors?
|
||||
|
||||
Yes, they are created for all PRs from any author.
|
||||
|
||||
### Do preview sites expire after some time period?
|
||||
|
||||
No, there is no expiry date, so they should remain accessible indefinitely, but
|
||||
of course they obviously aren't meant to live beyond the development workflow,
|
||||
so please don't rely on them for anything important. They may disappear at any
|
||||
time without notice.
|
||||
@@ -43,7 +43,7 @@ When reviewing code, here are some things we look for and also things we avoid:
|
||||
|
||||
### Workflow
|
||||
|
||||
* Authors should request review from the riot-web team by default (if someone on
|
||||
* Authors should request review from the element-web team by default (if someone on
|
||||
the team is clearly the expert in an area, a direct review request to them may
|
||||
be more appropriate)
|
||||
* Reviewers should remove the team review request and request review from
|
||||
@@ -73,10 +73,9 @@ functionality is:
|
||||
required (though may still be useful) since we can continue tweaking
|
||||
|
||||
As it can be difficult to review design work from looking at just the changed
|
||||
files in a PR, authors should be prepared for Design and / or Product teams to
|
||||
request a link to an ad-hoc build of Element (hosted anywhere) that can be used for
|
||||
the review. In the future, we [hope to automate
|
||||
this](https://github.com/vector-im/riot-web/issues/12624) for every PR.
|
||||
files in a PR, a [preview site](./pr-previews.md) that includes your changes
|
||||
will be added automatically so that anyone who's interested can try them out
|
||||
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
|
||||
|
||||
@@ -52,7 +52,7 @@ other changes:
|
||||
- skins/vector/themes/foo/css
|
||||
- skins/vector/themes/foo/img
|
||||
- skins/vector/themes/foo/fonts
|
||||
- ideally riot-web would contain almost nothing but skins/vector directory.
|
||||
- ideally element-web would contain almost nothing but skins/vector directory.
|
||||
- ability to entirely replace CSS rather than override it for a given theme
|
||||
- e.g. if we replace `Login.js` with `StatusLogin.js`, then we should similarly be able to replace `_Login.scss` with `_StatusLogin.scss`.
|
||||
|
||||
|
||||
@@ -6,27 +6,27 @@
|
||||
- Be able to understand English
|
||||
- Be able to understand the language you want to translate Element into
|
||||
|
||||
## Step 0: Join #riotweb-translations:matrix.org
|
||||
## Step 0: Join #element-translations:matrix.org
|
||||
|
||||
1. Come and join https://matrix.to/#/#riotweb-translations:matrix.org
|
||||
1. Come and join https://matrix.to/#/#element-translations:matrix.org
|
||||
2. Read scrollback and/or ask if anyone else is working on your language, and co-ordinate if needed. In general little-or-no coordination is needed though :)
|
||||
|
||||
## Step 1: Preparing your Weblate Profile
|
||||
|
||||
1. Head to https://translate.riot.im and register either via Github or email
|
||||
1. Head to https://translate.element.io and register either via Github or email
|
||||
2. After registering check if you got an email to verify your account and click the link (if there is none head to step 1.4)
|
||||
3. Log into weblate
|
||||
4. Head to https://translate.riot.im/accounts/profile/ and select the languages you know and maybe another language you know too.
|
||||
6. Head to https://translate.riot.im/accounts/profile/#subscriptions and select Element Web as Project
|
||||
4. Head to https://translate.element.io/accounts/profile/ and select the languages you know and maybe another language you know too.
|
||||
6. Head to https://translate.element.io/accounts/profile/#subscriptions and select Element Web as Project
|
||||
|
||||
## How to check if your language already is being translated
|
||||
|
||||
Go to https://translate.riot.im/projects/riot-web/ and visit the 2 sub-projects.
|
||||
Go to https://translate.element.io/projects/element-web/ and visit the 2 sub-projects.
|
||||
If your language is listed go to Step 2a and if not go to Step 2b
|
||||
|
||||
## Step 2a: Helping on existing languages.
|
||||
|
||||
1. Head to one of the projects listed https://translate.riot.im/projects/riot-web/
|
||||
1. Head to one of the projects listed https://translate.element.io/projects/element-web/
|
||||
2. Click on the ``translate`` button on the right side of your language
|
||||
3. Fill in the translations in the writeable field. You will see the original English string and the string of your second language above.
|
||||
|
||||
@@ -34,7 +34,7 @@ Head to the explanations under Steb 2b
|
||||
|
||||
## Step 2b: Adding a new language
|
||||
|
||||
1. Go to one of the projects listed https://translate.riot.im/projects/riot-web/
|
||||
1. Go to one of the projects listed https://translate.element.io/projects/element-web/
|
||||
2. Click the ``Start new translation`` button at the bottom
|
||||
3. Select a language
|
||||
4. Start translating like in 2a.3
|
||||
|
||||
@@ -6,7 +6,7 @@ official element.io distribution, but these files may be useful if you want to
|
||||
inspect the configuration used there.
|
||||
|
||||
Element Desktop uses a separate config (see
|
||||
https://github.com/vector-im/riot-desktop/tree/develop/element.io).
|
||||
https://github.com/vector-im/element-desktop/tree/develop/element.io).
|
||||
|
||||
Deployment scripts (such as app/deploy.py) are meant to be run on the web server
|
||||
hosting the Element installation.
|
||||
|
||||
@@ -20,7 +20,8 @@
|
||||
},
|
||||
"roomDirectory": {
|
||||
"servers": [
|
||||
"matrix.org"
|
||||
"matrix.org",
|
||||
"gitter.im"
|
||||
]
|
||||
},
|
||||
"enable_presence_by_hs_url": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# download and unpack a riot-web tarball.
|
||||
# download and unpack a element-web tarball.
|
||||
#
|
||||
# Allows `bundles` to be extracted to a common directory, and a link to
|
||||
# config.json to be added.
|
||||
|
||||
@@ -18,9 +18,14 @@
|
||||
"siteId": 1,
|
||||
"policyUrl": "https://element.io/cookie-policy"
|
||||
},
|
||||
"countly": {
|
||||
"url": "https://try.count.ly",
|
||||
"appKey": "8abf1ee15646bc884556b82e5053857904264b66"
|
||||
},
|
||||
"roomDirectory": {
|
||||
"servers": [
|
||||
"matrix.org"
|
||||
"matrix.org",
|
||||
"gitter.im"
|
||||
]
|
||||
},
|
||||
"enable_presence_by_hs_url": {
|
||||
|
||||
26
package.json
26
package.json
@@ -1,12 +1,11 @@
|
||||
{
|
||||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"version": "1.7.8",
|
||||
"name": "element-web",
|
||||
"version": "1.7.16",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "New Vector Ltd.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vector-im/riot-web"
|
||||
"url": "https://github.com/vector-im/element-web"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"files": [
|
||||
@@ -46,7 +45,7 @@
|
||||
"build:bundle-stats": "webpack --progress --bail --mode production --json > webpack-stats.json",
|
||||
"build:types": "tsc --emitDeclarationOnly --jsx react",
|
||||
"dist": "scripts/package.sh",
|
||||
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,riot-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js\"",
|
||||
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,element-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js\"",
|
||||
"start:res": "yarn build:jitsi && node scripts/copy-res.js -w",
|
||||
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development",
|
||||
"lint": "yarn lint:types && yarn lint:js && yarn lint:style",
|
||||
@@ -58,11 +57,13 @@
|
||||
"dependencies": {
|
||||
"browser-request": "^0.3.3",
|
||||
"gfm.css": "^1.1.2",
|
||||
"highlight.js": "^9.13.1",
|
||||
"highlight.js": "^10.4.1",
|
||||
"jsrsasign": "^9.1.5",
|
||||
"matrix-js-sdk": "8.4.1",
|
||||
"matrix-react-sdk": "3.5.0",
|
||||
"olm": "https://packages.matrix.org/npm/olm/olm-3.1.4.tgz",
|
||||
"katex": "^0.12.0",
|
||||
"matrix-js-sdk": "9.4.1",
|
||||
"matrix-react-sdk": "3.11.1",
|
||||
"matrix-widget-api": "^0.1.0-beta.10",
|
||||
"olm": "https://packages.matrix.org/npm/olm/olm-3.2.1.tgz",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^16.9.0",
|
||||
"react-dom": "^16.9.0",
|
||||
@@ -113,8 +114,8 @@
|
||||
"file-loader": "^5.0.2",
|
||||
"fs-extra": "^0.30.0",
|
||||
"html-webpack-plugin": "^3.2.0",
|
||||
"jest": "^24.9.0",
|
||||
"jest-environment-jsdom-fourteen": "^1.0.1",
|
||||
"jest": "^26.5.2",
|
||||
"jest-environment-jsdom-sixteen": "^1.0.3",
|
||||
"json-loader": "^0.5.3",
|
||||
"loader-utils": "^1.2.3",
|
||||
"matrix-mock-request": "^1.2.3",
|
||||
@@ -138,6 +139,7 @@
|
||||
"postcss-strip-inline-comments": "^0.1.5",
|
||||
"rimraf": "^2.4.3",
|
||||
"shell-escape": "^0.2.0",
|
||||
"simple-proxy-agent": "^1.1.0",
|
||||
"stylelint": "^12.0.1",
|
||||
"terser-webpack-plugin": "^2.3.0",
|
||||
"typescript": "^3.7.3",
|
||||
@@ -146,7 +148,7 @@
|
||||
"webpack-dev-server": "^3.9.0"
|
||||
},
|
||||
"jest": {
|
||||
"testEnvironment": "jest-environment-jsdom-fourteen",
|
||||
"testEnvironment": "jest-environment-jsdom-sixteen",
|
||||
"testMatch": [
|
||||
"<rootDir>/test/**/*-test.js"
|
||||
],
|
||||
|
||||
@@ -38,14 +38,12 @@ do
|
||||
echo "Upgrading $i to $latestver..."
|
||||
yarn add -E $i@$latestver
|
||||
git add -u
|
||||
# The `-e` flag opens the editor and gives you a chance to check
|
||||
# the upgrade for correctness.
|
||||
git commit -m "Upgrade $i to $latestver" -e
|
||||
git commit -m "Upgrade $i to $latestver"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
./node_modules/matrix-js-sdk/release.sh -u vector-im -z "$orig_args"
|
||||
./node_modules/matrix-js-sdk/release.sh -n -z "$orig_args"
|
||||
|
||||
release="${1#v}"
|
||||
tag="v${release}"
|
||||
|
||||
@@ -1 +1 @@
|
||||
self.addEventListener('fetch',() => {});
|
||||
self.addEventListener('fetch', () => {});
|
||||
|
||||
@@ -169,7 +169,7 @@ we don't have an account and should hide them. No account == no guest account ei
|
||||
</style>
|
||||
|
||||
<div class="mx_Parent">
|
||||
<a href="https://riot.im" target="_blank" rel="noopener">
|
||||
<a href="https://element.io" target="_blank" rel="noopener">
|
||||
<img src="welcome/images/logo.svg" alt="" class="mx_Logo"/>
|
||||
</a>
|
||||
<h1 class="mx_Header_title">_t("Welcome to Element")</h1>
|
||||
@@ -185,7 +185,7 @@ we don't have an account and should hide them. No account == no guest account ei
|
||||
</div>
|
||||
<!-- The comments below are meant to be used by Ansible as a quick way
|
||||
to strip out the marked content when desired.
|
||||
See https://github.com/vector-im/riot-web/issues/8622.
|
||||
See https://github.com/vector-im/element-web/issues/8622.
|
||||
TODO: Strip out these comments and rely on the guest flag -->
|
||||
<!-- BEGIN Ansible: Remove these lines when guest access is disabled -->
|
||||
<div class="mx_ButtonRow mx_WelcomePage_guestFunctions">
|
||||
|
||||
@@ -7,6 +7,7 @@ const fs = require("fs");
|
||||
const path = require("path");
|
||||
const mkdirp = require("mkdirp");
|
||||
const fetch = require("node-fetch");
|
||||
const ProxyAgent = require("simple-proxy-agent");
|
||||
|
||||
console.log("Making webapp directory");
|
||||
mkdirp.sync("webapp");
|
||||
@@ -14,7 +15,13 @@ mkdirp.sync("webapp");
|
||||
// curl -s https://jitsi.riot.im/libs/external_api.min.js > ./webapp/jitsi_external_api.min.js
|
||||
console.log("Downloading Jitsi script");
|
||||
const fname = path.join("webapp", "jitsi_external_api.min.js");
|
||||
fetch("https://jitsi.riot.im/libs/external_api.min.js").then(res => {
|
||||
|
||||
const options = {};
|
||||
if (process.env.HTTPS_PROXY) {
|
||||
options.agent = new ProxyAgent(process.env.HTTPS_PROXY, {tunnel: true});
|
||||
}
|
||||
|
||||
fetch("https://jitsi.riot.im/libs/external_api.min.js", options).then(res => {
|
||||
const stream = fs.createWriteStream(fname);
|
||||
return new Promise((resolve, reject) => {
|
||||
res.body.pipe(stream);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
set -ex
|
||||
|
||||
rm dist/riot-*.tar.gz || true # rm previous artifacts without failing if it doesn't exist
|
||||
rm dist/element-*.tar.gz || true # rm previous artifacts without failing if it doesn't exist
|
||||
|
||||
# Since the deps are fetched from git, we can rev-parse
|
||||
REACT_SHA=$(cd node_modules/matrix-react-sdk; git rev-parse --short=12 HEAD)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# download and unpack a riot-web tarball.
|
||||
# download and unpack a element-web tarball.
|
||||
#
|
||||
# Allows `bundles` to be extracted to a common directory, and a link to
|
||||
# config.json to be added.
|
||||
|
||||
@@ -18,7 +18,7 @@ my $gh = Net::GitHub->new(
|
||||
login => 'ara4n', pass => read_password("github password: "),
|
||||
);
|
||||
|
||||
$gh->set_default_user_repo('vector-im', 'riot-web');
|
||||
$gh->set_default_user_repo('vector-im', 'element-web');
|
||||
|
||||
#my @issues = $gh->issue->repos_issues({ state => 'all', milestone => 3 });
|
||||
my @issues = $gh->issue->repos_issues({ state => 'all' });
|
||||
|
||||
@@ -18,7 +18,7 @@ my $gh = Net::GitHub->new(
|
||||
login => 'ara4n', pass => read_password("github password: "),
|
||||
);
|
||||
|
||||
$gh->set_default_user_repo('vector-im', 'riot-web');
|
||||
$gh->set_default_user_repo('vector-im', 'element-web');
|
||||
|
||||
#my @issues = $gh->issue->repos_issues({ state => 'all', milestone => 3 });
|
||||
my @issues = $gh->issue->repos_issues({ state => 'all' });
|
||||
|
||||
@@ -16,20 +16,20 @@ yarn build
|
||||
cp config.sample.json webapp/
|
||||
|
||||
mkdir -p dist
|
||||
cp -r webapp riot-$version
|
||||
cp -r webapp element-$version
|
||||
|
||||
# Just in case you have a local config, remove it before packaging
|
||||
rm riot-$version/config.json || true
|
||||
rm element-$version/config.json || true
|
||||
|
||||
# if $version looks like semver with leading v, strip it before writing to file
|
||||
if [[ ${version} =~ ^v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+(-.+)?$ ]]; then
|
||||
echo ${version:1} > riot-$version/version
|
||||
echo ${version:1} > element-$version/version
|
||||
else
|
||||
echo ${version} > riot-$version/version
|
||||
echo ${version} > element-$version/version
|
||||
fi
|
||||
|
||||
tar chvzf dist/riot-$version.tar.gz riot-$version
|
||||
rm -r riot-$version
|
||||
tar chvzf dist/element-$version.tar.gz element-$version
|
||||
rm -r element-$version
|
||||
|
||||
echo
|
||||
echo "Packaged dist/riot-$version.tar.gz"
|
||||
echo "Packaged dist/element-$version.tar.gz"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# auto-deploy script for https://riot.im/develop
|
||||
# auto-deploy script for https://develop.element.io
|
||||
#
|
||||
# Listens for buildkite webhook pokes (https://buildkite.com/docs/apis/webhooks)
|
||||
# When it gets one, downloads the artifact from buildkite
|
||||
@@ -191,7 +191,7 @@ def deploy_tarball(artifact, build_dir):
|
||||
|
||||
# Download the tarball here as buildkite needs auth to do this
|
||||
# we don't pgp-sign buildkite artifacts, relying on HTTPS and buildkite
|
||||
# not being evil. If that's not good enough for you, don't use riot.im/develop.
|
||||
# not being evil. If that's not good enough for you, don't use develop.element.io.
|
||||
resp = requests.get(artifact['download_url'], stream=True, headers=req_headers())
|
||||
resp.raise_for_status()
|
||||
with open(artifact['filename'], 'wb') as ofp:
|
||||
|
||||
@@ -28,7 +28,7 @@ export default class VectorEmbeddedPage extends EmbeddedPage {
|
||||
// we're overriding the base component here, for Element-specific tweaks
|
||||
translate(s) {
|
||||
s = sanitizeHtml(_t(s));
|
||||
// ugly fix for https://github.com/vector-im/riot-web/issues/4243
|
||||
// ugly fix for https://github.com/vector-im/element-web/issues/4243
|
||||
// eslint-disable-next-line max-len
|
||||
s = s.replace(/\[matrix\]/, '<a href="https://matrix.org" target="_blank" rel="noreferrer noopener"><img width="79" height="34" alt="Matrix" style="padding-left: 1px;vertical-align: middle" src="welcome/images/matrix.svg"/></a>');
|
||||
return s;
|
||||
|
||||
@@ -24,7 +24,7 @@ const VectorAuthFooter = () => {
|
||||
let links = [
|
||||
{"text": "Blog", "url": "https://element.io/blog"},
|
||||
{"text": "Twitter", "url": "https://twitter.com/element_hq"},
|
||||
{"text": "GitHub", "url": "https://github.com/vector-im/riot-web"},
|
||||
{"text": "GitHub", "url": "https://github.com/vector-im/element-web"},
|
||||
];
|
||||
|
||||
if (brandingConfig && brandingConfig.authFooterLinks) {
|
||||
|
||||
1
src/customisations/README.md
Symbolic link
1
src/customisations/README.md
Symbolic link
@@ -0,0 +1 @@
|
||||
../../docs/customisations.md
|
||||
@@ -31,5 +31,6 @@
|
||||
"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 използва модерни функции на браузъра, които не се поддържат от Вашия."
|
||||
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s използва модерни функции на браузъра, които не се поддържат от Вашия.",
|
||||
"Powered by Matrix": "Базирано на Matrix"
|
||||
}
|
||||
|
||||
@@ -1,14 +1,36 @@
|
||||
{
|
||||
"Dismiss": "Omet",
|
||||
"Unknown device": "Dispositiu desconegut",
|
||||
"Welcome to Element": "Us donem la benvinguda a Element",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Heu d'utilitzar HTTPS per poder fer una trucada amb pantalla compartida.",
|
||||
"Welcome to Element": "Benvingut/da a Element",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Necessites utilitzar HTTPS per poder fer una trucada amb pantalla compartida.",
|
||||
"powered by Matrix": "amb tecnologia de Matrix",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Xat descentralitzat, encriptat i col·laboratiu amb tecnologia de [matrix]",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Xat descentralitzat, encriptat & col·laboratiu amb tecnologia de [matrix]",
|
||||
"Create Account": "Crea un compte",
|
||||
"Explore rooms": "Exploreu les sales",
|
||||
"Explore rooms": "Explora sales",
|
||||
"Sign In": "Inicia la sessió",
|
||||
"Invalid configuration: no default server specified.": "Configuració no vàlida: no s'ha especificat cap servidor per defecte.",
|
||||
"Invalid JSON": "JSON no vàlid",
|
||||
"Go to your browser to complete Sign In": "Aneu al vostre navegador per completar l'inici de sessió"
|
||||
"Invalid configuration: no default server specified.": "Configuració invàlida: no s'ha especificat cap servidor predeterminat.",
|
||||
"Invalid JSON": "JSON invàlid",
|
||||
"Go to your browser to complete Sign In": "Ves al teu navegador per completar l'inici de sessió",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuració invàlida: només pots especificar una sol de default_server_config, default_server_name, o default_hs_url.",
|
||||
"Your Element is misconfigured": "Element està mal configurat",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configuració d'Element conté un JSON invàlid. Arregla el problema i actualitza la pàgina.",
|
||||
"The message from the parser is: %(message)s": "El missatge de l'analitzador és: %(message)s",
|
||||
"Unable to load config file: please refresh the page to try again.": "No s'ha pogut carregar el fitxer de configuració: actualitza la pàgina per tornar-ho a provar.",
|
||||
"Unexpected error preparing the app. See console for details.": "Error inesperat preparant l'app. Consulta la consola pels a més detalls.",
|
||||
"Download Completed": "Descàrrega completada",
|
||||
"Open": "Obre",
|
||||
"Open user settings": "Obre la configuració d'usuari",
|
||||
"Previous/next recently visited room or community": "Anterior/següent sala o comunitat visitada recentment",
|
||||
"%(brand)s Desktop (%(platformName)s)": "%(brand)s d'escriptori (%(platformName)s)",
|
||||
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
|
||||
"Powered by Matrix": "Amb tecnologia de Matrix",
|
||||
"Unsupported browser": "Navegador no compatible",
|
||||
"Your browser can't run %(brand)s": "El teu navegador no pot executar %(brand)s",
|
||||
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s utilitza funcions del navegador avançades que no són compatibles amb el teu navegador actual.",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Instal·la <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, o <safariLink>Safari</safariLink> per obtenir la millor experiència.",
|
||||
"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.": "Pots continuar utilitzant el teu navegador actual, però algunes o totes les funcions podrien no funcionar i l'aspecte de l'aplicació podria ser incorrecte.",
|
||||
"I understand the risks and wish to continue": "Entenc els riscos i vull continuar",
|
||||
"Go to element.io": "Vés a element.io",
|
||||
"Failed to start": "Ha fallat l'inici",
|
||||
"Missing indexeddb worker script!": "Falta l'script del treballador indexeddb!"
|
||||
}
|
||||
|
||||
@@ -28,5 +28,9 @@
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Pro nejlepší zážitek si prosím nainstalujte prohlížeč <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, nebo <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.": "Můžete pokračovat v užívání vašeho současného prohlížeče, ale některé (nebo dokonce všechny) funkce nemusí fungovat a vzhled a chování aplikace nemusí být správné.",
|
||||
"I understand the risks and wish to continue": "Rozumím a přesto chci pokračovat",
|
||||
"Go to element.io": "Přejít na element.io"
|
||||
"Go to element.io": "Přejít na element.io",
|
||||
"Failed to start": "Nepovedlo se nastartovat",
|
||||
"Powered by Matrix": "Běží na Matrixu",
|
||||
"%(brand)s Desktop (%(platformName)s)": "%(brand)s pro desktopový počítač (%(platformName)s)",
|
||||
"Missing indexeddb worker script!": "Nenačetl se skript spravující indexdb!"
|
||||
}
|
||||
|
||||
@@ -17,5 +17,12 @@
|
||||
"Unable to load config file: please refresh the page to try again.": "Ikke i stand til at loade config fil: genopfrisk venligst siden for at prøve igen.",
|
||||
"Open user settings": "Åbn brugerindstillinger",
|
||||
"Previous/next recently visited room or community": "Forrige/næste besøgte rum eller fællesskab",
|
||||
"Go to your browser to complete Sign In": "Gå til din browser for at færdiggøre Log ind"
|
||||
"Go to your browser to complete Sign In": "Gå til din browser for at færdiggøre Log ind",
|
||||
"Go to element.io": "Gå til element.io",
|
||||
"I understand the risks and wish to continue": "Jeg forstår risikoen og ønsker at fortsætte",
|
||||
"Unsupported browser": "Usupporteret browser",
|
||||
"Open": "Åbn",
|
||||
"Download Completed": "Hentning færdig",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Din Element konfiguration indeholder ugyldig JSON. Løs venligst problemet og genindlæs siden.",
|
||||
"Your Element is misconfigured": "Din Element er konfigureret forkert"
|
||||
}
|
||||
|
||||
@@ -14,7 +14,23 @@
|
||||
"Invalid configuration: no default server specified.": "Μη έγκυρη ρύθμιση παραμέτρων: δεν έχει οριστεί προκαθορισμένος διακομιστής.",
|
||||
"Explore rooms": "Εξερευνήστε δωμάτια",
|
||||
"Open": "Άνοιγμα",
|
||||
"Go to your browser to complete Sign In": "Επισκεφτείτε τον browser σας για να ολοκληρωθεί η είσοδος",
|
||||
"Powered by Matrix": "Παρέχεται από το Matrix",
|
||||
"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> για καλύτερη εμπειρία χρήσης."
|
||||
"Go to your browser to complete Sign In": "Μεταβείτε στο πρόγραμμα περιήγησής σας για να ολοκληρώσετε τη σύνδεση",
|
||||
"Powered by Matrix": "Με την υποστήριξη του Matrix",
|
||||
"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> για καλύτερη εμπειρία χρήσης.",
|
||||
"Your Element is misconfigured": "Το Element σας δεν εχει ρυθμιστεί σωστά",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Η ρύθμιση του Element περιέχει μη έγκυρο JSON. Διορθώστε το πρόβλημα και φορτώστε ξανά τη σελίδα.",
|
||||
"Unable to load config file: please refresh the page to try again.": "Δεν είναι δυνατή η φόρτωση του αρχείου config: ανανεώστε τη σελίδα για να δοκιμάσετε ξανά.",
|
||||
"Download Completed": "Η λήψη ολοκληρώθηκε",
|
||||
"Open user settings": "Ανοίξτε τις ρυθμίσεις χρήστη",
|
||||
"Previous/next recently visited room or community": "Προηγούμενο / επόμενο δωμάτιο ή κοινότητα που επισκεφτήκατε πρόσφατα",
|
||||
"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 χρησιμοποιεί προηγμένες δυνατότητες προγράμματος περιήγησης που δεν υποστηρίζονται από το τρέχον πρόγραμμα περιήγησής σας.",
|
||||
"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": "Αποτυχία έναρξης",
|
||||
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
|
||||
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
|
||||
"Missing indexeddb worker script!": "Απουσία indexeddb worker script!"
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"Previous/next recently visited room or community": "Eelmine/järgmine hiljuti kasutatud jututuba või kogukond",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Ekraani jagava kõne jaoks pead kasutama HTTPS-ühendust.",
|
||||
"powered by Matrix": "põhineb Matrix'il",
|
||||
"Welcome to Element": "Tere tulemast Element kasutajaks",
|
||||
"Welcome to Element": "Tere tulemast kasutama suhtlusrakendust Element",
|
||||
"Sign In": "Logi sisse",
|
||||
"Create Account": "Loo konto",
|
||||
"%(brand)s Desktop (%(platformName)s)": "%(brand)s'i töölauaversioon (%(platformName)s)",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"Unknown device": "Appareil inconnu",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Vous devez utiliser HTTPS pour effectuer un appel avec partage d’écran.",
|
||||
"Welcome to Element": "Bienvenue sur Element",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Discussion & collaboration décentralisées et chiffrées, propulsées par [matrix]",
|
||||
"Decentralised, encrypted chat & 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",
|
||||
|
||||
@@ -2,35 +2,35 @@
|
||||
"Dismiss": "Eltüntetés",
|
||||
"powered by Matrix": "a gépházban: Matrix",
|
||||
"Unknown device": "Ismeretlen eszköz",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Képernyőmegosztás indításához HTTPS-t kell használnod.",
|
||||
"Welcome to Element": "Üdvözöl a Element",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Képernyőmegosztás indításához HTTPS-t kell használnia.",
|
||||
"Welcome to Element": "Üdvözli az Element",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralizált, titkosított csevegés és kollaboráció [matrix] alapokon",
|
||||
"Sign In": "Bejelentkezés",
|
||||
"Create Account": "Fiók létrehozása",
|
||||
"Explore rooms": "Szobák felderítése",
|
||||
"Unexpected error preparing the app. See console for details.": "Váratlan hiba történt az alkalmazás előkészítésénél. A részletekért nézd meg a konzolt.",
|
||||
"Unexpected error preparing the app. See console for details.": "Váratlan hiba történt az alkalmazás előkészítésénél. A részletekért lásd a konzolt.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Érvénytelen konfiguráció: csak egyet lehet megadni a default_server_config, default_server_name és default_hs_url közül.",
|
||||
"Invalid configuration: no default server specified.": "Érvénytelen konfiguráció: nincs megadva alapértelmezett kiszolgáló.",
|
||||
"The message from the parser is: %(message)s": "A feldolgozó algoritmus üzenete: %(message)s",
|
||||
"Invalid JSON": "Érvénytelen JSON",
|
||||
"Go to your browser to complete Sign In": "A böngészőben fejezd be a bejelentkezést",
|
||||
"Go to your browser to complete Sign In": "A böngészőben fejezze be a bejelentkezést",
|
||||
"Open user settings": "Felhasználói beállítások megnyitása",
|
||||
"Missing indexeddb worker script!": "Hiányzó indexeddb worker parancsfájl!",
|
||||
"Unable to load config file: please refresh the page to try again.": "A konfigurációs fájlt nem sikerült betölteni: frissítsd az oldalt és próbáld meg újra.",
|
||||
"Unable to load config file: please refresh the page to try again.": "A konfigurációs fájlt nem sikerült betölteni: frissítse az oldalt és próbálja meg újra.",
|
||||
"Previous/next recently visited room or community": "Előző/következő nemrég meglátogatott szobák vagy közösségek",
|
||||
"%(brand)s Desktop (%(platformName)s)": "Asztali %(brand)s (%(platformName)s)",
|
||||
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
|
||||
"Unsupported browser": "A böngésző nem támogatott",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "A legjobb élmény eléréséhez kérlek telepíts <chromeLink>Chrome-ot</chromeLink>, <firefoxLink>Firefoxot</firefoxLink> vagy <safariLink>Safarit</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.": "Folytathatod a jelenlegi böngésződdel, de néhány vagy az összes funkció használhatatlan lehet, vagy hibák lehetnek az alkalmazás kinézetében és viselkedésében.",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "A legjobb élmény érdékében telepítsen <chromeLink>Chrome-ot</chromeLink>, <firefoxLink>Firefoxot</firefoxLink> vagy <safariLink>Safarit</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.": "Folytathatja a jelenlegi böngészőjével, de néhány vagy az összes funkció használhatatlan lehet, vagy hibák lehetnek az alkalmazás kinézetében és viselkedésében.",
|
||||
"I understand the risks and wish to continue": "Megértettem a kockázatot és folytatom",
|
||||
"Go to element.io": "Irány a element.io",
|
||||
"Failed to start": "Az indítás sikertelen",
|
||||
"Download Completed": "A letöltés befejeződött",
|
||||
"Open": "Megnyitás",
|
||||
"Your Element is misconfigured": "Az Element hibásan van beállítva",
|
||||
"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. Kérlek javítsd és töltsd újra az oldalt.",
|
||||
"Your browser can't run %(brand)s": "A böngésződ nem tudja futtatni ezt: %(brand)s",
|
||||
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s haladó böngésző funkciókat használ amiket a jelenlegi böngésződ nem támogat.",
|
||||
"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"
|
||||
}
|
||||
|
||||
@@ -30,5 +30,6 @@
|
||||
"Your Element is misconfigured": "Elementの設定が間違っています",
|
||||
"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はブラウザの高度な機能を使う必要がありますが、このブラウザではその機能がサポートされていないようです。"
|
||||
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)sはブラウザの高度な機能を使う必要がありますが、このブラウザではその機能がサポートされていないようです。",
|
||||
"Powered by Matrix": "Powered by Matrix"
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"Missing indexeddb worker script!": "Trūksta indexeddb worker skripto!",
|
||||
"Unable to load config file: please refresh the page to try again.": "Nepavyko įkelti konfigūracijos failo: atnaujinkite puslapį, kad pabandytumėte dar kartą.",
|
||||
"Previous/next recently visited room or community": "Ankstesnis/sekantis neseniai lankytas kambarys ar bendruomenė",
|
||||
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Kompiuteriui (%(platformName)s)",
|
||||
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Kompiuteryje (%(platformName)s)",
|
||||
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
|
||||
"Unsupported browser": "Nepalaikoma naršyklė",
|
||||
"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.": "Jūs galite toliau naudotis savo dabartine naršykle, bet kai kurios arba visos funkcijos gali neveikti ir programos išvaizda bei sąsaja gali būti neteisingai rodoma.",
|
||||
@@ -31,5 +31,6 @@
|
||||
"Open": "Atidaryti",
|
||||
"Your browser can't run %(brand)s": "Jūsų naršyklė negali paleisti %(brand)s",
|
||||
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s naudoja išplėstines naršyklės funkcijas, kurių jūsų dabartinė naršyklė nepalaiko.",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Geriausiam veikimui suinstaliuokite <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, arba <safariLink>Safari</safariLink>."
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Geriausiam veikimui suinstaliuokite <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, arba <safariLink>Safari</safariLink>.",
|
||||
"Powered by Matrix": "Veikia su Matrix"
|
||||
}
|
||||
|
||||
@@ -11,8 +11,21 @@
|
||||
"The message from the parser is: %(message)s": "Meldingen fra parseren er: %(message)s",
|
||||
"Invalid JSON": "Ugyldig JSON",
|
||||
"Invalid configuration: no default server specified.": "Ugyldig konfigurasjon: ingen standardserver spesifisert.",
|
||||
"Unexpected error preparing the app. See console for details.": "Uventet feil oppsto mens appen ble gjort klar. Se konsollen for detaljer.",
|
||||
"Unexpected error preparing the app. See console for details.": "Uventet feil ved klargjøring av appen. Se konsollen for detaljer.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ugyldig konfigurasjon: Spesifiser kun en av følgende: default_server_config, default_server_name eller default_hs_url.",
|
||||
"Open user settings": "Åpne brukerinnstillinger",
|
||||
"Go to your browser to complete Sign In": "Gå til nettleseren din for å fullføre innloggingen"
|
||||
"Go to your browser to complete Sign In": "Gå til nettleseren din for å fullføre innloggingen",
|
||||
"Failed to start": "Kunne ikke starte",
|
||||
"Go to element.io": "Gå til element.io",
|
||||
"I understand the risks and wish to continue": "Jeg forstår risikoen og ønsker å fortsette",
|
||||
"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 kan fortsette å bruke din nåværende nettleser, men noen eller alle funksjonene fungerer kanskje ikke, og utseendet og følelsen av applikasjonen kan være feil.",
|
||||
"Your browser can't run %(brand)s": "Nettleseren din kan ikke kjøre %(brand)s",
|
||||
"Unsupported browser": "Ustøttet nettleser",
|
||||
"Powered by Matrix": "Drevet av Matrix",
|
||||
"Previous/next recently visited room or community": "Forrige/neste nylig besøkte rom eller samfunn",
|
||||
"Download Completed": "Nedlasting Fullført",
|
||||
"Unable to load config file: please refresh the page to try again.": "Kan ikke laste inn konfigurasjonsfil: oppdater siden for å prøve igjen.",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Ditt Element konfigurasjonen inneholder ugyldig JSON. Løs problemet og last siden på nytt.",
|
||||
"Your Element is misconfigured": "Ditt Element er feilkonfigurert",
|
||||
"Missing indexeddb worker script!": "Mangler indexeddb arbeiderskript!"
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Gedecentraliseerd en versleuteld chatten & samenwerken dankzij [matrix]",
|
||||
"Sign In": "Aanmelden",
|
||||
"Create Account": "Account aanmaken",
|
||||
"Explore rooms": "Gesprekken ontdekken",
|
||||
"Explore rooms": "Kamers verkennen",
|
||||
"Unexpected error preparing the app. See console for details.": "Er is een onverwachte fout opgetreden bij het voorbereiden van de app. Zie de console voor details.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuratiefout: kan slechts één van default_server_config, default_server_name, of default_hs_url opgeven.",
|
||||
"Invalid configuration: no default server specified.": "Configuratie ongeldig: geen standaardserver opgegeven.",
|
||||
@@ -22,8 +22,13 @@
|
||||
"%(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.": "U kunt uw huidige browser blijven gebruiken, maar sommige of alle features 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 uitstraling 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 gefaald"
|
||||
"Failed to start": "Opstarten mislukt",
|
||||
"Open": "Open",
|
||||
"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": "Uw Element is verkeerd geconfigureerd",
|
||||
"Your browser can't run %(brand)s": "Uw browser kan %(brand)s niet draaien."
|
||||
}
|
||||
|
||||
@@ -25,5 +25,12 @@
|
||||
"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.": "Możesz kontynuować używanie obecnej przeglądarki, lecz niektóre lub wszystkie funkcje mogą nie działać oraz wygląd aplikacji może być niepoprawny.",
|
||||
"I understand the risks and wish to continue": "Rozumiem ryzyko i chcę kontynuować",
|
||||
"Go to element.io": "Przejdź do element.io",
|
||||
"Failed to start": "Nie udało się wystartować"
|
||||
"Failed to start": "Nie udało się wystartować",
|
||||
"Download Completed": "Pobieranie Zakończone",
|
||||
"Open": "Otwórz",
|
||||
"Your browser can't run %(brand)s": "Twoja przeglądarka nie obsługuje %(brand)s",
|
||||
"%(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"
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"powered by Matrix": "powered by Matrix",
|
||||
"Unknown device": "Dispositivo desconhecido",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Necessita de estar a usar HTTPS para poder iniciar uma chamada com partilha de ecrã.",
|
||||
"Welcome to Element": "Bem-vindo ao Element",
|
||||
"Welcome to Element": "Boas-vindas ao Element",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Chat descentralizado, encriptado & colaborativo powered by [matrix]",
|
||||
"The message from the parser is: %(message)s": "A mensagem do parser é: %(message)s",
|
||||
"Invalid JSON": "JSON inválido",
|
||||
@@ -13,5 +13,10 @@
|
||||
"Sign In": "Iniciar sessão",
|
||||
"Create Account": "Criar conta",
|
||||
"Explore rooms": "Explorar rooms",
|
||||
"Go to your browser to complete Sign In": "Abra o seu navegador para completar o inicio de sessão"
|
||||
"Go to your browser to complete Sign In": "Abra o seu navegador para completar o inicio de sessão",
|
||||
"Open": "Abrir",
|
||||
"Download Completed": "Transferência concluída",
|
||||
"Unable to load config file: please refresh the page to try again.": "Não foi possível carregar o ficheiro de configuração: atualize a página para tentar novamente.",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "A configuração do Element contém um JSON inválido. Corrija o problema e recarregue a página.",
|
||||
"Your Element is misconfigured": "O Element está configurado incorretamente"
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"powered by Matrix": "oferecido por Matrix",
|
||||
"Unknown device": "Aparelho desconhecido",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Você precisa usar HTTPS para compartilhar a tela durante uma chamada.",
|
||||
"Welcome to Element": "Seja bem-vinda(o) a Element",
|
||||
"Welcome to Element": "Boas-vindas ao Element",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Chat descentralizado, criptografado e colaborativo construído com [matrix]",
|
||||
"Sign In": "Entrar",
|
||||
"Create Account": "Criar Conta",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"Unknown device": "නොදන්නා උපකරණය",
|
||||
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)"
|
||||
"Unknown device": "නොදන්නා උපාංගයකි",
|
||||
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
|
||||
"Welcome to Element": "ඉලමන්ට් වෙත සාදරයෙන් පිළිගනිමු",
|
||||
"Open": "විවෘත කරන්න"
|
||||
}
|
||||
|
||||
14
src/i18n/strings/tzm.json
Normal file
14
src/i18n/strings/tzm.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"Create Account": "Ssenflul amiḍan",
|
||||
"Download Completed": "Ittusmed wagam",
|
||||
"Powered by Matrix": "Ittusker s Matrix",
|
||||
"Sign In": "Kcem",
|
||||
"Go to your browser to complete Sign In": "Ddu ɣer umessara fad ad tsemded azemmem",
|
||||
"Welcome to Element": "Azul g Element",
|
||||
"Go to element.io": "Ddu ɣer element.io",
|
||||
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
|
||||
"Unknown device": "Allal arussin",
|
||||
"Open user settings": "Ṛẓem tisɣal n unessemres",
|
||||
"Dismiss": "Nexxel",
|
||||
"Open": "Ṛẓem"
|
||||
}
|
||||
@@ -2,35 +2,35 @@
|
||||
"Dismiss": "Відхилити",
|
||||
"powered by Matrix": "працює на Matrix",
|
||||
"Unknown device": "Невідомий пристрій",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Ви маєте використовувати HTTPS щоб зробити виклик із поширенням екрану.",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Ви маєте використовувати HTTPS щоб зробити виклик із спільним доступом до екрану.",
|
||||
"Welcome to Element": "Ласкаво просимо до Element",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Децентралізована, зашифрована балачка та засіб для співробітництва, що працює на [matrix]",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Децентралізований, зашифрований чат та засіб для співпраці, заснований на [matrix]",
|
||||
"Sign In": "Увійти",
|
||||
"Create Account": "Створити обліковий запис",
|
||||
"Explore rooms": "Шукати кімнати",
|
||||
"Unexpected error preparing the app. See console for details.": "Неочікувана помилка при готуванні програми. Дивіться деталі у виводі консолі.",
|
||||
"Explore rooms": "Каталог кімнат",
|
||||
"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_config, default_server_name або default_hs_url.",
|
||||
"Invalid configuration: no default server specified.": "Невірна конфігурація: не вказано усталений сервер.",
|
||||
"The message from the parser is: %(message)s": "Аналізатор повідомляє: %(message)s",
|
||||
"Invalid configuration: no default server specified.": "Невірна конфігурація: не вказано сервер за замовчуванням.",
|
||||
"The message from the parser is: %(message)s": "Повідомлення від аналізатора : %(message)s",
|
||||
"Invalid JSON": "Хибний JSON",
|
||||
"Unsupported browser": "Непідтримуваний переглядач",
|
||||
"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.": "Ви можете продовжити, користуючись вашим поточним переглядачем, але деякі функції можуть не працювати, а застосунок може виглядати неправильно.",
|
||||
"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": "Запуск не вдався",
|
||||
"Download Completed": "Завантаження завершено",
|
||||
"Missing indexeddb worker script!": "Відсутній скрипт воркеру для IndexedDB!",
|
||||
"Your Element is misconfigured": "Ваш Element налаштовано неправильно",
|
||||
"Missing indexeddb worker script!": "Відсутній робочий сценарій IndexedDB!",
|
||||
"Your Element is misconfigured": "Ваш Element налаштовано невірно",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Ваша конфігурація Element містить хибний JSON. Виправте проблему та оновіть сторінку.",
|
||||
"Unable to load config file: please refresh the page to try again.": "Неможливо завантажити файл конфігурації. Оновіть, будь ласка, сторінку.",
|
||||
"Unable to load config file: please refresh the page to try again.": "Неможливо завантажити файл конфігурації. Оновіть, будь ласка, сторінку, щоб спробувати знову.",
|
||||
"Open": "Відкрити",
|
||||
"Open user settings": "Відкрити користувацькі налаштування",
|
||||
"Open user settings": "Відкрити налаштування користувача",
|
||||
"Previous/next recently visited room or community": "Попередня/наступна нещодавно відвідана кімната чи спільнота",
|
||||
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
|
||||
"Go to your browser to complete Sign In": "Перейдіть у ваш переглядач щоб завершити входження",
|
||||
"Go to your browser to complete Sign In": "Перейдіть у ваш браузер щоб завершити вхід",
|
||||
"%(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 використовує передові властивості, які ваш браузер не підтримує."
|
||||
}
|
||||
|
||||
@@ -32,5 +32,5 @@
|
||||
"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": "Powered by Matrix"
|
||||
"Powered by Matrix": "由 Matrix 驱动"
|
||||
}
|
||||
|
||||
@@ -32,5 +32,5 @@
|
||||
"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 提供"
|
||||
}
|
||||
|
||||
@@ -26,7 +26,6 @@ window.React = React;
|
||||
import url from 'url';
|
||||
import * as sdk from 'matrix-react-sdk';
|
||||
import PlatformPeg from 'matrix-react-sdk/src/PlatformPeg';
|
||||
import * as VectorConferenceHandler from 'matrix-react-sdk/src/VectorConferenceHandler';
|
||||
import {_td, newTranslatableError} from 'matrix-react-sdk/src/languageHandler';
|
||||
import AutoDiscoveryUtils from 'matrix-react-sdk/src/utils/AutoDiscoveryUtils';
|
||||
import {AutoDiscovery} from "matrix-js-sdk/src/autodiscovery";
|
||||
@@ -34,7 +33,6 @@ import * as Lifecycle from "matrix-react-sdk/src/Lifecycle";
|
||||
import type MatrixChatType from "matrix-react-sdk/src/components/structures/MatrixChat";
|
||||
import {MatrixClientPeg} from 'matrix-react-sdk/src/MatrixClientPeg';
|
||||
import SdkConfig from "matrix-react-sdk/src/SdkConfig";
|
||||
import CallHandler from 'matrix-react-sdk/src/CallHandler';
|
||||
|
||||
import {parseQs, parseQsFromFragment} from './url_utils';
|
||||
import VectorBasePlatform from "./platform/VectorBasePlatform";
|
||||
@@ -141,7 +139,6 @@ export async function loadApp(fragParams: {}) {
|
||||
throw newTranslatableError(_td("Missing indexeddb worker script!"));
|
||||
}
|
||||
MatrixClientPeg.setIndexedDbWorkerScript(vectorIndexeddbWorkerScript);
|
||||
CallHandler.setConferenceHandler(VectorConferenceHandler);
|
||||
|
||||
window.addEventListener('hashchange', onHashChange);
|
||||
|
||||
@@ -160,7 +157,6 @@ export async function loadApp(fragParams: {}) {
|
||||
return <MatrixChat
|
||||
onNewScreen={onNewScreen}
|
||||
makeRegistrationUrl={makeRegistrationUrl}
|
||||
ConferenceHandler={VectorConferenceHandler}
|
||||
config={config}
|
||||
realQueryParams={params}
|
||||
startingFragmentQueryParams={fragParams}
|
||||
@@ -240,7 +236,7 @@ async function verifyServerConfig() {
|
||||
|
||||
validatedConfig = AutoDiscoveryUtils.buildValidatedConfigFromDiscovery(serverName, discoveryResult, true);
|
||||
} catch (e) {
|
||||
const {hsUrl, isUrl, userId} = Lifecycle.getLocalStorageSessionVars();
|
||||
const {hsUrl, isUrl, userId} = await Lifecycle.getStoredSessionVars();
|
||||
if (hsUrl && userId) {
|
||||
console.error(e);
|
||||
console.warn("A session was found - suppressing config error and using the session's homeserver");
|
||||
|
||||
@@ -23,6 +23,7 @@ limitations under the License.
|
||||
// in webpack.config.js
|
||||
require('gfm.css/gfm.css');
|
||||
require('highlight.js/styles/github.css');
|
||||
require('katex/dist/katex.css');
|
||||
|
||||
// These are things that can run before the skin loads - be careful not to reference the react-sdk though.
|
||||
import {parseQsFromFragment} from "./url_utils";
|
||||
@@ -85,7 +86,7 @@ const supportedBrowser = checkBrowserFeatures();
|
||||
// try in react but fallback to an `alert`
|
||||
// We start loading stuff but don't block on it until as late as possible to allow
|
||||
// the browser to use as much parallelism as it can.
|
||||
// Load parallelism is based on research in https://github.com/vector-im/riot-web/issues/12253
|
||||
// Load parallelism is based on research in https://github.com/vector-im/element-web/issues/12253
|
||||
async function start() {
|
||||
// load init.ts async so that its code is not executed immediately and we can catch any exceptions
|
||||
const {
|
||||
@@ -114,7 +115,7 @@ async function start() {
|
||||
// don't try to redirect to the native apps if we're
|
||||
// verifying a 3pid (but after we've loaded the config)
|
||||
// or if the user is following a deep link
|
||||
// (https://github.com/vector-im/riot-web/issues/7378)
|
||||
// (https://github.com/vector-im/element-web/issues/7378)
|
||||
const preventRedirect = fragparts.params.client_secret || fragparts.location.length > 0;
|
||||
|
||||
if (!preventRedirect) {
|
||||
|
||||
@@ -126,7 +126,7 @@ export async function loadSkin() {
|
||||
/* webpackPreload: true */
|
||||
"matrix-react-sdk"),
|
||||
import(
|
||||
/* webpackChunkName: "riot-web-component-index" */
|
||||
/* webpackChunkName: "element-web-component-index" */
|
||||
/* webpackPreload: true */
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore - this module is generated so may fail lint
|
||||
@@ -143,7 +143,7 @@ export async function loadTheme() {
|
||||
export async function loadApp(fragParams: {}) {
|
||||
// load app.js async so that its code is not executed immediately and we can catch any exceptions
|
||||
const module = await import(
|
||||
/* webpackChunkName: "riot-web-app" */
|
||||
/* webpackChunkName: "element-web-app" */
|
||||
/* webpackPreload: true */
|
||||
"./app");
|
||||
window.matrixChat = ReactDOM.render(await module.loadApp(fragParams),
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<div id="joinButtonContainer">
|
||||
<div class="joinConferenceFloating">
|
||||
<div class="joinConferencePrompt">
|
||||
<span class="icon"><!-- managed by CSS --></span>
|
||||
<!-- TODO: i18n -->
|
||||
<h2>Jitsi Video Conference</h2>
|
||||
<div id="widgetActionContainer">
|
||||
|
||||
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// TODO: Match the user's theme: https://github.com/vector-im/riot-web/issues/12794
|
||||
// TODO: Match the user's theme: https://github.com/vector-im/element-web/issues/12794
|
||||
|
||||
@font-face {
|
||||
font-family: 'Nunito';
|
||||
@@ -23,10 +23,19 @@ limitations under the License.
|
||||
src: url('~matrix-react-sdk/res/fonts/Nunito/Nunito-Regular.ttf') format('truetype');
|
||||
}
|
||||
|
||||
$dark-fg: #edf3ff;
|
||||
$dark-bg: #363c43;
|
||||
$light-fg: #2e2f32;
|
||||
$light-bg: #fff;
|
||||
body {
|
||||
font-family: Nunito, Arial, Helvetica, sans-serif;
|
||||
background-color: #181b21;
|
||||
color: #edf3ff;
|
||||
background-color: $dark-bg;
|
||||
color: $dark-fg;
|
||||
}
|
||||
|
||||
body.theme-light {
|
||||
background-color: $light-bg;
|
||||
color: $light-fg;
|
||||
}
|
||||
|
||||
body, html {
|
||||
@@ -73,3 +82,26 @@ body, html {
|
||||
background-color: #03b381;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.icon {
|
||||
$icon-size: 42px;
|
||||
margin-top: -$icon-size; // to visually center the form
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
background-size: contain;
|
||||
background-color: $dark-fg;
|
||||
mask-repeat: no-repeat;
|
||||
mask-position: center;
|
||||
mask-image: url("~matrix-react-sdk/res/img/element-icons/call/video-call.svg");
|
||||
mask-size: $icon-size;
|
||||
display: block;
|
||||
width: $icon-size;
|
||||
height: $icon-size;
|
||||
margin: 0 auto; // center
|
||||
}
|
||||
}
|
||||
|
||||
body.theme-light .icon::before {
|
||||
background-color: $light-fg;
|
||||
}
|
||||
|
||||
@@ -18,8 +18,14 @@ limitations under the License.
|
||||
require("./index.scss");
|
||||
|
||||
import * as qs from 'querystring';
|
||||
import {Capability, WidgetApi} from 'matrix-react-sdk/src/widgets/WidgetApi';
|
||||
import {KJUR} from 'jsrsasign';
|
||||
import {
|
||||
IOpenIDCredentials,
|
||||
IWidgetApiRequest,
|
||||
VideoConferenceCapabilities,
|
||||
WidgetApi,
|
||||
} from "matrix-widget-api";
|
||||
import { ElementWidgetActions } from "matrix-react-sdk/src/stores/widgets/ElementWidgetActions";
|
||||
|
||||
const JITSI_OPENIDTOKEN_JWT_AUTH = 'openidtoken-jwt';
|
||||
|
||||
@@ -38,8 +44,10 @@ let avatarUrl: string;
|
||||
let userId: string;
|
||||
let jitsiAuth: string;
|
||||
let roomId: string;
|
||||
let openIdToken: IOpenIDCredentials;
|
||||
|
||||
let widgetApi: WidgetApi;
|
||||
let meetApi: any; // JitsiMeetExternalAPI
|
||||
|
||||
(async function() {
|
||||
try {
|
||||
@@ -59,13 +67,33 @@ let widgetApi: WidgetApi;
|
||||
// out into a browser.
|
||||
const parentUrl = qsParam('parentUrl', true);
|
||||
const widgetId = qsParam('widgetId', true);
|
||||
const theme = qsParam('theme', true);
|
||||
|
||||
if (theme) {
|
||||
document.body.classList.add(`theme-${theme.replace(" ", "_")}`);
|
||||
}
|
||||
|
||||
// Set this up as early as possible because Element will be hitting it almost immediately.
|
||||
let readyPromise: Promise<[void, void]>;
|
||||
if (parentUrl && widgetId) {
|
||||
widgetApi = new WidgetApi(qsParam('parentUrl'), qsParam('widgetId'), [
|
||||
Capability.AlwaysOnScreen,
|
||||
const parentOrigin = new URL(qsParam('parentUrl')).origin;
|
||||
widgetApi = new WidgetApi(qsParam("widgetId"), parentOrigin);
|
||||
widgetApi.requestCapabilities(VideoConferenceCapabilities);
|
||||
readyPromise = Promise.all([
|
||||
new Promise<void>(resolve => {
|
||||
widgetApi.once(`action:${ElementWidgetActions.ClientReady}`, ev => {
|
||||
ev.preventDefault();
|
||||
widgetApi.transport.reply(ev.detail, {});
|
||||
resolve();
|
||||
});
|
||||
}),
|
||||
new Promise<void>(resolve => {
|
||||
widgetApi.once("ready", () => resolve());
|
||||
}),
|
||||
]);
|
||||
widgetApi.expectingExplicitReady = true;
|
||||
widgetApi.start();
|
||||
} else {
|
||||
console.warn("No parent URL or no widget ID - assuming no widget API is available");
|
||||
}
|
||||
|
||||
// Populate the Jitsi params now
|
||||
@@ -78,39 +106,33 @@ let widgetApi: WidgetApi;
|
||||
roomId = qsParam('roomId', true);
|
||||
|
||||
if (widgetApi) {
|
||||
await widgetApi.waitReady();
|
||||
await readyPromise;
|
||||
await widgetApi.setAlwaysOnScreen(false); // start off as detachable from the screen
|
||||
|
||||
// See https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification
|
||||
if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) {
|
||||
// Request credentials, give callback to continue when received
|
||||
widgetApi.requestOpenIDCredentials(credentialsResponseCallback);
|
||||
} else {
|
||||
enableJoinButton();
|
||||
openIdToken = await widgetApi.requestOpenIDConnectToken();
|
||||
console.log("Got OpenID Connect token");
|
||||
}
|
||||
// TODO: register widgetApi listeners for PTT controls (https://github.com/vector-im/riot-web/issues/12795)
|
||||
} else {
|
||||
enableJoinButton();
|
||||
|
||||
// TODO: register widgetApi listeners for PTT controls (https://github.com/vector-im/element-web/issues/12795)
|
||||
|
||||
widgetApi.on(`action:${ElementWidgetActions.HangupCall}`,
|
||||
(ev: CustomEvent<IWidgetApiRequest>) => {
|
||||
if (meetApi) meetApi.executeCommand('hangup');
|
||||
widgetApi.transport.reply(ev.detail, {}); // ack
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
enableJoinButton(); // always enable the button
|
||||
} catch (e) {
|
||||
console.error("Error setting up Jitsi widget", e);
|
||||
document.getElementById("widgetActionContainer").innerText = "Failed to load Jitsi widget";
|
||||
}
|
||||
})();
|
||||
|
||||
/**
|
||||
* Enable or show error depending on what the credentials response is.
|
||||
*/
|
||||
function credentialsResponseCallback() {
|
||||
if (widgetApi.openIDCredentials) {
|
||||
console.info('Successfully got OpenID credentials.');
|
||||
enableJoinButton();
|
||||
} else {
|
||||
console.warn('OpenID credentials request was blocked by user.');
|
||||
document.getElementById("widgetActionContainer").innerText = "Failed to load Jitsi widget";
|
||||
}
|
||||
}
|
||||
|
||||
function enableJoinButton() {
|
||||
document.getElementById("joinButton").onclick = () => joinConference();
|
||||
}
|
||||
@@ -140,7 +162,7 @@ function createJWTToken() {
|
||||
room: "*",
|
||||
context: {
|
||||
matrix: {
|
||||
token: widgetApi.openIDCredentials.accessToken,
|
||||
token: openIdToken.access_token,
|
||||
room_id: roomId,
|
||||
},
|
||||
user: {
|
||||
@@ -163,7 +185,7 @@ function createJWTToken() {
|
||||
function joinConference() { // event handler bound in HTML
|
||||
let jwt;
|
||||
if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) {
|
||||
if (!widgetApi.openIDCredentials || !widgetApi.openIDCredentials.accessToken) {
|
||||
if (!openIdToken?.access_token) { // eslint-disable-line camelcase
|
||||
// We've failing to get a token, don't try to init conference
|
||||
console.warn('Expected to have an OpenID credential, cannot initialize widget.');
|
||||
document.getElementById("widgetActionContainer").innerText = "Failed to load Jitsi widget";
|
||||
@@ -199,7 +221,7 @@ function joinConference() { // event handler bound in HTML
|
||||
jwt: jwt,
|
||||
};
|
||||
|
||||
const meetApi = new JitsiMeetExternalAPI(jitsiDomain, options);
|
||||
meetApi = new JitsiMeetExternalAPI(jitsiDomain, options);
|
||||
if (displayName) meetApi.executeCommand("displayName", displayName);
|
||||
if (avatarUrl) meetApi.executeCommand("avatarUrl", avatarUrl);
|
||||
if (userId) meetApi.executeCommand("email", userId);
|
||||
@@ -214,5 +236,6 @@ function joinConference() { // event handler bound in HTML
|
||||
}
|
||||
|
||||
document.getElementById("jitsiContainer").innerHTML = "";
|
||||
meetApi = null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -140,8 +140,8 @@ class SeshatIndexManager extends BaseEventIndexManager {
|
||||
return this._ipcCall('supportsEventIndexing');
|
||||
}
|
||||
|
||||
async initEventIndex(): Promise<void> {
|
||||
return this._ipcCall('initEventIndex');
|
||||
async initEventIndex(userId: string, deviceId: string): Promise<void> {
|
||||
return this._ipcCall('initEventIndex', userId, deviceId);
|
||||
}
|
||||
|
||||
async addEventToIndex(ev: MatrixEvent, profile: MatrixProfile): Promise<void> {
|
||||
@@ -239,7 +239,7 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||
|
||||
// try to flush the rageshake logs to indexeddb before quit.
|
||||
ipcRenderer.on('before-quit', function() {
|
||||
console.log('riot-desktop closing');
|
||||
console.log('element-desktop closing');
|
||||
rageshake.flush();
|
||||
});
|
||||
|
||||
@@ -503,9 +503,9 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||
return url;
|
||||
}
|
||||
|
||||
startSingleSignOn(mxClient: MatrixClient, loginType: "sso" | "cas", fragmentAfterLogin: string) {
|
||||
startSingleSignOn(mxClient: MatrixClient, loginType: "sso" | "cas", fragmentAfterLogin: string, idpId?: string) {
|
||||
// this will get intercepted by electron-main will-navigate
|
||||
super.startSingleSignOn(mxClient, loginType, fragmentAfterLogin);
|
||||
super.startSingleSignOn(mxClient, loginType, fragmentAfterLogin, idpId);
|
||||
Modal.createTrackedDialog('Electron', 'SSO', InfoDialog, {
|
||||
title: _t("Go to your browser to complete Sign In"),
|
||||
description: <Spinner />,
|
||||
|
||||
@@ -40,7 +40,7 @@ export default abstract class VectorBasePlatform extends BasePlatform {
|
||||
/**
|
||||
* Delay creating the `Favicon` instance until first use (on the first notification) as
|
||||
* it uses canvas, which can trigger a permission prompt in Firefox's resist fingerprinting mode.
|
||||
* See https://github.com/vector-im/riot-web/issues/9605.
|
||||
* See https://github.com/vector-im/element-web/issues/9605.
|
||||
*/
|
||||
get favicon() {
|
||||
if (this._favicon) {
|
||||
|
||||
@@ -38,7 +38,7 @@ export function initRageshake() {
|
||||
"Meatball menu → Settings → Blackboxing → Add /rageshake\\.js$");
|
||||
|
||||
window.addEventListener('beforeunload', (e) => {
|
||||
console.log('riot-web closing');
|
||||
console.log('element-web closing');
|
||||
// try to flush the logs to indexeddb
|
||||
rageshake.flush();
|
||||
});
|
||||
|
||||
@@ -249,7 +249,7 @@ module.exports = (env, argv) => {
|
||||
},
|
||||
{
|
||||
// cache-bust languages.json file placed in
|
||||
// riot-web/webapp/i18n during build by copy-res.js
|
||||
// element-web/webapp/i18n during build by copy-res.js
|
||||
test: /\.*languages.json$/,
|
||||
type: "javascript/auto",
|
||||
loader: 'file-loader',
|
||||
@@ -269,12 +269,12 @@ module.exports = (env, argv) => {
|
||||
options: {
|
||||
esModule: false,
|
||||
name: '[name].[hash:7].[ext]',
|
||||
outputPath: getImgOutputPath,
|
||||
outputPath: getAssetOutputPath,
|
||||
publicPath: function(url, resourcePath) {
|
||||
// CSS image usages end up in the `bundles/[hash]` output
|
||||
// directory, so we adjust the final path to navigate up
|
||||
// twice.
|
||||
const outputPath = getImgOutputPath(url, resourcePath);
|
||||
const outputPath = getAssetOutputPath(url, resourcePath);
|
||||
return toPublicPath(path.join("../..", outputPath));
|
||||
},
|
||||
},
|
||||
@@ -285,9 +285,9 @@ module.exports = (env, argv) => {
|
||||
options: {
|
||||
esModule: false,
|
||||
name: '[name].[hash:7].[ext]',
|
||||
outputPath: getImgOutputPath,
|
||||
outputPath: getAssetOutputPath,
|
||||
publicPath: function(url, resourcePath) {
|
||||
const outputPath = getImgOutputPath(url, resourcePath);
|
||||
const outputPath = getAssetOutputPath(url, resourcePath);
|
||||
return toPublicPath(outputPath);
|
||||
},
|
||||
},
|
||||
@@ -392,15 +392,25 @@ module.exports = (env, argv) => {
|
||||
|
||||
/**
|
||||
* Merge assets found via CSS and imports into a single tree, while also preserving
|
||||
* directories under `res`.
|
||||
* directories under e.g. `res` or similar.
|
||||
*
|
||||
* @param {string} url The adjusted name of the file, such as `warning.1234567.svg`.
|
||||
* @param {string} resourcePath The absolute path to the source file with unmodified name.
|
||||
* @return {string} The returned paths will look like `img/warning.1234567.svg`.
|
||||
*/
|
||||
function getImgOutputPath(url, resourcePath) {
|
||||
const prefix = /^.*[/\\]res[/\\]/;
|
||||
const outputDir = path.dirname(resourcePath).replace(prefix, "");
|
||||
function getAssetOutputPath(url, resourcePath) {
|
||||
// `res` is the parent dir for our own assets in various layers
|
||||
// `dist` is the parent dir for KaTeX assets
|
||||
const prefix = /^.*[/\\](dist|res)[/\\]/;
|
||||
if (!resourcePath.match(prefix)) {
|
||||
throw new Error(`Unexpected asset path: ${resourcePath}`);
|
||||
}
|
||||
let outputDir = path.dirname(resourcePath).replace(prefix, "");
|
||||
if (resourcePath.includes("KaTeX")) {
|
||||
// Add a clearly named directory segment, rather than leaving the KaTeX
|
||||
// assets loose in each asset type directory.
|
||||
outputDir = path.join(outputDir, "KaTeX");
|
||||
}
|
||||
return path.join(outputDir, path.basename(url));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user