Compare commits

...

662 Commits

Author SHA1 Message Date
Michael Telatynski
ee11f2eedc Fix loading-test for SSO plaf changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-29 14:28:45 +01:00
RiotRobot
42c6a26e9f v1.6.6 2020-06-23 15:26:55 +01:00
RiotRobot
abc4f42f83 Prepare changelog for v1.6.6 2020-06-23 15:26:55 +01:00
RiotRobot
b1c106e8b2 Upgrade matrix-react-sdk to 2.8.0 2020-06-23 15:20:43 +01:00
RiotRobot
ae7f354811 Upgrade matrix-js-sdk to 7.0.0 2020-06-23 15:20:24 +01:00
RiotRobot
d12f33fb58 v1.6.6-rc.1 2020-06-17 21:52:14 +01:00
RiotRobot
b954292e06 Prepare changelog for v1.6.6-rc.1 2020-06-17 21:52:13 +01:00
RiotRobot
d587a8e910 Upgrade matrix-react-sdk to 2.8.0-rc.1 2020-06-17 21:49:25 +01:00
RiotRobot
2c227f68d4 Upgrade matrix-js-sdk to 7.0.0-rc.1 2020-06-17 21:49:00 +01:00
J. Ryan Stinnett
098984dd26 Merge pull request #14067 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-06-17 15:54:35 +01:00
GardeniaFair
ad1d4cba43 Translated using Weblate (Spanish)
Currently translated at 100.0% (33 of 33 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2020-06-17 14:52:40 +00:00
Priit Jõerüüt
36851a2aa3 Translated using Weblate (Estonian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/et/
2020-06-16 19:26:15 +00:00
RiotRobot
59d37ec94b Reset matrix-react-sdk back to develop branch 2020-06-16 12:01:07 +01:00
RiotRobot
6558d6d828 Reset matrix-js-sdk back to develop branch 2020-06-16 12:00:53 +01:00
RiotRobot
754d849055 Merge branch 'master' into develop 2020-06-16 12:00:14 +01:00
RiotRobot
d75045e852 v1.6.5 2020-06-16 11:53:53 +01:00
RiotRobot
fdec64f59c Prepare changelog for v1.6.5 2020-06-16 11:53:53 +01:00
RiotRobot
9ed7c96df6 Upgrade matrix-react-sdk to 2.7.2 2020-06-16 11:51:28 +01:00
RiotRobot
93da1f192b Upgrade matrix-js-sdk to 6.2.2 2020-06-16 11:51:11 +01:00
David Baker
657fa847c6 Merge pull request #14032 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-06-15 09:37:51 +01:00
Weblate
7a237e7045 Merge branch 'origin/develop' into Weblate. 2020-06-11 17:25:49 +00:00
Michael Telatynski
5900c7090f Merge pull request #13987 from vector-im/t3chguy/fix-decoder-ring
Attempt to fix decoder ring for relative hosted riots
2020-06-11 18:25:41 +01:00
Michael Telatynski
c32d3efd52 Add Base URL field to decoder-ring to make it more flexible
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-11 01:37:31 +01:00
Michael Telatynski
2419db5195 Attempt to fix decoder ring for relative hosted riots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-11 01:24:26 +01:00
Nils Haugen
428f49bb7a Translated using Weblate (Norwegian Nynorsk)
Currently translated at 54.5% (18 of 33 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nn/
2020-06-09 20:29:25 +00:00
Slimane Selyan AMIRI
b9560c8cfc Translated using Weblate (Kabyle)
Currently translated at 18.2% (6 of 33 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/kab/
2020-06-09 20:29:25 +00:00
Nils Haugen
5b63be6a57 Translated using Weblate (Norwegian Nynorsk)
Currently translated at 54.5% (18 of 33 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nn/
2020-06-08 13:29:22 +00:00
J. Ryan Stinnett
bf174e3f0f Merge pull request #13952 from vector-im/jryans/upgrade-deps-2020-06-05
Upgrade deps
2020-06-08 10:58:46 +01:00
J. Ryan Stinnett
7d800f9f38 Upgrade deps 2020-06-08 10:16:33 +01:00
Michael Telatynski
3bc6b08cad Merge pull request #13946 from vector-im/t3chguy/remember-updates
Fix riot-desktop manual update check getting stuck on Downloading...
2020-06-08 09:44:22 +01:00
Michael Telatynski
34dab73150 Fix riot-desktop manual update check getting stuck on Downloading...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-07 13:19:29 +01:00
Travis Ralston
59cefb6ac8 Merge pull request #13943 from vector-im/dependabot/npm_and_yarn/websocket-extensions-0.1.4
Bump websocket-extensions from 0.1.3 to 0.1.4
2020-06-06 10:50:48 -06:00
dependabot[bot]
e8ebf886e4 Bump websocket-extensions from 0.1.3 to 0.1.4
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-06 13:56:59 +00:00
RiotRobot
6875ffe0d5 Reset matrix-react-sdk back to develop branch 2020-06-05 16:03:24 +01:00
RiotRobot
befc7589cd Reset matrix-js-sdk back to develop branch 2020-06-05 16:03:09 +01:00
RiotRobot
ca632fd2da Merge branch 'master' into develop 2020-06-05 16:02:34 +01:00
RiotRobot
3b28ebecef v1.6.4 2020-06-05 15:57:45 +01:00
RiotRobot
758e2d6bfd Prepare changelog for v1.6.4 2020-06-05 15:57:45 +01:00
RiotRobot
21dd4c99f3 Upgrade matrix-react-sdk to 2.7.1 2020-06-05 15:53:38 +01:00
RiotRobot
45fb8adc5d Upgrade matrix-js-sdk to 6.2.1 2020-06-05 15:52:31 +01:00
RiotRobot
4cf86fd50a Reset matrix-react-sdk back to develop branch 2020-06-04 15:39:07 +01:00
RiotRobot
88bb5a49ed Reset matrix-js-sdk back to develop branch 2020-06-04 15:38:53 +01:00
RiotRobot
5c5e7caacf Merge branch 'master' into develop 2020-06-04 15:38:19 +01:00
RiotRobot
97f45723a3 v1.6.3 2020-06-04 15:34:58 +01:00
RiotRobot
1942cad1f6 Prepare changelog for v1.6.3 2020-06-04 15:34:57 +01:00
RiotRobot
451138617b Upgrade matrix-react-sdk to 2.7.0 2020-06-04 15:23:38 +01:00
RiotRobot
a0ea1bfda8 Upgrade matrix-js-sdk to 6.2.0 2020-06-04 15:23:02 +01:00
Michael Telatynski
bf35dd2b46 Merge pull request #13914 from vector-im/t3chguy/e2eedefault
Add e2ee-default:false docs
2020-06-04 13:12:22 +01:00
Michael Telatynski
bce0bf1b1d Apply suggestions from code review
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-06-04 12:38:45 +01:00
Michael Telatynski
a607dc6822 Merge pull request #13915 from vector-im/t3chguy/sso-query
Fix login loop where the sso flow returns to `#/login` to release
2020-06-04 01:09:32 +01:00
Michael Telatynski
cd829d3c1c Merge branches 'develop' and 't3chguy/e2eedefault' of github.com:vector-im/riot-web into t3chguy/e2eedefault 2020-06-03 22:19:03 +01:00
Michael Telatynski
1b7accddfd fix loading test for new sso pattern
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 22:14:44 +01:00
Michael Telatynski
ddf3d92d43 Fix login loop where the sso flow returns to #/login
due to fragmentAfterLogin going back to `#/login`
and https://github.com/vector-im/riot-web/issues/11643

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 22:14:44 +01:00
Michael Telatynski
faca8799db Add e2ee-default:false docs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 22:10:48 +01:00
Hubert Chathi
d86fd9e753 Merge pull request #13846 from vector-im/uhoreg/keytar
make IPC calls to get pickle key
2020-06-03 16:54:40 -04:00
Michael Telatynski
c75e888c90 Merge pull request #13913 from vector-im/t3chguy/sso-query
fix loading test for new sso pattern
2020-06-03 20:42:24 +01:00
Michael Telatynski
19ff8dde1f fix loading test for new sso pattern
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 20:35:56 +01:00
Michael Telatynski
801946782b Merge pull request #13889 from vector-im/t3chguy/sso-query
Fix login loop where the sso flow returns to `#/login`
2020-06-03 20:28:04 +01:00
Travis Ralston
5a77025dec Merge pull request #13905 from arthurlogilab/patch-1
Fix typo in docs
2020-06-03 07:47:00 -06:00
Arthur Lutz
d0413f0d15 [docs/config.md] typo fix 2020-06-03 14:59:34 +02:00
Michael Telatynski
d41fee06a1 Merge pull request #13904 from vector-im/t3chguy/remove_cross_signing
Remove cross-signing from labs
2020-06-03 13:42:01 +01:00
Michael Telatynski
bbe9a73266 Merge pull request #13890 from vector-im/t3chguy/pwa-platform
Add PWA Platform with PWA-specific badge controls
2020-06-03 11:19:45 +01:00
Michael Telatynski
c29dc0bad8 Remove cross-signing from labs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 10:44:42 +01:00
Michael Telatynski
41738c322a Add PWA Platform with PWA-specific badge controls
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-02 16:58:05 +01:00
Michael Telatynski
d18b0f87d4 Fix login loop where the sso flow returns to #/login
due to fragmentAfterLogin going back to `#/login`
and https://github.com/vector-im/riot-web/issues/11643

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-02 16:26:08 +01:00
RiotRobot
765927203d v1.6.3-rc.1 2020-06-02 15:55:48 +01:00
RiotRobot
403fddcb99 Prepare changelog for v1.6.3-rc.1 2020-06-02 15:55:47 +01:00
RiotRobot
f8dad68958 Add flux types as a dev dependency
This is not the right thing to do, since we don't directly use Flux at this
layer, but for the moment we need it to get distribution builds working.
2020-06-02 15:53:11 +01:00
RiotRobot
e37680b6c1 Upgrade matrix-react-sdk to 2.7.0-rc.2 2020-06-02 14:41:44 +01:00
RiotRobot
94fee233a8 Upgrade matrix-js-sdk to 6.2.0-rc.1 2020-06-02 14:40:00 +01:00
Michael Telatynski
e1f264c481 Merge pull request #13888 from vector-im/t3chguy/riotbot
Get rid of welcome.html's Chat with Riot Bot button to release
2020-06-02 14:29:56 +01:00
Michael Telatynski
3869a4d22e Merge pull request #13842 from vector-im/t3chguy/riotbot
Get rid of welcome.html's Chat with Riot Bot button
2020-06-02 13:58:49 +01:00
Michael Telatynski
d0679efe5d Merge pull request #13828 from vector-im/t3chguy/modernizr-subtleCrypto
Modernizr check for subtle crypto as we require it all over the place
2020-06-02 13:46:05 +01:00
J. Ryan Stinnett
9e36e7f966 Merge pull request #13886 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-06-02 13:34:24 +01:00
Weblate
5c6efa4316 Merge branch 'origin/develop' into Weblate. 2020-05-30 12:02:08 +00:00
Michael Telatynski
afd0d69ab5 Merge pull request #13864 from vector-im/t3chguy/toasts6_1
Allow deferring of Update Toast until the next morning
2020-05-30 13:02:03 +01:00
Weblate
8a971e59b9 Merge branch 'origin/develop' into Weblate. 2020-05-30 11:54:32 +00:00
Michael Telatynski
e368007274 Merge pull request #13862 from vector-im/t3chguy/toasts6
Give contextual feedback for manual update check instead of banner
2020-05-30 12:54:27 +01:00
Michael Telatynski
c6688f0245 make button margin equal all around
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-30 12:52:21 +01:00
Weblate
d60f1553b1 Merge branch 'origin/develop' into Weblate. 2020-05-29 19:40:47 +00:00
Michael Telatynski
cb48eb4933 Merge pull request #13834 from vector-im/t3chguy/docs
Add app-load doc
2020-05-29 20:40:43 +01:00
Weblate
a944262bb5 Merge branch 'origin/develop' into Weblate. 2020-05-29 19:16:23 +00:00
Michael Telatynski
06cc1c45bf Merge pull request #13777 from vector-im/t3chguy/modular-utm
Update Modular hosting link
2020-05-29 20:16:18 +01:00
Michael Telatynski
66272fc226 Allow deferring of Update Toast until the next morning
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-29 19:59:48 +01:00
Michael Telatynski
1fd74f22c8 Give contextual feedback for manual update check instead of banner
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-29 18:24:45 +01:00
Hubert Chathi
fb62f6dfb4 make IPC calls to get pickle key 2020-05-28 14:44:38 -04:00
Michael Telatynski
bc4254574d i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-28 19:08:03 +01:00
Michael Telatynski
a6683cec67 Get rid of welcome.html's Chat with Riot Bot button
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-28 18:49:36 +01:00
Weblate
4252735db0 Merge branch 'origin/develop' into Weblate. 2020-05-28 17:30:36 +00:00
Michael Telatynski
c68f35060a Merge pull request #13776 from vector-im/t3chguy/toasts3_2
Replace New Version Bar with a Toast
2020-05-28 18:30:31 +01:00
Weblate
ec995fb151 Merge branch 'origin/develop' into Weblate. 2020-05-28 16:05:51 +00:00
MamasLT
154586f452 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/
2020-05-28 16:05:50 +00:00
XoseM
40cf610986 Translated using Weblate (Galician)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/
2020-05-28 16:05:50 +00:00
Travis Ralston
0f087f7a5a Merge pull request #13814 from vector-im/travis/cleanup-lockfile
Remove webpack-build-notifier from lockfile
2020-05-28 10:05:44 -06:00
Michael Telatynski
af8fb33b83 add line
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-28 14:28:14 +01:00
Michael Telatynski
361cc4ab5c Add app-load doc
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-28 14:26:51 +01:00
Michael Telatynski
57d2026a40 Modernizr check for subtle crypto as we require it all over the place
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-28 00:31:22 +01:00
Weblate
7185ae17b1 Merge branch 'origin/develop' into Weblate. 2020-05-27 15:04:17 +00:00
Travis Ralston
332be9b4e1 Merge pull request #13818 from TitanNano/9814
Add media queries and mobile viewport (#12142)
2020-05-27 09:04:10 -06:00
Jovan Gerodetti
061619929e Integrate requested changes from #12142 2020-05-27 16:50:35 +02:00
Dale Harvey
74f798157f Add media queries and mobile viewport 2020-05-27 16:50:35 +02:00
yuuki-san
e7d22fa086 Translated using Weblate (Slovak)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/
2020-05-27 09:43:52 +00:00
Microtus62
a2914cff94 Translated using Weblate (Slovak)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/
2020-05-27 09:43:52 +00:00
Michael Telatynski
c17bcda1ba Merge branches 'develop' and 't3chguy/toasts3_2' of github.com:vector-im/riot-web into t3chguy/toasts3_2 2020-05-27 09:58:08 +01:00
Travis Ralston
b9794ea6e4 Remove webpack-build-notifier from lockfile 2020-05-26 13:50:31 -06:00
Jorik Schellekens
492dd42f4d Merge pull request #13809 from JorikSchellekens/develop
Fix @types/react conflict in matrix-react-sdk
2020-05-26 16:12:46 +01:00
Michael Telatynski
29ff40eee5 Merge pull request #13808 from vector-im/t3chguy/arrow-funcs-super
Fix manual update checking, super in arrow funcs doesn't work
2020-05-26 10:13:02 +01:00
Michael Telatynski
3ad3c3ca0a Fix super in arrow funcs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-26 10:04:49 +01:00
David Baker
6723e71eb2 Merge pull request #13806 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-05-26 09:43:28 +01:00
Jorik Schellekens
43c0148123 Fix @types/react conflict in matrix-react-sdk 2020-05-25 18:37:30 +01:00
Michael Telatynski
f546d8bc15 Update Modular hosting link
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-23 08:48:30 +01:00
Michael Telatynski
48a618264a Replace New Version Bar with a Toast
discards the `new_version` dispatch

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 23:08:46 +01:00
Weblate
19a19cde2f Merge branch 'origin/develop' into Weblate. 2020-05-22 15:36:04 +00:00
Osoitz
733e38cab1 Translated using Weblate (Basque)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2020-05-22 15:36:04 +00:00
Michael Telatynski
b4284b4c68 Merge pull request #13756 from vector-im/t3chguy/toasts2
Convert platforms to Typescript
2020-05-22 16:35:57 +01:00
Weblate
34e92adf05 Merge branch 'origin/develop' into Weblate. 2020-05-22 13:36:55 +00:00
RiotRobot
ef60265bb6 Reset matrix-react-sdk back to develop branch 2020-05-22 14:36:23 +01:00
RiotRobot
aed4568882 Reset matrix-js-sdk back to develop branch 2020-05-22 14:36:11 +01:00
Weblate
7d517053b1 Merge branch 'origin/develop' into Weblate. 2020-05-22 13:35:49 +00:00
RiotRobot
b9ea0af44c Merge branch 'master' into develop 2020-05-22 14:35:27 +01:00
RiotRobot
075299a7eb v1.6.2 2020-05-22 14:21:24 +01:00
RiotRobot
55cba2caa3 Prepare changelog for v1.6.2 2020-05-22 14:21:23 +01:00
RiotRobot
9e88a7d1c0 Upgrade matrix-react-sdk to 2.6.1 2020-05-22 14:17:58 +01:00
Weblate
b7db59eeb2 Merge branch 'origin/develop' into Weblate. 2020-05-22 13:03:35 +00:00
Michael Telatynski
6c92b26875 Merge pull request #13764 from vector-im/t3chguy/toasts3
Fix EventEmitter typescript signature in node typings
2020-05-22 14:03:29 +01:00
Michael Telatynski
3bbd3e246a Fix EventEmitter typescript signature in node typings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 13:52:40 +01:00
Weblate
26c5cdf2c5 Merge branch 'origin/develop' into Weblate. 2020-05-21 19:30:41 +00:00
yuuki-san
af76675552 Translated using Weblate (Slovak)
Currently translated at 94.4% (34 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/
2020-05-21 19:30:41 +00:00
MamasLT
134833c7d4 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/
2020-05-21 19:30:41 +00:00
Travis Ralston
42a2f83603 Merge pull request #13675 from vector-im/travis/room-list-2
Add docs and labs flag for new room list implementation
2020-05-21 13:30:35 -06:00
Travis Ralston
6f7570d877 Merge branch 'develop' into travis/room-list-2 2020-05-21 13:29:20 -06:00
Michael Telatynski
d7ee8e13cc make ts happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-21 18:25:52 +01:00
Michael Telatynski
cb0e3bba38 mark VectorBasePlatform as an abstract class
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-21 18:07:01 +01:00
Michael Telatynski
706972eff2 tidy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-20 20:01:51 +01:00
Michael Telatynski
6ec613c2c2 Convert various things to Typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-20 19:56:54 +01:00
Weblate
9874c2c455 Merge branch 'origin/develop' into Weblate. 2020-05-20 16:05:35 +00:00
MamasLT
1412d11d67 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/
2020-05-20 16:05:35 +00:00
Xose M
cbbb53cc90 Translated using Weblate (Galician)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/
2020-05-20 16:05:34 +00:00
Travis Ralston
03414d92d0 Merge pull request #13352 from vector-im/revert-13351-revert-13199-joriks/font-sclaing-slider
Add font scaling labs setting.
2020-05-20 10:05:28 -06:00
Weblate
199139efff Merge branch 'origin/develop' into Weblate. 2020-05-19 20:53:06 +00:00
Travis Ralston
aae5e4c234 Merge pull request #13350 from JorikSchellekens/joriks/font-sclaing-slider
Add labs flag for alternate message layouts
2020-05-19 14:53:01 -06:00
Jorik Schellekens
3a7578b7ee Remove avatar flag 2020-05-19 18:30:30 +01:00
yuuki-san
18b5fbaa6e Translated using Weblate (Slovak)
Currently translated at 88.9% (32 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/
2020-05-19 17:28:48 +00:00
Weblate
72513697af Merge branch 'origin/develop' into Weblate. 2020-05-19 10:36:26 +00:00
RiotRobot
16ecc007d6 Reset matrix-react-sdk back to develop branch 2020-05-19 11:36:17 +01:00
RiotRobot
92b94af9ed Reset matrix-js-sdk back to develop branch 2020-05-19 11:36:07 +01:00
Weblate
4addf64551 Merge branch 'origin/develop' into Weblate. 2020-05-19 10:35:50 +00:00
RiotRobot
ef0076bd83 Merge branch 'master' into develop 2020-05-19 11:34:45 +01:00
RiotRobot
482d6a7fb3 v1.6.1 2020-05-19 11:31:35 +01:00
RiotRobot
02784379f8 Prepare changelog for v1.6.1 2020-05-19 11:31:35 +01:00
RiotRobot
a9fbc190bf Upgrade matrix-react-sdk to 2.6.0 2020-05-19 11:28:08 +01:00
RiotRobot
f35ec09b54 Upgrade matrix-js-sdk to 6.1.0 2020-05-19 11:27:41 +01:00
Weblate
81db5900f0 Merge branch 'origin/develop' into Weblate. 2020-05-19 05:22:41 +00:00
Travis Ralston
6d99c08e59 Merge pull request #13666 from vector-im/travis/dispatcher-types
Move dispatcher references in support of TypeScript conversion
2020-05-18 23:22:35 -06:00
Weblate
b513cafc98 Merge branch 'origin/develop' into Weblate. 2020-05-18 09:23:51 +00:00
David Baker
1f1c1279ea Merge pull request #13704 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-05-18 10:23:46 +01:00
Weblate
8be2fdf99c Merge branch 'origin/develop' into Weblate. 2020-05-18 09:19:29 +00:00
Michael Telatynski
c565af1ade Merge pull request #13649 from vector-im/t3chguy/favico
Replace favico.js dependency with simplified variant grown from it
2020-05-18 10:19:23 +01:00
Weblate
4e92d09cca Merge branch 'origin/develop' into Weblate. 2020-05-17 21:45:07 +00:00
Xose M
c442a89253 Translated using Weblate (Galician)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/
2020-05-17 21:45:07 +00:00
J. Ryan Stinnett
96a550b88a Merge pull request #13688 from vector-im/jryans/rm-electron-scripts
Remove Electron packaging scripts
2020-05-17 22:45:00 +01:00
Reinis Mednis
0da3534ef5 Translated using Weblate (Latvian)
Currently translated at 86.1% (31 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lv/
2020-05-16 07:22:11 +00:00
Tuomas Hietala
7a17172f50 Translated using Weblate (Finnish)
Currently translated at 97.2% (35 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2020-05-16 07:22:05 +00:00
Besnik Bleta
343f19f3b0 Translated using Weblate (Albanian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
2020-05-16 07:22:01 +00:00
J. Ryan Stinnett
40f40251f1 Remove Electron packaging scripts
These tasks are handled by riot-desktop now.
2020-05-15 17:56:23 +01:00
Travis Ralston
429494aad4 Enable room list labs flag
For the intrepid testers who don't care about losing room list features.
2020-05-14 14:26:09 -06:00
Travis Ralston
81010a4f2f Add docs for room list labs flag 2020-05-14 14:24:34 -06:00
Travis Ralston
e3f2e97b9f Merge branch 'travis/dispatcher-types' into travis/room-list-2 2020-05-14 14:21:43 -06:00
Michael Telatynski
5feadbc18e Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/favico 2020-05-14 21:20:04 +01:00
Michael Telatynski
4532ddbb2d Add support for badge override opts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 21:19:54 +01:00
Michael Telatynski
5b59c67012 Merge pull request #13674 from vector-im/t3chguy/progress_colour
Fix postcss order to allow mixin variables to work
2020-05-14 20:37:49 +01:00
Michael Telatynski
99df2d3126 Fix postcss order to allow mixin variables to work
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 18:46:16 +01:00
Michael Telatynski
7246d9f2d6 Merge pull request #13650 from vector-im/t3chguy/sso_hash
Pass screenAfterLogin through SSO in the callback url
2020-05-14 17:30:32 +01:00
RiotRobot
f56ee6df34 v1.6.1-rc.1 2020-05-14 16:53:00 +01:00
RiotRobot
475e7d0f31 Prepare changelog for v1.6.1-rc.1 2020-05-14 16:53:00 +01:00
RiotRobot
8bf9635fc8 Remove Electron steps from release script 2020-05-14 16:40:25 +01:00
RiotRobot
fe32590e30 Upgrade matrix-react-sdk to 2.6.0-rc.1 2020-05-14 16:35:02 +01:00
RiotRobot
710dc18f2c Upgrade matrix-js-sdk to 6.1.0-rc.1 2020-05-14 16:33:28 +01:00
J. Ryan Stinnett
4682b093a9 Merge pull request #13673 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-05-14 16:00:08 +01:00
Weblate
747a7dbe8e Merge branch 'origin/develop' into Weblate. 2020-05-14 14:49:33 +00:00
David Baker
7368983a30 Merge pull request #13669 from vector-im/dbkr/notranslate
Add notranslate class to matrixchat to prevent translation by Google Translate
2020-05-14 15:49:27 +01:00
blakhawk23
d4c9da4d8b Translated using Weblate (Romanian)
Currently translated at 63.9% (23 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ro/
2020-05-14 10:28:39 +00:00
langdev4u
ac5ab3d1d3 Translated using Weblate (Dutch)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2020-05-14 10:28:38 +00:00
David Baker
50c4e44a14 Add notranslate class to matrixchat to prevent translation by Google Translate
Google Translate manipulates the DOM which is fundamentally incomaptible with
React and causes exceptions to be thrown when React tries to manipulate the DOM
based on its VDOM and the DOM methods throw exceptions because the DOM structure
is not what React thinks it is.

Riot has an i18n system, although it doesn't cover all strings and all languages.

Fixes https://github.com/vector-im/riot-web/issues/13557
2020-05-14 10:37:44 +01:00
Travis Ralston
a21d6e651f Move dispatcher references in support of TypeScript conversion
See https://github.com/matrix-org/matrix-react-sdk/pull/4593
2020-05-13 21:15:30 -06:00
Michael Telatynski
6348b17e23 Pass screenAfterLogin through SSO in the callback url
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-13 06:24:05 +01:00
Michael Telatynski
0d1b4afde8 tidy comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-13 05:23:43 +01:00
Michael Telatynski
911bd2e469 Replace favico.js dependency with simplified variant grown from it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-13 05:19:08 +01:00
Weblate
9cab70d1e9 Merge branch 'origin/develop' into Weblate. 2020-05-12 12:55:30 +00:00
J. Ryan Stinnett
d44808e0e6 Merge pull request #13638 from chagai95/patch-2
Added Anchor Link to the development of matrix sdk
2020-05-12 13:55:23 +01:00
chagai95
b10fdf3d4b Added Anchor Link to the development of matrix sdk
The link before just sent you to the matrix sdk repository, now it sends you to the development section.
2020-05-12 13:07:43 +02:00
Weblate
9ba398f415 Merge branch 'origin/develop' into Weblate. 2020-05-12 08:43:04 +00:00
Iria_kuro
cba4ed3aa2 Translated using Weblate (Korean)
Currently translated at 94.4% (34 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2020-05-12 08:43:04 +00:00
Michael Telatynski
87cb49dc3b Merge pull request #13631 from vector-im/t3chguy/prefetch
Prefetch the formatting button mask svg images
2020-05-12 09:42:57 +01:00
Michael Telatynski
584e07664e Prefetch the formatting button mask svg images
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-11 16:07:13 +01:00
Weblate
57bf935300 Merge branch 'origin/develop' into Weblate. 2020-05-11 10:36:22 +00:00
Iria_kuro
059fa6d437 Translated using Weblate (Korean)
Currently translated at 61.1% (22 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2020-05-11 10:36:22 +00:00
Zoe
72af5c1104 Merge pull request #13488 from vector-im/foldleft/12014-big-previews-2
use a different image in previews
2020-05-11 11:36:15 +01:00
Mine_My
9ea25160a1 Translated using Weblate (Korean)
Currently translated at 58.3% (21 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2020-05-11 10:27:17 +00:00
Zoe
22704382fe Merge branch 'develop' into foldleft/12014-big-previews-2 2020-05-11 10:19:09 +01:00
David Baker
a1ff03c83b Merge pull request #13625 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-05-11 10:07:10 +01:00
Jan van der Weijst
d8944d13aa Translated using Weblate (Spanish)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2020-05-11 08:55:21 +00:00
Michael Albert
91c91c6511 Translated using Weblate (German)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2020-05-11 08:55:20 +00:00
Peter C. S. Scholtens
4f676ec56c Translated using Weblate (Dutch)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2020-05-11 08:55:20 +00:00
strix aluco
6c8933ba09 Translated using Weblate (Ukrainian)
Currently translated at 80.6% (29 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2020-05-09 20:28:31 +00:00
Frisk
8cdf617ce3 Translated using Weblate (Polish)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2020-05-09 20:28:31 +00:00
Weblate
fe8eb97444 Merge branch 'origin/develop' into Weblate. 2020-05-07 16:06:40 +00:00
Imre Kristoffer Eilertsen
8901f81b10 Translated using Weblate (Norwegian Bokmål)
Currently translated at 63.9% (23 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nb_NO/
2020-05-07 16:06:40 +00:00
Markus Vuorio
5254eb6ee3 Translated using Weblate (Finnish)
Currently translated at 61.1% (22 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2020-05-07 16:06:40 +00:00
Priit Jõerüüt
d3a87a7c43 Translated using Weblate (Estonian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/et/
2020-05-07 16:06:40 +00:00
Michael Telatynski
29ed18f1dc Merge pull request #13544 from vector-im/t3chguy/electron_app
Remove electron_app as we now have riot-desktop repo
2020-05-07 17:06:34 +01:00
Jorik Schellekens
585cfbbaf9 Update docs 2020-05-07 16:18:11 +01:00
Jorik Schellekens
4ec952f1f1 Move irc layout to labs 2020-05-07 14:12:35 +01:00
Zoe
cbdb2ec9a6 import image to package for use 2020-05-07 10:39:02 +01:00
Weblate
96512a3257 Merge branch 'origin/develop' into Weblate. 2020-05-06 17:10:55 +00:00
call_xz
7bff4b316e Translated using Weblate (Japanese)
Currently translated at 58.3% (21 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
2020-05-06 17:10:55 +00:00
Balázs Meskó
789dd3d978 Translated using Weblate (Hungarian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2020-05-06 17:10:55 +00:00
Tirifto
862207c48b Translated using Weblate (Esperanto)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2020-05-06 17:10:55 +00:00
Besnik Bleta
3528e5bc62 Translated using Weblate (Albanian)
Currently translated at 97.2% (35 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
2020-05-06 17:10:54 +00:00
Travis Ralston
cfd84688c5 Merge pull request #13556 from nimbleape/fix-pwa-icons
add new images for PWA icons
2020-05-06 11:10:49 -06:00
Dan Jenkins
8e5f50323f add new images for PWA icons 2020-05-06 17:41:37 +01:00
Michael Telatynski
f4e21c3fc7 Remove electron_app as we now have riot-desktop repo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-06 11:32:13 +01:00
Weblate
2b0be08a0c Merge branch 'origin/develop' into Weblate. 2020-05-05 13:42:44 +00:00
J. Ryan Stinnett
add2458a45 Merge pull request #13504 from vector-im/jryans/rm-cross-signing-flags-config
Remove unused feature flag from config
2020-05-05 14:42:38 +01:00
J. Ryan Stinnett
bccfd9f93e Remove unused feature flag from config
The cross-signing feature flag was changed to a setting, so these values are
outdated and can be removed.

See also https://github.com/matrix-org/matrix-react-sdk/pull/4416
2020-05-05 13:24:09 +01:00
Weblate
c313bab431 Merge branch 'origin/develop' into Weblate. 2020-05-05 10:41:46 +00:00
RiotRobot
fb33b6082d Reset matrix-react-sdk back to develop branch 2020-05-05 11:41:33 +01:00
RiotRobot
99af02eecd Reset matrix-js-sdk back to develop branch 2020-05-05 11:41:11 +01:00
Weblate
baf498e611 Merge branch 'origin/develop' into Weblate. 2020-05-05 10:39:47 +00:00
oleg-fiksel
5926a0420c Translated using Weblate (Russian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2020-05-05 10:39:47 +00:00
Christian Herzog
ccfc04d0e3 Translated using Weblate (German)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2020-05-05 10:39:47 +00:00
RiotRobot
d5d4b95fee Merge branch 'master' into develop 2020-05-05 11:39:12 +01:00
RiotRobot
beda6c3b25 v1.6.0 2020-05-05 11:35:22 +01:00
RiotRobot
8ff3a4453a Prepare changelog for v1.6.0 2020-05-05 11:35:22 +01:00
RiotRobot
ed6c69c040 v1.6.0 2020-05-05 11:31:35 +01:00
RiotRobot
3e13de3069 Upgrade matrix-react-sdk to 2.5.0 2020-05-05 11:31:28 +01:00
RiotRobot
cc192ab882 Upgrade matrix-js-sdk to 6.0.0 2020-05-05 11:30:41 +01:00
alexsal86
6ff5c98239 Translated using Weblate (German)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2020-05-04 13:18:14 +00:00
Christian Herzog
212662bc04 Translated using Weblate (German)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2020-05-04 13:18:14 +00:00
code-surfer
d888bcb313 Translated using Weblate (German)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2020-05-04 13:18:13 +00:00
Zoe
5dd452bec0 use a different image in previews 2020-05-04 11:42:09 +01:00
David Baker
0875795036 Merge pull request #13486 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-05-04 10:35:51 +01:00
Szimszon
a0707903b2 Translated using Weblate (Hungarian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2020-05-04 09:08:17 +00:00
code-surfer
2fcedeb047 Translated using Weblate (German)
Currently translated at 86.1% (31 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2020-05-04 09:08:17 +00:00
random
6c6d6e07d3 Translated using Weblate (Italian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2020-05-02 10:28:18 +00:00
Slavi Pantaleev
34bb6df00f Translated using Weblate (Bulgarian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2020-05-02 10:28:18 +00:00
RiotRobot
be76d2ef3c v1.6.0-rc.6 2020-05-01 16:35:10 +01:00
RiotRobot
84c057e640 Prepare changelog for v1.6.0-rc.6 2020-05-01 16:35:10 +01:00
RiotRobot
3eb4026dc0 v1.6.0-rc.6 2020-05-01 16:33:04 +01:00
RiotRobot
1edfde3932 Upgrade matrix-react-sdk to 2.5.0-rc.6 2020-05-01 16:33:00 +01:00
RiotRobot
43879c410c Upgrade matrix-js-sdk to 6.0.0-rc.2 2020-05-01 16:32:34 +01:00
Weblate
345f4e4c95 Merge branch 'origin/develop' into Weblate. 2020-05-01 08:37:58 +00:00
Mauro Torrez
2714a84630 Translated using Weblate (Spanish)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2020-05-01 08:37:58 +00:00
Kévin C
95599f4d6d Translated using Weblate (French)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2020-05-01 08:37:57 +00:00
Mauro Torrez
5ba6421b54 Translated using Weblate (French)
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2020-05-01 08:37:57 +00:00
Jeff Huang
3dca5f5af8 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (36 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2020-05-01 08:37:57 +00:00
Mauro Torrez
0844f15aa0 Translated using Weblate (Catalan)
Currently translated at 52.8% (19 of 36 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/
2020-05-01 08:37:57 +00:00
Zoe
0e75b1b0db Merge pull request #13357 from vector-im/foldleft/decoder-ring
Developer tool: convert rageshake error locations back to sourcecode locations
2020-05-01 09:37:51 +01:00
Weblate
e23870d050 Merge branch 'origin/develop' into Weblate. 2020-04-30 16:48:49 +00:00
Michael Telatynski
33406d1709 Merge pull request #13329 from vector-im/t3chguy/app_load4
App load tweaks, improve error pages
2020-04-30 17:48:43 +01:00
Weblate
5568bb15c4 Merge branch 'origin/develop' into Weblate. 2020-04-30 16:20:44 +00:00
J. Ryan Stinnett
ba6e1d924f Merge pull request #13465 from vector-im/jryans/update-default-device-format
Tweak default device name to be more compact
2020-04-30 17:20:39 +01:00
J. Ryan Stinnett
1ad54a4dae Tweak default device name to be more compact
Fixes https://github.com/vector-im/riot-web/issues/13458
2020-04-30 16:50:01 +01:00
Weblate
edb4f9bf05 Merge branch 'origin/develop' into Weblate. 2020-04-30 15:45:18 +00:00
yuuki-san
c3b0a24bdd Translated using Weblate (Slovak)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/
2020-04-30 15:45:18 +00:00
Slavi Pantaleev
fd5aea20ef Translated using Weblate (Bulgarian)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2020-04-30 15:45:18 +00:00
J. Ryan Stinnett
9fb5a6de3d Merge pull request #13460 from vector-im/jryans/stylise-macos
Tweak default device name on macOS
2020-04-30 16:45:11 +01:00
J. Ryan Stinnett
ab40d5b732 Update copyright header 2020-04-30 16:02:37 +01:00
J. Ryan Stinnett
dec5ea1637 Tweak default device name on macOS
This tweak's the OS name in the default device name for macOS devices to match
Apple's current branding.

Fixes https://github.com/vector-im/riot-web/issues/13459
2020-04-30 15:58:53 +01:00
Zoe
4110e2dfa3 Move codebase into riot-web 2020-04-30 13:58:17 +01:00
RiotRobot
29df8a8a2e v1.6.0-rc.5 2020-04-30 11:37:43 +01:00
RiotRobot
429f36ebfc Prepare changelog for v1.6.0-rc.5 2020-04-30 11:37:42 +01:00
RiotRobot
5844cb9428 v1.6.0-rc.5 2020-04-30 11:34:37 +01:00
RiotRobot
3c7de2c08f Upgrade matrix-react-sdk to 2.5.0-rc.5 2020-04-30 11:34:11 +01:00
RiotRobot
ecc73905c1 Upgrade matrix-js-sdk to 6.0.0-rc.1 2020-04-30 11:33:23 +01:00
Priit Jõerüüt
3c40cfe593 Translated using Weblate (Estonian)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/et/
2020-04-28 20:09:28 +00:00
Jorik Schellekens
6d19d1b346 Change setting location. 2020-04-28 16:56:23 +01:00
Bruno Windels
678f419f01 Merge pull request #13406 from vector-im/bwindels/customthemechanges
Update docs with custom theming changes
2020-04-28 09:07:34 +00:00
Bruno Windels
5c77b0371a add line break 2020-04-28 11:07:16 +02:00
Michael Telatynski
711ba78052 Update src/async-components/structures/CompatibilityView.tsx
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2020-04-28 00:53:29 +01:00
Michael Telatynski
329d3ea905 extract svgs and i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-28 00:52:41 +01:00
Michael Telatynski
ba1c6df418 enable iframe sandboxing for the error fallback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-28 00:42:36 +01:00
Michael Telatynski
26b2a18b6d i18n and remove propTypes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-28 00:35:49 +01:00
Bruno Windels
1c413a4f81 clarify how to use in CSS 2020-04-27 20:17:13 +02:00
Bruno Windels
f55c5aedc1 update docs with custom theming changes 2020-04-27 19:44:05 +02:00
David Baker
7b6a303999 Merge pull request #13395 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-04-27 10:21:45 +01:00
Priit Jõerüüt
50e5ba1056 Translated using Weblate (Estonian)
Currently translated at 50.0% (14 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/et/
2020-04-27 09:13:30 +00:00
Osoitz
95578a1f9f Translated using Weblate (Basque)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2020-04-27 09:13:30 +00:00
Travis Ralston
c0d5a39780 Merge pull request #13375 from vector-im/travis/release/labs-remove-padlocks
Remove feature flag docs from docs on release
2020-04-24 10:48:51 -06:00
Weblate
b289213b6e Merge branch 'origin/develop' into Weblate. 2020-04-24 16:45:11 +00:00
Travis Ralston
cc8f44ea27 Merge pull request #13374 from vector-im/travis/labs-remove-padlocks
Remove docs and config for invite only padlocks
2020-04-24 10:45:06 -06:00
Travis Ralston
d43781df49 Remove docs and config for invite only padlocks
See https://github.com/matrix-org/matrix-react-sdk/pull/4488
2020-04-24 10:09:17 -06:00
Travis Ralston
17b8dbf99a Remove encrypted message search feature flag
See https://github.com/matrix-org/matrix-react-sdk/pull/4467
2020-04-24 10:08:48 -06:00
Travis Ralston
215ad07493 Remove docs and config for invite only padlocks
See https://github.com/matrix-org/matrix-react-sdk/pull/4487
2020-04-24 10:03:14 -06:00
Travis Ralston
58bf82186c Revert "Revert "Add font scaling labs setting."" 2020-04-23 13:17:20 -06:00
Weblate
c70cdbc6a9 Merge branch 'origin/develop' into Weblate. 2020-04-23 19:17:05 +00:00
Travis Ralston
5ca474d356 Merge pull request #13351 from vector-im/revert-13199-joriks/font-sclaing-slider
Revert "Add font scaling labs setting."
2020-04-23 13:17:00 -06:00
Travis Ralston
2c62d47e6c Revert "Add font scaling labs setting." 2020-04-23 13:16:49 -06:00
Jorik Schellekens
4f7081fc2b Add labs flag for alternate message layouts 2020-04-23 19:12:10 +01:00
Zoe
3e77418fd7 Turn on source mapping, copy decoder-ring over to bundle 2020-04-23 17:55:21 +01:00
Michael Telatynski
51dc4bbbe4 Move async components to async-components to move them out of the skin bundle
and s/CompatibilityPage/CompatibilityView/

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 16:45:24 +01:00
Michael Telatynski
08f9018cd4 remove wasmMock.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 16:28:42 +01:00
Michael Telatynski
060b767bc6 fix copypasta
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 16:27:46 +01:00
Michael Telatynski
0d50bd12b8 fix imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 16:06:27 +01:00
Michael Telatynski
15894ed8bd mock out wasm imports in jest
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 16:04:20 +01:00
RiotRobot
58b7bbd3d2 v1.6.0-rc.4 2020-04-23 16:00:41 +01:00
RiotRobot
95bbe84946 Prepare changelog for v1.6.0-rc.4 2020-04-23 16:00:41 +01:00
RiotRobot
afb8403dbb v1.6.0-rc.4 2020-04-23 15:58:34 +01:00
RiotRobot
e7cb2e4022 Upgrade matrix-react-sdk to 2.5.0-rc.4 2020-04-23 15:58:10 +01:00
RiotRobot
7600571cf5 Upgrade matrix-js-sdk to 5.3.1-rc.4 2020-04-23 15:57:32 +01:00
Michael Telatynski
0032d7b943 fix
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 15:55:13 +01:00
Michael Telatynski
dda1f8454a fix supported browser logic
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 15:50:06 +01:00
Michael Telatynski
7e67085503 iterate compatibility page and make styling consistent between firefox and chrome
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 15:38:26 +01:00
Weblate
5fcec629fa Merge branch 'origin/develop' into Weblate. 2020-04-23 14:33:56 +00:00
Tirifto
685ca64691 Translated using Weblate (Esperanto)
Currently translated at 96.4% (27 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2020-04-23 14:33:56 +00:00
J. Ryan Stinnett
fa223b94bc Merge pull request #13341 from vector-im/jryans/feature-flags-releases
Expand feature flag docs to cover additional release channels
2020-04-23 15:33:51 +01:00
J. Ryan Stinnett
527d18ac42 riot-desktop now has a develop branch 2020-04-23 15:20:42 +01:00
Michael Telatynski
30fa3a92f7 Implement new unsupported browser page
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 15:10:40 +01:00
Michael Telatynski
b7fa8a1f54 wire up the static fallback error pages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 13:37:25 +01:00
Weblate
1030c15a61 Merge branch 'origin/develop' into Weblate. 2020-04-23 10:26:25 +00:00
J. Ryan Stinnett
11dc8e3b9f Merge pull request #13034 from MacLemon/optimize-image-assets
Optimized image assets by recompressing without affecting quality.
2020-04-23 11:26:19 +01:00
J. Ryan Stinnett
2774b046b3 Expand feature flag docs to cover additional release channels
This adds further detail around the various additional release channels we have
for desktop. It also expands on the current state of enabling a feature by
default.
2020-04-23 11:06:15 +01:00
Weblate
53e7177159 Merge branch 'origin/develop' into Weblate. 2020-04-23 09:30:45 +00:00
Jorik Schellekens
6873b48c42 Merge pull request #13199 from JorikSchellekens/joriks/font-sclaing-slider
Add font scaling labs setting.
2020-04-23 10:30:40 +01:00
Weblate
a90ed394a0 Merge branch 'origin/develop' into Weblate. 2020-04-23 09:22:19 +00:00
J. Ryan Stinnett
29cc8eb573 Merge pull request #13325 from vector-im/travis/seshat-enable
Remove encrypted message search feature flag
2020-04-23 10:22:13 +01:00
Jorik Schellekens
3e21483b82 Try to silence the e2e test
Merge branch 'develop' of github.com:vector-im/riot-web into joriks/font-sclaing-slider
2020-04-23 10:19:45 +01:00
Michael Telatynski
30a9094dc7 fix import in tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 10:19:06 +01:00
Michael Telatynski
f0011a0183 Merge branches 'develop' and 't3chguy/app_load4' of github.com:vector-im/riot-web into t3chguy/app_load4 2020-04-23 10:12:06 +01:00
Michael Telatynski
6584ff29af mock out scss imports for jest
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 18:58:44 +01:00
Michael Telatynski
918a56d01a don't preload error-view as we expect it to not be shown
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 18:49:39 +01:00
Michael Telatynski
5fdf805df2 use scss variables in ErrorView.scss
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 18:44:52 +01:00
Michael Telatynski
b05e5be2f7 Improve ErrorView to match design
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 18:25:49 +01:00
Travis Ralston
c23b2415e4 Remove encrypted message search feature flag
See https://github.com/matrix-org/matrix-react-sdk/pull/4467
2020-04-22 10:59:47 -06:00
MacLemon
5d39bd69dc Merge branch 'develop' into optimize-image-assets 2020-04-22 18:35:02 +02:00
Nad Chishtie
ac78570b58 Add example error pages 2020-04-22 16:07:24 +01:00
Weblate
882e576fdf Merge branch 'origin/develop' into Weblate. 2020-04-22 14:36:22 +00:00
Travis Ralston
6b1965388e Merge pull request #13312 from vector-im/travis/docs-settings-fix
Fix `default_federate` settting description
2020-04-22 08:36:17 -06:00
Weblate
e4a964cd0f Merge branch 'origin/develop' into Weblate. 2020-04-22 14:33:56 +00:00
Travis Ralston
f8885cb0a6 Merge pull request #13314 from vector-im/travis/jitsi-docs-improvement
Clarify that the .well-known method for Jitsi isn't available yet
2020-04-22 08:33:50 -06:00
Michael Telatynski
e5a232b0d8 make typescript happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 13:41:29 +01:00
Michael Telatynski
d486782dd4 convert app.js to app.tsx
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 13:29:12 +01:00
MacLemon
5a39eafc37 Optimized PNG image assets by recompressing without affecting quality.
SVG assets have not been altered to maintain readability.
2020-04-22 14:04:55 +02:00
Weblate
7971f993cd Merge branch 'origin/develop' into Weblate. 2020-04-22 09:27:30 +00:00
Michael Telatynski
7ffa1ba1bd Merge pull request #13296 from vector-im/t3chguy/autocomplete
add config option to tsc resolveJsonModule
2020-04-22 10:27:25 +01:00
Weblate
ac0c2d89f0 Merge branch 'origin/develop' into Weblate. 2020-04-22 09:15:31 +00:00
rkfg
cec4330618 Translated using Weblate (Russian)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2020-04-22 09:15:30 +00:00
Michael Telatynski
9632f296e1 Merge pull request #13297 from vector-im/t3chguy/autocomplete2
Fix dispatcher import to be extension agnostic
2020-04-22 10:15:25 +01:00
Jorik Schellekens
04e4c7804d Add scaling to develop config. 2020-04-22 09:53:13 +01:00
Travis Ralston
601816862f Clarify that the .well-known method for Jitsi isn't available yet
We should remove this at release time, but if we forget it should be vaguely worded well enough.

People keep assuming it'll just work even though the feature hasn't launched yet. The original theory was that a release was around the corner, but it's since been pushed back several times.
2020-04-21 13:27:05 -06:00
Travis Ralston
25dbeca083 Fix default_federate settting description 2020-04-21 09:27:03 -06:00
Jorik Schellekens
7d74e789ca Fix slight innacuracy. 2020-04-21 15:18:22 +01:00
Jorik Schellekens
abcf0b73c0 Docs on font-scaling 2020-04-21 10:05:05 +01:00
Michael Telatynski
9d5e3d6d9a Fix dispatcher import to be extension agnostic
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-21 10:03:59 +01:00
Jorik Schellekens
201053963d Strings should be explicit
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2020-04-21 10:01:45 +01:00
Michael Telatynski
e00d2b9589 Enable esModuleInterop and iterate PR
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-21 10:01:05 +01:00
Weblate
c0827e04df Merge branch 'origin/develop' into Weblate. 2020-04-21 06:32:12 +00:00
Travis Ralston
c16ff9dc11 Merge pull request #13260 from MichaelKohler/issue13089-config-doc
Document more config options in config.md (fixes #13089)
2020-04-21 00:32:07 -06:00
Michael Telatynski
b3a87b56fa tsc resolveJsonModule
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-20 20:14:33 +01:00
Weblate
5f8a46868e Merge branch 'origin/develop' into Weblate. 2020-04-20 19:13:14 +00:00
Michael Telatynski
3218deff3a Merge pull request #13295 from vector-im/t3chguy/fix_tests
Fix tests post-js-sdk-filters change
2020-04-20 20:13:09 +01:00
Michael Telatynski
1314a8d3f9 undo unrelated change.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-20 20:06:34 +01:00
Michael Telatynski
afabf9d4b1 Fix tests post-js-sdk-filters change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-20 19:47:16 +01:00
Weblate
cd62967cae Merge branch 'origin/develop' into Weblate. 2020-04-20 17:16:17 +00:00
Travis Ralston
22b1231e9a Merge pull request #13227 from vector-im/travis/inline-jitsi-script
Make Jitsi download script a JS script
2020-04-20 11:16:12 -06:00
Travis Ralston
4c4f67653e Merge branch 'develop' into travis/inline-jitsi-script 2020-04-20 10:11:55 -06:00
Travis Ralston
3eadf35819 Manually undo emojibase changes in lockfile 2020-04-20 09:49:09 -06:00
Travis Ralston
3f14b31e47 Add more words to explain windows being awful 2020-04-20 09:46:52 -06:00
Weblate
0d456fc0ff Merge branch 'origin/develop' into Weblate. 2020-04-20 15:00:33 +00:00
Michael Telatynski
fd343b069e Merge pull request #13271 from vector-im/t3chguy/cmd_rageshake
Use matrix-react-sdk type extensions as a base
2020-04-20 16:00:27 +01:00
Michael Telatynski
982074c12e Use matrix-react-sdk type extensions as a base
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-19 12:10:17 +01:00
Michael Kohler
752b6b63ec Document more config options in config.md (fixes #13089)
Signed-off-by: Michael Kohler <me@michaelkohler.info>
2020-04-19 11:44:58 +02:00
Karol Kosek
e68770b4a7 Translated using Weblate (Polish)
Currently translated at 89.3% (25 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2020-04-18 22:27:54 +00:00
Weblate
75ac6b07cc Merge branch 'origin/develop' into Weblate. 2020-04-17 20:41:36 +00:00
aWeinzierl
68f9019570 Translated using Weblate (German)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2020-04-17 20:41:36 +00:00
alexsal86
f1302f0261 Translated using Weblate (German)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2020-04-17 20:41:36 +00:00
Travis Ralston
19130dc705 Merge pull request #13235 from TheStranjer/allow-random-welcome-bgs
Allow Riot Web to randomly pick welcome backgrounds
2020-04-17 14:41:31 -06:00
RiotRobot
4e07c64790 v1.6.0-rc.3 2020-04-17 18:00:55 +01:00
RiotRobot
f4290cd433 Prepare changelog for v1.6.0-rc.3 2020-04-17 18:00:55 +01:00
RiotRobot
15922f6656 v1.6.0-rc.3 2020-04-17 17:58:57 +01:00
RiotRobot
393d701ee9 Upgrade matrix-js-sdk to 5.3.1-rc.3 2020-04-17 17:58:52 +01:00
RiotRobot
ef5d1f421d Upgrade matrix-react-sdk to 2.5.0-rc.3 2020-04-17 17:57:33 +01:00
The Stranjer
b3f3126583 Better conformity to JS linter 2020-04-17 06:52:43 -04:00
The Stranjer
3a551f2da5 Allow admins to create an array of backgrounds to be randomly chosen from 2020-04-17 06:31:49 -04:00
Weblate
a5617c50bb Merge branch 'origin/develop' into Weblate. 2020-04-16 21:56:45 +00:00
Szimszon
fdcd214e32 Translated using Weblate (Hungarian)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2020-04-16 21:56:45 +00:00
Øjvind Fritjof Arnfred
bcc356f266 Translated using Weblate (Danish)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/da/
2020-04-16 21:56:45 +00:00
Travis Ralston
8122c62f24 Merge pull request #13224 from vector-im/travis/xsign-labs-docs
Update cross-signing feature docs and document fallback procedures
2020-04-16 15:56:39 -06:00
RiotRobot
c71338852e v1.6.0-rc.2 2020-04-16 20:09:16 +01:00
RiotRobot
033a462015 Prepare changelog for v1.6.0-rc.2 2020-04-16 20:09:15 +01:00
RiotRobot
3fd726af5e v1.6.0-rc.2 2020-04-16 20:06:06 +01:00
RiotRobot
6ca2f4c87d Upgrade matrix-react-sdk to 2.5.0-rc.2 2020-04-16 20:06:01 +01:00
RiotRobot
0c12630b89 Upgrade matrix-js-sdk to 5.3.1-rc.2 2020-04-16 20:04:19 +01:00
Travis Ralston
005269e2ad Make Jitsi download script a JS script
It's awful but means that we create the directory on all platforms in-process.

Fixes https://github.com/vector-im/riot-web/issues/13215
2020-04-16 12:37:41 -06:00
Travis Ralston
bea0dab623 Update cross-signing feature docs and document fallback procedures
For https://github.com/matrix-org/matrix-react-sdk/pull/4416
2020-04-16 11:35:28 -06:00
Jorik Schellekens
4eb5de90a1 Add font scaling labs setting. 2020-04-16 11:23:17 +01:00
RiotRobot
d3bc7fb400 v1.6.0-rc.1 2020-04-15 19:27:55 +01:00
RiotRobot
5333c9ec29 Prepare changelog for v1.6.0-rc.1 2020-04-15 19:27:55 +01:00
RiotRobot
09b171c1de v1.6.0-rc.1 2020-04-15 19:24:25 +01:00
RiotRobot
2cd585cd6c Upgrade matrix-react-sdk to 2.5.0-rc.1 2020-04-15 19:24:18 +01:00
RiotRobot
0b32f7c87f Upgrade matrix-js-sdk to 5.3.1-rc.1 2020-04-15 19:22:38 +01:00
RiotRobot
08ef4ff3b1 Merge branch 'release-v1.5.16' into release-v1.6.0 2020-04-15 19:08:28 +01:00
Weblate
93e147f2d2 Merge branch 'origin/develop' into Weblate. 2020-04-15 17:54:07 +00:00
J. Ryan Stinnett
b5e8e5cf75 Merge pull request #13179 from vector-im/jryans/enable-cross-signing
Enable cross-signing / E2EE by default for DM on release
2020-04-15 18:54:02 +01:00
J. Ryan Stinnett
cd19af4003 Enable cross-signing / E2EE by default for DM on release
Fixes https://github.com/vector-im/riot-web/issues/13178
2020-04-15 18:36:22 +01:00
Weblate
0f20f1555b Merge branch 'origin/develop' into Weblate. 2020-04-15 15:47:59 +00:00
Travis Ralston
1a4fe2ac3b Merge pull request #13128 from dannycolin/inotify-watch-limit
Add instruction to resolve the inotify watch limit issue
2020-04-15 09:47:54 -06:00
Weblate
c3b1b9e964 Merge branch 'origin/develop' into Weblate. 2020-04-15 15:46:57 +00:00
random
e921745c93 Translated using Weblate (Italian)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2020-04-15 15:46:57 +00:00
Kévin C
5932aab605 Translated using Weblate (French)
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2020-04-15 15:46:56 +00:00
Jeff Huang
abfc865c20 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (28 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2020-04-15 15:46:56 +00:00
Travis Ralston
8ed8840b63 Merge pull request #13149 from xobs/labs-config-reference
docs: labs: add a pointer to config.md
2020-04-15 09:46:50 -06:00
Weblate
ce220fe548 Merge branch 'origin/develop' into Weblate. 2020-04-14 16:09:19 +00:00
Besnik Bleta
98b77368de Translated using Weblate (Albanian)
Currently translated at 96.4% (27 of 28 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
2020-04-14 16:09:19 +00:00
Michael Telatynski
3cbc9997b9 Merge pull request #13028 from vector-im/t3chguy/poc_riot_desktop_sso_multi_profile
Fix Electron SSO handling to support multiple profiles
2020-04-14 17:09:14 +01:00
Michael Telatynski
a77ed6e844 Merge branch 'develop' into t3chguy/poc_riot_desktop_sso_multi_profile 2020-04-14 17:03:00 +01:00
Weblate
ecd19175cf Merge branch 'origin/develop' into Weblate. 2020-04-14 15:12:30 +00:00
Michael Telatynski
24dbbfa002 Merge pull request #13133 from vector-im/t3chguy/electron-forward-back
Add riot-desktop shortcuts for forward/back matching browsers&slack
2020-04-14 16:12:24 +01:00
Weblate
1fb35c577b Merge branch 'origin/develop' into Weblate. 2020-04-14 13:51:15 +00:00
Michael Telatynski
4354c508c7 Merge pull request #13164 from vector-im/t3chguy/soft-fail-rageshake
Allow rageshake to fail in init
2020-04-14 14:51:09 +01:00
Michael Telatynski
36f55c1630 Allow rageshake to fail in init
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-14 14:44:12 +01:00
random
575a2d6fe3 Translated using Weblate (Italian)
Currently translated at 100.0% (27 of 27 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2020-04-13 14:27:46 +00:00
Sean Cross
e536b07874 docs: labs: add a pointer to config.md
The documentation mentions that Labs features can be manipulated by
opening the Settings menu and selecting Labs.  This feature is normally
disabled, so for most users this is not the case.

Add a link to the `config.md` file and a note that the Labs features
must be enabled in order to manipulate them.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-13 13:48:10 +08:00
rkfg
64787636b8 Translated using Weblate (Russian)
Currently translated at 100.0% (27 of 27 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2020-04-12 09:27:44 +00:00
Karol Kosek
66c81319ce Translated using Weblate (Polish)
Currently translated at 92.6% (25 of 27 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2020-04-12 09:27:44 +00:00
Szimszon
4518d13e07 Translated using Weblate (Hungarian)
Currently translated at 100.0% (27 of 27 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2020-04-12 09:27:44 +00:00
Kévin C
bf8cc95c02 Translated using Weblate (French)
Currently translated at 100.0% (27 of 27 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2020-04-12 09:27:44 +00:00
Jeff Huang
225df062ac Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (27 of 27 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2020-04-12 09:27:44 +00:00
Osoitz
9ba7e6ca66 Translated using Weblate (Basque)
Currently translated at 100.0% (27 of 27 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2020-04-12 09:27:44 +00:00
Michael Telatynski
2346829055 Add riot-desktop shortcuts for forward/back matching browsers&slack
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-11 18:58:00 +01:00
Danny Colin
1dbbdb252c Add instruction to resolve the inotify watch limit issue
On Linux, it's common that the system limit the number of files that can be monitored. If
this limit is too low then the build script will fail.

Signed-off-by: Danny Colin <contact@dannycolin.com>
2020-04-10 20:09:29 -04:00
Travis Ralston
6e15684a04 Merge pull request #13125 from cheryllium/fix_yarn_install_link
Fix broken yarn install link in README.md
2020-04-10 15:54:07 -06:00
C. Yang
2514a33892 Fix broken yarn install link in README.md 2020-04-10 17:43:54 -04:00
Travis Ralston
302105163d Merge pull request #13122 from dannycolin/fix-build-jitsi
fix build:jitsi scripts crash caused by a missing folder
2020-04-10 15:02:14 -06:00
Danny Colin
c128e75f5d fix build:jitsi scripts crash caused by a missing folder
On a freshly install of the developer environment, the build:jitsi try
to create a file in ./webapp with the cURL command. However, ./webapp
folder doesn't exist and the build script crash. This patch makes sure
the appropriate folder is created if it doesn't already exist

Signed-off-by: Danny Colin <contact@dannycolin.com>
2020-04-10 14:14:19 -04:00
Michael Telatynski
99e5271cb8 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/poc_riot_desktop_sso_multi_profile 2020-04-09 21:17:45 +01:00
Michael Telatynski
15bb819c8a Instead of encrypting, pass the HS an opaque token which we locally resolve in a map to our profile data
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 21:17:37 +01:00
Michael Telatynski
c0b4ab9f67 Merge pull request #13095 from vector-im/t3chguy/app_load2
App load order changes to catch errors better
2020-04-09 21:11:16 +01:00
Michael Telatynski
4afd29f62c add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 16:23:41 +01:00
Michael Telatynski
6fdeca93b6 Make the riot-desktop callback args more generic and encrypt the args
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 16:21:52 +01:00
Michael Telatynski
c67dcae35e improve comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 11:25:40 +01:00
Michael Telatynski
942ca3b525 make error translatable
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 11:19:40 +01:00
Michael Telatynski
83653b3a22 assert rageshake loaded successfully
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 11:14:38 +01:00
Michael Telatynski
e1bdcf2d9e remove debug statement
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 10:49:50 +01:00
Michael Telatynski
8c88e9f0f4 delint and i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 10:42:58 +01:00
Michael Telatynski
0572d62c88 extract app load error handler from app.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 10:32:04 +01:00
J. Ryan Stinnett
121728ba2e Merge pull request #13080 from vector-im/jryans/upgrade-2020-04-08
Upgrade deps
2020-04-09 10:19:34 +01:00
Michael Telatynski
343d4ea641 small tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 21:49:27 +01:00
Michael Telatynski
cc939f9645 extract browser compatibility error handling out of app.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 21:41:22 +01:00
Michael Telatynski
f6ad5bf54c let settled accept multiple proms + i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 20:12:05 +01:00
Michael Telatynski
2837c41ca4 factor out config error handling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 20:03:45 +01:00
Michael Telatynski
4954c732ee extract config error handling out of app.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 19:47:52 +01:00
Michael Telatynski
6a5268f09b fix loadConfig
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 19:36:06 +01:00
Michael Telatynski
7633009ddb clean up loadConfig
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 19:35:16 +01:00
Michael Telatynski
e267086a17 Parallelize loadSkin
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 19:21:39 +01:00
Michael Telatynski
b3780445d3 fix typescript types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:31:58 +01:00
Michael Telatynski
7113fe7e31 comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:24:40 +01:00
Michael Telatynski
719865c033 parallel load language and theme
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:17:46 +01:00
Michael Telatynski
2c5664b76e move config loading into index for parallelism
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:12:36 +01:00
Michael Telatynski
43357fe842 reorder
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:10:44 +01:00
Michael Telatynski
6222546e20 prepare platform earlier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:09:47 +01:00
Michael Telatynski
0b032d7434 loadOlm earlier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:08:39 +01:00
J. Ryan Stinnett
a1ef707065 yarn upgrade 2020-04-08 14:55:46 +01:00
RiotRobot
8b6ec2c50b v1.5.16-rc.1 2020-04-08 14:10:59 +01:00
RiotRobot
f9647ed48d Prepare changelog for v1.5.16-rc.1 2020-04-08 14:10:59 +01:00
RiotRobot
c8e284e26f v1.5.16-rc.1 2020-04-08 14:06:05 +01:00
RiotRobot
48018b33cc Upgrade matrix-react-sdk to 2.4.0-rc.1 2020-04-08 14:06:02 +01:00
RiotRobot
83af795358 Upgrade matrix-js-sdk to 5.3.0-rc.1 2020-04-08 14:03:43 +01:00
J. Ryan Stinnett
ee5d39a001 Merge pull request #13078 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-04-08 13:15:31 +01:00
Weblate
989be64c38 Merge branch 'origin/develop' into Weblate. 2020-04-07 16:02:58 +00:00
Travis Ralston
80866305d4 Merge pull request #13047 from vector-im/travis/jitsi/wellknown
Mention Jitsi support at the .well-known level in Jitsi docs
2020-04-07 10:02:52 -06:00
Weblate
deddd1b51c Merge branch 'origin/develop' into Weblate. 2020-04-07 13:47:08 +00:00
Michael Telatynski
b647e35c48 Merge pull request #13049 from vector-im/t3chguy/default_home
Add new default home page fallback
2020-04-07 14:47:01 +01:00
Michael Telatynski
7932ef6087 add missing assets
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-07 11:03:49 +01:00
Michael Telatynski
e58cd1f73a Add new default home page fallback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-07 10:48:56 +01:00
Weblate
9f23dc1d00 Merge branch 'origin/develop' into Weblate. 2020-04-07 08:48:22 +00:00
Michael Telatynski
06bd9d1bf4 Merge pull request #13032 from vector-im/t3chguy/app_load1
App load order tweaks for code splitting
2020-04-07 09:48:17 +01:00
Travis Ralston
83088961d0 Mention Jitsi support at the .well-known level in Jitsi docs
For https://github.com/matrix-org/matrix-react-sdk/pull/4348
2020-04-06 16:12:36 -06:00
Weblate
547533e568 Merge branch 'origin/develop' into Weblate. 2020-04-06 21:03:23 +00:00
wps0
338a8c204a Translated using Weblate (Polish)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2020-04-06 21:03:23 +00:00
Slavi Pantaleev
99f940a87e Translated using Weblate (Bulgarian)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2020-04-06 21:03:23 +00:00
Travis Ralston
cb39edbfd7 Merge pull request #13027 from vector-im/travis/jitsi-docs
Add some docs about Jitsi widgets and Jitsi configuration
2020-04-06 15:03:17 -06:00
Travis Ralston
99f8019aa2 Update docs per suggestions 2020-04-06 14:50:06 -06:00
Michael Telatynski
1b9112b876 Revert "Combine two async imports into one by way of skin.ts"
This reverts commit e788433c

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-06 12:24:56 +01:00
Michael Telatynski
e788433c24 Combine two async imports into one by way of skin.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-06 12:22:20 +01:00
Weblate
ea934a1e3d Merge branch 'origin/develop' into Weblate. 2020-04-06 11:06:25 +00:00
J. Ryan Stinnett
244538c0d2 Merge pull request #13030 from vector-im/dependabot/npm_and_yarn/electron_app/minimist-1.2.3
Bump minimist from 1.2.2 to 1.2.3 in /electron_app
2020-04-06 12:06:20 +01:00
MamasLT
6ab1ca67a4 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/
2020-04-05 21:27:32 +00:00
Michael Telatynski
b1575524aa Switch things to typescript, use @types/modernizr, fix global.d.ts. Move mobile_guide redirect to index.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:55:36 +01:00
Michael Telatynski
093b7bbf72 convert index.js to typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:27:59 +01:00
Michael Telatynski
20442413bf remove future error handling path
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:12:37 +01:00
Michael Telatynski
d429756094 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:08:31 +01:00
Michael Telatynski
b5318b4ebc fix global.d.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:05:59 +01:00
Michael Telatynski
4b6164d823 iterate app load order tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-04 23:42:19 +01:00
dependabot[bot]
97fdb559fb Bump minimist from 1.2.2 to 1.2.3 in /electron_app
Bumps [minimist](https://github.com/substack/minimist) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.2...1.2.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-04-04 16:36:41 +00:00
Michael Telatynski
37ed89c25f move rageshake init into init.ts to allow for code-splitting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-04 17:34:33 +01:00
Michael Telatynski
7b930da343 Make app load more async
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-04 17:21:59 +01:00
Michael Telatynski
67cf1e7536 rejig
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-04 00:48:26 +01:00
Michael Telatynski
8ca9e4ccb1 Fix Electron SSO handling to support multiple profiles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-04 00:22:15 +01:00
Travis Ralston
abf475ee80 Add some docs about Jitsi widgets and Jitsi configuration 2020-04-03 13:25:33 -06:00
Weblate
62528253ec Merge branch 'origin/develop' into Weblate. 2020-04-03 12:23:18 +00:00
Michael Telatynski
a377ca7b85 Merge pull request #13020 from vector-im/t3chguy/fix_mac_shortcut
Fix Electron mac-specific shortcut being registered on Web too.
2020-04-03 13:23:13 +01:00
Michael Telatynski
c1da3bf537 Fix Electron mac-specific shortcut being registered on Web too.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-03 13:01:28 +01:00
Weblate
a8911e7f85 Merge branch 'origin/develop' into Weblate. 2020-04-01 16:54:11 +00:00
Travis Ralston
ab29ec123e Merge pull request #12968 from vector-im/travis/jitsi-errors
Add a console warning that errors from Jitsi Meet are fine
2020-04-01 10:54:06 -06:00
Weblate
ca444d36aa Merge branch 'origin/develop' into Weblate. 2020-04-01 14:35:34 +00:00
RiotRobot
cb8319ea2d Reset matrix-react-sdk back to develop branch 2020-04-01 15:35:13 +01:00
RiotRobot
af35696db9 Reset matrix-js-sdk back to develop branch 2020-04-01 15:35:02 +01:00
Weblate
3af825db91 Merge branch 'origin/develop' into Weblate. 2020-04-01 14:34:25 +00:00
RiotRobot
ccd998d709 Merge branch 'master' into develop 2020-04-01 15:34:02 +01:00
RiotRobot
0cfdc7b66a v1.5.15 2020-04-01 15:28:24 +01:00
RiotRobot
7fb6c1e117 Prepare changelog for v1.5.15 2020-04-01 15:28:24 +01:00
RiotRobot
97586aa5c3 v1.5.15 2020-04-01 15:10:52 +01:00
RiotRobot
5f5d46eb11 Upgrade matrix-react-sdk to 2.3.1 2020-04-01 15:08:57 +01:00
David Baker
511d18abec Merge pull request #12980 from vector-im/dbkr/jitsi_fix_popout_rel
Fix popout support for jitsi widgets
2020-04-01 13:59:48 +01:00
David Baker
24fe98a78c Make widget API use optional
So we can work when popped out into a browser
2020-04-01 13:36:57 +01:00
David Baker
51c675c6fe Give the jitsi wrapper its own external api script 2020-04-01 13:36:51 +01:00
Weblate
01dc43aa09 Merge branch 'origin/develop' into Weblate. 2020-04-01 10:57:35 +00:00
Esteve Soria
ea0825c226 Translated using Weblate (Spanish)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2020-04-01 10:57:35 +00:00
rkfg
ac3e3ba1e4 Translated using Weblate (Russian)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2020-04-01 10:57:35 +00:00
avvalcode
c16341b3b3 Translated using Weblate (Persian)
Currently translated at 68.0% (17 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fa/
2020-04-01 10:57:35 +00:00
Daniel Løvbrøtte Olsen
4334d1540b Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nb_NO/
2020-04-01 10:57:35 +00:00
Imre Kristoffer Eilertsen
dbed65985d Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nb_NO/
2020-04-01 10:57:35 +00:00
Dvir Berebi
fe7f708e80 Translated using Weblate (Hebrew)
Currently translated at 68.0% (17 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/he/
2020-04-01 10:57:34 +00:00
Märt Põder
72aefecab0 Translated using Weblate (Estonian)
Currently translated at 20.0% (5 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/et/
2020-04-01 10:57:34 +00:00
David Baker
432098ddd2 Merge pull request #12975 from vector-im/dbkr/jitsi_fix_popout
Fix popout support for jitsi widgets
2020-04-01 11:57:29 +01:00
David Baker
0bf05e3c7b Make widget API use optional
So we can work when popped out into a browser
2020-04-01 11:08:53 +01:00
David Baker
421fcb115f Give the jitsi wrapper its own external api script 2020-04-01 10:38:49 +01:00
Märt Põder
b85f1629b3 Added translation using Weblate (Estonian) 2020-03-31 19:33:19 +00:00
Travis Ralston
13a7b71e08 Add a console warning that errors from Jitsi Meet are fine
See diff for info.

We use the fragment to avoid sending conference information to the web server where possible.
2020-03-31 12:19:17 -06:00
Weblate
12968bec26 Merge branch 'origin/develop' into Weblate. 2020-03-30 12:54:18 +00:00
RiotRobot
d4f75e4e1b Reset matrix-react-sdk back to develop branch 2020-03-30 13:54:09 +01:00
RiotRobot
4a4df94339 Reset matrix-js-sdk back to develop branch 2020-03-30 13:53:58 +01:00
Weblate
d7b278bc65 Merge branch 'origin/develop' into Weblate. 2020-03-30 12:53:39 +00:00
RiotRobot
365041c6c3 Merge branch 'master' into develop 2020-03-30 13:52:20 +01:00
RiotRobot
413b26d71b v1.5.14 2020-03-30 13:48:40 +01:00
RiotRobot
45ff2fdcde Prepare changelog for v1.5.14 2020-03-30 13:48:39 +01:00
RiotRobot
5bd155c294 v1.5.14 2020-03-30 13:45:32 +01:00
RiotRobot
51f4327ce1 Upgrade matrix-react-sdk to 2.3.0 2020-03-30 13:45:21 +01:00
RiotRobot
37cebf38cc Upgrade matrix-js-sdk to 5.2.0 2020-03-30 13:44:42 +01:00
Weblate
a2d6f8fec0 Merge branch 'origin/develop' into Weblate. 2020-03-30 11:13:06 +00:00
Michael Telatynski
e895fed180 Merge pull request #12925 from JorikSchellekens/joriks/review-review
Some grammar and clarifications
2020-03-30 12:13:00 +01:00
Jorik Schellekens
6ed81eadbf Some grammar and clarifications. 2020-03-30 11:52:23 +01:00
Kenneth Larsson
c756eda805 Translated using Weblate (Swedish)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2020-03-27 20:27:18 +00:00
Stanislav Lukeš
43707a9389 Translated using Weblate (Czech)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2020-03-27 20:27:18 +00:00
Travis Ralston
d9fbbe1696 Merge pull request #12861 from mnoorenberghe/patch-1
Don't immediately remove notifications from notification trays
2020-03-26 09:33:11 -06:00
David Baker
f746c70dc6 Merge pull request #12894 from vector-im/dbkr/kill_riotbot
Remove welcome user from config
2020-03-26 15:06:13 +00:00
David Baker
a3d09e6d54 Remove welcome user from config
Until we update its tutorial videos to the current interface
2020-03-26 14:51:46 +00:00
RiotRobot
0a83f9c763 v1.5.14-rc.1 2020-03-26 13:31:03 +00:00
RiotRobot
f5c5c1b991 Prepare changelog for v1.5.14-rc.1 2020-03-26 13:31:03 +00:00
RiotRobot
bfcb46c4fd v1.5.14-rc.1 2020-03-26 13:28:13 +00:00
RiotRobot
5b35d6e570 Upgrade matrix-react-sdk to 2.3.0-rc.1 2020-03-26 13:28:04 +00:00
RiotRobot
9269d9b669 Upgrade matrix-js-sdk to 5.2.0-rc.1 2020-03-26 13:27:40 +00:00
J. Ryan Stinnett
ec32abbb89 Merge pull request #12890 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-03-26 12:14:15 +00:00
Weblate
c1884a26aa Merge branch 'origin/develop' into Weblate. 2020-03-26 12:03:29 +00:00
Michael Telatynski
1d109bb067 Merge pull request #12869 from vector-im/t3chguy/app_load_tweaks
App load tweaks
2020-03-26 12:03:23 +00:00
Weblate
35e443975d Merge branch 'origin/develop' into Weblate. 2020-03-26 11:43:07 +00:00
Szimszon
1963270d64 Translated using Weblate (Hungarian)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2020-03-26 11:43:06 +00:00
Tirifto
3072bbb0d7 Translated using Weblate (Esperanto)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2020-03-26 11:43:06 +00:00
J. Ryan Stinnett
1697cdc5a1 Merge pull request #12730 from vector-im/jryans/review-policy
Add review policy doc
2020-03-26 11:43:00 +00:00
J. Ryan Stinnett
da249cbc40 Merge remote-tracking branch 'origin/develop' into jryans/review-policy 2020-03-26 11:34:29 +00:00
J. Ryan Stinnett
5b94d8bbd7 Add line about UI for network activity 2020-03-26 11:28:51 +00:00
Weblate
8549755fd5 Merge branch 'origin/develop' into Weblate. 2020-03-25 15:25:17 +00:00
David Baker
5c51063070 Merge pull request #12875 from vector-im/dbkr/fix_artifact_search
Fix artifact searching in redeployer
2020-03-25 15:25:12 +00:00
David Baker
758d021f97 Merge remote-tracking branch 'origin/develop' into dbkr/fix_artifact_search 2020-03-25 15:18:20 +00:00
David Baker
fea600ba0a Fix artifact searching in redeployer
Indenting fail
2020-03-25 15:12:53 +00:00
Michael Telatynski
fd385f8450 simplify loadConfig
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 14:37:28 +00:00
Michael Telatynski
92d8ee355d merge initial-load.ts into init.ts as its no longer used by Jitsi
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 14:32:37 +00:00
Michael Telatynski
1f94b25d25 Fix copyrights
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 14:28:07 +00:00
Michael Telatynski
8929cd9c08 Merge branches 'develop' and 't3chguy/app_load_tweaks' of github.com:vector-im/riot-web into t3chguy/app_load_tweaks 2020-03-25 14:26:48 +00:00
Weblate
24d85c5cd7 Merge branch 'origin/develop' into Weblate. 2020-03-25 14:26:12 +00:00
Ege
4b7cf489c8 Translated using Weblate (Turkish)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/tr/
2020-03-25 14:26:12 +00:00
roket1428
990a96b56d Translated using Weblate (Turkish)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/tr/
2020-03-25 14:26:12 +00:00
Ganzo DG
cb23da12cb Translated using Weblate (Mongolian)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/mn/
2020-03-25 14:26:11 +00:00
Travis Ralston
dec2f2a39e Merge pull request #12845 from vector-im/travis/config-wrapper
Fix Jitsi wrapper being large by getting the config from elsewhere
2020-03-25 08:26:06 -06:00
Michael Telatynski
6315907585 Typescript stuff.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 14:07:22 +00:00
Michael Telatynski
6fb9fc4e6f move loadLanguage to init.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 13:55:25 +00:00
Michael Telatynski
df2b966acd move loadOlm to init.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 13:54:02 +00:00
Michael Telatynski
b09b47543b Merge branches 'develop' and 't3chguy/app_load_tweaks' of github.com:vector-im/riot-web into t3chguy/app_load_tweaks 2020-03-25 12:45:10 +00:00
Michael Telatynski
a808d26764 Enable webpack reuseExistingChunk
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 12:41:33 +00:00
Michael Telatynski
e669c681e2 Fetch both config.json-s at the same time, first one fails 99% of the time
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 12:39:42 +00:00
Matt N
b8ca1f920e Don't immediately remove notifications from notification trays
Let the notifications go into browser/OS notification trays so users can click on them from there if they miss the initial notification. Modern Chrome uses OS notifications so the user is in control of the the notification with the OS. This also aligns with the Electron platform version.

Signed-off-by: Matthew Noorenberghe <github@matthew.noorenberghe.com>
2020-03-24 17:27:14 -07:00
Weblate
4d983f037e Merge branch 'origin/develop' into Weblate. 2020-03-24 16:41:35 +00:00
Michael Telatynski
c10732736c Merge pull request #12832 from vector-im/t3chguy/webpack-stats
Add webpack stats which will be used by CI and stored to artifacts
2020-03-24 16:41:30 +00:00
Travis Ralston
bde5679d11 Ask for Riot config over postMessage for the Jitsi widget
Fixes https://github.com/vector-im/riot-web/issues/12839 by not using the app load order that doesn't detect the right platform anyways.
2020-03-24 09:54:15 -06:00
Weblate
783f3c6955 Merge branch 'origin/develop' into Weblate. 2020-03-24 15:15:39 +00:00
Travis Ralston
4de93a8cdd Merge pull request #12842 from vector-im/revert-12836-travis/jitsi-wrapper
Revert "Remove useless app preloading from Jitsi widget wrapper"
2020-03-24 09:15:34 -06:00
Travis Ralston
4087ba0c5c Revert "Remove useless app preloading from Jitsi widget wrapper" 2020-03-24 09:14:59 -06:00
Weblate
cd399f0284 Merge branch 'origin/develop' into Weblate. 2020-03-24 14:54:59 +00:00
roket1428
b41d318e62 Translated using Weblate (Turkish)
Currently translated at 96.0% (24 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/tr/
2020-03-24 14:54:59 +00:00
random
97243e9c59 Translated using Weblate (Italian)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2020-03-24 14:54:58 +00:00
Nathan Follens
3aee541cb9 Translated using Weblate (Dutch)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2020-03-24 14:54:58 +00:00
Travis Ralston
da455c2a14 Merge pull request #12836 from vector-im/travis/jitsi-wrapper
Remove useless app preloading from Jitsi widget wrapper
2020-03-24 08:54:52 -06:00
Wilco Baan Hofman
679331323a Translated using Weblate (Dutch)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2020-03-24 09:00:37 +00:00
Travis Ralston
350a52b44e Remove useless app preloading from Jitsi widget wrapper
We should always have conference information, and if we don't then the widget is invalid.
2020-03-23 10:38:10 -06:00
Michael Telatynski
0620da4351 Add webpack stats which will be used by CI and stored to artifacts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-23 12:07:26 +00:00
David Baker
c4bece1fd5 Merge pull request #12829 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-03-23 10:07:32 +00:00
Tentarial
080076e3e4 Translated using Weblate (German)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2020-03-23 09:55:16 +00:00
Kévin C
f4ef7ba7e1 Translated using Weblate (French)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2020-03-23 09:55:16 +00:00
Jeff Huang
ffb7126582 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2020-03-23 09:55:16 +00:00
Slavi Pantaleev
e22ade38f9 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2020-03-23 09:55:16 +00:00
Osoitz
ae9c02b456 Translated using Weblate (Basque)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2020-03-23 09:55:15 +00:00
Weblate
9539c14f2f Merge branch 'origin/develop' into Weblate. 2020-03-20 11:53:08 +00:00
Besnik Bleta
a560d3586a Translated using Weblate (Albanian)
Currently translated at 100.0% (25 of 25 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
2020-03-20 11:53:08 +00:00
J. Ryan Stinnett
ffd155a6aa Merge pull request #12799 from vector-im/jryans/docker-version-release
Fix version for Docker builds
2020-03-20 11:53:02 +00:00
Weblate
fbf4437159 Merge branch 'origin/develop' into Weblate. 2020-03-20 10:45:16 +00:00
Michael Telatynski
f5ac675379 Merge pull request #12800 from vector-im/t3chguy/shortcuts2
Register Mac electron specific Cmd+, shortcut to User Settings
2020-03-20 10:45:07 +00:00
Michael Telatynski
3d266cb237 Register Mac electron specific Cmd+, shortcut to User Settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-19 23:42:10 +00:00
J. Ryan Stinnett
4afe7a73c4 Fix version for Docker builds
This (should) fix the version script for Docker builds by testing the branch
with a regex instead of single char glob.

Fixes https://github.com/vector-im/riot-web/issues/12777
2020-03-19 21:00:37 +00:00
Weblate
f377dfcad4 Merge branch 'origin/develop' into Weblate. 2020-03-19 17:52:28 +00:00
Travis Ralston
775e1fc4ae Merge pull request #12780 from vector-im/travis/wrapped-jitsi
Use a local widget wrapper for Jitsi calls
2020-03-19 11:52:22 -06:00
Travis Ralston
09e26d0882 Misc case changes, comment updates 2020-03-19 11:47:43 -06:00
Weblate
acfeee3258 Merge branch 'origin/develop' into Weblate. 2020-03-19 11:01:28 +00:00
Michael Telatynski
2b751d2ca6 Merge pull request #12786 from vector-im/t3chguy/patch-2
Delete shortcuts.md
2020-03-19 11:01:22 +00:00
Michael Telatynski
9055d0b8b5 Delete shortcuts.md
The in-app keyboard shortcuts view has more.
https://github.com/matrix-org/matrix-react-sdk/pull/4231
2020-03-19 10:52:48 +00:00
Travis Ralston
e1eb16ce46 Use a local widget wrapper for Jitsi calls
Effectively fixes https://github.com/vector-im/riot-web/issues/11074
Effectively fixes https://github.com/vector-im/riot-web/issues/7112
Fixes https://github.com/vector-im/riot-web/issues/6930
Fixes Jitsi widgets not working for guests (https://github.com/vector-im/riot-web/issues/8933)
Fixes https://github.com/vector-im/riot-web/issues/5048

Previously we were relying on an integration manager to be defined, functional, and alive in order to join Jitsi calls. This commit changes this so we aren't reliant on an integration manager for Jitsi calls at all, and gives people the option of choosing a Jitsi server via the config.json.

This side is just the wrapper/shell: the logic is mostly in the react-sdk (to be linked via PRs). This layer simply has an HTML file exported that can be used to render a Jitsi widget, and the react-sdk constructs a URL to access it locally. This is similar to how the mobile apps handle Jitsi widgets: instead of iframing the widget URL directly into the app, they pull apart the widget information and natively render it. We're effectively doing the same here by parsing the widget options and using our local wrapper instead of whatever happens to be defined in the widget state event.

Integration managers should still continue to offer a widget URL for Jitsi widgets as this is what the spec requires.

A large part of this is based upon Dimension's handling of Jitsi and widgets in general: a license has been granted to allow Riot (and therefore the react-sdk) to use the code and be inspired by it.
2020-03-18 15:48:02 -06:00
Weblate
6b959b4a76 Merge branch 'origin/develop' into Weblate. 2020-03-18 14:04:05 +00:00
Michael Telatynski
7296b704a8 Merge pull request #12756 from vector-im/t3chguy/gemini
Remove remainders of gemini-scrollbar and react-gemini-scrollbar
2020-03-18 14:03:59 +00:00
Weblate
f02a74a449 Merge branch 'origin/develop' into Weblate. 2020-03-18 11:43:43 +00:00
Elwyn Malethan
3a8a5febe9 Translated using Weblate (Welsh)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cy/
2020-03-18 11:43:42 +00:00
Pedro Silva
a0fbae0971 Translated using Weblate (Portuguese)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt/
2020-03-18 11:43:42 +00:00
J. Ryan Stinnett
3b8a34917f Merge pull request #12762 from jaredsmith/patch-1
Update electron to v7.1.14
2020-03-18 11:43:37 +00:00
J. Ryan Stinnett
5808ea2ba1 Add notes about chatting with the team 2020-03-18 11:18:29 +00:00
J. Ryan Stinnett
e348546e59 Reformat 2020-03-18 10:59:46 +00:00
J. Ryan Stinnett
34f3671c09 Add notes on review request handling 2020-03-18 10:59:33 +00:00
J. Ryan Stinnett
3989f41985 Clarify merge options 2020-03-18 10:53:48 +00:00
J. Ryan Stinnett
bd8b3a9046 Move multi-repo linking to workflow section 2020-03-18 10:21:28 +00:00
J. Ryan Stinnett
1aecc3d7e5 Add multi-repo PR linking
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2020-03-18 10:18:41 +00:00
Alexis
a366c68c38 Translated using Weblate (Portuguese)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt/
2020-03-17 23:32:14 +00:00
Pedro Silva
93059366ab Translated using Weblate (Portuguese)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt/
2020-03-17 23:32:14 +00:00
Jared Smith
df9069090f Update electron to v7.1.14
Update dependency to electron version 7.1.4 to resolve issue where riot-web
has troubles syncing messages, and throws a "**CRASHING**:seccomp-bpf
failure in syscall 0230" error.  

See https://github.com/electron/electron/issues/22291 for more details.
2020-03-17 10:51:39 -04:00
Weblate
77c5d55d38 Merge branch 'origin/develop' into Weblate. 2020-03-17 14:39:19 +00:00
RiotRobot
a9fbf2f968 Reset matrix-react-sdk back to develop branch 2020-03-17 14:39:09 +00:00
RiotRobot
25a3449ad2 Reset matrix-js-sdk back to develop branch 2020-03-17 14:38:58 +00:00
Weblate
96c7765f5a Merge branch 'origin/develop' into Weblate. 2020-03-17 14:37:53 +00:00
RiotRobot
b01c6e67fd Merge branch 'master' into develop 2020-03-17 14:37:28 +00:00
Weblate
6854f2d7e8 Merge branch 'origin/develop' into Weblate. 2020-03-17 11:16:54 +00:00
Michael Telatynski
5913e3830b Merge pull request #12735 from vector-im/t3chguy/url
Add url tests to Modernizr
2020-03-17 11:16:48 +00:00
Michael Telatynski
368d26af34 update yarn lock a little more forcibly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-17 10:36:26 +00:00
Weblate
ebf4e03019 Merge branch 'origin/develop' into Weblate. 2020-03-17 10:32:39 +00:00
catborise
3e94b7d911 Translated using Weblate (Turkish)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/tr/
2020-03-17 10:32:39 +00:00
Mejans
1fda6eb5ab Translated using Weblate (Occitan)
Currently translated at 83.3% (20 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/oc/
2020-03-17 10:32:39 +00:00
Michael Telatynski
8cef591c57 Remove remainders of gemini-scrollbar and react-gemini-scrollbar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-17 10:31:46 +00:00
Damir Jelić
31faa4753c Merge branch 'poljar/delete-events' into develop 2020-03-17 10:17:21 +01:00
Mejans
fe27939394 Added translation using Weblate (Occitan) 2020-03-16 20:06:50 +00:00
Travis Ralston
4155973b8a Merge pull request #12744 from vector-im/dependabot/npm_and_yarn/electron_app/minimist-1.2.2
Bump minimist from 1.2.0 to 1.2.2 in /electron_app
2020-03-16 09:55:42 -06:00
dependabot[bot]
5949c432fa Bump minimist from 1.2.0 to 1.2.2 in /electron_app
Bumps [minimist](https://github.com/substack/minimist) from 1.2.0 to 1.2.2.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.0...1.2.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-16 04:12:25 +00:00
Michael Telatynski
eba63ce9ab Add url tests to Modernizr
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-14 00:13:47 +00:00
J. Ryan Stinnett
0b772ca50a Tweak issue assigning
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2020-03-13 16:48:03 +00:00
J. Ryan Stinnett
d930d14735 Add review policy doc
This documents various attributes of our overall review policy from code,
design, and product perspectives.

Fixes https://github.com/vector-im/riot-web/issues/12614
2020-03-13 16:39:29 +00:00
Travis Ralston
8e2eab21ae Merge pull request #12731 from vector-im/travis/theme-poc
Add docs and flag for custom theme support
2020-03-13 09:48:03 -06:00
Travis Ralston
98bd951366 Add docs and flag for custom theme support 2020-03-13 09:34:16 -06:00
Travis Ralston
7c8363c85e Merge pull request #12716 from vector-im/travis/ts-2
Declare jsx in tsconfig for IDEs
2020-03-13 09:25:16 -06:00
Travis Ralston
b419afad40 Declare jsx in tsconfig for IDEs 2020-03-12 13:37:28 -06:00
Travis Ralston
139bf536e4 Merge pull request #12713 from vector-im/travis/yarn-cleanup
Remove stuff that yarn install doesn't think we need
2020-03-12 10:58:28 -06:00
Travis Ralston
e110c8ed9b Remove stuff that yarn install doesn't think we need 2020-03-12 10:47:34 -06:00
Damir Jelić
20a89d67cb ElectronPlatform: Add support to remove events from the event index. 2020-03-12 11:51:34 +01:00
David Baker
ce9a964956 Merge pull request #12691 from vector-im/dbkr/yarn_upgrade_20200311
yarn upgrade
2020-03-12 09:45:45 +00:00
Travis Ralston
296e7011e5 Merge pull request #12696 from vector-im/travis/typescript-2
Support TypeScript for React components
2020-03-11 18:36:41 -06:00
Travis Ralston
798d4dabc0 Supply --jsx react to tsc 2020-03-11 18:25:19 -06:00
Travis Ralston
f44694ad44 Support TypeScript for React components
Same treatment as https://github.com/matrix-org/matrix-react-sdk/pull/4203
2020-03-11 18:19:03 -06:00
David Baker
e18157d5a0 yarn upgrade 2020-03-11 14:56:13 +00:00
175 changed files with 6550 additions and 6050 deletions

View File

@@ -3,7 +3,6 @@ test/
webapp/
lib/
node_modules/
electron_app/
karma-reports/
.idea/
.tmp/

4
.gitignore vendored
View File

@@ -4,9 +4,6 @@
/key.pem
/lib
/node_modules
/electron_app/node_modules
/electron_app/dist
/electron_app/pub
/packages/
/webapp
/.npmrc
@@ -21,3 +18,4 @@ electron/pub
/config.local*.json
/src/component-index.js
/.tmp
/webpack-stats.json

View File

@@ -25,7 +25,11 @@
"test/svg/asimg",
"test/svg/filters",
"test/url/parser",
"test/url/urlsearchparams",
"test/cors",
"test/crypto",
"test/iframe/sandbox",
"test/json",
"test/network/fetch",

View File

@@ -1,3 +1,374 @@
Changes in [1.6.6](https://github.com/vector-im/riot-web/releases/tag/v1.6.6) (2020-06-23)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.6-rc.1...v1.6.6)
* Upgrade to JS SDK 7.0.0 and React SDK 2.8.0
Changes in [1.6.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.6-rc.1) (2020-06-17)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.5...v1.6.6-rc.1)
* Upgrade to JS SDK 7.0.0-rc.1 and React SDK 2.8.0-rc.1
* Update from Weblate
[\#14067](https://github.com/vector-im/riot-web/pull/14067)
* Update from Weblate
[\#14032](https://github.com/vector-im/riot-web/pull/14032)
* Attempt to fix decoder ring for relative hosted riots
[\#13987](https://github.com/vector-im/riot-web/pull/13987)
* Upgrade deps
[\#13952](https://github.com/vector-im/riot-web/pull/13952)
* Fix riot-desktop manual update check getting stuck on Downloading...
[\#13946](https://github.com/vector-im/riot-web/pull/13946)
* Bump websocket-extensions from 0.1.3 to 0.1.4
[\#13943](https://github.com/vector-im/riot-web/pull/13943)
* Add e2ee-default:false docs
[\#13914](https://github.com/vector-im/riot-web/pull/13914)
* make IPC calls to get pickle key
[\#13846](https://github.com/vector-im/riot-web/pull/13846)
* fix loading test for new sso pattern
[\#13913](https://github.com/vector-im/riot-web/pull/13913)
* Fix login loop where the sso flow returns to `#/login`
[\#13889](https://github.com/vector-im/riot-web/pull/13889)
* Fix typo in docs
[\#13905](https://github.com/vector-im/riot-web/pull/13905)
* Remove cross-signing from labs
[\#13904](https://github.com/vector-im/riot-web/pull/13904)
* Add PWA Platform with PWA-specific badge controls
[\#13890](https://github.com/vector-im/riot-web/pull/13890)
* Modernizr check for subtle crypto as we require it all over the place
[\#13828](https://github.com/vector-im/riot-web/pull/13828)
Changes in [1.6.5](https://github.com/vector-im/riot-web/releases/tag/v1.6.5) (2020-06-16)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.4...v1.6.5)
* Upgrade to JS SDK 6.2.2 and React SDK 2.7.2
Changes in [1.6.4](https://github.com/vector-im/riot-web/releases/tag/v1.6.4) (2020-06-05)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.3...v1.6.4)
* Upgrade to JS SDK 6.2.1 and React SDK 2.7.1
Changes in [1.6.3](https://github.com/vector-im/riot-web/releases/tag/v1.6.3) (2020-06-04)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.3-rc.1...v1.6.3)
## Security notice
Riot Web 1.6.3 fixes a vulnerability in single sign-on (SSO) deployments where Riot Web could be confused into sending authentication details to an attacker-controlled server. Thanks to Quentin Gliech for responsibly disclosing this via Matrix's Security Disclosure Policy.
## All changes
* Fix login loop where the sso flow returns to `#/login` to release
[\#13915](https://github.com/vector-im/riot-web/pull/13915)
Changes in [1.6.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.3-rc.1) (2020-06-02)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.2...v1.6.3-rc.1)
* Upgrade to JS SDK 6.2.0-rc.1 and React SDK 2.7.0-rc.2
* Get rid of welcome.html's Chat with Riot Bot button
[\#13842](https://github.com/vector-im/riot-web/pull/13842)
* Update from Weblate
[\#13886](https://github.com/vector-im/riot-web/pull/13886)
* Allow deferring of Update Toast until the next morning
[\#13864](https://github.com/vector-im/riot-web/pull/13864)
* Give contextual feedback for manual update check instead of banner
[\#13862](https://github.com/vector-im/riot-web/pull/13862)
* Add app-load doc
[\#13834](https://github.com/vector-im/riot-web/pull/13834)
* Update Modular hosting link
[\#13777](https://github.com/vector-im/riot-web/pull/13777)
* Replace New Version Bar with a Toast
[\#13776](https://github.com/vector-im/riot-web/pull/13776)
* Remove webpack-build-notifier from lockfile
[\#13814](https://github.com/vector-im/riot-web/pull/13814)
* Add media queries and mobile viewport (#12142)
[\#13818](https://github.com/vector-im/riot-web/pull/13818)
* Fix @types/react conflict in matrix-react-sdk
[\#13809](https://github.com/vector-im/riot-web/pull/13809)
* Fix manual update checking, super in arrow funcs doesn't work
[\#13808](https://github.com/vector-im/riot-web/pull/13808)
* Update from Weblate
[\#13806](https://github.com/vector-im/riot-web/pull/13806)
* Convert platforms to Typescript
[\#13756](https://github.com/vector-im/riot-web/pull/13756)
* Fix EventEmitter typescript signature in node typings
[\#13764](https://github.com/vector-im/riot-web/pull/13764)
* Add docs and labs flag for new room list implementation
[\#13675](https://github.com/vector-im/riot-web/pull/13675)
* Add font scaling labs setting.
[\#13352](https://github.com/vector-im/riot-web/pull/13352)
* Add labs flag for alternate message layouts
[\#13350](https://github.com/vector-im/riot-web/pull/13350)
* Move dispatcher references in support of TypeScript conversion
[\#13666](https://github.com/vector-im/riot-web/pull/13666)
* Update from Weblate
[\#13704](https://github.com/vector-im/riot-web/pull/13704)
* Replace favico.js dependency with simplified variant grown from it
[\#13649](https://github.com/vector-im/riot-web/pull/13649)
* Remove Electron packaging scripts
[\#13688](https://github.com/vector-im/riot-web/pull/13688)
* Fix postcss order to allow mixin variables to work
[\#13674](https://github.com/vector-im/riot-web/pull/13674)
* Pass screenAfterLogin through SSO in the callback url
[\#13650](https://github.com/vector-im/riot-web/pull/13650)
Changes in [1.6.2](https://github.com/vector-im/riot-web/releases/tag/v1.6.2) (2020-05-22)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.1...v1.6.2)
* Upgrade to React SDK 2.6.1
Changes in [1.6.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.1) (2020-05-19)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.1-rc.1...v1.6.1)
* Upgrade to React SDK 2.6.0 and JS SDK 6.1.0
Changes in [1.6.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.1-rc.1) (2020-05-14)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0...v1.6.1-rc.1)
* Upgrade to React SDK 2.6.0-rc.1 and JS SDK 6.1.0-rc.1
* Update from Weblate
[\#13673](https://github.com/vector-im/riot-web/pull/13673)
* Add notranslate class to matrixchat to prevent translation by Google
Translate
[\#13669](https://github.com/vector-im/riot-web/pull/13669)
* Added Anchor Link to the development of matrix sdk
[\#13638](https://github.com/vector-im/riot-web/pull/13638)
* Prefetch the formatting button mask svg images
[\#13631](https://github.com/vector-im/riot-web/pull/13631)
* use a different image in previews
[\#13488](https://github.com/vector-im/riot-web/pull/13488)
* Update from Weblate
[\#13625](https://github.com/vector-im/riot-web/pull/13625)
* Remove electron_app as we now have riot-desktop repo
[\#13544](https://github.com/vector-im/riot-web/pull/13544)
* add new images for PWA icons
[\#13556](https://github.com/vector-im/riot-web/pull/13556)
* Remove unused feature flag from config
[\#13504](https://github.com/vector-im/riot-web/pull/13504)
* Update from Weblate
[\#13486](https://github.com/vector-im/riot-web/pull/13486)
* Developer tool: convert rageshake error locations back to sourcecode
locations
[\#13357](https://github.com/vector-im/riot-web/pull/13357)
* App load tweaks, improve error pages
[\#13329](https://github.com/vector-im/riot-web/pull/13329)
* Tweak default device name to be more compact
[\#13465](https://github.com/vector-im/riot-web/pull/13465)
* Tweak default device name on macOS
[\#13460](https://github.com/vector-im/riot-web/pull/13460)
* Update docs with custom theming changes
[\#13406](https://github.com/vector-im/riot-web/pull/13406)
* Update from Weblate
[\#13395](https://github.com/vector-im/riot-web/pull/13395)
* Remove docs and config for invite only padlocks
[\#13374](https://github.com/vector-im/riot-web/pull/13374)
* Revert "Add font scaling labs setting."
[\#13351](https://github.com/vector-im/riot-web/pull/13351)
* Expand feature flag docs to cover additional release channels
[\#13341](https://github.com/vector-im/riot-web/pull/13341)
* Optimized image assets by recompressing without affecting quality.
[\#13034](https://github.com/vector-im/riot-web/pull/13034)
* Add font scaling labs setting.
[\#13199](https://github.com/vector-im/riot-web/pull/13199)
* Remove encrypted message search feature flag
[\#13325](https://github.com/vector-im/riot-web/pull/13325)
* Fix `default_federate` settting description
[\#13312](https://github.com/vector-im/riot-web/pull/13312)
* Clarify that the .well-known method for Jitsi isn't available yet
[\#13314](https://github.com/vector-im/riot-web/pull/13314)
* add config option to tsc resolveJsonModule
[\#13296](https://github.com/vector-im/riot-web/pull/13296)
* Fix dispatcher import to be extension agnostic
[\#13297](https://github.com/vector-im/riot-web/pull/13297)
* Document more config options in config.md (fixes #13089)
[\#13260](https://github.com/vector-im/riot-web/pull/13260)
* Fix tests post-js-sdk-filters change
[\#13295](https://github.com/vector-im/riot-web/pull/13295)
* Make Jitsi download script a JS script
[\#13227](https://github.com/vector-im/riot-web/pull/13227)
* Use matrix-react-sdk type extensions as a base
[\#13271](https://github.com/vector-im/riot-web/pull/13271)
* Allow Riot Web to randomly pick welcome backgrounds
[\#13235](https://github.com/vector-im/riot-web/pull/13235)
* Update cross-signing feature docs and document fallback procedures
[\#13224](https://github.com/vector-im/riot-web/pull/13224)
Changes in [1.6.0](https://github.com/vector-im/riot-web/releases/tag/v1.6.0) (2020-05-05)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.6...v1.6.0)
* Cross-signing and E2EE by default for DMs and private rooms enabled
* Upgrade to React SDK 2.5.0 and JS SDK 6.0.0
Changes in [1.6.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.6) (2020-05-01)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.5...v1.6.0-rc.6)
* Upgrade to React SDK 2.5.0-rc.6 and JS SDK 6.0.0-rc.2
Changes in [1.6.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.5) (2020-04-30)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.4...v1.6.0-rc.5)
* Upgrade to React SDK 2.5.0-rc.5 and JS SDK 6.0.0-rc.1
* Remove feature flag docs from docs on release
[\#13375](https://github.com/vector-im/riot-web/pull/13375)
Changes in [1.6.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.4) (2020-04-23)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.3...v1.6.0-rc.4)
* Upgrade to React SDK 2.5.0-rc.4 and JS SDK 5.3.1-rc.4
Changes in [1.6.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.3) (2020-04-17)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.2...v1.6.0-rc.3)
* Upgrade to React SDK 2.5.0-rc.3 and JS SDK 5.3.1-rc.3
Changes in [1.6.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.2) (2020-04-16)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.1...v1.6.0-rc.2)
* Upgrade to React SDK 2.5.0-rc.2 and JS SDK 5.3.1-rc.2
* Enable cross-signing / E2EE by default for DM without config changes
Changes in [1.6.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.1) (2020-04-15)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.16-rc.1...v1.6.0-rc.1)
* Enable cross-signing / E2EE by default for DM on release
[\#13179](https://github.com/vector-im/riot-web/pull/13179)
* Upgrade to React SDK 2.5.0-rc.1 and JS SDK 5.3.1-rc.1
* Add instruction to resolve the inotify watch limit issue
[\#13128](https://github.com/vector-im/riot-web/pull/13128)
* docs: labs: add a pointer to config.md
[\#13149](https://github.com/vector-im/riot-web/pull/13149)
* Fix Electron SSO handling to support multiple profiles
[\#13028](https://github.com/vector-im/riot-web/pull/13028)
* Add riot-desktop shortcuts for forward/back matching browsers&slack
[\#13133](https://github.com/vector-im/riot-web/pull/13133)
* Allow rageshake to fail in init
[\#13164](https://github.com/vector-im/riot-web/pull/13164)
* Fix broken yarn install link in README.md
[\#13125](https://github.com/vector-im/riot-web/pull/13125)
* fix build:jitsi scripts crash caused by a missing folder
[\#13122](https://github.com/vector-im/riot-web/pull/13122)
* App load order changes to catch errors better
[\#13095](https://github.com/vector-im/riot-web/pull/13095)
* Upgrade deps
[\#13080](https://github.com/vector-im/riot-web/pull/13080)
Changes in [1.5.16-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.16-rc.1) (2020-04-08)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.15...v1.5.16-rc.1)
* Upgrade React SDK to 2.4.0-rc.1 and JS SDK to 5.3.0-rc.1
* Update from Weblate
[\#13078](https://github.com/vector-im/riot-web/pull/13078)
* Mention Jitsi support at the .well-known level in Jitsi docs
[\#13047](https://github.com/vector-im/riot-web/pull/13047)
* Add new default home page fallback
[\#13049](https://github.com/vector-im/riot-web/pull/13049)
* App load order tweaks for code splitting
[\#13032](https://github.com/vector-im/riot-web/pull/13032)
* Add some docs about Jitsi widgets and Jitsi configuration
[\#13027](https://github.com/vector-im/riot-web/pull/13027)
* Bump minimist from 1.2.2 to 1.2.3 in /electron_app
[\#13030](https://github.com/vector-im/riot-web/pull/13030)
* Fix Electron mac-specific shortcut being registered on Web too.
[\#13020](https://github.com/vector-im/riot-web/pull/13020)
* Add a console warning that errors from Jitsi Meet are fine
[\#12968](https://github.com/vector-im/riot-web/pull/12968)
* Fix popout support for jitsi widgets
[\#12975](https://github.com/vector-im/riot-web/pull/12975)
* Some grammar and clarifications
[\#12925](https://github.com/vector-im/riot-web/pull/12925)
* Don't immediately remove notifications from notification trays
[\#12861](https://github.com/vector-im/riot-web/pull/12861)
* Remove welcome user from config
[\#12894](https://github.com/vector-im/riot-web/pull/12894)
Changes in [1.5.15](https://github.com/vector-im/riot-web/releases/tag/v1.5.15) (2020-04-01)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.14...v1.5.15)
## Security notice
The `jitsi.html` widget wrapper introduced in Riot 1.5.14 could be used to extract user data by tricking the user into adding a custom widget or opening a link in the browser used to run Riot. Jitsi widgets created through Riot UI do not pose a risk and do not need to be recreated.
It is important to purge any copies of Riot 1.5.14 so that the vulnerable `jitsi.html` wrapper from that version is no longer accessible.
## All changes
* Upgrade React SDK to 2.3.1 for Jitsi fixes
* Fix popout support for jitsi widgets
[\#12980](https://github.com/vector-im/riot-web/pull/12980)
Changes in [1.5.14](https://github.com/vector-im/riot-web/releases/tag/v1.5.14) (2020-03-30)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.14-rc.1...v1.5.14)
* Upgrade JS SDK to 5.2.0 and React SDK to 2.3.0
Changes in [1.5.14-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.14-rc.1) (2020-03-26)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.13...v1.5.14-rc.1)
* Upgrade JS SDK to 5.2.0-rc.1 and React SDK to 2.3.0-rc.1
* Update from Weblate
[\#12890](https://github.com/vector-im/riot-web/pull/12890)
* App load tweaks
[\#12869](https://github.com/vector-im/riot-web/pull/12869)
* Add review policy doc
[\#12730](https://github.com/vector-im/riot-web/pull/12730)
* Fix artifact searching in redeployer
[\#12875](https://github.com/vector-im/riot-web/pull/12875)
* Fix Jitsi wrapper being large by getting the config from elsewhere
[\#12845](https://github.com/vector-im/riot-web/pull/12845)
* Add webpack stats which will be used by CI and stored to artifacts
[\#12832](https://github.com/vector-im/riot-web/pull/12832)
* Revert "Remove useless app preloading from Jitsi widget wrapper"
[\#12842](https://github.com/vector-im/riot-web/pull/12842)
* Remove useless app preloading from Jitsi widget wrapper
[\#12836](https://github.com/vector-im/riot-web/pull/12836)
* Update from Weblate
[\#12829](https://github.com/vector-im/riot-web/pull/12829)
* Fix version for Docker builds
[\#12799](https://github.com/vector-im/riot-web/pull/12799)
* Register Mac electron specific Cmd+, shortcut to User Settings
[\#12800](https://github.com/vector-im/riot-web/pull/12800)
* Use a local widget wrapper for Jitsi calls
[\#12780](https://github.com/vector-im/riot-web/pull/12780)
* Delete shortcuts.md
[\#12786](https://github.com/vector-im/riot-web/pull/12786)
* Remove remainders of gemini-scrollbar and react-gemini-scrollbar
[\#12756](https://github.com/vector-im/riot-web/pull/12756)
* Update electron to v7.1.14
[\#12762](https://github.com/vector-im/riot-web/pull/12762)
* Add url tests to Modernizr
[\#12735](https://github.com/vector-im/riot-web/pull/12735)
* ElectronPlatform: Add support to remove events from the event index.
[\#12703](https://github.com/vector-im/riot-web/pull/12703)
* Bump minimist from 1.2.0 to 1.2.2 in /electron_app
[\#12744](https://github.com/vector-im/riot-web/pull/12744)
* Add docs and flag for custom theme support
[\#12731](https://github.com/vector-im/riot-web/pull/12731)
* Declare jsx in tsconfig for IDEs
[\#12716](https://github.com/vector-im/riot-web/pull/12716)
* Remove stuff that yarn install doesn't think we need
[\#12713](https://github.com/vector-im/riot-web/pull/12713)
* yarn upgrade
[\#12691](https://github.com/vector-im/riot-web/pull/12691)
* Support TypeScript for React components
[\#12696](https://github.com/vector-im/riot-web/pull/12696)
Changes in [1.5.13](https://github.com/vector-im/riot-web/releases/tag/v1.5.13) (2020-03-17)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.13-rc.1...v1.5.13)

View File

@@ -78,7 +78,7 @@ Riot is a modular webapp built with modern ES6 and uses a Node.js build system.
Ensure you have the latest LTS version of Node.js installed.
Using `yarn` instead of `npm` is recommended. Please see the Yarn [install
guide](https://yarnpkg.com/docs/install/) if you do not have it already.
guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it already.
1. Install or update `node.js` so that your `node` is at least v10.x.
1. Install `yarn` if not present already.
@@ -108,40 +108,7 @@ Riot can also be run as a desktop app, wrapped in Electron. You can download a
pre-built version from https://riot.im/download/desktop/ or, if you prefer,
build it yourself.
To build it yourself, follow the instructions below.
1. Follow the instructions in 'Building From Source' above, but run
`yarn build` instead of `yarn dist` (since we don't need the tarball).
2. Install Electron and run it:
```bash
yarn electron
```
To build packages, use `electron-builder`. This is configured to output:
* `dmg` + `zip` for macOS
* `exe` + `nupkg` for Windows
* `deb` for Linux
But this can be customised by editing the `build` section of package.json
as per https://github.com/electron-userland/electron-builder/wiki/Options
See https://github.com/electron-userland/electron-builder/wiki/Multi-Platform-Build
for dependencies required for building packages for various platforms.
The only platform that can build packages for all three platforms is macOS:
```bash
brew install mono
yarn install
yarn build:electron
```
For other packages, use `electron-builder` manually. For example, to build a
package for 64 bit Linux:
1. Follow the instructions in 'Building From Source' above
2. `node_modules/.bin/build -l --x64`
All Electron packages go into `electron_app/dist/`
To build it yourself, follow the instructions at https://github.com/vector-im/riot-desktop.
Many thanks to @aviraldg for the initial work on the Electron integration.
@@ -220,9 +187,14 @@ Development
===========
Before attempting to develop on Riot you **must** read the [developer guide
for `matrix-react-sdk`](https://github.com/matrix-org/matrix-react-sdk), which
for `matrix-react-sdk`](https://github.com/matrix-org/matrix-react-sdk#developer-guide), which
also defines the design, architecture and style for Riot too.
Before starting work on a feature, it's best to ensure your plan aligns well
with our vision for Riot. Please chat with the team in
[#riot-dev:matrix.org](https://matrix.to/#/#riot-dev:matrix.org) before you
start so we can ensure it's something we'd be willing to merge.
You should also familiarise yourself with the ["Here be Dragons" guide
](https://docs.google.com/document/d/12jYzvkidrp1h7liEuLIe6BMdU0NUjndUYI971O06ooM)
to the tame & not-so-tame dragons (gotchas) which exist in the codebase.
@@ -283,6 +255,7 @@ yarn install
yarn start
```
Wait a few seconds for the initial build to finish; you should see something like:
```
Hash: b0af76309dd56d7275c8
@@ -304,6 +277,23 @@ 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 Riot.
**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.
To set a new inotify watch limit, execute:
```
$ sudo sysctl fs.inotify.max_user_watches=131072
$ sudo sysctl -p
```
If you wish, you can make this new limit permanent, by executing:
```
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
```
___
When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be

1
__mocks__/cssMock.js Normal file
View File

@@ -0,0 +1 @@
module.exports = "css-file-stub";

View File

@@ -22,15 +22,16 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"integrations_jitsi_widget_url": "https://scalar.vector.im/api/widgets/jitsi.html",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"defaultCountryCode": "GB",
"showLabsSettings": false,
"features": {
"feature_font_scaling": "labs",
"feature_pinning": "labs",
"feature_custom_status": "labs",
"feature_custom_tags": "labs",
"feature_state_counters": "labs"
"feature_state_counters": "labs",
"feature_irc_ui": "labs"
},
"default_federate": true,
"default_theme": "light",
@@ -52,5 +53,8 @@
},
"settingDefaults": {
"breadcrumbs": true
},
"jitsi": {
"preferredDomain": "jitsi.riot.im"
}
}

81
docs/app-load.md Normal file
View File

@@ -0,0 +1,81 @@
# App load order
Old slow flow:
![image](https://user-images.githubusercontent.com/2403652/73848963-00a2a080-4821-11ea-97d4-1200fc2638f3.png)
Current more parallel flow:
![image](https://user-images.githubusercontent.com/2403652/83146440-303a2900-a0ee-11ea-806b-4f53f039b957.png)
<details><summary>Code</summary>
<p>
<pre><code>
digraph G {
node [shape=box];
subgraph cluster_0 {
color=orange;
node [style=filled];
label = "index.ts";
entrypoint, s0, ready [shape=point];
rageshake, config, i18n, theme, skin, olm [shape=parallelogram];
mobile [shape=diamond, label="mobile"];
modernizr [shape=diamond];
redirect, incompatible [shape=egg];
entrypoint -> rageshake;
rageshake -> mobile [color=blue];
mobile -> s0 [label="No"];
mobile -> redirect [label="Yes"];
s0 -> platform;
s0 -> olm;
platform -> config;
config -> i18n [color=blue];
config -> theme [color=blue];
config -> skin [color=blue];
i18n -> modernizr [color=blue];
theme -> modernizr [color=blue];
skin -> modernizr [color=blue];
modernizr -> ready [label="Yes"];
modernizr -> incompatible [label="No"];
incompatible -> ready [label="user ignore"];
olm -> ready [color=red];
config -> ready [color=red];
skin -> ready [color=red];
theme -> ready [color=red];
i18n -> ready [color=red];
}
subgraph cluster_1 {
color = green;
node [style=filled];
label = "init.tsx";
ready -> loadApp;
loadApp -> matrixchat;
}
}
</code></pre>
</p>
</details>
Key:
+ Parallelogram: async/await task
+ Box: sync task
+ Diamond: conditional branch
+ Egg: user interaction
+ Blue arrow: async task is allowed to settle but allowed to fail
+ Red arrow: async task success is asserted
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).
+ 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:
![image](https://user-images.githubusercontent.com/2403652/73848977-08624500-4821-11ea-9830-bb0317c41086.png)

View File

@@ -32,7 +32,7 @@ For a good example, see https://riot.im/develop/config.json.
homeserver know what email template to use when talking to you.
1. `branding`: Configures various branding and logo details, such as:
1. `welcomeBackgroundUrl`: An image to use as a wallpaper outside the app
during authentication flows
during authentication flows. If an array is passed, an image is chosen randomly for each visit.
1. `authHeaderLogoUrl`: An logo image that is shown in the header during
authentication flows
1. `authFooterLinks`: a list of links to show in the authentication page footer:
@@ -84,6 +84,23 @@ For a good example, see https://riot.im/develop/config.json.
By default, this is "https://matrix.to" to generate matrix.to (spec) permalinks.
Set this to your Riot instance URL if you run an unfederated server (eg:
"https://riot.example.org").
1. `jitsi`: Used to change the default conference options. Learn more about the
Jitsi options at [jitsi.md](./jitsi.md).
1. `preferredDomain`: The domain name of the preferred Jitsi instance. Defaults
to `jitsi.riot.im`. This is used whenever a user clicks on the voice/video
call buttons - integration managers may use a different domain.
1. `enable_presence_by_hs_url`: The property key should be the URL of the homeserver
and its value defines whether to enable/disable the presence status display
from that homeserver. If no options are configured, presence is shown for all
homeservers.
1. `disable_guests`: Disables guest access tokens and auto-guest registrations.
Defaults to false (guests are allowed).
1. `disable_login_language_selector`: Disables the login language selector. Defaults
to false (language selector is shown).
1. `disable_3pid_login`: Disables 3rd party identity options on login and registration form
Defaults to false (3rd party identity options are shown).
1. `default_federate`: Default option for room federation when creating a room
Defaults to true (room federation enabled).
Note that `index.html` also has an og:image meta tag that is set to an image
hosted on riot.im. This is the image used if links to your copy of Riot
@@ -119,24 +136,11 @@ If none of these sources have an identity server set, then Riot will prompt the
user to set an identity server first when attempting to use features that
require one.
Currently the only two public identity servers are https://vector.im and
Currently, the only two public identity servers are https://vector.im and
https://matrix.org, however in the future identity servers will be
decentralised.
Desktop app configuration
=========================
To run multiple instances of the desktop app for different accounts, you can
launch the executable with the `--profile` argument followed by a unique
identifier, e.g `riot-web --profile Work` for it to run a separate profile and
not interfere with the default one.
Alternatively, a custom location for the profile data can be specified using the
`--profile-dir` flag followed by the desired path.
+ `%APPDATA%\$NAME\config.json` on Windows
+ `$XDG_CONFIG_HOME\$NAME\config.json` or `~/.config/$NAME/config.json` on Linux
+ `~Library/Application Support/$NAME/config.json` on macOS
In the paths above, `$NAME` is typically `Riot`, unless you use `--profile
$PROFILE` in which case it becomes `Riot-$PROFILE`.
See https://github.com/vector-im/riot-desktop#user-specified-configjson

16
docs/e2ee.md Normal file
View File

@@ -0,0 +1,16 @@
# End to end encryption by default
By default, Riot will create encrypted DM rooms if the user you are chatting with has keys uploaded on their account.
For private room creation, Riot will default to encryption on but give you the choice to opt-out.
## Disabling encryption by default
Set the following on your homeserver's
`/.well-known/matrix/client` config:
```json
{
"im.vector.riot.e2ee": {
"default": false
}
}
```

View File

@@ -49,7 +49,9 @@ When starting work on a feature, we should create a matching feature flag:
```js
SettingsStore.isFeatureEnabled("feature_cats")
```
3. Add the feature to the [set of labs on develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json):
3. Add the feature to the set of labs on
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
and [nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json):
```json
"features": {
"feature_cats": "labs"
@@ -58,14 +60,18 @@ When starting work on a feature, we should create a matching feature flag:
4. Document the feature in the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
With these steps completed, the feature is disabled by default, but can be
enabled on develop by interested users for testing.
enabled on develop and nightly by interested users for testing.
Different features may have different deployment plans for when to enable where.
The following lists a few common options.
## Enabling by default on develop
## Enabling by default on develop and nightly
Set the feature to `enable` in the [develop config](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json):
Set the feature to `enable` in the
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
and
[nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json)
configs:
```json
"features": {
@@ -73,10 +79,21 @@ Set the feature to `enable` in the [develop config](https://github.com/vector-im
},
```
## Enabling by default on staging and app
## Enabling by default on staging, app, and release
Set the feature to `enable` in the [app
config](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json).
Set the feature to `enable` in the
[staging / app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json)
and
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
configs.
**Warning:** While this does mean the feature is enabled by default for
https://riot.im and official Riot Desktop builds, it will not be enabled by
default for self-hosted installs, custom desktop builds, etc. To cover those
cases as well, the best options at the moment are converting to a regular
setting defaulted on or to remove the flag. Simply enabling the existing flag by
default in `Settings.js`
[does not work currently](https://github.com/vector-im/riot-web/issues/10360).
## Feature deployed successfully
@@ -86,8 +103,11 @@ Once we're confident that a feature is working well, we should remove the flag:
2. Remove all `isFeatureEnabled` lines that test for the feature's setting
3. Remove the feature from the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
4. Remove feature state from
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
and [app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json)
[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),
and
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
configs
5. Celebrate! 🥳
@@ -107,6 +127,9 @@ regular setting:
feature is always present but gated by a setting)
3. Remove the feature from the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
4. Remove feature state from
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
and [app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json)
[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),
and
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
configs

100
docs/jitsi-dev.md Normal file
View File

@@ -0,0 +1,100 @@
# Jitsi wrapper developer docs
*If you're looking for information on how to set up Jitsi in your Riot, see
[jitsi.md](./jitsi.md) instead.*
These docs are for developers wondering how the different conference buttons work
within Riot. If you're not a developer, you're probably looking for [jitsi.md](./jitsi.md).
## Brief introduction to widgets
Widgets are embedded web applications in a room, controlled through state events, and
have a `url` property. They are largely specified by [MSC1236](https://github.com/matrix-org/matrix-doc/issues/1236)
and have extensions proposed under [MSC1286](https://github.com/matrix-org/matrix-doc/issues/1286).
The `url` is typically something we shove into an iframe with sandboxing (see `AppTile`
in the react-sdk), though for some widgets special integration can be done. v2 widgets
have a `data` object which helps achieve that special integration, though v1 widgets
are best iframed and left alone.
Widgets have a `postMessage` API they can use to interact with Riot, which also allows
Riot to interact with them. Typically this is most used by the sticker picker (an
account-level widget), though widgets like the Jitsi widget will request permissions to
get 'stuck' into the room list during a conference.
Widgets can be added with the `/addwidget <url>` command.
## Brief introduction to integration managers
Integration managers (like Scalar and Dimension) are accessible via the 4 squares in
the top right of the room and provide a simple UI over top of bridges, bots, and other
stuff to plug into a room. They are a separate service to Riot and are thus iframed
in a dialog as well. They also have a `postMessage` API they can use to interact with
the client to create things like widgets, give permissions to bridges, and generally
set everything up for the integration the user is working with.
Integration managers do not currently have a spec associated with them, though efforts
are underway in [MSC1286](https://github.com/matrix-org/matrix-doc/issues/1286).
## Widgets configured by integration managers
Integration managers will often "wrap" a widget by using a widget `url` which points
to the integration manager instead of to where the user requested the widget be. For
example, a custom widget added in an integration manager for https://matrix.org will
end up creating a widget with a URL like `https://integrations.example.org?widgetUrl=https%3A%2F%2Fmatrix.org`.
The integration manager's wrapper will typically have another iframe to isolate the
widget from the client by yet another layer. The wrapper often provides other functionality
which might not be available on the embedded site, such as a fullscreen button or the
communication layer with the client (all widgets *should* be talking to the client
over `postMessage`, even if they aren't going to be using the widget APIs).
Widgets added with the `/addwidget` command will *not* be wrapped as they are not going
through an integration manager. The widgets themselves *should* also work outside of
Riot. Widgets currently have a "pop out" button which opens them in a new tab and
therefore have no connection back to Riot.
## Jitsi widgets from integration managers
Integration managers will create an entire widget event and send it over `postMessage`
for the client to add to the room. This means that the integration manager gets to
decide the conference domain, conference name, and other aspects of the widget. As
a result, users can end up with a Jitsi widget that does not use the same conference
server they specified in their config.json - this is expected.
Some integration managers allow the user to change the conference name while others
will generate one for the user.
## Jitsi widgets generated by Riot itself
When the user clicks on the call buttons by the composer, the integration manager is
not involved in the slightest. Instead, Riot itself generates a widget event, this time
using the config.json parameters, and publishes that to the room. If there's only two
people in the room, a plain WebRTC call is made instead of using a widget at all - these
are defined in the Matrix specification.
The Jitsi widget created by Riot uses a local `jitsi.html` wrapper (or one hosted by
`https://riot.im/app` for desktop users or those on non-https domains) as the widget
`url`. The wrapper has some basic functionality for talking to Riot to ensure the
required `postMessage` calls are fulfilled.
**Note**: Per [jitsi.md](./jitsi.md) the `preferredDomain` can also come from the server's
client .well-known data.
## The Jitsi wrapper in Riot
Whenever Riot sees a Jitsi widget, it ditches the `url` and instead replaces it with
its local wrapper, much like what it would do when creating a widget. However, instead
of using one from riot.im/app, it will use one local to the client instead.
The wrapper is used to provide a consistent experience to users, as well as being faster
and less risky to load. The local wrapper URL is populated with the conference information
from the original widget (which could be a v1 or v2 widget) so the user joins the right
call.
Critically, when the widget URL is reconstructed it does *not* take into account the
config.json's `preferredDomain` for Jitsi. If it did this, users would end up on different
conference servers and therefore different calls entirely.
**Note**: Per [jitsi.md](./jitsi.md) the `preferredDomain` can also come from the server's
client .well-known data.

58
docs/jitsi.md Normal file
View File

@@ -0,0 +1,58 @@
# Jitsi in Riot
Riot uses [Jitsi](https://jitsi.org/) for conference calls, which provides options for
self-hosting your own server and supports most major platforms.
1:1 calls, or calls between you and one other person, do not use Jitsi. Instead, those
calls work directly between clients or via TURN servers configured on the respective
homeservers.
There's a number of ways to start a Jitsi call: the easiest way is to click on the
voice or video buttons near the message composer in a room with more than 2 people. This
will add a Jitsi widget which allows anyone in the room to join.
Integration managers (available through the 4 squares in the top right of the room) may
provide their own approaches for adding Jitsi widgets.
## Configuring Riot to use your self-hosted Jitsi server
Riot will use the Jitsi server that is embedded in the widget, even if it is not the
one you configured. This is because conference calls must be held on a single Jitsi
server and cannot be split over multiple servers.
However, you can configure Riot to *start* a conference with your Jitsi server by adding
to your [config](./config.md) the following:
```json
{
"jitsi": {
"preferredDomain": "your.jitsi.example.org"
}
}
```
The default is `jitsi.riot.im` (a free service offered by Riot), and the demo site for
Jitsi uses `meet.jit.si` (also free).
Once you've applied the config change, refresh Riot and press the call button. This
should start a new conference on your Jitsi server.
**Note**: The widget URL will point to a `jitsi.html` page hosted by Riot. The Jitsi
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
`/.well-known/matrix/client` config:
```json
{
"im.vector.riot.jitsi": {
"preferredDomain": "your.jitsi.example.org"
}
}
```
## Mobile app support
Currently the Riot mobile apps do not support custom Jitsi servers and will instead
use the default `jitsi.riot.im` server. When users on the mobile apps join the call,
they will be joining a different conference which has the same name, but not the same
participants. This is a known bug and which needs to be fixed.

View File

@@ -1,11 +1,17 @@
# Labs features
Some notes on the features you can enable by going to `Settings->Labs`. Not exhaustive, chat in
If Labs is enabled in the [Riot config](config.md), you can enable some of these features by going
to `Settings->Labs`. This list is non-exhaustive and subject to change, chat in
[#riot-web:matrix.org](https://matrix.to/#/#riot-web:matrix.org) for more information.
**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.**
## Font scaling (`feature_font_scaling`)
Enables font scaling options for accessibility. To alter the scale check the
appearance tab in settings.
## Message pinning (`feature_pinning`)
Allows you to pin messages in the room. To pin a message, use the 3 dots to the right of the message
@@ -66,21 +72,8 @@ An implementation of [MSC2241](https://github.com/matrix-org/matrix-doc/pull/224
This also includes a new implementation of the user & member info panel, designed to share more code between showing community members & room members. Built on top of this new panel is also a new UX for verification from the member panel.
## Cross-signing (in development) (`feature_cross_signing`)
Cross-signing ([MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756))
improves the device verification experience by allowing you to verify a user
instead of verifying each of their devices.
This feature is still in development and will be landing in several chunks.
## Event indexing and E2EE search support using Seshat (`feature_event_indexing`)
Adds support for search in E2E encrypted rooms. This enables an event indexer
that downloads, stores, and indexes room messages for E2E encrypted rooms.
The existing search will transparently work for encrypted rooms just like it
does for non-encrypted.
The setting will be removed in a future release, enabling it non-optionally for
all users.
## Bridge info tab (`feature_bridge_state`)
@@ -94,7 +87,23 @@ tab as the single source of truth just yet.
This adds a presence indicator in the room list next to DM rooms where the other
person is online.
## Show padlocks on invite only rooms (`feature_invite_only_padlocks`)
## Custom themes (`feature_custom_themes`)
Custom themes are possible through Riot's [theme support](./theming.md), though
normally these themes need to be defined in the config for Riot. This labs flag
adds an ability for end users to add themes themselves by using a URL to the JSON
theme definition.
For some sample themes, check out [aaronraimist/riot-web-themes](https://github.com/aaronraimist/riot-web-themes).
## New room list (`feature_new_room_list`) (in development)
A complete rewrite of the room list is underway to increase performance, stability,
and general usability. This is expected to take a while to complete and as such might
be missing critical features - please use at your own risk, though do report bugs!
## IRC message layout (`feature_irc_ui`)
Adds an option to change the message layout to an IRC style ` timestamp | avatar
| name | message `
This adds padlocks to room list tiles and room header for invite only rooms.
This feature flag (unlike most) is enabled by default.

82
docs/review.md Normal file
View File

@@ -0,0 +1,82 @@
# Review Guidelines
The following summarises review guidelines that we follow for pull requests in
Riot Web and other supporting repos. These are just guidelines (not strict
rules) and may be updated over time.
## Code Review
When reviewing code, here are some things we look for and also things we avoid:
### We review for
* Correctness
* Performance
* Accessibility
* Security
* Comments and documentation where needed
* Sharing knowledge of different areas among the team
* Ensuring it's something we're comfortable maintaining for the long term
* Progress indicators and local echo where appropriate with network activity
### We should avoid
* Style nits that are already handled by the linter
* Dramatically increasing scope
### Good practices
* Use empathetic language
* See also [Mindful Communication in Code
Reviews](https://kickstarter.engineering/a-guide-to-mindful-communication-in-code-reviews-48aab5282e5e)
and [How to Do Code Reviews Like a Human](https://mtlynch.io/human-code-reviews-1/)
* Authors should prefer smaller commits for easier reviewing and bisection
* Reviewers should be explicit about required versus optional changes
* Reviews are conversations and the PR author should feel comfortable
discussing and pushing back on changes before making them
* Core team should lead by example through their tone and language
* Take the time to thank and point out good code changes
* Using softer language like "please" and "what do you think?" goes a long way
towards making others feel like colleagues working towards a common goal
### Workflow
* Authors should request review from the riot-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
themselves when starting a review to avoid double review
* If there are multiple related PRs authors should reference each of the PRs in
the others before requesting review. Reviewers might start reviewing from
different places and could miss other required PRs.
* Avoid force pushing to a PR after the first round of review
* Use the GitHub default of merge commits when landing (avoid alternate options
like squash or rebase)
* PR author merges after review (assuming they have write access)
* Assign issues only when in progress to indicate to others what can be picked
up
## Design and Product Review
We want to ensure that all changes to Riot fit with our design and product
vision. We often request review from those teams so they can provide their
perspective.
In more detail, our usual process for changes that affect the UI or alter user
functionality is:
* For changes that will go live when merged, always flag Design and Product
teams as appropriate
* For changes guarded by a feature flag, Design and Product review is not
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 Riot (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.
Before starting work on a feature, it's best to ensure your plan aligns well
with our vision for Riot. Please chat with the team in
[#riot-dev:matrix.org](https://matrix.to/#/#riot-dev:matrix.org) before you
start so we can ensure it's something we'd be willing to merge.

View File

@@ -1,15 +0,0 @@
# Keyboard Shortcuts
The modifier is <kbd>Ctrl</kbd> on Windows & Linux and <kbd>⌘</kbd> on Mac.
- <kbd>Ctrl</kbd>/<kbd>⌘</kbd>+<kbd>m</kbd> - toggle markdown
- <kbd>Ctrl</kbd>/<kbd>⌘</kbd>+<kbd>d</kbd> - toggle mic mute
- <kbd>Ctrl</kbd>/<kbd>⌘</kbd>+<kbd>e</kbd> - toggle video on/off
- <kbd>Ctrl</kbd>/<kbd>⌘</kbd>+<kbd>k</kbd> - jump to named room
- <kbd>↑</kbd>/<kbd>↓</kbd> - navigate old messages to edit when the composer is in focus
- <kbd>↑</kbd>/<kbd>↓</kbd> - next/prev room when focus in room list
- <kbd>Alt</kbd>+<kbd>↑</kbd>/<kbd>↓</kbd> - resend previous messages when the composer is in focus
- <kbd>PageUp</kbd>/<kbd>PageDown</kbd> - scroll timeline up/down
- <kbd>Ctrl</kbd>/<kbd>⌘</kbd>+<kbd>Home</kbd>/<kbd>End</kbd> - jump to
start/end of the composer when focused, otherwise jump to timeline start/end
- <kbd>Ctrl</kbd>/<kbd>⌘</kbd>+<kbd>`</kbd> - toggle the top left menu

View File

@@ -54,7 +54,9 @@ eg. in config.json:
"timeline-background-color": "#ffffff",
"timeline-text-color": "#2e2f32",
"timeline-text-secondary-color": "#61708b",
"timeline-highlights-color": "#f3f8fd"
"timeline-highlights-color": "#f3f8fd",
"username-colors": ["#ff0000", ...]
"avatar-background-colors": ["#cc0000", ...]
}
}, {
"name": "Deep Purple",
@@ -78,3 +80,7 @@ eg. in config.json:
]
}
```
`username-colors` is expected to contain 8 colors. `avatar-background-colors` is expected to contain 3 colors. Both values are optional and have fallbacks from the built-in theme.
These are exposed as `--username-colors_0`, ... and `--avatar-background-colors_0`, ... respectively in CSS.

View File

@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- Entitlements from electron-builder's defaults
(https://github.com/electron-userland/electron-builder/blob/master/packages/app-builder-lib/templates/entitlements.mac.plist)
nb. This does *not* include the app sandbox: at the time of adding this file,
we were using electron-builder 21.2.0 which does not have the sandbox entitlement.
Latest electron-builder does, but it appears to be causing issues:
(https://github.com/electron-userland/electron-builder/issues/4390)
-->
<!-- https://github.com/electron/electron-notarize#prerequisites -->
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<!-- https://github.com/electron-userland/electron-builder/issues/3940 -->
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<!-- Our own additional entitlements (we need to access the camera and
mic for VoIP calls -->
<key>com.apple.security.device.camera</key>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
</dict>
</plist>

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,15 +0,0 @@
{
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "1.5.13",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"dependencies": {
"auto-launch": "^5.0.1",
"electron-store": "^2.0.0",
"electron-window-state": "^4.1.0",
"minimist": "^1.2.0",
"png-to-ico": "^1.0.2"
}
}

View File

@@ -1,34 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIF0jCCBLqgAwIBAgIRAISYBqZi3VvCUeSfHXF+cbwwDQYJKoZIhvcNAQELBQAw
gZExCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTcwNQYD
VQQDEy5DT01PRE8gUlNBIEV4dGVuZGVkIFZhbGlkYXRpb24gQ29kZSBTaWduaW5n
IENBMB4XDTE3MDgyMzAwMDAwMFoXDTIwMDgyMjIzNTk1OVowgdgxETAPBgNVBAUT
CDEwODczNjYxMRMwEQYLKwYBBAGCNzwCAQMTAkdCMR0wGwYDVQQPExRQcml2YXRl
IE9yZ2FuaXphdGlvbjELMAkGA1UEBhMCR0IxETAPBgNVBBEMCFdDMVIgNEFHMQ8w
DQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEbMBkGA1UECQwSMjYgUmVk
IExpb24gU3F1YXJlMRcwFQYDVQQKDA5OZXcgVmVjdG9yIEx0ZDEXMBUGA1UEAwwO
TmV3IFZlY3RvciBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7
X0HP3oM/SVr6PboD03ndtYTONZDcJ/GJ3EyYi6UNrcbKjuDHwPktx9hjAhNjcVkG
lmuTEPluPj9DbvjaTrers0cQsAS1vJ0RHjLfA93Flg1ys9Q6OThUMw77FtFPtiJU
z5cSYzfFAhn/4dv7BcgGptn+Mv/8CaTu+RUZJUgoSlRWcT1TREmxkzWotbblqsHO
zjDmUg20tL5/qpt6BSWsNespf5udKQFXMtqkczBcLvBLmql0vurVcQy8BibB+Q89
QKwRzwLgaIa7O8WEssFcW8uJe9s0SNtUy8ehbuoSxpA/DbHFwsiDbNA78vp7HrqM
qY6t6OIgLtDYBFCfe/btAgMBAAGjggHaMIIB1jAfBgNVHSMEGDAWgBTfj/MgDOnK
pgTYW1g3Kj2rRtyDSTAdBgNVHQ4EFgQUH+mDOdRkF3bYDxCWEaGB4lxiCxcwDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMw
EQYJYIZIAYb4QgEBBAQDAgQQMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQYBMCsw
KQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMFUGA1Ud
HwROMEwwSqBIoEaGRGh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQUV4
dGVuZGVkVmFsaWRhdGlvbkNvZGVTaWduaW5nQ0EuY3JsMIGGBggrBgEFBQcBAQR6
MHgwUAYIKwYBBQUHMAKGRGh0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JT
QUV4dGVuZGVkVmFsaWRhdGlvbkNvZGVTaWduaW5nQ0EuY3J0MCQGCCsGAQUFBzAB
hhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wJgYDVR0RBB8wHaAbBggrBgEFBQcI
A6APMA0MC0dCLTEwODczNjYxMA0GCSqGSIb3DQEBCwUAA4IBAQBJ2aH4aixh0aiz
4WKlK+LMVLHpQ2POE3FZYNpAW7o1q2YDGEADXdGrygPE9NCGNBXKo0CAemCYNWfX
Ov/jdoiMfeqW3vrZ66oEy8OqbvJSwK1xmomWuYw3wYPWcPVG+YbWYD2CGdQu8jTz
fzAJCpvAuY3Wji3fQjiecAC7JCSB4fBHa0ALJOmiSqKQUUpkXs5kW7O0lPBnHzNF
2tQGltXMSIrq1QfFtcreMyKlwDOxPIh360dv5aHhaeSRDRKxq7uq5ikQF2gjKx4k
ieg2HRbAW6fVPpFr4zRS5umpeZV3i06i11VQQPS/mA/OBEXyaqzx4mr6B7U6ptrp
jMqiUv2w
-----END CERTIFICATE-----

View File

@@ -1,6 +0,0 @@
This directory contains the config file for the official riot.im distribution
of Riot Desktop.
You probably do not want to build with this config unless you're building the
official riot.im distribution, or you'll find your builds will replace
themselves with the riot.im build.

View File

@@ -1,40 +0,0 @@
{
"update_base_url": "https://packages.riot.im/desktop/update/",
"default_server_name": "matrix.org",
"brand": "Riot",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
"https://scalar.vector.im/_matrix/integrations/v1",
"https://scalar.vector.im/api",
"https://scalar-staging.vector.im/_matrix/integrations/v1",
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"hosting_signup_link": "https://modular.im/?utm_source=riot-web&utm_medium=web",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"welcomeUserId": "@riot-bot:matrix.org",
"roomDirectory": {
"servers": [
"matrix.org"
]
},
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1,
"policyUrl": "https://matrix.org/legal/riot-im-cookie-policy"
},
"phasedRollOut": {
"feature_lazyloading": {
"offset": 1539684000000,
"period": 604800000
}
},
"features": {
"feature_lazyloading": "enable"
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,
"https://matrix-client.matrix.org": false
}
}

View File

@@ -1 +0,0 @@
export OSSLSIGNCODE_SIGNARGS='-pkcs11module /Library/Frameworks/eToken.framework/Versions/Current/libeToken.dylib -pkcs11engine /usr/local/lib/engines/engine_pkcs11.so -certs electron_app/riot.im/New_Vector_Ltd.pem -key 0a3271cbc1ec0fd8afb37f6bbe0cd65ba08d3b4d -t http://timestamp.comodoca.com -verbose'

View File

@@ -1,641 +0,0 @@
/*
Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
Copyright 2018, 2019 New Vector Ltd
Copyright 2017, 2019 Michael Telatynski <7t3chguy@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Squirrel on windows starts the app with various flags
// as hooks to tell us when we've been installed/uninstalled
// etc.
const checkSquirrelHooks = require('./squirrelhooks');
if (checkSquirrelHooks()) return;
const argv = require('minimist')(process.argv, {
alias: {help: "h"},
});
const {app, ipcMain, powerSaveBlocker, BrowserWindow, Menu, autoUpdater, protocol} = require('electron');
const AutoLaunch = require('auto-launch');
const path = require('path');
const tray = require('./tray');
const vectorMenu = require('./vectormenu');
const webContentsHandler = require('./webcontents-handler');
const updater = require('./updater');
const protocolInit = require('./protocol');
const windowStateKeeper = require('electron-window-state');
const Store = require('electron-store');
const fs = require('fs');
const afs = fs.promises;
let Seshat = null;
try {
Seshat = require('matrix-seshat');
} catch (e) {
if (e.code === "MODULE_NOT_FOUND") {
console.log("Seshat isn't installed, event indexing is disabled.");
} else {
console.warn("Seshat unexpected error:", e);
}
}
if (argv["help"]) {
console.log("Options:");
console.log(" --profile-dir {path}: Path to where to store the profile.");
console.log(" --profile {name}: Name of alternate profile to use, allows for running multiple accounts.");
console.log(" --devtools: Install and use react-devtools and react-perf.");
console.log(" --no-update: Disable automatic updating.");
console.log(" --hidden: Start the application hidden in the system tray.");
console.log(" --help: Displays this help message.");
console.log("And more such as --proxy, see:" +
"https://electronjs.org/docs/api/chrome-command-line-switches#supported-chrome-command-line-switches");
app.exit();
}
if (argv['profile-dir']) {
app.setPath('userData', argv['profile-dir']);
} else if (argv['profile']) {
app.setPath('userData', `${app.getPath('userData')}-${argv['profile']}`);
}
let vectorConfig = {};
try {
vectorConfig = require('../../webapp/config.json');
} catch (e) {
// it would be nice to check the error code here and bail if the config
// is unparseable, but we get MODULE_NOT_FOUND in the case of a missing
// file or invalid json, so node is just very unhelpful.
// Continue with the defaults (ie. an empty config)
}
try {
// Load local config and use it to override values from the one baked with the build
const localConfig = require(path.join(app.getPath('userData'), 'config.json'));
// If the local config has a homeserver defined, don't use the homeserver from the build
// config. This is to avoid a problem where Riot thinks there are multiple homeservers
// defined, and panics as a result.
const homeserverProps = ['default_is_url', 'default_hs_url', 'default_server_name', 'default_server_config'];
if (Object.keys(localConfig).find(k => homeserverProps.includes(k))) {
// Rip out all the homeserver options from the vector config
vectorConfig = Object.keys(vectorConfig)
.filter(k => !homeserverProps.includes(k))
.reduce((obj, key) => {obj[key] = vectorConfig[key]; return obj;}, {});
}
vectorConfig = Object.assign(vectorConfig, localConfig);
} catch (e) {
// Could not load local config, this is expected in most cases.
}
const eventStorePath = path.join(app.getPath('userData'), 'EventStore');
const store = new Store({ name: "electron-config" });
let eventIndex = null;
let mainWindow = null;
global.appQuitting = false;
// It's important to call `path.join` so we don't end up with the packaged asar in the final path.
const iconFile = `riot.${process.platform === 'win32' ? 'ico' : 'png'}`;
const iconPath = path.join(__dirname, "..", "..", "img", iconFile);
const trayConfig = {
icon_path: iconPath,
brand: vectorConfig.brand || 'Riot',
};
// handle uncaught errors otherwise it displays
// stack traces in popup dialogs, which is terrible (which
// it will do any time the auto update poke fails, and there's
// no other way to catch this error).
// Assuming we generally run from the console when developing,
// this is far preferable.
process.on('uncaughtException', function(error) {
console.log('Unhandled exception', error);
});
let focusHandlerAttached = false;
ipcMain.on('setBadgeCount', function(ev, count) {
app.setBadgeCount(count);
if (count === 0 && mainWindow) {
mainWindow.flashFrame(false);
}
});
ipcMain.on('loudNotification', function() {
if (process.platform === 'win32' && mainWindow && !mainWindow.isFocused() && !focusHandlerAttached) {
mainWindow.flashFrame(true);
mainWindow.once('focus', () => {
mainWindow.flashFrame(false);
focusHandlerAttached = false;
});
focusHandlerAttached = true;
}
});
let powerSaveBlockerId = null;
ipcMain.on('app_onAction', function(ev, payload) {
switch (payload.action) {
case 'call_state':
if (powerSaveBlockerId !== null && powerSaveBlocker.isStarted(powerSaveBlockerId)) {
if (payload.state === 'ended') {
powerSaveBlocker.stop(powerSaveBlockerId);
powerSaveBlockerId = null;
}
} else {
if (powerSaveBlockerId === null && payload.state === 'connected') {
powerSaveBlockerId = powerSaveBlocker.start('prevent-display-sleep');
}
}
break;
}
});
autoUpdater.on('update-downloaded', (ev, releaseNotes, releaseName, releaseDate, updateURL) => {
if (!mainWindow) return;
// forward to renderer
mainWindow.webContents.send('update-downloaded', {
releaseNotes,
releaseName,
releaseDate,
updateURL,
});
});
ipcMain.on('ipcCall', async function(ev, payload) {
if (!mainWindow) return;
const args = payload.args || [];
let ret;
switch (payload.name) {
case 'getUpdateFeedUrl':
ret = autoUpdater.getFeedURL();
break;
case 'getAutoLaunchEnabled':
ret = await launcher.isEnabled();
break;
case 'setAutoLaunchEnabled':
if (args[0]) {
launcher.enable();
} else {
launcher.disable();
}
break;
case 'getMinimizeToTrayEnabled':
ret = tray.hasTray();
break;
case 'setMinimizeToTrayEnabled':
if (args[0]) {
// Create trayIcon icon
tray.create(trayConfig);
} else {
tray.destroy();
}
store.set('minimizeToTray', args[0]);
break;
case 'getAutoHideMenuBarEnabled':
ret = global.mainWindow.isMenuBarAutoHide();
break;
case 'setAutoHideMenuBarEnabled':
store.set('autoHideMenuBar', args[0]);
global.mainWindow.setAutoHideMenuBar(args[0]);
global.mainWindow.setMenuBarVisibility(!args[0]);
break;
case 'getAppVersion':
ret = app.getVersion();
break;
case 'focusWindow':
if (mainWindow.isMinimized()) {
mainWindow.restore();
} else if (!mainWindow.isVisible()) {
mainWindow.show();
} else {
mainWindow.focus();
}
break;
case 'getConfig':
ret = vectorConfig;
break;
default:
mainWindow.webContents.send('ipcReply', {
id: payload.id,
error: "Unknown IPC Call: " + payload.name,
});
return;
}
mainWindow.webContents.send('ipcReply', {
id: payload.id,
reply: ret,
});
});
ipcMain.on('seshat', async function(ev, payload) {
if (!mainWindow) return;
const sendError = (id, e) => {
const error = {
message: e.message
}
mainWindow.webContents.send('seshatReply', {
id:id,
error: error
});
}
const args = payload.args || [];
let ret;
switch (payload.name) {
case 'supportsEventIndexing':
if (Seshat === null) ret = false;
else ret = true;
break;
case 'initEventIndex':
if (eventIndex === null) {
try {
await afs.mkdir(eventStorePath, {recursive: true});
eventIndex = new Seshat(eventStorePath, {passphrase: "DEFAULT_PASSPHRASE"});
} catch (e) {
sendError(payload.id, e);
return;
}
}
break;
case 'closeEventIndex':
eventIndex = null;
break;
case 'deleteEventIndex':
const deleteFolderRecursive = async(p) => {
for (let entry of await afs.readdir(p)) {
const curPath = path.join(p, entry);
await afs.unlink(curPath);
}
}
try {
await deleteFolderRecursive(eventStorePath);
} catch (e) {
}
break;
case 'isEventIndexEmpty':
if (eventIndex === null) ret = true;
else ret = await eventIndex.isEmpty();
break;
case 'addEventToIndex':
try {
eventIndex.addEvent(args[0], args[1]);
} catch (e) {
sendError(payload.id, e);
return;
}
break;
case 'commitLiveEvents':
try {
ret = await eventIndex.commit();
} catch (e) {
sendError(payload.id, e);
return;
}
break;
case 'searchEventIndex':
try {
ret = await eventIndex.search(args[0]);
} catch (e) {
sendError(payload.id, e);
return;
}
break;
case 'addHistoricEvents':
if (eventIndex === null) ret = false;
else {
try {
ret = await eventIndex.addHistoricEvents(
args[0], args[1], args[2]);
} catch (e) {
sendError(payload.id, e);
return;
}
}
break;
case 'getStats':
if (eventIndex === null) ret = 0;
else {
try {
ret = await eventIndex.getStats();
} catch (e) {
sendError(payload.id, e);
return;
}
}
break;
case 'removeCrawlerCheckpoint':
if (eventIndex === null) ret = false;
else {
try {
ret = await eventIndex.removeCrawlerCheckpoint(args[0]);
} catch (e) {
sendError(payload.id, e);
return;
}
}
break;
case 'addCrawlerCheckpoint':
if (eventIndex === null) ret = false;
else {
try {
ret = await eventIndex.addCrawlerCheckpoint(args[0]);
} catch (e) {
sendError(payload.id, e);
return;
}
}
break;
case 'loadFileEvents':
if (eventIndex === null) ret = [];
else {
try {
ret = await eventIndex.loadFileEvents(args[0]);
} catch (e) {
sendError(payload.id, e);
return;
}
}
break;
case 'loadCheckpoints':
if (eventIndex === null) ret = [];
else {
try {
ret = await eventIndex.loadCheckpoints();
} catch (e) {
ret = [];
}
}
break;
default:
mainWindow.webContents.send('seshatReply', {
id: payload.id,
error: "Unknown IPC Call: " + payload.name,
});
return;
}
mainWindow.webContents.send('seshatReply', {
id: payload.id,
reply: ret,
});
});
app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
const gotLock = app.requestSingleInstanceLock();
if (!gotLock) {
console.log('Other instance detected: exiting');
app.exit();
}
// do this after we know we are the primary instance of the app
protocolInit();
const launcher = new AutoLaunch({
name: vectorConfig.brand || 'Riot',
isHidden: true,
mac: {
useLaunchAgent: true,
},
});
// Register the scheme the app is served from as 'standard'
// which allows things like relative URLs and IndexedDB to
// work.
// Also mark it as secure (ie. accessing resources from this
// protocol and HTTPS won't trigger mixed content warnings).
protocol.registerSchemesAsPrivileged([{
scheme: 'vector',
privileges: {
standard: true,
secure: true,
supportFetchAPI: true,
},
}]);
app.on('ready', () => {
if (argv['devtools']) {
try {
const { default: installExt, REACT_DEVELOPER_TOOLS, REACT_PERF } = require('electron-devtools-installer');
installExt(REACT_DEVELOPER_TOOLS)
.then((name) => console.log(`Added Extension: ${name}`))
.catch((err) => console.log('An error occurred: ', err));
installExt(REACT_PERF)
.then((name) => console.log(`Added Extension: ${name}`))
.catch((err) => console.log('An error occurred: ', err));
} catch (e) {
console.log(e);
}
}
protocol.registerFileProtocol('vector', (request, callback) => {
if (request.method !== 'GET') {
callback({error: -322}); // METHOD_NOT_SUPPORTED from chromium/src/net/base/net_error_list.h
return null;
}
const parsedUrl = new URL(request.url);
if (parsedUrl.protocol !== 'vector:') {
callback({error: -302}); // UNKNOWN_URL_SCHEME
return;
}
if (parsedUrl.host !== 'vector') {
callback({error: -105}); // NAME_NOT_RESOLVED
return;
}
const target = parsedUrl.pathname.split('/');
// path starts with a '/'
if (target[0] !== '') {
callback({error: -6}); // FILE_NOT_FOUND
return;
}
if (target[target.length - 1] == '') {
target[target.length - 1] = 'index.html';
}
let baseDir;
// first part of the path determines where we serve from
if (target[1] === 'webapp') {
baseDir = __dirname + "/../../webapp";
} else {
callback({error: -6}); // FILE_NOT_FOUND
return;
}
// Normalise the base dir and the target path separately, then make sure
// the target path isn't trying to back out beyond its root
baseDir = path.normalize(baseDir);
const relTarget = path.normalize(path.join(...target.slice(2)));
if (relTarget.startsWith('..')) {
callback({error: -6}); // FILE_NOT_FOUND
return;
}
const absTarget = path.join(baseDir, relTarget);
callback({
path: absTarget,
});
}, (error) => {
if (error) console.error('Failed to register protocol');
});
if (argv['no-update']) {
console.log('Auto update disabled via command line flag "--no-update"');
} else if (vectorConfig['update_base_url']) {
console.log(`Starting auto update with base URL: ${vectorConfig['update_base_url']}`);
updater.start(vectorConfig['update_base_url']);
} else {
console.log('No update_base_url is defined: auto update is disabled');
}
// Load the previous window state with fallback to defaults
const mainWindowState = windowStateKeeper({
defaultWidth: 1024,
defaultHeight: 768,
});
const preloadScript = path.normalize(`${__dirname}/preload.js`);
mainWindow = global.mainWindow = new BrowserWindow({
icon: iconPath,
show: false,
autoHideMenuBar: store.get('autoHideMenuBar', true),
x: mainWindowState.x,
y: mainWindowState.y,
width: mainWindowState.width,
height: mainWindowState.height,
webPreferences: {
preload: preloadScript,
nodeIntegration: false,
sandbox: true,
enableRemoteModule: false,
// We don't use this: it's useful for the preload script to
// share a context with the main page so we can give select
// objects to the main page. The sandbox option isolates the
// main page from the background script.
contextIsolation: false,
webgl: false,
},
});
mainWindow.loadURL('vector://vector/webapp/');
Menu.setApplicationMenu(vectorMenu);
// Create trayIcon icon
if (store.get('minimizeToTray', true)) tray.create(trayConfig);
mainWindow.once('ready-to-show', () => {
mainWindowState.manage(mainWindow);
if (!argv['hidden']) {
mainWindow.show();
} else {
// hide here explicitly because window manage above sometimes shows it
mainWindow.hide();
}
});
mainWindow.on('closed', () => {
mainWindow = global.mainWindow = null;
});
mainWindow.on('close', (e) => {
// If we are not quitting and have a tray icon then minimize to tray
if (!global.appQuitting && (tray.hasTray() || process.platform === 'darwin')) {
// On Mac, closing the window just hides it
// (this is generally how single-window Mac apps
// behave, eg. Mail.app)
e.preventDefault();
mainWindow.hide();
return false;
}
});
if (process.platform === 'win32') {
// Handle forward/backward mouse buttons in Windows
mainWindow.on('app-command', (e, cmd) => {
if (cmd === 'browser-backward' && mainWindow.webContents.canGoBack()) {
mainWindow.webContents.goBack();
} else if (cmd === 'browser-forward' && mainWindow.webContents.canGoForward()) {
mainWindow.webContents.goForward();
}
});
}
webContentsHandler(mainWindow.webContents);
});
app.on('window-all-closed', () => {
app.quit();
});
app.on('activate', () => {
mainWindow.show();
});
app.on('before-quit', () => {
global.appQuitting = true;
if (mainWindow) {
mainWindow.webContents.send('before-quit');
}
});
app.on('second-instance', (ev, commandLine, workingDirectory) => {
// If other instance launched with --hidden then skip showing window
if (commandLine.includes('--hidden')) return;
// Someone tried to run a second instance, we should focus our window.
if (mainWindow) {
if (!mainWindow.isVisible()) mainWindow.show();
if (mainWindow.isMinimized()) mainWindow.restore();
mainWindow.focus();
}
});
// Set the App User Model ID to match what the squirrel
// installer uses for the shortcut icon.
// This makes notifications work on windows 8.1 (and is
// a noop on other platforms).
app.setAppUserModelId('com.squirrel.riot-web.Riot');

View File

@@ -1,53 +0,0 @@
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
const {app} = require('electron');
const processUrl = (url) => {
if (!global.mainWindow) return;
console.log("Handling link: ", url);
global.mainWindow.loadURL(url.replace("riot://", "vector://"));
};
module.exports = () => {
// get all args except `hidden` as it'd mean the app would not get focused
// XXX: passing args to protocol handlers only works on Windows,
// so unpackaged deep-linking and --profile passing won't work on Mac/Linux
const args = process.argv.slice(1).filter(arg => arg !== "--hidden" && arg !== "-hidden");
if (app.isPackaged) {
app.setAsDefaultProtocolClient('riot', process.execPath, args);
} else if (process.platform === 'win32') { // on Mac/Linux this would just cause the electron binary to open
// special handler for running without being packaged, e.g `electron .` by passing our app path to electron
app.setAsDefaultProtocolClient('riot', process.execPath, [app.getAppPath(), ...args]);
}
if (process.platform === 'darwin') {
// Protocol handler for macos
app.on('open-url', function(ev, url) {
ev.preventDefault();
processUrl(url);
});
} else {
// Protocol handler for win32/Linux
app.on('second-instance', (ev, commandLine) => {
const url = commandLine[commandLine.length - 1];
if (!url.startsWith("riot://")) return;
processUrl(url);
});
}
};

View File

@@ -1,51 +0,0 @@
/*
Copyright 2017 OpenMarket Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
const path = require('path');
const spawn = require('child_process').spawn;
const {app} = require('electron');
function runUpdateExe(args, done) {
// Invokes Squirrel's Update.exe which will do things for us like create shortcuts
// Note that there's an Update.exe in the app-x.x.x directory and one in the parent
// directory: we need to run the one in the parent directory, because it discovers
// information about the app by inspecting the directory it's run from.
const updateExe = path.resolve(path.dirname(process.execPath), '..', 'Update.exe');
console.log(`Spawning '${updateExe}' with args '${args}'`);
spawn(updateExe, args, {
detached: true,
}).on('close', done);
}
function checkSquirrelHooks() {
if (process.platform !== 'win32') return false;
const cmd = process.argv[1];
const target = path.basename(process.execPath);
if (cmd === '--squirrel-install' || cmd === '--squirrel-updated') {
runUpdateExe(['--createShortcut=' + target + ''], app.quit);
return true;
} else if (cmd === '--squirrel-uninstall') {
runUpdateExe(['--removeShortcut=' + target + ''], app.quit);
return true;
} else if (cmd === '--squirrel-obsolete') {
app.quit();
return true;
}
return false;
}
module.exports = checkSquirrelHooks;

View File

@@ -1,106 +0,0 @@
/*
Copyright 2017 Karl Glatz <karl@glatz.biz>
Copyright 2017 OpenMarket Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
const {app, Tray, Menu, nativeImage} = require('electron');
const pngToIco = require('png-to-ico');
const path = require('path');
const fs = require('fs');
let trayIcon = null;
exports.hasTray = function hasTray() {
return (trayIcon !== null);
};
exports.destroy = function() {
if (trayIcon) {
trayIcon.destroy();
trayIcon = null;
}
};
exports.create = function(config) {
// no trays on darwin
if (process.platform === 'darwin' || trayIcon) return;
const toggleWin = function() {
if (global.mainWindow.isVisible() && !global.mainWindow.isMinimized()) {
global.mainWindow.hide();
} else {
if (global.mainWindow.isMinimized()) global.mainWindow.restore();
if (!global.mainWindow.isVisible()) global.mainWindow.show();
global.mainWindow.focus();
}
};
const contextMenu = Menu.buildFromTemplate([
{
label: `Show/Hide ${config.brand}`,
click: toggleWin,
},
{ type: 'separator' },
{
label: 'Quit',
click: function() {
app.quit();
},
},
]);
const defaultIcon = nativeImage.createFromPath(config.icon_path);
trayIcon = new Tray(defaultIcon);
trayIcon.setToolTip(config.brand);
trayIcon.setContextMenu(contextMenu);
trayIcon.on('click', toggleWin);
let lastFavicon = null;
global.mainWindow.webContents.on('page-favicon-updated', async function(ev, favicons) {
if (!favicons || favicons.length <= 0 || !favicons[0].startsWith('data:')) {
if (lastFavicon !== null) {
global.mainWindow.setIcon(defaultIcon);
trayIcon.setImage(defaultIcon);
lastFavicon = null;
}
return;
}
// No need to change, shortcut
if (favicons[0] === lastFavicon) return;
lastFavicon = favicons[0];
let newFavicon = nativeImage.createFromDataURL(favicons[0]);
// Windows likes ico's too much.
if (process.platform === 'win32') {
try {
const icoPath = path.join(app.getPath('temp'), 'win32_riot_icon.ico');
fs.writeFileSync(icoPath, await pngToIco(newFavicon.toPNG()));
newFavicon = nativeImage.createFromPath(icoPath);
} catch (e) {
console.error("Failed to make win32 ico", e);
}
}
trayIcon.setImage(newFavicon);
global.mainWindow.setIcon(newFavicon);
});
global.mainWindow.webContents.on('page-title-updated', function(ev, title) {
trayIcon.setToolTip(title);
});
};

View File

@@ -1,84 +0,0 @@
const { app, autoUpdater, ipcMain } = require('electron');
const UPDATE_POLL_INTERVAL_MS = 60 * 60 * 1000;
const INITIAL_UPDATE_DELAY_MS = 30 * 1000;
function installUpdate() {
// for some reason, quitAndInstall does not fire the
// before-quit event, so we need to set the flag here.
global.appQuitting = true;
autoUpdater.quitAndInstall();
}
function pollForUpdates() {
try {
autoUpdater.checkForUpdates();
} catch (e) {
console.log('Couldn\'t check for update', e);
}
}
module.exports = {};
module.exports.start = function startAutoUpdate(updateBaseUrl) {
if (updateBaseUrl.slice(-1) !== '/') {
updateBaseUrl = updateBaseUrl + '/';
}
try {
let url;
// For reasons best known to Squirrel, the way it checks for updates
// is completely different between macOS and windows. On macOS, it
// hits a URL that either gives it a 200 with some json or
// 204 No Content. On windows it takes a base path and looks for
// files under that path.
if (process.platform === 'darwin') {
// include the current version in the URL we hit. Electron doesn't add
// it anywhere (apart from the User-Agent) so it's up to us. We could
// (and previously did) just use the User-Agent, but this doesn't
// rely on NSURLConnection setting the User-Agent to what we expect,
// and also acts as a convenient cache-buster to ensure that when the
// app updates it always gets a fresh value to avoid update-looping.
url = `${updateBaseUrl}macos/?localVersion=${encodeURIComponent(app.getVersion())}`;
} else if (process.platform === 'win32') {
url = `${updateBaseUrl}win32/${process.arch}/`;
} else {
// Squirrel / electron only supports auto-update on these two platforms.
// I'm not even going to try to guess which feed style they'd use if they
// implemented it on Linux, or if it would be different again.
console.log('Auto update not supported on this platform');
}
if (url) {
autoUpdater.setFeedURL(url);
// We check for updates ourselves rather than using 'updater' because we need to
// do it in the main process (and we don't really need to check every 10 minutes:
// every hour should be just fine for a desktop app)
// However, we still let the main window listen for the update events.
// We also wait a short time before checking for updates the first time because
// of squirrel on windows and it taking a small amount of time to release a
// lock file.
setTimeout(pollForUpdates, INITIAL_UPDATE_DELAY_MS);
setInterval(pollForUpdates, UPDATE_POLL_INTERVAL_MS);
}
} catch (err) {
// will fail if running in debug mode
console.log('Couldn\'t enable update checking', err);
}
}
ipcMain.on('install_update', installUpdate);
ipcMain.on('check_updates', pollForUpdates);
function ipcChannelSendUpdateStatus(status) {
if (global.mainWindow) {
global.mainWindow.webContents.send('check_updates', status);
}
}
autoUpdater.on('update-available', function() {
ipcChannelSendUpdateStatus(true);
}).on('update-not-available', function() {
ipcChannelSendUpdateStatus(false);
}).on('error', function(error) {
ipcChannelSendUpdateStatus(error.message);
});

View File

@@ -1,139 +0,0 @@
/*
Copyright 2016 OpenMarket Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
const {app, shell, Menu} = require('electron');
// Menu template from http://electron.atom.io/docs/api/menu/, edited
const template = [
{
label: '&Edit',
submenu: [
{ role: 'undo' },
{ role: 'redo' },
{ type: 'separator' },
{ role: 'cut' },
{ role: 'copy' },
{ role: 'paste' },
{ role: 'pasteandmatchstyle' },
{ role: 'delete' },
{ role: 'selectall' },
],
},
{
label: '&View',
submenu: [
{ type: 'separator' },
{ role: 'resetzoom' },
{ role: 'zoomin', accelerator: 'CommandOrControl+=' },
{ role: 'zoomout' },
{ type: 'separator' },
{ role: 'togglefullscreen' },
{ role: 'toggledevtools' },
],
},
{
label: '&Window',
role: 'window',
submenu: [
{ role: 'minimize' },
{ role: 'close' },
],
},
{
label: '&Help',
role: 'help',
submenu: [
{
label: 'Riot Help',
click() { shell.openExternal('https://about.riot.im/help'); },
},
],
},
];
// macOS has specific menu conventions...
if (process.platform === 'darwin') {
// first macOS menu is the name of the app
const name = app.getName();
template.unshift({
label: name,
submenu: [
{ role: 'about' },
{ type: 'separator' },
{
role: 'services',
submenu: [],
},
{ type: 'separator' },
{ role: 'hide' },
{ role: 'hideothers' },
{ role: 'unhide' },
{ type: 'separator' },
{ role: 'quit' },
],
});
// Edit menu.
// This has a 'speech' section on macOS
template[1].submenu.push(
{ type: 'separator' },
{
label: 'Speech',
submenu: [
{ role: 'startspeaking' },
{ role: 'stopspeaking' },
],
});
// Window menu.
// This also has specific functionality on macOS
template[3].submenu = [
{
label: 'Close',
accelerator: 'CmdOrCtrl+W',
role: 'close',
},
{
label: 'Minimize',
accelerator: 'CmdOrCtrl+M',
role: 'minimize',
},
{
label: 'Zoom',
role: 'zoom',
},
{
type: 'separator',
},
{
label: 'Bring All to Front',
role: 'front',
},
];
} else {
template.unshift({
label: '&File',
submenu: [
// For some reason, 'about' does not seem to work on windows.
/*{
role: 'about'
},*/
{ role: 'quit' },
],
});
}
module.exports = Menu.buildFromTemplate(template);

View File

@@ -1,191 +0,0 @@
const {clipboard, nativeImage, Menu, MenuItem, shell, dialog} = require('electron');
const url = require('url');
const fs = require('fs');
const request = require('request');
const MAILTO_PREFIX = "mailto:";
const PERMITTED_URL_SCHEMES = [
'http:',
'https:',
MAILTO_PREFIX,
];
function safeOpenURL(target) {
// openExternal passes the target to open/start/xdg-open,
// so put fairly stringent limits on what can be opened
// (for instance, open /bin/sh does indeed open a terminal
// with a shell, albeit with no arguments)
const parsedUrl = url.parse(target);
if (PERMITTED_URL_SCHEMES.indexOf(parsedUrl.protocol) > -1) {
// explicitly use the URL re-assembled by the url library,
// so we know the url parser has understood all the parts
// of the input string
const newTarget = url.format(parsedUrl);
shell.openExternal(newTarget);
}
}
function onWindowOrNavigate(ev, target) {
// always prevent the default: if something goes wrong,
// we don't want to end up opening it in the electron
// app, as we could end up opening any sort of random
// url in a window that has node scripting access.
ev.preventDefault();
safeOpenURL(target);
}
function onLinkContextMenu(ev, params) {
let url = params.linkURL || params.srcURL;
if (url.startsWith('vector://vector/webapp')) {
url = "https://riot.im/app/" + url.substring(23);
}
const popupMenu = new Menu();
// No point trying to open blob: URLs in an external browser: it ain't gonna work.
if (!url.startsWith('blob:')) {
popupMenu.append(new MenuItem({
label: url,
click() {
safeOpenURL(url);
},
}));
}
let addSaveAs = false;
if (params.mediaType && params.mediaType === 'image' && !url.startsWith('file://')) {
popupMenu.append(new MenuItem({
label: '&Copy image',
click() {
if (url.startsWith('data:')) {
clipboard.writeImage(nativeImage.createFromDataURL(url));
} else {
ev.sender.copyImageAt(params.x, params.y);
}
},
}));
// We want the link to be ordered below the copy stuff, but don't want to duplicate
// the `if` statement, so use a flag.
addSaveAs = true;
}
// No point offering to copy a blob: URL either
if (!url.startsWith('blob:')) {
// Special-case e-mail URLs to strip the `mailto:` like modern browsers do
if (url.startsWith(MAILTO_PREFIX)) {
popupMenu.append(new MenuItem({
label: 'Copy email &address',
click() {
clipboard.writeText(url.substr(MAILTO_PREFIX.length));
},
}));
} else {
popupMenu.append(new MenuItem({
label: 'Copy link &address',
click() {
clipboard.writeText(url);
},
}));
}
}
if (addSaveAs) {
popupMenu.append(new MenuItem({
label: 'Sa&ve image as...',
click() {
const targetFileName = params.titleText || "image.png";
const filePath = dialog.showSaveDialog({
defaultPath: targetFileName,
});
if (!filePath) return; // user cancelled dialog
try {
if (url.startsWith("data:")) {
fs.writeFileSync(filePath, nativeImage.createFromDataURL(url));
} else {
request.get(url).pipe(fs.createWriteStream(filePath));
}
} catch (err) {
console.error(err);
dialog.showMessageBox({
type: "error",
title: "Failed to save image",
message: "The image failed to save",
});
}
},
}));
}
// popup() requires an options object even for no options
popupMenu.popup({});
ev.preventDefault();
}
function _CutCopyPasteSelectContextMenus(params) {
return [{
role: 'cut',
label: 'Cu&t',
enabled: params.editFlags.canCut,
}, {
role: 'copy',
label: '&Copy',
enabled: params.editFlags.canCopy,
}, {
role: 'paste',
label: '&Paste',
enabled: params.editFlags.canPaste,
}, {
role: 'pasteandmatchstyle',
enabled: params.editFlags.canPaste,
}, {
role: 'selectall',
label: "Select &All",
enabled: params.editFlags.canSelectAll,
}];
}
function onSelectedContextMenu(ev, params) {
const items = _CutCopyPasteSelectContextMenus(params);
const popupMenu = Menu.buildFromTemplate(items);
// popup() requires an options object even for no options
popupMenu.popup({});
ev.preventDefault();
}
function onEditableContextMenu(ev, params) {
const items = [
{ role: 'undo' },
{ role: 'redo', enabled: params.editFlags.canRedo },
{ type: 'separator' },
].concat(_CutCopyPasteSelectContextMenus(params));
const popupMenu = Menu.buildFromTemplate(items);
// popup() requires an options object even for no options
popupMenu.popup({});
ev.preventDefault();
}
module.exports = (webContents) => {
webContents.on('new-window', onWindowOrNavigate);
webContents.on('will-navigate', (ev, target) => {
if (target.startsWith("vector://")) return;
return onWindowOrNavigate(ev, target);
});
webContents.on('context-menu', function(ev, params) {
if (params.linkURL || params.srcURL) {
onLinkContextMenu(ev, params);
} else if (params.selectionText) {
onSelectedContextMenu(ev, params);
} else if (params.isEditable) {
onEditableContextMenu(ev, params);
}
});
};

View File

@@ -1,837 +0,0 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@types/node@^9.4.0":
version "9.6.45"
resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.45.tgz#a9e5cfd026a3abaaf17e3c0318a470da9f2f178e"
integrity sha512-9scD7xI1kpIoMs3gVFMOWsWDyRIQ1AOZwe56i1CQPE6N/P4POYkn9UtW5F66t8C2AIoPtVfOFycQ2r11t3pcyg==
ajv@^6.5.5:
version "6.10.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==
dependencies:
fast-deep-equal "^2.0.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
applescript@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/applescript/-/applescript-1.0.0.tgz#bb87af568cad034a4e48c4bdaf6067a3a2701317"
integrity sha1-u4evVoytA0pOSMS9r2Bno6JwExc=
asn1@~0.2.3:
version "0.2.4"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
dependencies:
safer-buffer "~2.1.0"
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
auto-launch@^5.0.1:
version "5.0.5"
resolved "https://registry.yarnpkg.com/auto-launch/-/auto-launch-5.0.5.tgz#d14bd002b1ef642f85e991a6195ff5300c8ad3c0"
integrity sha512-ppdF4mihhYzMYLuCcx9H/c5TUOCev8uM7en53zWVQhyYAJrurd2bFZx3qQVeJKF2jrc7rsPRNN5cD+i23l6PdA==
dependencies:
applescript "^1.0.0"
mkdirp "^0.5.1"
path-is-absolute "^1.0.0"
untildify "^3.0.2"
winreg "1.2.4"
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
aws4@^1.8.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
bcrypt-pbkdf@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
dependencies:
tweetnacl "^0.14.3"
bignumber.js@^2.1.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-2.4.0.tgz#838a992da9f9d737e0f4b2db0be62bb09dd0c5e8"
integrity sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=
bmp-js@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.0.3.tgz#64113e9c7cf1202b376ed607bf30626ebe57b18a"
integrity sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=
buffer-equal@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b"
integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==
dependencies:
delayed-stream "~1.0.0"
conf@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/conf/-/conf-2.2.0.tgz#ee282efafc1450b61e205372041ad7d866802d9a"
integrity sha512-93Kz74FOMo6aWRVpAZsonOdl2I57jKtHrNmxhumehFQw4X8Sk37SohNY11PG7Q8Okta+UnrVaI006WLeyp8/XA==
dependencies:
dot-prop "^4.1.0"
env-paths "^1.0.0"
make-dir "^1.0.0"
pkg-up "^2.0.0"
write-file-atomic "^2.3.0"
core-util-is@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
dependencies:
assert-plus "^1.0.0"
deep-equal@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=
define-properties@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
dependencies:
object-keys "^1.0.12"
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
dom-walk@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=
dot-prop@^4.1.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==
dependencies:
is-obj "^1.0.0"
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
dependencies:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
electron-store@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-2.0.0.tgz#1035cca2a95409d1f54c7466606345852450d64a"
integrity sha512-1WCFYHsYvZBqDsoaS0Relnz0rd81ZkBAI0Fgx7Nq2UWU77rSNs1qxm4S6uH7TCZ0bV3LQpJFk7id/is/ZgoOPA==
dependencies:
conf "^2.0.0"
electron-window-state@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/electron-window-state/-/electron-window-state-4.1.1.tgz#6b34fdc31b38514dfec8b7c8f7b5d4addb67632d"
integrity sha1-azT9wxs4UU3+yLfI97XUrdtnYy0=
dependencies:
deep-equal "^1.0.1"
jsonfile "^2.2.3"
mkdirp "^0.5.1"
env-paths@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0"
integrity sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=
es-abstract@^1.5.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
dependencies:
es-to-primitive "^1.2.0"
function-bind "^1.1.1"
has "^1.0.3"
is-callable "^1.1.4"
is-regex "^1.0.4"
object-keys "^1.0.12"
es-to-primitive@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==
dependencies:
is-callable "^1.1.4"
is-date-object "^1.0.1"
is-symbol "^1.0.2"
es6-promise@^3.0.2:
version "3.3.1"
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
integrity sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=
exif-parser@^0.1.9:
version "0.1.12"
resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922"
integrity sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=
extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
fast-deep-equal@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
file-type@^3.1.0:
version "3.9.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek=
find-up@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
dependencies:
locate-path "^2.0.0"
for-each@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
dependencies:
is-callable "^1.1.3"
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.6"
mime-types "^2.1.12"
function-bind@^1.0.2, function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
getpass@^0.1.1:
version "0.1.7"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
dependencies:
assert-plus "^1.0.0"
global@~4.3.0:
version "4.3.2"
resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f"
integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=
dependencies:
min-document "^2.19.0"
process "~0.5.1"
graceful-fs@^4.1.11, graceful-fs@^4.1.6:
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
har-validator@~5.1.0:
version "5.1.3"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
dependencies:
ajv "^6.5.5"
har-schema "^2.0.0"
has-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=
has@^1.0.1, has@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
dependencies:
function-bind "^1.1.1"
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
dependencies:
assert-plus "^1.0.0"
jsprim "^1.2.2"
sshpk "^1.7.0"
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
ip-regex@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd"
integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=
is-callable@^1.1.3, is-callable@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
is-date-object@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
is-function@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=
is-obj@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
is-regex@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
dependencies:
has "^1.0.1"
is-symbol@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==
dependencies:
has-symbols "^1.0.0"
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
jimp@^0.2.28:
version "0.2.28"
resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.2.28.tgz#dd529a937190f42957a7937d1acc3a7762996ea2"
integrity sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=
dependencies:
bignumber.js "^2.1.0"
bmp-js "0.0.3"
es6-promise "^3.0.2"
exif-parser "^0.1.9"
file-type "^3.1.0"
jpeg-js "^0.2.0"
load-bmfont "^1.2.3"
mime "^1.3.4"
mkdirp "0.5.1"
pixelmatch "^4.0.0"
pngjs "^3.0.0"
read-chunk "^1.0.1"
request "^2.65.0"
stream-to-buffer "^0.1.0"
tinycolor2 "^1.1.2"
url-regex "^3.0.0"
jpeg-js@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.2.0.tgz#53e448ec9d263e683266467e9442d2c5a2ef5482"
integrity sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
jsonfile@^2.2.3:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug=
optionalDependencies:
graceful-fs "^4.1.6"
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
dependencies:
assert-plus "1.0.0"
extsprintf "1.3.0"
json-schema "0.2.3"
verror "1.10.0"
load-bmfont@^1.2.3:
version "1.4.0"
resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.0.tgz#75f17070b14a8c785fe7f5bee2e6fd4f98093b6b"
integrity sha512-kT63aTAlNhZARowaNYcY29Fn/QYkc52M3l6V1ifRcPewg2lvUZDAj7R6dXjOL9D0sict76op3T5+odumDSF81g==
dependencies:
buffer-equal "0.0.1"
mime "^1.3.4"
parse-bmfont-ascii "^1.0.3"
parse-bmfont-binary "^1.0.5"
parse-bmfont-xml "^1.1.4"
phin "^2.9.1"
xhr "^2.0.1"
xtend "^4.0.0"
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
dependencies:
p-locate "^2.0.0"
path-exists "^3.0.0"
make-dir@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
dependencies:
pify "^3.0.0"
mime-db@~1.38.0:
version "1.38.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad"
integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==
mime-types@^2.1.12, mime-types@~2.1.19:
version "2.1.22"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd"
integrity sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==
dependencies:
mime-db "~1.38.0"
mime@^1.3.4:
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
min-document@^2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=
dependencies:
dom-walk "^0.1.0"
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
mkdirp@0.5.1, mkdirp@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
object-keys@^1.0.12:
version "1.1.0"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.0.tgz#11bd22348dd2e096a045ab06f6c85bcc340fa032"
integrity sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==
p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
dependencies:
p-try "^1.0.0"
p-locate@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
dependencies:
p-limit "^1.1.0"
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
parse-bmfont-ascii@^1.0.3:
version "1.0.6"
resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285"
integrity sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=
parse-bmfont-binary@^1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006"
integrity sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=
parse-bmfont-xml@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz#015319797e3e12f9e739c4d513872cd2fa35f389"
integrity sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==
dependencies:
xml-parse-from-string "^1.0.0"
xml2js "^0.4.5"
parse-headers@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34"
integrity sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==
dependencies:
for-each "^0.3.3"
string.prototype.trim "^1.1.2"
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
phin@^2.9.1:
version "2.9.3"
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
pixelmatch@^4.0.0:
version "4.0.2"
resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854"
integrity sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=
dependencies:
pngjs "^3.0.0"
pkg-up@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
dependencies:
find-up "^2.1.0"
png-to-ico@^1.0.2:
version "1.0.7"
resolved "https://registry.yarnpkg.com/png-to-ico/-/png-to-ico-1.0.7.tgz#9346b5f4d6fd7e94cb08fd49eeb585f501c3e5f2"
integrity sha512-heHiZjPFhVgLiuSG4C4wwKN9YPGLpPJvOfXRyI+cEJf0vPutjJ4XDaeI2f/hzTFs+2juihDw3pP8R5JtTuQTGg==
dependencies:
"@types/node" "^9.4.0"
jimp "^0.2.28"
minimist "^1.2.0"
pngjs@^3.0.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
process@~0.5.1:
version "0.5.2"
resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=
psl@^1.1.24:
version "1.1.31"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184"
integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==
punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
punycode@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
read-chunk@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-1.0.1.tgz#5f68cab307e663f19993527d9b589cace4661194"
integrity sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=
request@^2.65.0:
version "2.88.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.8.0"
caseless "~0.12.0"
combined-stream "~1.0.6"
extend "~3.0.2"
forever-agent "~0.6.1"
form-data "~2.3.2"
har-validator "~5.1.0"
http-signature "~1.2.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.19"
oauth-sign "~0.9.0"
performance-now "^2.1.0"
qs "~6.5.2"
safe-buffer "^5.1.2"
tough-cookie "~2.4.3"
tunnel-agent "^0.6.0"
uuid "^3.3.2"
safe-buffer@^5.0.1, safe-buffer@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sax@>=0.6.0:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
signal-exit@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
sshpk@^1.7.0:
version "1.16.1"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
bcrypt-pbkdf "^1.0.0"
dashdash "^1.12.0"
ecc-jsbn "~0.1.1"
getpass "^0.1.1"
jsbn "~0.1.0"
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
stream-to-buffer@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz#26799d903ab2025c9bd550ac47171b00f8dd80a9"
integrity sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=
dependencies:
stream-to "~0.2.0"
stream-to@~0.2.0:
version "0.2.2"
resolved "https://registry.yarnpkg.com/stream-to/-/stream-to-0.2.2.tgz#84306098d85fdb990b9fa300b1b3ccf55e8ef01d"
integrity sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=
string.prototype.trim@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea"
integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=
dependencies:
define-properties "^1.1.2"
es-abstract "^1.5.0"
function-bind "^1.0.2"
tinycolor2@^1.1.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"
integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=
tough-cookie@~2.4.3:
version "2.4.3"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==
dependencies:
psl "^1.1.24"
punycode "^1.4.1"
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
dependencies:
safe-buffer "^5.0.1"
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
untildify@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9"
integrity sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==
uri-js@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
dependencies:
punycode "^2.1.0"
url-regex@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724"
integrity sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=
dependencies:
ip-regex "^1.0.1"
uuid@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
dependencies:
assert-plus "^1.0.0"
core-util-is "1.0.2"
extsprintf "^1.2.0"
winreg@1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/winreg/-/winreg-1.2.4.tgz#ba065629b7a925130e15779108cf540990e98d1b"
integrity sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs=
write-file-atomic@^2.3.0:
version "2.4.2"
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9"
integrity sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==
dependencies:
graceful-fs "^4.1.11"
imurmurhash "^0.1.4"
signal-exit "^3.0.2"
xhr@^2.0.1:
version "2.5.0"
resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd"
integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==
dependencies:
global "~4.3.0"
is-function "^1.0.1"
parse-headers "^2.0.0"
xtend "^4.0.0"
xml-parse-from-string@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28"
integrity sha1-qQKekp09vN7RafPG4oI42VpdWig=
xml2js@^0.4.5:
version "0.4.19"
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==
dependencies:
sax ">=0.6.0"
xmlbuilder "~9.0.1"
xmlbuilder@~9.0.1:
version "9.0.7"
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
xtend@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=

View File

@@ -1,8 +1,7 @@
{
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "1.5.13",
"version": "1.6.6",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -35,39 +34,34 @@
"reskindex": "reskindex -h src/header",
"reskindex:watch": "reskindex -h src/header -w",
"reskindex:watch-react": "node scripts/yarn-sub.js matrix-react-sdk reskindex:watch",
"clean": "rimraf lib webapp electron_app/dist",
"clean": "rimraf lib webapp",
"build": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle",
"build-stats": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle-stats",
"build:jitsi": "node scripts/build-jitsi.js",
"build:res": "node scripts/copy-res.js",
"build:genfiles": "yarn reskindex && yarn build:res",
"build:genfiles": "yarn reskindex && yarn build:res && yarn build:jitsi",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:compile": "babel -d lib --verbose --extensions \".ts,.js\" src",
"build:compile": "babel -d lib --verbose --extensions \".ts,.js,.tsx\" src",
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail --mode production",
"build:electron": "yarn build && yarn install:electron && electron-builder -wml --ia32 --x64",
"build:electron:linux": "yarn build && electron-builder -l --x64",
"build:electron:macos": "yarn build && electron-builder -m --x64",
"build:electron:windows": "yarn build && electron-builder -w --ia32 --x64",
"build:types": "tsc --emitDeclarationOnly",
"install:electron": "electron-builder install-app-deps",
"build:bundle-stats": "cross-env NODE_ENV=production webpack -p --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:res": "node scripts/copy-res.js -w",
"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",
"electron": "yarn build && yarn install:electron && electron .",
"lint": "yarn lint:types && yarn lint:ts && yarn lint:js && yarn lint:style",
"lint:js": "eslint src",
"lint:ts": "echo 'We don't actually have a typescript linter at this layer because tslint is being removed from our stack. Presumably your TS is fine.'",
"lint:types": "tsc --noEmit",
"lint:types": "tsc --noEmit --jsx react",
"lint:style": "stylelint 'res/css/**/*.scss'",
"test": "jest"
},
"dependencies": {
"browser-request": "^0.3.3",
"favico.js": "^0.3.10",
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#91e1e566",
"gfm.css": "^1.1.2",
"highlight.js": "^9.13.1",
"matrix-js-sdk": "5.1.1",
"matrix-react-sdk": "2.2.3",
"matrix-js-sdk": "7.0.0",
"matrix-react-sdk": "2.8.0",
"olm": "https://packages.matrix.org/npm/olm/olm-3.1.4.tgz",
"postcss-easings": "^2.0.0",
"prop-types": "^15.7.2",
@@ -94,7 +88,10 @@
"@babel/preset-typescript": "^7.7.4",
"@babel/register": "^7.7.4",
"@babel/runtime": "^7.7.6",
"@types/react": "^16.9.17",
"@types/flux": "^3.1.9",
"@types/modernizr": "^3.5.3",
"@types/node": "^12.12.41",
"@types/react": "16.9",
"@types/react-dom": "^16.9.4",
"autoprefixer": "^9.7.3",
"babel-eslint": "^10.0.3",
@@ -106,10 +103,6 @@
"cpx": "^1.3.2",
"cross-env": "^6.0.3",
"css-loader": "^3.3.2",
"electron-builder": "^22.3.2",
"electron-builder-squirrel-windows": "^22.3.2",
"electron-devtools-installer": "^2.2.4",
"electron-notarize": "^0.2.0",
"eslint": "^5.8.0",
"eslint-config-google": "^0.7.1",
"eslint-plugin-babel": "^4.1.2",
@@ -132,8 +125,10 @@
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
"modernizr": "^3.6.0",
"node-fetch": "^2.6.0",
"optimize-css-assets-webpack-plugin": "^5.0.3",
"postcss-extend": "^1.0.5",
"postcss-hexrgba": "^2.0.0",
"postcss-import": "^12.0.1",
"postcss-loader": "^3.0.0",
"postcss-mixins": "^6.2.3",
@@ -151,57 +146,7 @@
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.9.0"
},
"build": {
"appId": "im.riot.app",
"electronVersion": "7.1.12",
"files": [
"node_modules/**",
"src/**"
],
"extraResources": [
{
"from": "electron_app/img",
"to": "img"
},
"webapp/**/*"
],
"linux": {
"target": "deb",
"category": "Network;InstantMessaging;Chat",
"maintainer": "support@riot.im",
"desktop": {
"StartupWMClass": "riot"
}
},
"mac": {
"category": "public.app-category.social-networking",
"darkModeSupport": true
},
"win": {
"target": {
"target": "squirrel"
},
"sign": "scripts/electron_winSign"
},
"directories": {
"buildResources": "electron_app/build",
"output": "electron_app/dist",
"app": "electron_app"
},
"afterSign": "scripts/electron_afterSign.js",
"protocols": [
{
"name": "riot",
"schemes": [
"riot"
]
}
]
},
"jest": {
"modulePathIgnorePatterns": [
"<rootDir>/electron_app"
],
"testEnvironment": "jest-environment-jsdom-fourteen",
"testMatch": [
"<rootDir>/test/**/*-test.js"
@@ -210,6 +155,7 @@
"<rootDir>/node_modules/matrix-react-sdk/test/setupTests.js"
],
"moduleNameMapper": {
"\\.(css|scss)$": "<rootDir>/__mocks__/cssMock.js",
"\\.(gif|png|svg|ttf|woff2)$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/imageMock.js",
"\\$webapp/i18n/languages.json": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/languages.json",
"^browser-request$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/browser-request.js",

View File

@@ -45,6 +45,8 @@ do
fi
done
./node_modules/matrix-js-sdk/release.sh -u vector-im -z "$orig_args"
release="${1#v}"
tag="v${release}"
prerelease=0
@@ -54,16 +56,6 @@ prerelease=0
# with a hyphen is a prerelease.
echo $release | grep -q '-' && prerelease=1
# bump Electron's package.json first
echo "electron yarn version"
cd electron_app
yarn version --no-git-tag-version --new-version "$release"
git commit package.json -m "$tag"
cd ..
./node_modules/matrix-js-sdk/release.sh -u vector-im -z "$orig_args"
if [ $prerelease -eq 0 ]
then
# For a release, reset SDK deps back to the `develop` branch.

View File

@@ -0,0 +1,101 @@
/*
Copyright 2020 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// import font-size variables manually, ideally this scss would get loaded by the theme which has all variables in context
@import "../../../node_modules/matrix-react-sdk/res/css/_font-sizes.scss";
.mx_ErrorView {
background: #c5e0f7;
background: -moz-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
background: -webkit-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
background: linear-gradient(to bottom, #c5e0f7 0%, #ffffff 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c5e0f7', endColorstr='#ffffff',GradientType=0 );
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
width: 100%;
min-height: 100%;
height: auto;
color: #000;
.mx_ErrorView_container {
max-width: 680px;
margin: auto;
}
.mx_Button {
border: 0;
border-radius: 4px;
font-size: $font-18px;
margin-left: 4px;
margin-right: 4px;
min-width: 80px;
background-color: #03B381;
color: #fff;
cursor: pointer;
padding: 12px 22px;
word-break: break-word;
text-decoration: none;
}
.mx_Center {
justify-content: center;
}
.mx_HomePage_header {
color: #2E2F32;
display: flex;
align-items: center;
justify-content: center;
}
font-size: $font-16px;
h1 {
font-size: $font-32px;
}
h2 {
font-size: $font-24px;
color: #000;
}
.mx_HomePage_col {
display: flex;
flex-direction: row;
}
.mx_HomePage_row {
flex: 1 1 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.mx_HomePage_logo {
margin: auto 20px auto 0;
}
h1, h2 {
font-weight: 600;
margin-bottom: 32px;
}
.mx_Spacer {
margin-top: 24px;
}
.mx_FooterLink {
color: #368BD6;
text-decoration: none;
}
}

View File

@@ -0,0 +1,107 @@
/*
* Quick-n-dirty algebraic datatypes.
*
* These let us handle the possibility of failure without having to constantly write code to check for it.
* We can apply all of the transformations we need as if the data is present using `map`.
* If there's a None, or a FetchError, or a Pending, those are left untouched.
*
* I've used perhaps an odd bit of terminology from scalaz in `fold`. This is basically a `switch` statement:
* You pass it a set of functions to handle the various different states of the datatype, and if it finds the
* function it'll call it on its value.
*
* It's handy to have this in functional style when dealing with React as we can dispatch different ways of rendering
* really simply:
* ```
* bundleFetchStatus.fold({
* some: (fetchStatus) => <ProgressBar fetchsStatus={fetchStatus} />,
* }),
* ```
*/
class Optional {
static from(value) {
return value && Some.of(value) || None;
}
map(f) {
return this;
}
flatMap(f) {
return this;
}
fold({ none }) {
return none && none();
}
}
class Some extends Optional {
constructor(value) {
super();
this.value = value;
}
map(f) {
return Some.of(f(this.value));
}
flatMap(f) {
return f(this.value);
}
fold({ some }) {
return some && some(this.value);
}
static of(value) {
return new Some(value);
}
}
const None = new Optional();
class FetchStatus {
constructor(opt = {}) {
this.opt = { at: Date.now(), ...opt };
}
map(f) {
return this;
}
flatMap(f) {
return this;
}
}
class Success extends FetchStatus {
static of(value) {
return new Success(value);
}
constructor(value, opt) {
super(opt);
this.value = value;
}
map(f) {
return new Success(f(this.value), this.opt);
}
flatMap(f) {
return f(this.value, this.opt);
}
fold({ success }) {
return success instanceof Function ? success(this.value, this.opt) : undefined;
}
}
class Pending extends FetchStatus {
static of(opt) {
return new Pending(opt);
}
constructor(opt) {
super(opt);
}
fold({ pending }) {
return pending instanceof Function ? pending(this.opt) : undefined;
}
}
class FetchError extends FetchStatus {
static of(reason, opt) {
return new FetchError(reason, opt);
}
constructor(reason, opt) {
super(opt);
this.reason = reason;
}
fold({ error }) {
return error instanceof Function ? error(this.reason, this.opt) : undefined;
}
}

336
res/decoder-ring/decoder.js Normal file
View File

@@ -0,0 +1,336 @@
class StartupError extends Error {}
/*
* We need to know the bundle path before we can fetch the sourcemap files. In a production environment, we can guess
* it using this.
*/
async function getBundleName(baseUrl) {
const res = await fetch(new URL("index.html", baseUrl).toString());
if (!res.ok) {
throw new StartupError(`Couldn't fetch index.html to prefill bundle; ${res.status} ${res.statusText}`);
}
const index = await res.text();
return index.split("\n").map((line) =>
line.match(/<script src="bundles\/([^/]+)\/bundle.js"/),
)
.filter((result) => result)
.map((result) => result[1])[0];
}
function validateBundle(value) {
return value.match(/^[0-9a-f]{20}$/) ? Some.of(value) : None;
}
/* A custom fetcher that abandons immediately upon getting a response.
* The purpose of this is just to validate that the user entered a real bundle, and provide feedback.
*/
const bundleCache = new Map();
function bundleSubject(baseUrl, bundle) {
if (!bundle.match(/^[0-9a-f]{20}$/)) throw new Error("Bad input");
if (bundleCache.has(bundle)) {
return bundleCache.get(bundle);
}
const fetcher = new rxjs.BehaviorSubject(Pending.of());
bundleCache.set(bundle, fetcher);
fetch(new URL(`bundles/${bundle}/bundle.js.map`, baseUrl).toString()).then((res) => {
res.body.cancel(); /* Bail on the download immediately - it could be big! */
const status = res.ok;
if (status) {
fetcher.next(Success.of());
} else {
fetcher.next(FetchError.of(`Failed to fetch: ${res.status} ${res.statusText}`));
}
});
return fetcher;
}
/*
* Convert a ReadableStream of bytes into an Observable of a string
* The observable will emit a stream of Pending objects and will concatenate
* the number of bytes received with whatever pendingContext has been supplied.
* Finally, it will emit a Success containing the result.
* You'd use this on a Response.body.
*/
function observeReadableStream(readableStream, pendingContext = {}) {
let bytesReceived = 0;
let buffer = "";
const pendingSubject = new rxjs.BehaviorSubject(Pending.of({ ...pendingContext, bytesReceived }));
const throttledPending = pendingSubject.pipe(rxjs.operators.throttleTime(100));
const resultObservable = new rxjs.Subject();
const reader = readableStream.getReader();
const utf8Decoder = new TextDecoder("utf-8");
function readNextChunk() {
reader.read().then(({ done, value }) => {
if (done) {
pendingSubject.complete();
resultObservable.next(Success.of(buffer));
return;
}
bytesReceived += value.length;
pendingSubject.next(Pending.of({...pendingContext, bytesReceived }));
/* string concatenation is apparently the most performant way to do this */
buffer += utf8Decoder.decode(value);
readNextChunk();
});
}
readNextChunk();
return rxjs.concat(throttledPending, resultObservable);
}
/*
* A wrapper which converts the browser's `fetch()` mechanism into an Observable. The Observable then provides us with
* a stream of datatype values: first, a sequence of Pending objects that keep us up to date with the download progress,
* finally followed by either a Success or Failure object. React then just has to render each of these appropriately.
*/
const fetchCache = new Map();
function fetchAsSubject(endpoint) {
if (fetchCache.has(endpoint)) {
// TODO: expiry/retry logic here?
return fetchCache.get(endpoint);
}
const fetcher = new rxjs.BehaviorSubject(Pending.of());
fetchCache.set(endpoint, fetcher);
fetch(endpoint).then((res) => {
if (!res.ok) {
fetcher.next(FetchError.of(`Failed to fetch endpoint ${endpoint}: ${res.status} ${res.statusText}`));
return;
}
const contentLength = res.headers.get("content-length");
const context = contentLength ? { length: parseInt(contentLength) } : {};
const streamer = observeReadableStream(res.body, context, endpoint);
streamer.subscribe((value) => {
fetcher.next(value);
});
});
return fetcher;
}
/* ===================== */
/* ==== React stuff ==== */
/* ===================== */
/* Rather than importing an entire build infrastructure, for now we just use React without JSX */
const e = React.createElement;
/*
* Provides user feedback given a FetchStatus object.
*/
function ProgressBar({ fetchStatus }) {
return e('span', { className: "progress "},
fetchStatus.fold({
pending: ({ bytesReceived, length }) => {
if (!bytesReceived) {
return e('span', { className: "spinner" }, "\u29b5");
}
const kB = Math.floor(10 * bytesReceived / 1024) / 10;
if (!length) {
return e('span', null, `Fetching (${kB}kB)`);
}
const percent = Math.floor(100 * bytesReceived / length);
return e('span', null, `Fetching (${kB}kB) ${percent}%`);
},
success: () => e('span', null, "\u2713"),
error: (reason) => {
return e('span', { className: 'error'}, `\u2717 ${reason}`);
},
},
));
}
/*
* The main component.
*/
function BundlePicker() {
const [baseUrl, setBaseUrl] = React.useState(new URL("..", window.location).toString());
const [bundle, setBundle] = React.useState("");
const [file, setFile] = React.useState("");
const [line, setLine] = React.useState("1");
const [column, setColumn] = React.useState("");
const [result, setResult] = React.useState(None);
const [bundleFetchStatus, setBundleFetchStatus] = React.useState(None);
const [fileFetchStatus, setFileFetchStatus] = React.useState(None);
/* On baseUrl change, try to fill in the bundle name for the user */
React.useEffect(() => {
console.log("DEBUG", baseUrl);
getBundleName(baseUrl).then((name) => {
console.log("DEBUG", name);
if (bundle === "" && validateBundle(name) !== None) {
setBundle(name);
}
}, console.log.bind(console));
}, [baseUrl]);
/* ------------------------- */
/* Follow user state changes */
/* ------------------------- */
const onBaseUrlChange = React.useCallback((event) => {
const value = event.target.value;
setBaseUrl(value);
}, []);
const onBundleChange = React.useCallback((event) => {
const value = event.target.value;
setBundle(value);
}, []);
const onFileChange = React.useCallback((event) => {
const value = event.target.value;
setFile(value);
}, []);
const onLineChange = React.useCallback((event) => {
const value = event.target.value;
setLine(value);
}, []);
const onColumnChange = React.useCallback((event) => {
const value = event.target.value;
setColumn(value);
}, []);
/* ------------------------------------------------ */
/* Plumb data-fetching observables through to React */
/* ------------------------------------------------ */
/* Whenever a valid bundle name is input, go see if it's a real bundle on the server */
React.useEffect(() =>
validateBundle(bundle).fold({
some: (value) => {
const subscription = bundleSubject(baseUrl, value)
.pipe(rxjs.operators.map(Some.of))
.subscribe(setBundleFetchStatus);
return () => subscription.unsubscribe();
},
none: () => setBundleFetchStatus(None),
}),
[baseUrl, bundle]);
/* Whenever a valid javascript file is input, see if it corresponds to a sourcemap file and initiate a fetch
* if so. */
React.useEffect(() => {
if (!file.match(/.\.js$/) || validateBundle(bundle) === None) {
setFileFetchStatus(None);
return;
}
const observable = fetchAsSubject(new URL(`bundles/${bundle}/${file}.map`, baseUrl).toString())
.pipe(
rxjs.operators.map((fetchStatus) => fetchStatus.flatMap(value => {
try {
return Success.of(JSON.parse(value));
} catch (e) {
return FetchError.of(e);
}
})),
rxjs.operators.map(Some.of),
);
const subscription = observable.subscribe(setFileFetchStatus);
return () => subscription.unsubscribe();
}, [baseUrl, bundle, file]);
/*
* Whenever we have a valid fetched sourcemap, and a valid line, attempt to find the original position from the
* sourcemap.
*/
React.useEffect(() => {
// `fold` dispatches on the datatype, like a switch statement
fileFetchStatus.fold({
some: (fetchStatus) =>
// `fold` just returns null for all of the cases that aren't `Success` objects here
fetchStatus.fold({
success: (value) => {
if (!line) return setResult(None);
const pLine = parseInt(line);
const pCol = parseInt(column);
sourceMap.SourceMapConsumer.with(value, undefined, (consumer) =>
consumer.originalPositionFor({ line: pLine, column: pCol }),
).then((result) => setResult(Some.of(JSON.stringify(result))));
},
}),
none: () => setResult(None),
});
}, [fileFetchStatus, line, column]);
/* ------ */
/* Render */
/* ------ */
return e('div', {},
e('div', { className: 'inputs' },
e('div', { className: 'baseUrl' },
e('label', { htmlFor: 'baseUrl'}, 'Base URL'),
e('input', {
name: 'baseUrl',
required: true,
pattern: ".+",
onChange: onBaseUrlChange,
value: baseUrl,
}),
),
e('div', { className: 'bundle' },
e('label', { htmlFor: 'bundle'}, 'Bundle'),
e('input', {
name: 'bundle',
required: true,
pattern: "[0-9a-f]{20}",
onChange: onBundleChange,
value: bundle,
}),
bundleFetchStatus.fold({
some: (fetchStatus) => e(ProgressBar, { fetchStatus }),
none: () => null,
}),
),
e('div', { className: 'file' },
e('label', { htmlFor: 'file' }, 'File'),
e('input', {
name: 'file',
required: true,
pattern: ".+\\.js",
onChange: onFileChange,
value: file,
}),
fileFetchStatus.fold({
some: (fetchStatus) => e(ProgressBar, { fetchStatus }),
none: () => null,
}),
),
e('div', { className: 'line' },
e('label', { htmlFor: 'line' }, 'Line'),
e('input', {
name: 'line',
required: true,
pattern: "[0-9]+",
onChange: onLineChange,
value: line,
}),
),
e('div', { className: 'column' },
e('label', { htmlFor: 'column' }, 'Column'),
e('input', {
name: 'column',
required: true,
pattern: "[0-9]+",
onChange: onColumnChange,
value: column,
}),
),
),
e('div', null,
result.fold({
none: () => "Select a bundle, file and line",
some: (value) => e('pre', null, value),
}),
),
);
}
/* Global stuff */
window.Decoder = {
BundlePicker,
};

View File

@@ -0,0 +1,79 @@
<html>
<head>
<title>Rageshake decoder ring</title>
<script crossorigin src="https://unpkg.com/source-map@0.7.3/dist/source-map.js"></script>
<script>
sourceMap.SourceMapConsumer.initialize({
"lib/mappings.wasm": "https://unpkg.com/source-map@0.7.3/lib/mappings.wasm"
});
</script>
<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<!--<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>-->
<script crossorigin src="https://unpkg.com/rxjs/bundles/rxjs.umd.min.js"></script>
<script src="datatypes.js"></script>
<script src="decoder.js"></script>
<style>
@keyframes spin {
from {transform:rotate(0deg);}
to {transform:rotate(359deg);}
}
body {
font-family: sans-serif
}
.spinner {
animation: spin 4s infinite linear;
display: inline-block;
text-align: center;
vertical-align: middle;
font-size: larger;
}
.progress {
padding-left: 0.5em;
padding-right: 0.5em;
}
.bundle input {
width: 24ex;
}
.valid::after {
content: "✓"
}
label {
width: 3em;
margin-right: 1em;
display: inline-block;
}
input:valid {
border: 1px solid green;
}
.inputs > div {
margin-bottom: 0.5em;
}
</style>
</head>
<body>
<header><h2>Decoder ring</h2></header>
<content id="main">Waiting for javascript to run...</content>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", () => {
try {
ReactDOM.render(React.createElement(Decoder.BundlePicker), document.getElementById("main"))
} catch (e) {
const n = document.createElement("div");
n.innerText = `Error starting: ${e.message}`;
document.getElementById("main").appendChild(n);
}
});
</script>
</body>
</html>

View File

@@ -6,40 +6,69 @@
"start_url": "index.html",
"icons": [
{
"src": "vector-icons/android-chrome-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
"src": "/vector-icons/20587a91-30e9-d583-2b9b-5c4c2aca967f.webPlatform.png",
"sizes": "44x44",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
"src": "/vector-icons/20522817-fde7-6a88-54a9-496b1c8aee53.webPlatform.png",
"sizes": "1240x600",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
"src": "/vector-icons/4168a7e5-9d94-e9a3-4e60-45a58cc8ee4e.webPlatform.png",
"sizes": "300x300",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
"src": "/vector-icons/dd73cdd3-17c4-9b33-81b8-4789b7a4a250.webPlatform.png",
"sizes": "150x150",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
"src": "/vector-icons/8f19f71b-ab84-4fe7-1866-8ee9fb1362da.webPlatform.png",
"sizes": "88x88",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
"src": "/vector-icons/89ac632f-d735-868d-4b9b-cfe32121294c.webPlatform.png",
"sizes": "24x24",
"type": "image/png"
},
{
"src": "/vector-icons/5c925eef-dd2e-aa16-b6d4-13c90b81af1f.webPlatform.png",
"sizes": "50x50",
"type": "image/png"
},
{
"src": "/vector-icons/b3624ff1-eaf4-1082-4923-949bc8eb40ef.webPlatform.png",
"sizes": "620x300",
"type": "image/png"
},
{
"src": "/vector-icons/32aa4ec4-8b3f-d7b8-e2df-a49ba887199a.webPlatform.png",
"sizes": "1024x1024",
"type": "image/png"
},
{
"src": "/vector-icons/a2e91e68-aa4e-45e7-e5e6-951e1d314675.webPlatform.png",
"sizes": "180x180",
"type": "image/png"
},
{
"src": "/vector-icons/627721aa-5331-ded6-b4a5-0bb4799985ee.webPlatform.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src": "/vector-icons/4f4b5190-3b9c-9173-3118-442179ae62d4.webPlatform.png",
"sizes": "120x120",
"type": "image/png"
},
{
"src": "/vector-icons/552c9d70-ff13-2235-8ef9-00db0d2fda0c.webPlatform.png",
"sizes": "76x76",
"type": "image/png"
}
],
"related_applications": [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 530 KiB

After

Width:  |  Height:  |  Size: 283 KiB

View File

@@ -0,0 +1,97 @@
<svg width="144px" height="48px" viewBox="0 0 120 40" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Download on the App Store.</desc>
<defs />
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="App-Store-badge" fill-rule="nonzero">
<g id="Group">
<g id="Shape">
<path
d="M110.13477,0 L9.53468,0 C9.16798,0 8.80568,0 8.43995,0.002 C8.1338,0.004 7.83009,0.00981 7.521,0.0147 C6.84951368,0.0226018036 6.17960647,0.0816762599 5.5171,0.19141 C4.85552408,0.303532628 4.21467252,0.51491574 3.61622,0.81841 C3.01849941,1.12447171 2.47234502,1.52216753 1.99757,1.99707 C1.5203025,2.47063699 1.12246318,3.01801638 0.81935,3.61816 C0.515400242,4.21710912 0.304640498,4.8589383 0.19435,5.52148 C0.0830109412,6.18318491 0.0230983806,6.85252054 0.01515,7.52348 C0.00587,7.83008 0.00489,8.1377 0,8.44434 L0,31.5586 C0.00489,31.8691 0.00587,32.1699 0.01515,32.4805 C0.023100818,33.1514262 0.0830133796,33.8207284 0.19435,34.4824 C0.304335953,35.145329 0.515108158,35.7875266 0.81935,36.3867 C1.12232555,36.9849029 1.52022081,37.5300662 1.99757,38.001 C2.47054482,38.478014 3.01705224,38.8759804 3.61622,39.1797 C4.21466797,39.4840065 4.85545044,39.6966478 5.5171,39.8105 C6.1797191,39.9193547 6.84955741,39.9784532 7.521,39.9873 C7.83009,39.9941 8.1338,39.998 8.43995,39.998 C8.80567,40 9.168,40 9.53468,40 L110.13477,40 C110.49417,40 110.85937,40 111.21877,39.998 C111.52347,39.998 111.83597,39.9941 112.14067,39.9873 C112.810843,39.9789237 113.47942,39.9198215 114.14067,39.8105 C114.804454,39.6958464 115.447534,39.4832614 116.04887,39.1797 C116.647497,38.8758046 117.1935,38.4778491 117.66607,38.001 C118.142188,37.5282218 118.540932,36.9834573 118.84767,36.3867 C119.149629,35.7870908 119.358395,35.1449445 119.46677,34.4824 C119.578285,33.8206376 119.640323,33.1514843 119.65237,32.4805 C119.65627,32.1699 119.65627,31.8691 119.65627,31.5586 C119.66407,31.1953 119.66407,30.834 119.66407,30.4648 L119.66407,9.53613 C119.66407,9.16992 119.66407,8.80664 119.65627,8.44434 C119.65627,8.1377 119.65627,7.83008 119.65237,7.52344 C119.640326,6.85242244 119.578287,6.18323567 119.46677,5.52144 C119.358093,4.8592816 119.149339,4.21750328 118.84767,3.61812 C118.230394,2.41519608 117.251573,1.4360254 116.04887,0.81832 C115.447532,0.51556738 114.804383,0.30424041 114.14067,0.19132 C113.479535,0.0811027831 112.810888,0.0220077649 112.14067,0.01456 C111.83597,0.00968 111.52347,0.00382 111.21877,0.00187 C110.85937,-0.00013 110.49417,-0.00013 110.13477,-0.00013 L110.13477,0 Z"
fill="#A6A6A6" />
<path
d="M8.44483,39.125 C8.14015,39.125 7.84283,39.1211 7.54054,39.1143 C6.91432177,39.1061407 6.28956717,39.051625 5.6714,38.9512 C5.0949903,38.8519282 4.53660424,38.6672645 4.01466,38.4033 C3.4975017,38.1415227 3.02581177,37.7982729 2.61766,37.3867 C2.20360033,36.9799753 1.85887673,36.508244 1.59715,35.9902 C1.33253926,35.4687891 1.14941288,34.9098996 1.05415,34.333 C0.951274358,33.7131149 0.895614374,33.0863132 0.88765,32.458 C0.88131,32.2471 0.87301,31.5449 0.87301,31.5449 L0.87301,8.44434 C0.87301,8.44434 0.88185,7.75293 0.8877,7.5498 C0.895325827,6.92248205 0.950662148,6.2966531 1.05323,5.67773 C1.14866872,5.09925008 1.33193687,4.53874887 1.59669,4.01563 C1.85745482,3.49794385 2.20026458,3.02586029 2.61183,2.61768 C3.02293283,2.20562142 3.49613161,1.86060412 4.01417,1.59521 C4.53491467,1.3320936 5.09224545,1.14873255 5.66749,1.05127 C6.28768733,0.949836139 6.91461084,0.894996084 7.543,0.88721 L8.44532,0.875 L111.21387,0.875 L112.12697,0.8877 C112.749643,0.895099198 113.370872,0.949450006 113.98537,1.05029 C114.566438,1.14897507 115.129577,1.33361553 115.65627,1.59814 C116.694088,2.13298605 117.538542,2.97916295 118.07127,4.01807 C118.331797,4.53757756 118.512239,5.09350676 118.60647,5.66699 C118.710259,6.29099138 118.768347,6.92173834 118.78027,7.5542 C118.78317,7.8374 118.78317,8.1416 118.78317,8.44434 C118.79107,8.81934 118.79107,9.17627 118.79107,9.53613 L118.79107,30.4648 C118.79107,30.8281 118.79107,31.1826 118.78317,31.54 C118.78317,31.8652 118.78317,32.1631 118.77927,32.4697 C118.767605,33.0908757 118.710486,33.7103642 118.60837,34.3232 C118.51506,34.9042612 118.33293,35.4675131 118.06837,35.9932 C117.804793,36.5056211 117.462049,36.9732662 117.05277,37.3789 C116.644251,37.7926846 116.171729,38.1379427 115.65337,38.4014 C115.128136,38.6673937 114.565826,38.8527403 113.98537,38.9512 C113.36725,39.052161 112.742435,39.1066802 112.11617,39.1143 C111.82327,39.1211 111.51657,39.125 111.21877,39.125 L110.13477,39.127 L8.44483,39.125 Z"
fill="#000000" />
</g>
<g id="_Group_" transform="translate(9.000000, 8.000000)" fill="#FFFFFF">
<g id="_Group_2">
<g id="_Group_3">
<path
d="M15.76888,12.30068 C15.790737,10.6042091 16.6801229,9.03718611 18.12544,8.14862 C17.2095126,6.84051277 15.730392,6.04087835 14.13428,5.99094 C12.45504,5.81468 10.82709,6.99577 9.97138,6.99577 C9.09911,6.99577 7.78161,6.00844 6.36288,6.03763 C4.49620126,6.09793842 2.79813717,7.13352548 1.88996,8.7655 C-0.04404,12.11392 1.39855,17.03497 3.25116,19.74158 C4.17806,21.06693 5.26134,22.54738 6.67879,22.49488 C8.06585,22.43735 8.58389,21.6104 10.25819,21.6104 C11.91695,21.6104 12.40298,22.49488 13.84919,22.4615 C15.33757,22.43734 16.27532,21.13026 17.1697,19.79236 C17.8356761,18.8479997 18.3481437,17.8042759 18.68812,16.69985 C16.9203766,15.9521813 15.7709432,14.2200343 15.76888,12.30068 Z"
id="_Path_" />
<path
d="M13.03725,4.21089 C13.8487766,3.23668191 14.248585,1.98450245 14.15177,0.72027 C12.9119378,0.850490487 11.7666802,1.44304968 10.94419,2.37988 C10.1320187,3.30418903 9.72057463,4.51343268 9.80048,5.74127 C11.0569368,5.75420677 12.2499161,5.19015322 13.03725,4.21089 Z"
id="_Path_2" />
</g>
</g>
<g id="Group" transform="translate(25.000000, 9.000000)">
<path
d="M8.30227,10.13965 L3.56887,10.13965 L2.43215,13.4961 L0.42727,13.4961 L4.91067,1.0781 L6.99367,1.0781 L11.47707,13.4961 L9.438,13.4961 L8.30227,10.13965 Z M4.0591,8.59082 L7.8111,8.59082 L5.96149,3.14355 L5.90973,3.14355 L4.0591,8.59082 Z"
id="Shape" />
<path
d="M21.15969,8.96973 C21.15969,11.78321 19.65383,13.59082 17.38137,13.59082 C16.2067553,13.6522646 15.1003324,13.0370307 14.53274,12.00682 L14.48974,12.00682 L14.48974,16.4912 L12.63134,16.4912 L12.63134,4.44238 L14.4302,4.44238 L14.4302,5.94824 L14.46438,5.94824 C15.0571883,4.92448792 16.1648043,4.30951884 17.34719,4.34765 C19.645,4.34766 21.15969,6.16406 21.15969,8.96973 Z M19.24953,8.96973 C19.24953,7.13673 18.30226,5.93164 16.85695,5.93164 C15.43703,5.93164 14.48195,7.16211 14.48195,8.96973 C14.48195,10.79395 15.43703,12.01563 16.85695,12.01563 C18.30227,12.01563 19.24953,10.81934 19.24953,8.96973 Z"
id="Shape" />
<path
d="M31.12453,8.96973 C31.12453,11.78321 29.61867,13.59082 27.34621,13.59082 C26.1715953,13.6522646 25.0651724,13.0370307 24.49758,12.00682 L24.45458,12.00682 L24.45458,16.4912 L22.59618,16.4912 L22.59618,4.44238 L24.395,4.44238 L24.395,5.94824 L24.42918,5.94824 C25.0219926,4.92448854 26.1296128,4.30952307 27.312,4.34766 C29.60988,4.34766 31.12453,6.16406 31.12453,8.96973 Z M29.21437,8.96973 C29.21437,7.13673 28.2671,5.93164 26.82179,5.93164 C25.40187,5.93164 24.44679,7.16211 24.44679,8.96973 C24.44679,10.79395 25.40187,12.01563 26.82179,12.01563 C28.26711,12.01563 29.21438,10.81934 29.21438,8.96973 L29.21437,8.96973 Z"
id="Shape" />
<path
d="M37.71047,10.03613 C37.84817,11.26758 39.04447,12.07613 40.67922,12.07613 C42.24563,12.07613 43.37258,11.26754 43.37258,10.15718 C43.37258,9.19331 42.69289,8.61618 41.08352,8.22066 L39.47415,7.83296 C37.19388,7.28218 36.13528,6.21577 36.13528,4.4853 C36.13528,2.34272 38.00247,0.87104 40.65383,0.87104 C43.27783,0.87104 45.07668,2.34272 45.13723,4.4853 L43.26123,4.4853 C43.14893,3.24604 42.12451,2.498 40.62744,2.498 C39.13037,2.498 38.10596,3.25484 38.10596,4.3564 C38.10596,5.23433 38.76026,5.75093 40.36084,6.1464 L41.729,6.48234 C44.27685,7.08488 45.33545,8.10834 45.33545,9.92472 C45.33545,12.24796 43.48486,13.70304 40.5415,13.70304 C37.78759,13.70304 35.92822,12.28214 35.8081,10.03604 L37.71047,10.03613 Z"
id="Shape" />
<path
d="M49.34621,2.2998 L49.34621,4.44238 L51.06789,4.44238 L51.06789,5.91406 L49.34621,5.91406 L49.34621,10.90527 C49.34621,11.68066 49.69094,12.04199 50.44777,12.04199 C50.6521614,12.0384259 50.8562221,12.0240726 51.0591,11.99899 L51.0591,13.46188 C50.7188283,13.5254596 50.3729708,13.5542545 50.02687,13.54782 C48.19387,13.54782 47.47902,12.85934 47.47902,11.10348 L47.47902,5.91406 L46.16262,5.91406 L46.16262,4.44238 L47.479,4.44238 L47.479,2.2998 L49.34621,2.2998 Z"
id="Shape" />
<path
d="M52.065,8.96973 C52.065,6.1211 53.74273,4.33106 56.35895,4.33106 C58.98395,4.33106 60.65387,6.12106 60.65387,8.96973 C60.65387,11.82618 58.99274,13.6084 56.35895,13.6084 C53.72609,13.6084 52.065,11.82617 52.065,8.96973 Z M58.76031,8.96973 C58.76031,7.01563 57.8648,5.86231 56.35894,5.86231 C54.85308,5.86231 53.95855,7.02442 53.95855,8.96973 C53.95855,10.93164 54.85308,12.07618 56.35894,12.07618 C57.8648,12.07618 58.76027,10.93164 58.76027,8.96973 L58.76031,8.96973 Z"
id="Shape" />
<path
d="M62.18606,4.44238 L63.95852,4.44238 L63.95852,5.98338 L64.00152,5.98338 C64.248696,4.99136841 65.1576526,4.30863156 66.17925,4.34764 C66.393414,4.34689223 66.6069872,4.37015075 66.81597,4.41698 L66.81597,6.15526 C66.545601,6.07264332 66.2635596,6.03471129 65.98097,6.04296 C65.4346182,6.02079544 64.9058709,6.23853473 64.5335615,6.63900597 C64.161252,7.03947722 63.9825766,7.58267074 64.04445,8.12596 L64.04445,13.49608 L62.18605,13.49608 L62.18606,4.44238 Z"
id="Shape" />
<path
d="M75.3843,10.83691 C75.1343,12.48046 73.53371,13.60839 71.48586,13.60839 C68.85207,13.60839 67.21731,11.84374 67.21731,9.01269 C67.21731,6.17285 68.86086,4.33105 71.40774,4.33105 C73.91262,4.33105 75.48782,6.05175 75.48782,8.79687 L75.48782,9.43359 L69.09329,9.43359 L69.09329,9.54589 C69.0335874,10.2199216 69.2663316,10.8871194 69.7323199,11.3777699 C70.1983083,11.8684204 70.8526275,12.1352333 71.52884,12.11034 C72.4306823,12.1948396 73.2809431,11.6769777 73.61966,10.8369 L75.3843,10.83691 Z M69.1020624,8.13477 L73.62844,8.13476 C73.6621655,7.52909749 73.4416965,6.93682308 73.0201501,6.50063155 C72.5986036,6.06444001 72.0142008,5.82388041 71.40774,5.83691 C70.7964818,5.83326223 70.2090907,6.07393463 69.7761255,6.50543324 C69.3431603,6.93693186 69.1004963,7.52350292 69.1020624,8.13477 Z"
id="Shape" />
</g>
</g>
</g>
<g id="_Group_4" transform="translate(35.000000, 8.000000)" fill="#FFFFFF">
<g id="Group">
<path
d="M2.82619,0.731 C3.61513656,0.674384181 4.38789226,0.974547428 4.93176129,1.54887182 C5.47563032,2.12319621 5.73328587,2.91114479 5.63381,3.69584 C5.63381,5.60209 4.60354,6.69784 2.82619,6.69784 L0.67092,6.69784 L0.67092,0.731 L2.82619,0.731 Z M1.59767,5.854 L2.72267,5.854 C3.28649194,5.88770201 3.83548652,5.66555901 4.21721851,5.24925179 C4.5989505,4.83294457 4.77277961,4.26679442 4.69044,3.708 C4.76678901,3.15152453 4.59045658,2.59004622 4.20967108,2.17713398 C3.82888557,1.76422175 3.28349567,1.5430863 2.72267,1.57421 L1.59767,1.57421 L1.59767,5.854 Z"
id="Shape" />
<path
d="M6.68068,4.44434 C6.60346713,3.63722505 6.99048366,2.85611193 7.67941593,2.42859737 C8.36834819,2.0010828 9.24008181,2.0010828 9.92901407,2.42859737 C10.6179463,2.85611193 11.0049629,3.63722505 10.92775,4.44434 C11.0064319,5.25232226 10.6197687,6.03495038 9.93022554,6.4633853 C9.24068243,6.89182022 8.36774757,6.89182022 7.67820446,6.4633853 C6.98866134,6.03495038 6.60199806,5.25232226 6.68068,4.44434 Z M10.01368,4.44434 C10.01368,3.46827 9.5752,2.89747 8.80568,2.89747 C8.03322,2.89747 7.59868,3.46827 7.59868,4.44435 C7.59868,5.42824 8.03325,5.99464 8.80568,5.99464 C9.57522,5.99463 10.01369,5.42432 10.01369,4.44434 L10.01368,4.44434 Z"
id="Shape" />
<polygon id="Shape"
points="16.57326 6.69775 15.65139 6.69775 14.72073 3.38134 14.65042 3.38134 13.72366 6.69775 12.81057 6.69775 11.56936 2.19482 12.47073 2.19482 13.27737 5.63082 13.34378 5.63082 14.26956 2.19482 15.1221 2.19482 16.04788 5.63082 16.11819 5.63082 16.92092 2.19482 17.80959 2.19482" />
<path
d="M18.85354,2.19482 L19.709,2.19482 L19.709,2.91015 L19.77541,2.91015 C20.0063449,2.38347794 20.5459729,2.06130747 21.11916,2.1079 C21.5629768,2.07453177 21.9978859,2.2447899 22.3010908,2.57060207 C22.6042957,2.89641424 22.7428931,3.34242376 22.67775,3.7827 L22.67775,6.6977 L21.78908,6.6977 L21.78908,4.00586 C21.78908,3.28223 21.47463,2.92236 20.8174,2.92236 C20.5163658,2.90833912 20.2242202,3.02648257 20.0175546,3.24581678 C19.810889,3.465151 19.710315,3.76380101 19.7422,4.06347 L19.7422,6.69775 L18.85353,6.69775 L18.85354,2.19482 Z"
id="Shape" />
<polygon id="Shape"
points="24.09377 0.437 24.98244 0.437 24.98244 6.69774 24.09377 6.69774" />
<path
d="M26.21779,4.44434 C26.1406364,3.63717225 26.527714,2.85603936 27.2166974,2.4285182 C27.9056808,2.00099704 28.7774592,2.00099704 29.4664426,2.4285182 C30.155426,2.85603936 30.5425036,3.63717225 30.46535,4.44434 C30.543932,5.25235119 30.1571979,6.03495719 29.4676205,6.46337324 C28.7780432,6.89178929 27.9050968,6.89178929 27.2155195,6.46337324 C26.5259421,6.03495719 26.139208,5.25235119 26.21779,4.44434 Z M29.55079,4.44434 C29.55079,3.46827 29.11231,2.89747 28.34279,2.89747 C27.57033,2.89747 27.13579,3.46827 27.13579,4.44435 C27.13579,5.42824 27.57036,5.99464 28.34279,5.99464 C29.11232,5.99463 29.5508,5.42432 29.5508,4.44434 L29.55079,4.44434 Z"
id="Shape" />
<path
d="M31.4009,5.42432 C31.4009,4.61377 32.00442,4.14649 33.0757,4.08008 L34.29543,4.00977 L34.29543,3.6211 C34.29543,3.14551 33.98098,2.87696 33.37356,2.87696 C32.87747,2.87696 32.53372,3.05909 32.43508,3.37745 L31.57473,3.37745 C31.66555,2.60401 32.39309,2.10792 33.41457,2.10792 C34.54348,2.10792 35.1802,2.66992 35.1802,3.6211 L35.1802,6.69776 L34.32473,6.69776 L34.32473,6.06495 L34.25442,6.06495 C33.9638686,6.52707633 33.4471736,6.79716323 32.90188,6.77195 C32.5196161,6.81171181 32.1383711,6.68791066 31.8523958,6.43115244 C31.5664205,6.17439423 31.4024061,5.80864331 31.4009,5.42432 Z M34.29543,5.03955 L34.29543,4.66309 L33.19582,4.7334 C32.5757,4.7749 32.29445,4.98584 32.29445,5.38281 C32.29445,5.78808 32.64601,6.02392 33.12945,6.02392 C33.4156361,6.05288986 33.7013264,5.96447505 33.9211204,5.77891559 C34.1409144,5.59335613 34.2759916,5.32654106 34.29543,5.03955 Z"
id="Shape" />
<path
d="M36.34816,4.44434 C36.34816,3.02149 37.07961,2.12012 38.2173,2.12012 C38.7917768,2.09365013 39.3298275,2.40147287 39.59816,2.91012 L39.66457,2.91012 L39.66457,0.437 L40.55324,0.437 L40.55324,6.69774 L39.70168,6.69774 L39.70168,5.98631 L39.63137,5.98631 C39.3427542,6.49073698 38.7980745,6.79335648 38.21731,6.77195 C37.0718,6.772 36.34816,5.87061 36.34816,4.44434 Z M37.26616,4.44434 C37.26616,5.39942 37.71636,5.97413 38.46929,5.97413 C39.21829,5.97413 39.6812,5.39113 39.6812,4.44825 C39.6812,3.50977 39.21343,2.91846 38.46929,2.91846 C37.72121,2.91846 37.26613,3.49707 37.26613,4.44434 L37.26616,4.44434 Z"
id="Shape" />
<path
d="M44.23,4.44434 C44.1527871,3.63722505 44.5398037,2.85611193 45.2287359,2.42859737 C45.9176682,2.0010828 46.7894018,2.0010828 47.4783341,2.42859737 C48.1672663,2.85611193 48.5542829,3.63722505 48.47707,4.44434 C48.5557519,5.25232226 48.1690887,6.03495038 47.4795455,6.4633853 C46.7900024,6.89182022 45.9170676,6.89182022 45.2275245,6.4633853 C44.5379813,6.03495038 44.1513181,5.25232226 44.23,4.44434 Z M47.563,4.44434 C47.563,3.46827 47.12452,2.89747 46.355,2.89747 C45.58254,2.89747 45.148,3.46827 45.148,4.44435 C45.148,5.42824 45.58257,5.99464 46.355,5.99464 C47.12453,5.99463 47.563,5.42432 47.563,4.44434 Z"
id="Shape" />
<path
d="M49.66945,2.19482 L50.52492,2.19482 L50.52492,2.91015 L50.59133,2.91015 C50.8222649,2.38347794 51.3618929,2.06130747 51.93508,2.1079 C52.3788968,2.07453177 52.8138059,2.2447899 53.1170108,2.57060207 C53.4202157,2.89641424 53.5588131,3.34242376 53.49367,3.7827 L53.49367,6.6977 L52.605,6.6977 L52.605,4.00586 C52.605,3.28223 52.29055,2.92236 51.63332,2.92236 C51.3322858,2.90833912 51.0401402,3.02648257 50.8334746,3.24581678 C50.626809,3.465151 50.526235,3.76380101 50.55812,4.06347 L50.55812,6.69775 L49.66945,6.69775 L49.66945,2.19482 Z"
id="Shape" />
<path
d="M58.51516,1.07373 L58.51516,2.21533 L59.49075,2.21533 L59.49075,2.96387 L58.51516,2.96387 L58.51516,5.2793 C58.51516,5.75098 58.7095,5.95752 59.15188,5.95752 C59.2651356,5.95715754 59.3782775,5.95030966 59.49075,5.93701 L59.49075,6.67724 C59.3311595,6.70579072 59.1694656,6.72098004 59.00735,6.72265 C58.01907,6.72265 57.62551,6.37499 57.62551,5.50683 L57.62551,2.96383 L56.91067,2.96383 L56.91067,2.21529 L57.62551,2.21529 L57.62551,1.07373 L58.51516,1.07373 Z"
id="Shape" />
<path
d="M60.70461,0.437 L61.58547,0.437 L61.58547,2.91845 L61.65578,2.91845 C61.8978078,2.38716856 62.4468801,2.06458754 63.02878,2.11181 C63.4700766,2.08779728 63.8990983,2.26180371 64.1989893,2.58643385 C64.4988802,2.91106399 64.6384049,3.35250564 64.57956,3.79052 L64.57956,6.69775 L63.69,6.69775 L63.69,4.00975 C63.69,3.29051 63.355,2.92625 62.72711,2.92625 C62.417939,2.90089367 62.1133391,3.01329096 61.8947423,3.2333935 C61.6761456,3.45349605 61.5658419,3.75886031 61.59332,4.06785 L61.59332,6.69773 L60.70465,6.69773 L60.70461,0.437 Z"
id="Shape" />
<path
d="M69.76125,5.48193 C69.512057,6.33130948 68.6900989,6.88010304 67.81008,6.78466 C67.2096439,6.8005102 66.6325914,6.5516307 66.2320282,6.10405516 C65.8314651,5.65647963 65.6478864,5.05545594 65.73,4.46045 C65.6500674,3.86379048 65.8329582,3.26180373 66.2312908,2.81044696 C66.6296234,2.35909018 67.204202,2.10277675 67.80617,2.10791 C69.0591,2.10791 69.81496,2.96391 69.81496,4.37791 L69.81496,4.688 L66.63527,4.688 L66.63527,4.7378 C66.607132,5.07194014 66.7212507,5.40244775 66.9495608,5.6480407 C67.1778709,5.89363365 67.4991879,6.03152392 67.83449,6.0278 C68.2692619,6.07999468 68.6924825,5.86433304 68.90578,5.4819 L69.76125,5.48193 Z M66.63525,4.03076 L68.90966,4.03076 C68.9323129,3.72516044 68.8248585,3.42420507 68.6137769,3.20205909 C68.4026954,2.97991311 68.1076175,2.85723623 67.80126,2.86426 C67.490752,2.86035891 67.191828,2.98202124 66.9722963,3.20164888 C66.7527647,3.42127653 66.6312331,3.72025374 66.63527,4.03076 L66.63525,4.03076 Z"
id="Shape" />
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,135 @@
<svg width="164px" height="48px" viewBox="0 0 157 46" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Get it on F-Droid.</desc>
<defs>
<radialGradient cx="0.55528181%" cy="0.456156968%" fx="0.55528181%"
fy="0.456156968%"
r="99.5501799%"
gradientTransform="translate(0.005553,0.004562),scale(0.985441,1.000000),rotate(90.000001),translate(-0.005553,-0.004562)"
id="radialGradient-1">
<stop stop-color="#FFFFFF" stop-opacity="0.098039" offset="0%" />
<stop stop-color="#FFFFFF" stop-opacity="0" offset="100%" />
</radialGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="F-Droid-badge">
<rect id="Rectangle-path" fill="#000000" fill-rule="nonzero" x="0" y="0"
width="157"
height="46" rx="5.6097561" />
<g id="Group" transform="translate(49.623214, 5.890244)" fill="#FFFFFF"
fill-rule="nonzero">
<path
d="M5.68003571,6.29863415 L5.68003571,4.42449878 L4.13843589,4.42449878 L4.13843589,3.64866951 L6.61432589,3.64866951 L6.61432589,6.64455976 C6.24995506,6.90316951 5.84820327,7.09946423 5.40907054,7.2334439 C4.96995649,7.36430642 4.50125542,7.42973768 4.00296732,7.42973768 C2.91295744,7.42973768 2.0596344,7.1119263 1.44299821,6.47630354 C0.829483333,5.83757671 0.522725893,4.94958037 0.522725893,3.81231451 C0.522725893,2.67194459 0.829483333,1.78394825 1.44299821,1.14832549 C2.0596344,0.509598659 2.91295744,0.190235244 4.00296732,0.190235244 C4.45765054,0.190235244 4.88898,0.24631878 5.29695571,0.358485854 C5.70805274,0.470652927 6.08644143,0.635785447 6.43212179,0.853883415 L6.43212179,1.85873098 C6.08332012,1.56274154 5.71271601,1.33995943 5.32030946,1.19038463 C4.92790292,1.04082854 4.51525458,0.966050488 4.08236446,0.966050488 C3.22903208,0.966050488 2.58748149,1.20440902 2.15771268,1.6811261 C1.73104649,2.15784317 1.51771339,2.86824398 1.51771339,3.81232854 C1.51771339,4.75329033 1.73104649,5.46212976 2.15771268,5.93884683 C2.58748149,6.4155639 3.22903208,6.65392244 4.08236446,6.65392244 C4.41559696,6.65392244 4.71301851,6.6258802 4.97462911,6.56979573 C5.2362397,6.51059598 5.47136589,6.4202387 5.68000768,6.2987239 L5.68003571,6.29863415 Z"
id="Shape" />
<polygon id="Shape"
points="8.34342857 0.316390244 12.7531661 0.316390244 12.7531661 1.1109 9.28683036 1.1109 9.28683036 3.17666463 12.6082214 3.17666463 12.6082214 3.97117439 9.28683036 3.97117439 9.28683036 6.49963171 12.8372732 6.49963171 12.8372732 7.29414146 8.34342857 7.29414146 8.34342857 0.316446341" />
<polygon id="Shape"
points="13.4319107 0.316390244 19.3320268 0.316390244 19.3320268 1.1109 16.8561368 1.1109 16.8561368 7.29425366 15.9078287 7.29425366 15.9078287 1.1109 13.4319387 1.1109 13.4319387 0.316390244" />
<polygon id="Shape"
points="23.2920714 0.316390244 24.2356975 0.316390244 24.2356975 7.29408537 23.2920714 7.29408537" />
<polygon id="Shape"
points="25.1480357 0.316390244 31.0481518 0.316390244 31.0481518 1.1109 28.5722618 1.1109 28.5722618 7.29425366 27.6239537 7.29425366 27.6239537 1.1109 25.1480637 1.1109 25.1480637 0.316390244" />
<path
d="M37.8398036,0.956463415 C37.1546481,0.956463415 36.6096432,1.21195976 36.2047887,1.72295244 C35.803037,2.23394512 35.6021611,2.93032154 35.6021611,3.81208171 C35.6021611,4.69071911 35.803037,5.38553415 36.2047887,5.89652683 C36.6096432,6.40751951 37.1546481,6.66301585 37.8398036,6.66301585 C38.524959,6.66301585 39.066852,6.40751951 39.4654825,5.89652683 C39.8672343,5.38553415 40.0681102,4.69071911 40.0681102,3.81208171 C40.0681102,2.93032154 39.8672343,2.23394512 39.4654825,1.72295244 C39.0673754,1.21209065 38.5253515,0.956659756 37.8394111,0.956659756 L37.8398036,0.956463415 Z M37.8398036,0.18997439 C38.817708,0.18997439 39.5993998,0.518687398 40.1848789,1.17611341 C40.7703768,1.83043537 41.0631257,2.70908211 41.0631257,3.81205366 C41.0631257,4.91192114 40.7703768,5.79056789 40.1848789,6.4479939 C39.5993811,7.10231585 38.8176893,7.42947683 37.8398036,7.42947683 C36.8587965,7.42947683 36.0739835,7.10231585 35.4853643,6.4479939 C34.8998664,5.79369065 34.6071175,4.9150439 34.6071175,3.81205366 C34.6071175,2.70906341 34.8998664,1.83041667 35.4853643,1.17611341 C36.0739648,0.518687398 36.8587779,0.18997439 37.8398036,0.18997439 Z"
id="Shape" />
<polygon id="Shape"
points="42.5385893 0.316390244 43.8092239 0.316390244 46.9018436 6.15390244 46.9018436 0.316390244 47.817462 0.316390244 47.817462 7.29408537 46.5468273 7.29408537 43.4542077 1.45657317 43.4542077 7.29408537 42.5385893 7.29408537" />
<path
d="M14.4888571,14.6357134 L14.4888571,19.7020244 L13.8851641,19.7020244 C13.7044646,18.9049341 13.5319795,18.3009504 13.3677089,17.8900732 C13.2034365,17.4791959 12.981674,17.1176285 12.7024214,16.8053707 C11.9303365,15.9260976 10.3984651,15.486461 8.10680714,15.486461 C7.46615369,15.486461 7.03493637,15.5686346 6.81315518,15.7329817 C6.5995978,15.8891143 6.49281911,16.201372 6.49281911,16.6697549 L6.49281911,22.5369988 C7.74949196,22.5369988 8.64887768,22.269937 9.19097625,21.7358134 C9.73307482,21.2016898 10.1191173,20.2114744 10.3491036,18.7651671 L10.97744,18.7651671 L10.97744,27.3071427 L10.3491036,27.3071427 C10.1684059,25.8444362 9.80290431,24.8336516 9.25259875,24.274789 C8.70229506,23.7077923 7.78236851,23.4119618 6.49281911,23.3872976 L6.49281911,29.2668829 C6.49281911,29.9653724 6.66530417,30.4296545 7.01027429,30.6597293 C7.3552444,30.8815951 8.10678845,31.0171829 9.26490643,31.0664927 L9.26490643,31.695122 L0.184699286,31.695122 L0.184699286,31.0664927 C1.12105476,30.9678844 1.72475714,30.8076417 1.99580643,30.5857646 C2.26685571,30.3638988 2.40238036,29.9242622 2.40238036,29.2668549 L2.40238036,17.051611 C2.40238036,16.4024313 2.25042679,15.9545858 1.94651964,15.7080744 C1.6426125,15.4615443 1.05533905,15.3136337 0.184699286,15.2643427 L0.184699286,14.6357134 L14.4888571,14.6357134 Z"
id="Shape" />
<polygon id="Shape"
points="21.6099286 24.4473171 21.6099286 27.380939 15.4743125 27.380939 15.4743125 24.4473171" />
<path
d="M25.1956964,29.4035366 L25.1956964,16.9540854 C25.1956964,16.378861 25.0478548,15.9720976 24.7521714,15.7337951 C24.4564881,15.4954927 23.9061751,15.3393638 23.1012323,15.2654085 L23.1012323,14.6367793 L30.7891859,14.6367793 C33.7050871,14.6367793 35.9926145,15.3804553 37.651768,16.8678073 C39.3191267,18.3469504 40.1528061,20.3848813 40.1528061,22.9816 C40.1528061,25.5948114 39.3191267,27.7025837 37.651768,29.3049171 C35.9844093,30.8990976 33.7913623,31.6961878 31.072627,31.6961878 L23.1012323,31.6961878 L23.1012323,31.0675585 C23.8322355,31.0429074 24.3620171,30.8991013 24.690577,30.6361402 C25.027342,30.3731923 25.1957245,29.9623244 25.1957245,29.4035366 L25.1956964,29.4035366 Z M29.2737714,16.374878 L29.2737714,29.3541707 C29.2737714,29.9211675 29.3764382,30.3073898 29.5817718,30.5128378 C29.7871054,30.7100581 30.1731478,30.8086683 30.7398991,30.8086683 C32.3497659,30.8086683 33.585954,30.2293394 34.4484634,29.0706817 C34.8591492,28.503685 35.179476,27.7107085 35.4094436,26.6917524 C35.647635,25.6727963 35.7667307,24.5634671 35.7667307,23.3637646 C35.7667307,21.194285 35.4217606,19.4275858 34.7318204,18.0636671 C33.8776095,16.3462215 32.5552583,15.4874988 30.7647668,15.4874988 C29.7709194,15.4874988 29.2739957,15.7833293 29.2739957,16.3749902 L29.2737714,16.374878 Z"
id="Shape" />
<path
d="M46.4748036,20.0576829 L46.4748036,22.1284683 C47.0661889,21.2820683 47.6247164,20.6739801 48.1503861,20.3042037 C48.6842608,19.9344272 49.2633198,19.749539 49.887563,19.749539 C50.4789484,19.749539 50.9676576,19.9385411 51.3536907,20.3165451 C51.7397238,20.6863215 51.9327404,21.1547175 51.9327404,21.7217329 C51.9327404,22.2147744 51.7848987,22.6215378 51.4892154,22.9420232 C51.193532,23.2542809 50.8116015,23.4104098 50.3434237,23.4104098 C50.0148826,23.4104098 49.7397307,23.3446709 49.5179682,23.2131932 C49.2962057,23.0817136 49.0662287,22.8475156 48.8280373,22.5105993 C48.556988,22.1161586 48.3228992,21.9189383 48.1257707,21.9189383 C47.7068798,21.9189383 47.3454807,22.1572407 47.0415736,22.6338456 C46.7376664,23.1022415 46.5857129,23.6651338 46.5857129,24.3225224 L46.5857129,29.0927785 C46.5857129,29.8734322 46.6965941,30.3911285 46.9183566,30.6458676 C47.1483429,30.8923976 47.6493692,31.0403082 48.4214354,31.0895993 L48.4214354,31.6935737 L41.706879,31.6935737 L41.7068818,31.0895993 C42.2654093,30.990991 42.6309109,30.8430804 42.8033866,30.6458676 C42.9840843,30.4486472 43.0744331,30.0911936 43.0744331,29.5735066 L43.0744331,22.1532017 C43.0744331,21.6437237 42.9799808,21.28627 42.7910761,21.0808407 C42.6103766,20.8754115 42.2489776,20.7357192 41.706879,20.6617639 L41.706879,20.0577895 L46.4749129,20.0577895 L46.4748036,20.0576829 Z"
id="Shape" />
<path
d="M58.2021429,19.7519512 C59.8284386,19.7519512 61.1795731,20.3394984 62.2555464,21.5145927 C63.3397436,22.6814593 63.8818421,24.1482236 63.8818421,25.9148854 C63.8818421,27.673413 63.3397436,29.1361569 62.2555464,30.3031171 C61.1795731,31.4699837 59.8284386,32.0534171 58.2021429,32.0534171 C56.5512131,32.0534171 55.1877429,31.4699837 54.1117321,30.3031171 C53.0357588,29.1362504 52.4977721,27.6489171 52.4977721,25.8411171 C52.4977721,24.1236715 53.0480852,22.6814967 54.1487113,21.5145927 C55.2493373,20.3394984 56.6004718,19.7519512 58.2021148,19.7519512 L58.2021429,19.7519512 Z M58.2267862,20.5408232 C57.6929115,20.5408232 57.282235,20.7174931 56.9947568,21.0708329 C56.7155024,21.4159638 56.5142714,21.9952927 56.3910637,22.8088195 C56.2678599,23.6223463 56.2062579,24.7851553 56.2062579,26.2972463 C56.2062579,28.1461659 56.349997,29.4363163 56.6374752,30.1676976 C56.9331586,30.8990415 57.4547257,31.2647134 58.2021765,31.2647134 C58.9331797,31.2647134 59.4424204,30.8826049 59.7298986,30.1183878 C60.025582,29.3541707 60.1734236,28.0024065 60.1734236,26.0630951 C60.1734236,23.9923472 60.0296845,22.5542862 59.7422063,21.7489122 C59.4629519,20.943613 58.9578138,20.5409634 58.2267919,20.5409634 L58.2267862,20.5408232 Z"
id="Shape" />
<path
d="M69.7332321,20.0576829 L69.7332321,29.6472805 C69.7332321,30.1238854 69.8194747,30.4690163 69.9919597,30.6826732 C70.1644448,30.8881024 70.4724545,31.0236902 70.9159888,31.0894366 L70.9159888,31.693411 L64.891383,31.693411 L64.8913942,31.0894366 C65.4663506,30.9497406 65.8318522,30.7936117 65.987899,30.62105 C66.1439589,30.4402663 66.2219888,30.0910215 66.2219888,29.5733159 L66.2219888,22.153011 C66.2219888,21.6353053 66.1398526,21.2860606 65.9755801,21.1052768 C65.8113077,20.9244931 65.4499086,20.7765825 64.891383,20.6615451 L64.891383,20.0575707 L69.7334312,20.0575707 L69.7332321,20.0576829 Z M66.5792143,14.8313537 C66.9652474,14.4451407 67.4293132,14.2520341 67.9714118,14.2520341 C68.5135104,14.2520341 68.9693617,14.4451407 69.3389659,14.8313537 C69.7167939,15.2175667 69.9057079,15.6818488 69.9057079,16.2242 C69.9057079,16.7747602 69.7167939,17.2349378 69.3389659,17.6047329 C68.9693617,17.9745093 68.5052959,18.1593976 67.9467684,18.1593976 C67.3882409,18.1593976 66.9241751,17.9745093 66.5545709,17.6047329 C66.1849667,17.2349565 66.0001646,16.7665606 66.0001646,16.1995451 C66.0001646,15.6654215 66.1931812,15.2093577 66.5792143,14.8313537 Z"
id="Shape" />
<path
d="M80.0335536,32.0289024 L80.0335536,30.3895354 C79.4421682,31.0140508 78.9041815,31.4495736 78.4195936,31.6961037 C77.9349869,31.9344061 77.3559279,32.0535573 76.6824166,32.0535573 C75.360028,32.0535573 74.2676632,31.4947695 73.405322,30.3771939 C72.542906,29.2514093 72.111698,27.8298037 72.111698,26.1123768 C72.111698,24.2881028 72.5716613,22.7719728 73.4915879,21.5639866 C74.4115144,20.3560191 75.5655579,19.7520354 76.9537182,19.7520354 C77.5286746,19.7520354 78.0379154,19.8670821 78.4814404,20.0971756 C78.9249654,20.3272691 79.4177771,20.7340325 79.9598757,21.3174659 L79.9598757,16.6953073 C79.9598757,16.1200829 79.8489945,15.7502972 79.627232,15.58595 C79.4136746,15.421601 78.883893,15.3065542 78.0378873,15.2408098 L78.0378873,14.6368354 L83.4712087,14.6368354 L83.4712087,29.1447866 C83.4712087,29.6789102 83.5738755,30.0486959 83.7792091,30.2541439 C83.9927665,30.4595732 84.3870234,30.5787244 84.9619798,30.6115976 L84.9619798,31.1909171 L83.3972786,31.3881337 C82.1734636,31.5196133 81.0523154,31.7332702 80.0338339,32.0291044 L80.0335536,32.0289024 Z M79.9596318,28.8734146 L79.9596318,22.734939 C79.7789323,22.2583341 79.507883,21.8803301 79.1464839,21.6009268 C78.7933087,21.3133146 78.4072663,21.1695085 77.9883566,21.1695085 C77.2573534,21.1695085 76.7152548,21.5557309 76.3620609,22.3281756 C76.0170908,23.0923927 75.8446057,24.2880187 75.8446057,25.9150537 C75.8446057,27.5174431 76.0047738,28.7048415 76.3251098,29.4772488 C76.6454459,30.2496935 77.1423696,30.6359159 77.8158809,30.6359159 C78.3744084,30.6359159 78.90419,30.3483037 79.4052256,29.7730793 C79.553071,29.6087302 79.6803811,29.4361648 79.7871561,29.2553829 C79.9021474,29.0746011 79.959643,28.9472315 79.959643,28.8732744 L79.9596318,28.8734146 Z"
id="Shape" />
</g>
<path d="M40.46675,6.67476829 L37.3323571,10.7342683" id="Shape"
stroke="#769616"
stroke-width="1.84532927" fill="#8AB000" fill-rule="nonzero"
stroke-linecap="round" />
<path
d="M40.4527321,5.75 C40.7872823,5.75886341 41.014708,5.88950341 41.1763059,6.08111585 C39.6808809,7.85918415 39.428952,8.14166341 37.3875595,10.6732622 C36.6353612,11.6468354 35.8517911,11.1436683 36.6039893,10.1700951 L39.7395036,6.11031463 C39.9084496,5.88474354 40.1711695,5.75748902 40.4527882,5.7498878 L40.4527321,5.75 Z"
id="Shape" fill-opacity="0.29804" fill="#FFFFFF"
fill-rule="nonzero" />
<path
d="M41.1816607,6.09023171 C41.2730684,6.19940037 41.5956921,6.68413659 41.1982579,7.23888537 L38.0627436,11.2986659 C37.3105454,12.272239 37.2143829,10.8467159 37.2143829,10.8467159 C37.2143829,10.8467159 39.9695927,7.51788659 41.1817168,6.09020366 L41.1816607,6.09023171 Z"
id="Shape" fill-opacity="0.2" fill="#263238" fill-rule="nonzero" />
<path
d="M40.6545893,5.92334146 C40.9778691,5.92334146 41.3627714,6.02785963 41.2626839,6.51281463 C41.1862782,6.88305854 37.8241036,10.9964122 37.8241036,10.9964122 C37.0719054,11.9699854 35.9844561,11.4955963 36.7366543,10.5221634 L39.8606739,6.48257805 C40.0526737,6.26852098 40.3096379,5.93371951 40.6546454,5.92322927 L40.6545893,5.92334146 Z"
id="Shape" fill="#8AB000" fill-rule="nonzero" />
<path d="M8.87470536,6.67476829 L12.0105,10.7342683" id="Shape"
stroke="#769616"
stroke-width="1.84532927" fill="#8AB000" fill-rule="nonzero"
stroke-linecap="round" />
<path
d="M8.89124643,5.75 C8.55669625,5.75886341 8.32927054,5.88950341 8.16767268,6.08111585 C9.66309768,7.85918415 9.91502661,8.14166341 11.9564191,10.6732622 C12.7086173,11.6468354 13.4921875,11.1436683 12.7399893,10.1700951 L9.604475,6.11087561 C9.43552898,5.88530451 9.17280911,5.75805 8.89119036,5.75044878 L8.89124643,5.75 Z"
id="Shape" fill-opacity="0.29804" fill="#FFFFFF"
fill-rule="nonzero" />
<path
d="M8.16147679,6.09023171 C8.07006914,6.19940037 7.74744536,6.68413659 8.14487964,7.23888537 L11.2803939,11.2986659 C12.0325921,12.272239 12.1287546,10.8467159 12.1287546,10.8467159 C12.1287546,10.8467159 9.37354482,7.51788659 8.16142071,6.09020366 L8.16147679,6.09023171 Z"
id="Shape" fill-opacity="0.2" fill="#263238" fill-rule="nonzero" />
<path
d="M8.68966964,5.92334146 C8.36638982,5.92334146 7.9814875,6.02785963 8.081575,6.51281463 C8.15798073,6.88305854 11.5201554,10.9964122 11.5201554,10.9964122 C12.2723536,11.9699854 13.3598029,11.4955963 12.6076046,10.5221634 L9.483585,6.48257805 C9.29154036,6.26856585 9.03445286,5.93366341 8.68961357,5.92328537 L8.68966964,5.92334146 Z"
id="Shape" fill="#8AB000" fill-rule="nonzero" />
<rect id="Rectangle-path" fill="#AEEA00" fill-rule="nonzero" x="10.6535714"
y="9.25609756" width="28.0357143" height="9.53658537"
rx="2.21439512" />
<rect id="Rectangle-path" fill-opacity="0.2" fill="#263238"
fill-rule="nonzero"
x="10.6535714" y="11.4113659" width="28.0357143" height="7.38131707"
rx="2.21439512" />
<rect id="Rectangle-path" fill-opacity="0.29804" fill="#FFFFFF"
fill-rule="nonzero"
x="10.6535714" y="9.25806098" width="28.0357143" height="7.38131707"
rx="2.21439512" />
<rect id="Rectangle-path" fill="#AEEA00" fill-rule="nonzero" x="10.6535714"
y="10.098122" width="28.0357143" height="7.85421951"
rx="2.21439512" />
<rect id="Rectangle-path" fill="#1976D2" fill-rule="nonzero" x="10.6535714"
y="19.6341463" width="28.0357143" height="19.0731707"
rx="2.21439512" />
<rect id="Rectangle-path" fill-opacity="0.2" fill="#263238"
fill-rule="nonzero"
x="10.6535714" y="29.1118293" width="28.0357143" height="9.5954878"
rx="2.21439512" />
<rect id="Rectangle-path" fill-opacity="0.2" fill="#FFFFFF"
fill-rule="nonzero"
x="10.6535714" y="19.5752439" width="28.0357143" height="9.5954878"
rx="2.21439512" />
<rect id="Rectangle-path" fill="#1976D2" fill-rule="nonzero" x="10.6535714"
y="20.4756098" width="28.0357143" height="17.3902439"
rx="2.21439512" />
<path
d="M24.6714286,24.5735366 C22.5461252,24.5735366 20.7467089,26.0384683 20.2201982,28.0061463 L22.5906179,28.0061463 C22.9995748,27.2788415 23.767473,26.7879598 24.6714005,26.7879598 C26.0087882,26.7879598 27.0692111,27.8488768 27.0692111,29.1868598 C27.0692111,30.5248427 26.0087882,31.5857598 24.6714005,31.5857598 C23.7068318,31.5857598 22.8924223,31.0301695 22.5099311,30.2205134 L20.1827425,30.2205134 C20.6565741,32.2619878 22.49339,33.8000988 24.6715407,33.8000988 C27.2051002,33.8000988 29.2825746,31.7215439 29.2825746,29.1869159 C29.2825746,26.6521756 27.204988,24.5737329 24.6715407,24.5737329 L24.6714286,24.5735366 Z"
id="Shape" fill="#0D47A1" fill-rule="nonzero" />
<ellipse id="Oval" stroke="#0D47A1" stroke-width="1.40243902"
stroke-linecap="round"
cx="24.6714286" cy="29.187561" rx="7.04593571"
ry="7.04921951" />
<ellipse id="Oval" fill-opacity="0.2" fill="#263238" fill-rule="nonzero"
cx="17.5699821" cy="14.1480854" rx="2.49002"
ry="2.86013415" />
<ellipse id="Oval" fill="#FFFFFF" fill-rule="nonzero" cx="17.5699821"
cy="14.5172073" rx="2.49002" ry="2.49118049" />
<ellipse id="Oval" fill-opacity="0.2" fill="#263238" fill-rule="nonzero"
cx="31.9579107" cy="14.1480854" rx="2.49002"
ry="2.86013415" />
<ellipse id="Oval" fill="#FFFFFF" fill-rule="nonzero" cx="31.9579107"
cy="14.5172073" rx="2.49002" ry="2.49118049" />
<path
d="M8.89152679,5.74242683 C8.53321466,5.73295225 8.20186636,5.93202601 8.04184972,6.25291205 C7.88183308,6.57379808 7.92213189,6.95837436 8.14518804,7.23908171 L10.8014598,10.6784232 C10.7075486,10.9245568 10.6536163,11.19065 10.6536163,11.4705768 L10.6536163,16.5785402 C10.6536163,17.8053098 11.6406977,18.7928512 12.8668957,18.7928512 L36.4760511,18.7928512 C37.7022491,18.7928512 38.6893306,17.8052817 38.6893306,16.5785402 L38.6893306,11.4705768 C38.6893306,11.1904873 38.6360487,10.9241305 38.5420337,10.6778622 L41.1977728,7.23908171 C41.4136365,6.96742572 41.4588967,6.59756916 41.3149131,6.28183678 C41.1709296,5.96610439 40.8620538,5.75789519 40.5154957,5.74295976 C40.2117646,5.72988939 39.9211038,5.86740249 39.7384859,6.11056707 L37.2114307,9.3827378 C36.9843414,9.30055488 36.7376271,9.25483537 36.4796986,9.25483537 L12.8705432,9.25483537 C12.6122305,9.25483537 12.3657882,9.30072317 12.1356991,9.38138305 L9.60687766,6.10921232 C9.43781797,5.88409848 9.17527379,5.74853032 8.89392945,5.74107207 L8.89152679,5.74242683 Z M12.8669911,19.6341463 C11.640793,19.6341463 10.6537116,20.6216878 10.6537116,21.8484573 L10.6537116,36.4930061 C10.6537116,37.7197756 11.640793,38.7073171 12.8669911,38.7073171 L36.4761464,38.7073171 C37.7023445,38.7073171 38.6894259,37.7197756 38.6894259,36.4930061 L38.6894259,21.8484573 C38.6922295,20.6232866 37.7053723,19.635689 36.4802116,19.635689 L12.8710562,19.635689 L12.8669911,19.6341463 Z"
id="Shape" fill="url(#radialGradient-1)" fill-rule="nonzero" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@@ -0,0 +1,6 @@
<svg width="42" height="50" viewBox="0 0 42 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.04021 42.174C1.04021 45.944 4.27657 49 8.26822 49C12.2603 49 15.4962 45.944 15.4962 42.174V35.2587L22.8119 35.2518C23.2234 35.2518 23.6386 35.2385 24.0415 35.2122C33.5209 34.6096 40.9465 27.1046 40.9465 18.1261C40.9465 8.68273 32.8114 1 22.8119 1H8.26822C4.27657 1 1.04021 4.05637 1.04021 7.82645V27.7141C1.01327 27.9548 0.999582 28.1987 1.00001 28.4459C1.00001 28.6887 1.01412 28.9286 1.04021 29.1645V42.174ZM15.4963 21.6066V14.6525H22.812C24.8405 14.6525 26.4901 16.2103 26.4901 18.1261C26.4901 19.9469 24.9881 21.4692 23.0665 21.5916C22.9822 21.5969 22.8975 21.5993 22.8047 21.5993L15.4963 21.6066Z" fill="#A2DDEF"/>
<path d="M15.4963 14.6525V14.0405H14.8844V14.6525H15.4963ZM15.4963 21.6066H14.8844V22.2191L15.4969 22.2185L15.4963 21.6066ZM22.8047 21.5993V20.9874H22.8041L22.8047 21.5993ZM23.0665 21.5916L23.1045 22.2024L23.1053 22.2023L23.0665 21.5916ZM1.04021 29.1645H1.65214V29.1308L1.64843 29.0972L1.04021 29.1645ZM1.00001 28.4459H1.61194L1.61193 28.4449L1.00001 28.4459ZM1.04021 27.7141L1.64834 27.7821L1.65214 27.7482V27.7141H1.04021ZM24.0415 35.2122L24.0027 34.6015L24.0017 34.6016L24.0415 35.2122ZM22.8119 35.2518V34.6399H22.8113L22.8119 35.2518ZM15.4962 35.2587L15.4957 34.6467L14.8843 34.6473V35.2587H15.4962ZM14.8844 14.6525V21.6066H16.1082V14.6525H14.8844ZM15.4969 22.2185L22.8053 22.2112L22.8041 20.9874L15.4957 20.9946L15.4969 22.2185ZM22.8047 22.2112C22.9085 22.2112 23.006 22.2085 23.1045 22.2024L23.0284 20.9809C22.9584 20.9852 22.8865 20.9874 22.8047 20.9874V22.2112ZM23.1053 22.2023C25.3203 22.0612 27.1021 20.2979 27.1021 18.1261H25.8782C25.8782 19.5959 24.6559 20.8772 23.0276 20.9809L23.1053 22.2023ZM27.1021 18.1261C27.1021 15.8399 25.145 14.0405 22.812 14.0405V15.2644C24.536 15.2644 25.8782 16.5808 25.8782 18.1261H27.1021ZM22.812 14.0405H15.4963V15.2644H22.812V14.0405ZM8.26822 48.3881C4.58104 48.3881 1.65214 45.5735 1.65214 42.174H0.428288C0.428288 46.3145 3.97209 49.6119 8.26822 49.6119V48.3881ZM1.65214 42.174V29.1645H0.428288V42.174H1.65214ZM1.64843 29.0972C1.62467 28.8824 1.61193 28.665 1.61193 28.4459H0.388085C0.388085 28.7124 0.403576 28.9748 0.431997 29.2318L1.64843 29.0972ZM1.61193 28.4449C1.61155 28.221 1.62394 28.0001 1.64834 27.7821L0.432085 27.646C0.402599 27.9094 0.387617 28.1765 0.388085 28.447L1.61193 28.4449ZM1.65214 27.7141V7.82645H0.428288V27.7141H1.65214ZM1.65214 7.82645C1.65214 4.42682 4.58109 1.61193 8.26822 1.61193V0.388075C3.97204 0.388075 0.428288 3.68592 0.428288 7.82645H1.65214ZM8.26822 1.61193H22.8119V0.388075H8.26822V1.61193ZM22.8119 1.61193C32.5069 1.61193 40.3346 9.05321 40.3346 18.1261H41.5584C41.5584 8.31226 33.1159 0.388075 22.8119 0.388075V1.61193ZM40.3346 18.1261C40.3346 26.7525 33.1898 34.0175 24.0027 34.6015L24.0804 35.8229C33.8521 35.2017 41.5584 27.4566 41.5584 18.1261H40.3346ZM24.0017 34.6016C23.6124 34.6269 23.2104 34.6399 22.8119 34.6399V35.8637C23.2363 35.8637 23.6649 35.85 24.0813 35.8228L24.0017 34.6016ZM22.8113 34.6399L15.4957 34.6467L15.4968 35.8706L22.8125 35.8637L22.8113 34.6399ZM14.8843 35.2587V42.174H16.1082V35.2587H14.8843ZM14.8843 42.174C14.8843 45.5736 11.9558 48.3881 8.26822 48.3881V49.6119C12.5648 49.6119 16.1082 46.3145 16.1082 42.174H14.8843Z" fill="#368BD6"/>
<path d="M8.26823 42.174V7.82642H22.8119C28.8351 7.82642 33.7181 12.4378 33.7181 18.1261C33.7181 23.5784 29.232 28.0412 23.5561 28.4019C23.3098 28.4176 23.0621 28.4257 22.8119 28.4257L8.22803 28.4395" stroke="#368BD6" stroke-width="1.22385" stroke-linecap="round"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.4227 9.0113C15.758 7.21673 15.3325 5.4048 14.2243 3.91155C11.9366 0.828522 7.41753 0.0768486 4.15037 2.23574C2.56747 3.28105 1.51106 4.84579 1.17575 6.64116C0.84001 8.43653 1.26557 10.2481 2.37372 11.7413C4.66146 14.8243 9.18092 15.576 12.4481 13.4171C14.0306 12.3714 15.087 10.8071 15.4227 9.0113ZM27.852 46.0868C29.2587 47.9824 31.4998 48.9962 33.7777 48.9962C35.21 48.9962 36.6569 48.5951 37.9195 47.7594C41.1883 45.5965 41.9817 41.3397 39.6905 38.2522L29.4751 24.4846C27.1843 21.3972 22.6769 20.6475 19.408 22.8121C16.1392 24.975 15.3458 29.2318 17.6365 32.3192L27.852 46.0868Z" fill="#368BD6"/>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 802 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -96,19 +96,10 @@ h1::after {
color: #2e2f32 !important;
}
.mx_ButtonHeadline {
margin-bottom: 14px;
}
.mx_ButtonLabel {
margin-left: 20px;
}
.mx_ButtonWrapperText {
font-size: 13px;
margin-bottom: 10px;
}
.mx_Header_title {
font-size: 24px;
font-weight: 600;
@@ -158,6 +149,23 @@ we don't have an account and should hide them. No account == no guest account ei
display: none;
}
.mx_ButtonRow.mx_WelcomePage_guestFunctions {
margin-top: 20px;
}
.mx_ButtonRow.mx_WelcomePage_guestFunctions > div {
margin: 0 auto;
}
@media only screen and (max-width: 480px) {
.mx_ButtonRow {
flex-direction: column;
}
.mx_ButtonRow > * {
margin: 0 0 10px 0;
}
}
</style>
<div class="mx_Parent">
@@ -182,15 +190,8 @@ we don't have an account and should hide them. No account == no guest account ei
<!-- BEGIN Ansible: Remove these lines when guest access is disabled -->
<div class="mx_ButtonRow mx_WelcomePage_guestFunctions">
<div>
<div class="mx_ButtonWrapperText">_t("Need help?")</div>
<a href="#/user/@riot-bot:matrix.org?action=chat" class="mx_ButtonParent mx_SecondaryButton mx_Button_iconHelp">
<div class="mx_ButtonLabel">_t("Chat with Riot Bot")</div>
</a>
</div>
<div>
<div class="mx_ButtonWrapperText">_t("Explore rooms")</div>
<a href="#/directory" class="mx_ButtonParent mx_SecondaryButton mx_Button_iconRoomDirectory">
<div class="mx_ButtonLabel">_t("Room Directory")</div>
<div class="mx_ButtonLabel">_t("Explore rooms")</div>
</a>
</div>
</div>

View File

@@ -5,7 +5,7 @@ You probably do not want to build with this config unless you're building the
official riot.im distribution, but these files may be useful if you want to
inspect the configuration used there.
Riot Desktop uses a separate config (see electron_app/riot.im/config.json).
Riot Desktop uses a separate config (see https://github.com/vector-im/riot-desktop/tree/develop/riot.im).
Deployment scripts (such as app/deploy.py) are meant to be run on the web server
hosting the Riot installation.

View File

@@ -10,11 +10,10 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"hosting_signup_link": "https://modular.im/?utm_source=riot-web&utm_medium=web",
"hosting_signup_link": "https://modular.im/services/matrix-hosting-riot?utm_source=riot-web&utm_medium=web",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"features": {
},
"welcomeUserId": "@riot-bot:matrix.org",
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1,

Some files were not shown because too many files have changed in this diff Show More