Compare commits

...

547 Commits

Author SHA1 Message Date
J. Ryan Stinnett 7e3527ff9c
Merge pull request from mattcen/fix-arm-docker-build
Fix arm docker build
2020-07-31 13:29:11 +01:00
Matt Cengia 86185e8186 Document packages for installing Canvas via Docker
Signed-off-by: Matt Cengia <mattcen@mattcen.com>
2020-07-31 22:27:16 +10:00
J. Ryan Stinnett 66ca5f3c47
Merge pull request from robintown/add-lojban
Make Lojban translation available
2020-07-31 12:52:48 +01:00
J. Ryan Stinnett 2d504f12d5
Merge pull request from RiotTranslateBot/weblate-element-web-element-web
Update from Weblate
2020-07-31 12:52:05 +01:00
Weblate cde8fcde8f Merge branch 'origin/develop' into Weblate. 2020-07-31 10:42:57 +00:00
strix aluco 0f9dff6a15 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/uk/
2020-07-31 10:42:56 +00:00
J. Ryan Stinnett 703179be22
Merge pull request from vector-im/jryans/cleanup-lint-deps
Remove redundant lint dependencies
2020-07-31 11:42:49 +01:00
Weblate 2309457522 Merge branch 'origin/develop' into Weblate. 2020-07-30 21:22:17 +00:00
Gustavo Domínguez afc863f315 Translated using Weblate (Spanish)
Currently translated at 97.0% (32 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/es/
2020-07-30 21:22:17 +00:00
HelaBasa b72fab29e7 Translated using Weblate (Sinhala)
Currently translated at 3.0% (1 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/si/
2020-07-30 21:22:17 +00:00
Marcelo Filho bb9b6f8a22 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-30 21:22:17 +00:00
Christopher May-Townsend d4b0487373 Translated using Weblate (Icelandic)
Currently translated at 57.6% (19 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/is/
2020-07-30 21:22:17 +00:00
Txopi 3aa9c58200 Translated using Weblate (Basque)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/eu/
2020-07-30 21:22:17 +00:00
Travis Ralston 9d6adbc3c3
Merge pull request from vector-im/dependabot/npm_and_yarn/elliptic-6.5.3
Bump elliptic from 6.5.2 to 6.5.3
2020-07-30 15:22:10 -06:00
HelaBasa 288c4098aa Added translation using Weblate (Sinhala) 2020-07-30 20:00:51 +00:00
dependabot[bot] 6f688102e7
Bump elliptic from 6.5.2 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-30 12:58:42 +00:00
Weblate 1b1247e224 Merge branch 'origin/develop' into Weblate. 2020-07-30 12:52:57 +00:00
Christopher May-Townsend 008939cff7 Translated using Weblate (Icelandic)
Currently translated at 33.3% (11 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/is/
2020-07-30 12:52:57 +00:00
Bruno Windels 963dee62fd
Merge pull request from vector-im/bwindels/mobile-config-url
Update mobile config intercept URL
2020-07-30 12:52:50 +00:00
J. Ryan Stinnett 269e82edc9 Remove redundant lint dependencies
These are no longer needed with the new standard lint repo.
2020-07-29 12:05:50 +01:00
Marcelo Filho 07dba2b6e0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-29 05:41:04 +00:00
Szimszon b061d8238e Translated using Weblate (Hungarian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/hu/
2020-07-29 05:41:03 +00:00
Bruno Windels 6a52758cc7 update mobile config intercept url 2020-07-28 17:38:50 +02:00
Travis Ralston d14d881780
Merge pull request from resynth1943/patch-1
Fix typo in https://
2020-07-28 08:05:35 -06:00
Michael (a.k.a. Resynth) de6d72fe3e
Fix typo in https://
See [this comment[(https://github.com/vector-im/riot-web/pull/14581#discussion_r461553693).
2020-07-28 13:59:01 +00:00
RiotRobot f4e6828949 Reset matrix-react-sdk back to develop branch 2020-07-27 21:39:12 +01:00
RiotRobot b799a6eb84 Reset matrix-js-sdk back to develop branch 2020-07-27 21:39:01 +01:00
RiotRobot 788a6f0527 v1.7.2 2020-07-27 21:35:05 +01:00
RiotRobot 2b4b38d4ca Prepare changelog for v1.7.2 2020-07-27 21:35:05 +01:00
RiotRobot 36802afe92 Upgrade matrix-react-sdk to 3.0.0 2020-07-27 21:30:30 +01:00
RiotRobot c20776a264 Upgrade matrix-js-sdk to 8.0.0 2020-07-27 21:30:13 +01:00
J. Ryan Stinnett 7cc67372b6
Merge pull request from RiotTranslateBot/weblate-element-web-element-web
Update from Weblate
2020-07-27 18:30:27 +01:00
Олег Корапарара 02718fd730 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/uk/
2020-07-27 17:23:42 +00:00
Serge Tarkovski 4ad9e9ae6f Translated using Weblate (Ukrainian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/uk/
2020-07-27 17:23:42 +00:00
Jarshvor 5e2d7ac4bd Translated using Weblate (Spanish)
Currently translated at 87.9% (29 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/es/
2020-07-27 17:23:41 +00:00
rkfg 6613016970 Translated using Weblate (Russian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/ru/
2020-07-27 17:23:41 +00:00
Marcelo Filho 79b6974bd1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-27 17:23:41 +00:00
Danial Behzadi 21b6a32263 Translated using Weblate (Persian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/fa/
2020-07-27 17:23:41 +00:00
Nils Haugen b3da4dd75a Translated using Weblate (Norwegian Nynorsk)
Currently translated at 57.6% (19 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/nn/
2020-07-27 17:23:41 +00:00
Robin Townsend 79d0990c38 Translated using Weblate (Lojban)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/jbo/
2020-07-27 17:23:41 +00:00
random f452e8216b Translated using Weblate (Italian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/it/
2020-07-27 17:23:40 +00:00
Tirifto cabccf67fa Translated using Weblate (Esperanto)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/eo/
2020-07-27 17:23:40 +00:00
daniel tygel addb01ad0f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-27 15:26:34 +00:00
Marcelo Filho 8f0cf3c62a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-27 15:26:34 +00:00
W. O. Wutzke 3702eb2c2a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-27 15:24:48 +00:00
Олег Корапарара ec77b20729 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/uk/
2020-07-26 12:27:12 +00:00
Weblate 122ef6e9da Merge branch 'origin/develop' into Weblate. 2020-07-25 01:25:32 +00:00
Yuriy Bulka a978ed7d20 Translated using Weblate (Ukrainian)
Currently translated at 60.6% (20 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/uk/
2020-07-25 01:25:32 +00:00
Eduardo F 2171c90888 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-25 01:25:32 +00:00
jadiof 6c79cd37af Translated using Weblate (German)
Currently translated at 97.0% (32 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/de/
2020-07-25 01:25:31 +00:00
XoseM 0de91afd3d Translated using Weblate (Galician)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/gl/
2020-07-25 01:25:31 +00:00
Tuomas Hietala 9103bacaaf Translated using Weblate (Finnish)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/fi/
2020-07-25 01:25:31 +00:00
Priit Jõerüüt 897a73793f Translated using Weblate (Estonian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/et/
2020-07-25 01:25:31 +00:00
Jeff Huang 8e777ecc26 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/zh_Hant/
2020-07-25 01:25:31 +00:00
Easton Man a47b9eb27c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/zh_Hans/
2020-07-25 01:25:31 +00:00
Besnik Bleta 887de50f5a Translated using Weblate (Albanian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/sq/
2020-07-25 01:25:31 +00:00
Matthew Hodgson f21352f558 spell Matrix correctly 2020-07-25 02:25:19 +01:00
W. O. Wutzke a8f5fc611c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-24 00:32:14 +00:00
Eduardo F 43560816f4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-24 00:32:14 +00:00
W. O. Wutzke 6e1df78942 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-24 00:31:08 +00:00
Eduardo F 9571ceb642 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-24 00:31:08 +00:00
Weblate cca49792fc Merge branch 'origin/develop' into Weblate. 2020-07-23 22:15:06 +00:00
rkfg 1933b9094e Translated using Weblate (Russian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/ru/
2020-07-23 22:15:06 +00:00
daniel tygel 3519cd7191 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/pt_BR/
2020-07-23 22:15:06 +00:00
Shogo Takata 3efb466674 Translated using Weblate (Japanese)
Currently translated at 97.0% (32 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/ja/
2020-07-23 22:15:06 +00:00
Tirifto a9720a5b7f Translated using Weblate (Czech)
Currently translated at 87.9% (29 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/cs/
2020-07-23 22:15:06 +00:00
Travis Ralston 264bce7ca9 Merge branch 'tmp1' into develop 2020-07-23 16:14:53 -06:00
Travis Ralston 0ada7b5d26 Update i18n 2020-07-23 16:14:37 -06:00
Robin Townsend 5393f875ce Make Lojban translation available
Signed-off-by: Robin Townsend <robintown@tcakoi.dev>
2020-07-22 15:28:59 +00:00
Weblate cf88ddbbce Merge branch 'origin/develop' into Weblate. 2020-07-21 20:47:07 +00:00
Dmytro Kyrychuk dc7549c0db Translated using Weblate (Ukrainian)
Currently translated at 63.6% (21 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/uk/
2020-07-21 20:47:07 +00:00
Travis Ralston ae8ba13ab1
Merge pull request from vector-im/joriks/eslint-config
Configure eslint package and fix lint issues
2020-07-21 14:47:01 -06:00
Robin Townsend d94a0264b2 Translated using Weblate (Lojban)
Currently translated at 69.7% (23 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/jbo/
2020-07-21 20:29:43 +00:00
Jorik Schellekens 9bb1f99bd9 Confiure eslint package and fix lint issues 2020-07-21 11:30:28 +01:00
Weblate 0059c3ceb9 Merge branch 'origin/develop' into Weblate. 2020-07-21 09:46:38 +00:00
Robin Townsend 2da4ce2ab4 Translated using Weblate (Lojban)
Currently translated at 69.7% (23 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/jbo/
2020-07-21 09:46:38 +00:00
ziriSut f050349ce6 Translated using Weblate (Kabyle)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/kab/
2020-07-21 09:46:37 +00:00
J. Ryan Stinnett 6c50aa14ad
Merge pull request from resynth1943/resynth1943-patch-riot-to-element
Riot → Element
2020-07-21 10:46:31 +01:00
J. Ryan Stinnett 37b75eaf31
Merge branch 'develop' into resynth1943-patch-riot-to-element 2020-07-21 10:20:02 +01:00
TheEvilSkeleton 3e37f21edf
Revert "[matrix]" to "Matrix" 2020-07-20 12:42:35 -04:00
Weblate 16f8b7ae29 Merge branch 'origin/develop' into Weblate. 2020-07-20 12:46:27 +00:00
vejetaryenvampir 914b6cd42c Translated using Weblate (Turkish)
Currently translated at 81.8% (27 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/tr/
2020-07-20 12:46:27 +00:00
Марко М. Костић f2bdb41dd8 Translated using Weblate (Serbian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/sr/
2020-07-20 12:46:27 +00:00
avvalcode 088f2852f6 Translated using Weblate (Persian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/fa/
2020-07-20 12:46:27 +00:00
Kevin Scruff bcf4ed0f0a Translated using Weblate (Persian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/fa/
2020-07-20 12:46:26 +00:00
MamasLT ebed5e7bcf Translated using Weblate (Lithuanian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/lt/
2020-07-20 12:46:26 +00:00
Txopi 40361d2e36 Translated using Weblate (Basque)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/eu/
2020-07-20 12:46:26 +00:00
aalzehla 2e50f7eea7 Translated using Weblate (Arabic)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/ar/
2020-07-20 12:46:26 +00:00
Travis Ralston 223e55de44
Merge pull request from vector-im/travis/room-list/rm-old
Remove labs info for the new room list
2020-07-20 06:46:19 -06:00
aalzehla f7136d19b9 Translated using Weblate (Arabic)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/ar/
2020-07-18 15:57:32 +00:00
Resynth 622ea3ead6
Update labs.md 2020-07-18 11:07:59 +00:00
Resynth 7598942800
Update labs.md 2020-07-18 11:07:33 +00:00
Travis Ralston ef16ef4272 Remove labs info for the new room list 2020-07-17 16:27:03 -06:00
Weblate 395c5ddab2 Merge branch 'origin/develop' into Weblate. 2020-07-17 15:45:14 +00:00
Cavefishy 5a18e60c05 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/zh_Hant/
2020-07-17 15:45:14 +00:00
Cavefishy 9a0944bf6f Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/zh_Hans/
2020-07-17 15:45:14 +00:00
J. Ryan Stinnett f254a806d5
Merge pull request from vector-im/jryans/dev-mode-react
Convince Webpack to use development on CI
2020-07-17 16:45:07 +01:00
J. Ryan Stinnett 3f0de699f0 Clean up comments around Webpack modes 2020-07-17 14:57:48 +01:00
J. Ryan Stinnett 869c379264 Remove webpack -p option
This option is redundant, as it means the same as `--mode production`, and it
prevents us from tweaking the mode via `CI_PACKAGE`.
2020-07-17 14:55:01 +01:00
J. Ryan Stinnett 8ae4298637 Webpack modes also manage NODE_ENV
We don't need to manually define `NODE_ENV` in the Webpack config, nor do we
need to set it outside Webpack with `cross-env` either, as Webpack's modes will
take care of this for us.
2020-07-17 14:18:08 +01:00
Resynth eac628ddcf Update README.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:55 +01:00
Resynth 050b7fe4df Update scripts/docker-link-repos.sh
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:55 +01:00
Resynth 79f70e00d0 Update scripts/ci_package.sh
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:55 +01:00
Resynth 8947f160b8 Update release.sh
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:55 +01:00
Resynth b1cf1a2d1a Update docs/translating.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:55 +01:00
Resynth a8a6c538fa Update docs/skinning thoughts.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:55 +01:00
Resynth 9be8c1c8b0 Update docs/skinning thoughts.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:55 +01:00
Resynth 6b317798dc Update docs/review.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:55 +01:00
resynth1943 9fa8b7a9b3 Update docs/labs.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:44 +01:00
Resynth d9c2b34249 Update README.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-17 13:04:03 +01:00
Resynth e367690e4b Update release.sh 2020-07-17 13:04:03 +01:00
Resynth 2f7b43dcfa Update docker-link-repos.sh 2020-07-17 13:04:03 +01:00
Resynth 2c83458f35 Update ci_package.sh 2020-07-17 13:04:03 +01:00
Resynth dde3f93822 Update translating.md 2020-07-17 13:04:03 +01:00
Resynth ffd802f726 Update translating-dev.md 2020-07-17 13:04:03 +01:00
Resynth 55ea61b36c Update theming.md 2020-07-17 13:04:03 +01:00
Resynth 44c15df58e Update skinning thoughts.md 2020-07-17 13:04:03 +01:00
Resynth 17649dc2b1 Update review.md 2020-07-17 13:04:03 +01:00
Resynth 5d8b246ef1 Update native-node-modules.md 2020-07-17 13:04:03 +01:00
Resynth 0f159c5d77 Update memory-profiles-and-leaks.md 2020-07-17 13:04:03 +01:00
Resynth f2b9bd4c49 Update labs.md 2020-07-17 13:04:03 +01:00
Resynth bbd1974eb4 Update jitsi-dev.md 2020-07-17 13:04:03 +01:00
Resynth 6f04841e4b Update e2ee.md 2020-07-17 13:04:03 +01:00
Resynth 7c4cef614e Update config.md 2020-07-17 13:04:03 +01:00
Resynth f8ed536bb8 Update jitsi.md 2020-07-17 13:04:03 +01:00
Resynth 2657df8f3f Change Riot to Element 2020-07-17 13:04:03 +01:00
Resynth 9687575c86 Change Riot → Element in docs/feature-flags.md 2020-07-17 13:04:03 +01:00
yuuki-san d42e7e9122 Translated using Weblate (Slovak)
Currently translated at 97.0% (32 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/sk/
2020-07-17 11:47:30 +00:00
rkfg ae359cae41 Translated using Weblate (Russian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/ru/
2020-07-17 11:47:29 +00:00
random aa9420dbcc Translated using Weblate (Italian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/it/
2020-07-17 11:47:29 +00:00
Szimszon 9c2e45a9f9 Translated using Weblate (Hungarian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/hu/
2020-07-17 11:47:29 +00:00
jadiof 4a2d7b29b7 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/de/
2020-07-17 11:47:29 +00:00
Mo 9b7cae01e4 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/de/
2020-07-17 11:47:29 +00:00
XoseM 64d4bf52c4 Translated using Weblate (Galician)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/gl/
2020-07-17 11:47:29 +00:00
Salamandar 38da4da8dd Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/fr/
2020-07-17 11:47:28 +00:00
Priit Jõerüüt 9cce879d4c Translated using Weblate (Estonian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/et/
2020-07-17 11:47:28 +00:00
Tirifto e12724a95a Translated using Weblate (Esperanto)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/eo/
2020-07-17 11:47:28 +00:00
Slavi Pantaleev 2ee5014b0b Translated using Weblate (Bulgarian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/bg/
2020-07-17 11:47:28 +00:00
Besnik Bleta 72970aa4fd Translated using Weblate (Albanian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.riot.im/projects/element-web/element-web/sq/
2020-07-17 11:47:28 +00:00
Michael Telatynski 398033e7ce
Merge pull request from vector-im/t3chguy/devdep
Move dev dep to the right place
2020-07-17 12:11:32 +01:00
Michael Telatynski d328cab538 Move dev dep to the right place
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 10:36:38 +01:00
TheEvilSkeleton 96f0d3a04e
Capitalize and fix [matrix] 2020-07-16 23:54:10 -04:00
Travis Ralston da7550e0a4
Merge pull request from vector-im/dependabot/npm_and_yarn/lodash-4.17.19
Bump lodash from 4.17.15 to 4.17.19
2020-07-16 15:10:26 -06:00
dependabot[bot] eaebafc29a
Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-16 19:40:00 +00:00
J. Ryan Stinnett c412406956
Merge pull request from vector-im/jryans/update-mobile-apps
Update all mobile links to match marketing site
2020-07-16 16:21:17 +01:00
RiotRobot dbd82c7425 Reset matrix-react-sdk back to develop branch 2020-07-16 16:20:02 +01:00
RiotRobot da5008bab1 Reset matrix-js-sdk back to develop branch 2020-07-16 16:19:49 +01:00
RiotRobot 9c9da4345b v1.7.1 2020-07-16 16:15:39 +01:00
RiotRobot eed6a01efa Prepare changelog for v1.7.1 2020-07-16 16:15:38 +01:00
RiotRobot 0159699d1b Upgrade matrix-react-sdk to 2.10.1 2020-07-16 16:13:15 +01:00
RiotRobot 1262a1ef08 Upgrade matrix-js-sdk to 7.1.0 2020-07-16 16:12:35 +01:00
Travis Ralston 8e67450477
Merge pull request from vector-im/travis/fix-sso2
Fix SSO session ID paramater
2020-07-16 08:13:58 -06:00
Travis Ralston b2d4432ba9 Fix SSO session ID paramater 2020-07-16 08:11:04 -06:00
J. Ryan Stinnett 503ea3d973 Update all mobile links to match marketing site 2020-07-16 14:42:20 +01:00
J. Ryan Stinnett efa603939b
Merge pull request from jaller94/j94/pngcrush
Run pngcrush on vector-icons
2020-07-16 14:06:25 +01:00
David Baker a1c06c5a0e
Merge pull request from vector-im/dbkr/hostinglink
Fix hosting signup link
2020-07-16 09:30:19 +01:00
Matt Cengia fb79373a6d Bump node build version
When trying to build the Docker image, I kept receiving an out-of-memory
error from Webpack. This issue is apparently explained at
https://github.com/webpack/webpack/issues/1914.
Several comments in the issue suggested using Node 12 or above. Doing so
resolved this issue for me.

Signed-off-by: Matt Cengia <mattcen@mattcen.com>
2020-07-16 16:21:00 +10:00
Matt Cengia 846cebe9ff Add build dependencies for 'canvas' to Dockerfile
When building the Docker image on amd64, canvas can be installed
from a pre-built binary. When building on an another architecture,
however, such as arm (e.g. on a Raspberry Pi), these binaries need to be
built locally, as per https://www.npmjs.com/package/canvas#compiling.
These added dependencies facilitate this. See also, issue .

Signed-off-by: Matt Cengia <mattcen@mattcen.com>
2020-07-16 16:21:00 +10:00
Travis Ralston 8eac445ddc
Merge pull request from vector-im/travis/fix-sso
Use the right protocol for SSO URLs
2020-07-15 19:48:17 -06:00
Travis Ralston 1b60743910 Use the right protocol for SSO URLs 2020-07-15 17:05:17 -06:00
David Baker 1a49459b81 Apparently we have changed this 2020-07-15 20:04:17 +01:00
David Baker 62d1e4937c Fix hosting signup link
Fixes https://github.com/vector-im/riot-web/issues/14500
2020-07-15 19:58:34 +01:00
J. Ryan Stinnett 636529bb36
Merge pull request from jaller94/j94/fix-mstile-310-150
Fix mstile-310x150 by renaming it
2020-07-15 16:54:32 +01:00
Christian Paul 37126b3f76 Run pngcrush on vector-icons 2020-07-15 16:58:17 +02:00
Christian Paul 16726c7e16 Add pixels left and right for mstile-310x150.png to be 310x150 2020-07-15 16:54:01 +02:00
David Baker bfc62e04f0
Merge pull request from vector-im/hs/blog-and-twitter-links
Update blog and twitter links to point to Element
2020-07-15 15:01:53 +01:00
Christian Paul 2bcadfab83 Fix mstile-310x150 by renaming it 2020-07-15 15:52:29 +02:00
Will Hunt d04e0f441d
Update blog and twitter links 2020-07-15 13:23:51 +01:00
RiotRobot 7c17272c83 Reset matrix-react-sdk back to develop branch 2020-07-15 12:14:38 +01:00
RiotRobot 6886dbcbd4 Reset matrix-js-sdk back to develop branch 2020-07-15 12:14:27 +01:00
RiotRobot 15203bb32b v1.7.0 2020-07-15 12:10:02 +01:00
RiotRobot c8b8efd47a Prepare changelog for v1.7.0 2020-07-15 12:10:02 +01:00
RiotRobot e5398f4345 Upgrade matrix-react-sdk to 2.10.0 2020-07-15 12:05:47 +01:00
RiotRobot e077bea046 Upgrade matrix-js-sdk to 7.1.0 2020-07-15 12:05:31 +01:00
Travis Ralston cd18764287 Fix sample config brand 2020-07-15 04:26:26 -06:00
J. Ryan Stinnett b720c8a138 Merge remote-tracking branch 'origin/develop' into element 2020-07-15 10:35:45 +01:00
Michael Telatynski 989c4a3acc
Merge pull request from vector-im/t3chguy/clean-up
Remove redundant enum
2020-07-15 09:58:12 +01:00
Michael Telatynski 18aab5f655 Remove redundant enum
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-15 09:46:39 +01:00
J. Ryan Stinnett 4ec679aaed Merge branch 'jryans/restore-device-name' into 'element'
Restore device name

See merge request new-vector/element/element-web/element-web!11
2020-07-15 08:41:47 +00:00
J. Ryan Stinnett 715a4f8dac Restore device name 2020-07-15 09:38:55 +01:00
Travis Ralston 970859629b Merge branch 'develop' into element 2020-07-14 15:04:48 -06:00
Jorik Schellekens 219a190e96
Merge pull request from vector-im/joriks/delabs-font-scaling
Remove font scaling from labs
2020-07-14 22:01:22 +01:00
J. Ryan Stinnett 1d90820b10 Merge branch 'jryans/device-name' into 'element'
Use a safe but sane device name

See merge request new-vector/element/element-web/element-web!10
2020-07-14 20:56:11 +00:00
J. Ryan Stinnett 0fa2941188 Use a safe but sane device name 2020-07-14 21:54:44 +01:00
Jorik Schellekens f5209c0d7e Merge branch 'develop' of github.com:vector-im/riot-web into joriks/delabs-font-scaling 2020-07-14 21:51:41 +01:00
Matthew Hodgson 225d2ad931 new wallpaper 2020-07-14 21:44:26 +01:00
J. Ryan Stinnett f70f3c7796 Merge branch 'bwindels/polish' into 'element'
update accent color

See merge request new-vector/element/element-web/element-web!9
2020-07-14 19:35:46 +00:00
J. Ryan Stinnett f23e017463 Merge branch 'nadonomy/reskin-static' into 'element'
Reskin static pages to look less riotous

See merge request new-vector/element/element-web/element-web!8
2020-07-14 18:54:33 +00:00
Nad Chishtie 80d389dfb4 Reskin static pages to look less riotous 2020-07-14 19:52:39 +01:00
Bruno Windels f1d144a159 update accent color 2020-07-14 20:37:05 +02:00
Bruno Windels 00273d01b1 Merge branch 'bwindels/restyle-blurry-login-box' into 'element'
style blurry login box

See merge request new-vector/element/element-web/element-web!7
2020-07-14 18:22:41 +00:00
Bruno Windels cb0184398a style blurry login box 2020-07-14 20:18:23 +02:00
J. Ryan Stinnett 74e15ab892 Merge branch 'nadonomy/favicon' into 'element'
Update favicon to have rounded corners, better spacing

See merge request new-vector/element/element-web/element-web!6
2020-07-14 18:10:10 +00:00
Nad Chishtie 2e4e8f4d1c Update favicon to have rounded corners, better spacing 2020-07-14 19:07:40 +01:00
Bruno Windels a1f9f6c77a Merge branch 'element-update-icons' into 'element'
update welcome icons

See merge request new-vector/element/element-web/element-web!5
2020-07-14 17:54:13 +00:00
Bruno Windels a3998eb804 update welcome icons 2020-07-14 19:47:58 +02:00
J. Ryan Stinnett 0f5621b010 Update manifest names 2020-07-14 17:58:33 +01:00
Bruno Windels 5bce586b04 Merge branch 'element-rename-theme' into 'element'
Rename element theme

See merge request new-vector/element/element-web/element-web!4
2020-07-14 16:46:49 +00:00
Bruno Windels 29a1862912 rename element theme to light/dark to apply old prefs 2020-07-14 18:40:57 +02:00
J. Ryan Stinnett 8d0f57d62d Merge branch 'jryans/remove-brand' into 'element'
Move config files, update brand

See merge request new-vector/element/element-web/element-web!3
2020-07-13 20:44:18 +00:00
J. Ryan Stinnett 847d40f83b Merge branch 'jryans/rename-strings' into 'element'
Update many brand name strings and URLs

See merge request new-vector/element/element-web/element-web!2
2020-07-13 20:43:45 +00:00
J. Ryan Stinnett fff29d5663 Merge remote-tracking branch 'origin/develop' into element 2020-07-13 18:48:34 +01:00
J. Ryan Stinnett e3e2bd1e7b Update brand to new name 2020-07-13 18:43:02 +01:00
J. Ryan Stinnett e737fccd5a Move app config files to new name 2020-07-13 18:34:46 +01:00
J. Ryan Stinnett ffab08bd60 Update various brand instances in code 2020-07-13 17:32:17 +01:00
J. Ryan Stinnett 0667ede7b7 Replace more brands in translations 2020-07-13 17:24:53 +01:00
J. Ryan Stinnett 2af008d5f0 Remove VectorCustomServerOptions and strings 2020-07-13 17:18:26 +01:00
J. Ryan Stinnett c8a258b4bb Replace riot.im in translated strings 2020-07-13 17:03:03 +01:00
J. Ryan Stinnett acb22f4fe5 Replace references to riot.im 2020-07-13 17:02:20 +01:00
J. Ryan Stinnett 62d22f50ab Update welcome brand name in translations 2020-07-13 14:49:36 +01:00
J. Ryan Stinnett a0494eeecb Update welcome brand name 2020-07-13 14:24:32 +01:00
J. Ryan Stinnett 73d999cc95 Prune unused translations 2020-07-13 14:22:47 +01:00
J. Ryan Stinnett 5a34425360 Replace brand name in existing translations 2020-07-13 14:21:07 +01:00
J. Ryan Stinnett 5b31589b3a Use brand name from config in all strings 2020-07-13 14:12:44 +01:00
Travis Ralston c94f55ecaf
Merge pull request from vector-im/travis/room-list/enable
Update documentation and remove labs flag for new room list
2020-07-13 06:56:28 -06:00
J. Ryan Stinnett c135c819b7 Merge remote-tracking branch 'origin/develop' into element 2020-07-13 13:37:40 +01:00
J. Ryan Stinnett c5f2965c52
Merge pull request from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-07-13 13:35:50 +01:00
David Baker 5c74cbd694 Merge branch 'dbkr/logos' into 'element'
Change Logos

See merge request new-vector/element/element-web/element-web!1
2020-07-13 10:44:51 +00:00
David Baker 6bfa9bc1da Actual open graph image
and not just a green rectangle
2020-07-13 11:33:18 +01:00
Travis Ralston e6706b0e7b Merge branch 'develop' into travis/room-list/enable 2020-07-10 21:34:42 -06:00
David Baker 55e7aa6a22 Replace Riot logo with element logo
and hopefully clean up some of dead wood icons while we're at it
2020-07-10 20:02:11 +01:00
David Baker d0f81b26ad Change logos excluding vector-icons 2020-07-10 19:09:52 +01:00
David Baker b7ed883d96 Start by renaming the dir 2020-07-10 18:35:17 +01:00
Bruno Windels b5d0047f39 Merge branch 'develop' into element 2020-07-09 17:59:47 +02:00
Weblate d05dd3ed71 Merge branch 'origin/develop' into Weblate. 2020-07-09 15:20:53 +00:00
Jorik Schellekens dbd62fb213
Merge pull request from vector-im/joriks/delabs-layout
Release the irc layout from labs
2020-07-09 16:20:47 +01:00
Bruno Windels bc57e6fd70 dark theme 2020-07-09 14:47:42 +02:00
Bruno Windels 2da0527c28 Merge branch 'develop' into element 2020-07-08 15:34:26 +02:00
Weblate 42c6b689ff Merge branch 'origin/develop' into Weblate. 2020-07-08 12:23:42 +00:00
Samu Voutilainen 747f379055 Translated using Weblate (Finnish)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2020-07-08 12:23:42 +00:00
Michael Telatynski 5909725623
Merge pull request from vector-im/t3chguy/fix/14364
Fix welcomeBackgroundUrl array causing background to change during use
2020-07-08 13:23:35 +01:00
ok-what 85a9e90f21 Translated using Weblate (Finnish)
Currently translated at 97.1% (34 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2020-07-08 04:34:03 +00:00
Travis Ralston 28b5b0b552 Update labs.md for new room list 2020-07-07 14:00:52 -06:00
Travis Ralston 81f8a81105 Remove labs flag from config 2020-07-07 13:58:10 -06:00
Michael Telatynski 826cb1d308 Fix welcomeBackgroundUrl array causing background to change during use
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 17:58:11 +01:00
Bruno Windels 202bbf6a24 Merge branch 'develop' into element 2020-07-07 13:22:39 +02:00
Weblate 71b90f6dac Merge branch 'origin/develop' into Weblate. 2020-07-06 17:54:13 +00:00
Rintan cdbaa7f749 Translated using Weblate (Japanese)
Currently translated at 97.1% (34 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
2020-07-06 17:54:13 +00:00
random d9e3af067a Translated using Weblate (Italian)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2020-07-06 17:54:13 +00:00
Priit Jõerüüt eaf6ad598e Translated using Weblate (Estonian)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/et/
2020-07-06 17:54:13 +00:00
Michael Telatynski da3739b15f
Merge pull request from vector-im/t3chguy/ts123
Be more explicit about type when calling platform startUpdater
2020-07-06 18:54:06 +01:00
Jorik Schellekens 817759f590 Remove font scaling from labs 2020-07-06 15:45:30 +01:00
Jorik Schellekens e95036405b Release the irc layout to the wild 2020-07-06 15:22:57 +01:00
Bruno Windels ac4770597d Update develop 2020-07-06 09:27:29 +02:00
W. O. Wutzke ef7182eb43 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2020-07-04 22:44:38 +00:00
thomasesr d8da805bac Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2020-07-04 22:44:38 +00:00
W. O. Wutzke fd0205d17e Translated using Weblate (Portuguese (Brazil))
Currently translated at 85.7% (30 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2020-07-04 22:41:21 +00:00
thomasesr f38148fe37 Translated using Weblate (Portuguese (Brazil))
Currently translated at 85.7% (30 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2020-07-04 22:41:21 +00:00
Tirifto f72d683c0b Translated using Weblate (Esperanto)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2020-07-04 16:26:45 +00:00
Weblate 42fd1113a9 Merge branch 'origin/develop' into Weblate. 2020-07-03 12:37:41 +00:00
RiotRobot 449ac2e5e4 Reset matrix-react-sdk back to develop branch 2020-07-03 13:37:33 +01:00
RiotRobot ebe1d7c336 Reset matrix-js-sdk back to develop branch 2020-07-03 13:37:22 +01:00
Weblate a704451551 Merge branch 'origin/develop' into Weblate. 2020-07-03 12:37:04 +00:00
RiotRobot 1f543994d4 v1.6.8 2020-07-03 13:33:15 +01:00
RiotRobot 8e81ee071f Prepare changelog for v1.6.8 2020-07-03 13:33:14 +01:00
RiotRobot 7815810cf8 Upgrade matrix-react-sdk to 2.9.0 2020-07-03 13:31:26 +01:00
RiotRobot 14fc25e635 Upgrade matrix-js-sdk to 7.1.0 2020-07-03 13:30:52 +01:00
[Redacted] 3879f92cf5 Translated using Weblate (Slovak)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/
2020-07-02 22:26:49 +00:00
Microtus62 f4ee7eed93 Translated using Weblate (Slovak)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/
2020-07-02 22:26:49 +00:00
Michael Telatynski eac86b6053 Be more explicit about type when calling platform startUpdater
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-02 23:16:03 +01:00
RiotRobot 1726615b8a v1.6.8-rc.1 2020-07-01 14:43:57 +01:00
RiotRobot 82f599714f Prepare changelog for v1.6.8-rc.1 2020-07-01 14:43:56 +01:00
RiotRobot a14cff6539 Upgrade matrix-react-sdk to 2.9.0-rc.1 2020-07-01 14:37:15 +01:00
RiotRobot 003a2942fe Upgrade matrix-js-sdk to 7.1.0-rc.1 2020-07-01 14:34:47 +01:00
J. Ryan Stinnett 63a2caa091
Merge pull request from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-07-01 14:05:54 +01:00
Szimszon 0dc9cdadf9 Translated using Weblate (Hungarian)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2020-07-01 13:03:51 +00:00
XoseM 2c0fef92ef Translated using Weblate (Galician)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/
2020-07-01 13:03:50 +00:00
Kévin C f58c59553f Translated using Weblate (French)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2020-07-01 13:03:50 +00:00
Jeff Huang 935914e572 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2020-07-01 13:03:50 +00:00
Besnik Bleta 58c8ac05b9 Translated using Weblate (Albanian)
Currently translated at 100.0% (35 of 35 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
2020-07-01 13:03:49 +00:00
Weblate 4bbfdaa818 Merge branch 'origin/develop' into Weblate. 2020-06-30 19:28:49 +00:00
Michael Telatynski e0ab2bb96e
Merge pull request from vector-im/t3chguy/download_toast
Show a download completed toast in electron
2020-06-30 20:28:40 +01:00
Bruno Windels 6da70bdfbd create unique device names 2020-06-30 17:29:31 +02:00
Bruno Windels 8e3d1407c0 dont leak domain for now 2020-06-30 17:06:10 +02:00
Bruno Windels c9c402310a element theme webpack config 2020-06-30 13:28:24 +02:00
Weblate 0b63f04b4b Merge branch 'origin/develop' into Weblate. 2020-06-29 15:24:47 +00:00
ButterflyOfFire d6cb83eb7a Translated using Weblate (Kabyle)
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/kab/
2020-06-29 15:24:47 +00:00
RiotRobot af349a7ac5 Reset matrix-react-sdk back to develop branch 2020-06-29 16:23:35 +01:00
RiotRobot d4fa099877 Reset matrix-js-sdk back to develop branch 2020-06-29 16:23:22 +01:00
RiotRobot 98f1536d45 Merge branch 'master' into develop 2020-06-29 16:22:44 +01:00
RiotRobot 70e981f588 v1.6.7 2020-06-29 16:18:15 +01:00
RiotRobot d193c0909f Prepare changelog for v1.6.7 2020-06-29 16:18:14 +01:00
RiotRobot ec49f4555b Upgrade matrix-react-sdk to 2.8.1 2020-06-29 16:15:21 +01:00
Michael Telatynski 7a7abc74d9 i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-29 15:59:37 +01:00
Michael Telatynski 87527d7b16 Show expiring toast on completed downloads
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-29 11:41:18 +01:00
Erik Lindström 6413c3c2fa Translated using Weblate (Swedish)
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/sv/
2020-06-27 20:26:34 +00:00
pebles 4b49fb49ad 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-27 20:26:34 +00:00
aWeinzierl 9d39a3aea7 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-27 20:26:34 +00:00
XoseM 628409d75e Translated using Weblate (Galician)
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/gl/
2020-06-27 20:26:34 +00:00
Michael Telatynski 69f72e330a
Merge pull request from vector-im/anoa/new_spinner
Add the new spinner feature labs flag
2020-06-26 11:05:56 +01:00
Andrew Morgan 993155d56a Add the new spinner feature 2020-06-26 11:02:55 +01:00
Michael Telatynski 3500bbe53d
Merge pull request from vector-im/t3chguy/hf1
Fix loading-test for SSO plaf changes
2020-06-26 09:09:41 +01:00
Michael Telatynski 06852436e6 Fix loading-test for SSO plaf changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-25 23:59:08 +01:00
J. Ryan Stinnett c8c99d7ded
Merge pull request from vector-im/jryans/fix-load-spelling
Fix spelling on startup error page
2020-06-25 13:53:54 +01:00
J. Ryan Stinnett 92eb687a75 Fix spelling on startup error page 2020-06-25 12:16:32 +01:00
Bruno Windels 76c93c8bf7
Merge pull request from vector-im/bwindels/custom-theme-font
Document fonts in custom theme
2020-06-24 13:23:21 +00:00
Bruno Windels fe0ed2b4f3
Update docs/theming.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-06-24 13:15:59 +00:00
Bruno Windels 2ce448943b add documentation for fonts in custom theme 2020-06-24 14:55:57 +02:00
RiotRobot 2000f420bd Reset matrix-react-sdk back to develop branch 2020-06-23 15:31:49 +01:00
RiotRobot 979ce51208 Reset matrix-js-sdk back to develop branch 2020-06-23 15:31:35 +01:00
RiotRobot 9be380fdaf Merge branch 'master' into develop 2020-06-23 15:30:51 +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
David Baker f3ef2aba2b
Merge pull request from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2020-06-22 09:49:15 +01:00
ziriSut 429bd17906 Translated using Weblate (Kabyle)
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/kab/
2020-06-22 08:39:08 +00:00
take100yen 01881f5ef4 Translated using Weblate (Japanese)
Currently translated at 69.7% (23 of 33 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
2020-06-22 08:39:07 +00:00
Slimane Selyan AMIRI 42bbf4c517 Translated using Weblate (Kabyle)
Currently translated at 36.4% (12 of 33 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/kab/
2020-06-20 20:52:49 +00:00
Weblate 931ca6e3bd Merge branch 'origin/develop' into Weblate. 2020-06-19 08:51:03 +00:00
Damir Jelić cfee2a43fb Merge branch 'poljar/eventindex-user-version' into develop 2020-06-19 09:53:43 +02:00
Damir Jelić 1b1608c56d Merge remote-tracking branch 'origin/poljar/eventindex-newly-encrypted-room' into develop 2020-06-19 09:53:34 +02:00
Weblate 7fef41f3a7 Merge branch 'origin/develop' into Weblate. 2020-06-18 21:59:39 +00:00
Travis Ralston 5e834a50a9
Merge pull request from vector-im/travis/room-list/mvp
Mark the new room list as ready for general testing
2020-06-18 15:59:33 -06:00
Travis Ralston cbf35a6060 Mark the new room list as ready for general testing 2020-06-18 15:46:04 -06:00
Lmath Alpha a128961d03 Translated using Weblate (Chinese (Simplified))
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/zh_Hans/
2020-06-18 17:02:36 +00: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
Damir Jelić 55c1f01f4c ElectronPlatform: Add support to set and get the index user version. 2020-06-17 17:18:44 +02:00
J. Ryan Stinnett 098984dd26
Merge pull request 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 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 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
Damir Jelić a968389c85 ElectronPlatform: Implement the isRoomIndexed method. 2020-06-08 16:41:55 +02: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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 from TitanNano/9814
Add media queries and mobile viewport ()
2020-05-27 09:04:10 -06:00
Jovan Gerodetti 061619929e Integrate requested changes from 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
Weblate c313bab431 Merge branch 'origin/develop' into Weblate. 2020-05-05 10:41:46 +00: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
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
Jorik Schellekens 6d19d1b346 Change setting location. 2020-04-28 16:56:23 +01:00
Travis Ralston 58bf82186c
Revert "Revert "Add font scaling labs setting."" 2020-04-23 13:17:20 -06:00
Jorik Schellekens 4f7081fc2b Add labs flag for alternate message layouts 2020-04-23 19:12:10 +01:00
223 changed files with 3963 additions and 6383 deletions
.dockerignore.eslintrc.js.gitignore.modernizr.jsonCHANGELOG.mdDockerfileREADME.mdconfig.sample.json
docs
electron_app
element.io
package.jsonrelease.sh
res

View File

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

View File

@ -1,3 +1,23 @@
module.exports = {
extends: ["./node_modules/matrix-react-sdk/.eslintrc.js"],
}
"extends": ["matrix-org", "matrix-org/react"],
"env": {
"browser": true,
"node": true,
},
"rules": {
"quotes": "off",
},
"overrides": [{
"files": ["src/**/*.{ts, tsx}"],
"extends": ["matrix-org/ts", "matrix-org/react"],
"env": {
"browser": true,
},
"rules": {
"quotes": "off",
// While converting to ts we allow this
"@typescript-eslint/no-explicit-any": "off",
"prefer-promise-reject-errors": "off",
},
}],
};

3
.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

View File

@ -29,6 +29,7 @@
"test/url/urlsearchparams",
"test/cors",
"test/crypto",
"test/iframe/sandbox",
"test/json",
"test/network/fetch",

View File

@ -1,3 +1,305 @@
Changes in [1.7.2](https://github.com/vector-im/riot-web/releases/tag/v1.7.2) (2020-07-27)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.7.1...v1.7.2)
* Upgrade to React SDK 3.0.0 and JS SDK 8.0.0
* Update from Weblate
[\#14778](https://github.com/vector-im/riot-web/pull/14778)
* Capitalize letters
[\#14566](https://github.com/vector-im/riot-web/pull/14566)
* Configure eslint package and fix lint issues
[\#14673](https://github.com/vector-im/riot-web/pull/14673)
* Riot → Element
[\#14581](https://github.com/vector-im/riot-web/pull/14581)
* Remove labs info for the new room list
[\#14603](https://github.com/vector-im/riot-web/pull/14603)
* Convince Webpack to use development on CI
[\#14593](https://github.com/vector-im/riot-web/pull/14593)
* Move dev dep to the right place
[\#14572](https://github.com/vector-im/riot-web/pull/14572)
* Bump lodash from 4.17.15 to 4.17.19
[\#14552](https://github.com/vector-im/riot-web/pull/14552)
* Update all mobile links to match marketing site
[\#14541](https://github.com/vector-im/riot-web/pull/14541)
Changes in [1.7.1](https://github.com/vector-im/riot-web/releases/tag/v1.7.1) (2020-07-16)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.7.0...v1.7.1)
* Upgrade to React SDK 2.10.1
* Fix SSO session ID paramater
[\#14544](https://github.com/vector-im/riot-web/pull/14544)
* Run pngcrush on vector-icons
[\#14488](https://github.com/vector-im/riot-web/pull/14488)
* Fix hosting signup link
[\#14502](https://github.com/vector-im/riot-web/pull/14502)
* Use the right protocol for SSO URLs
[\#14513](https://github.com/vector-im/riot-web/pull/14513)
* Fix mstile-310x150 by renaming it
[\#14485](https://github.com/vector-im/riot-web/pull/14485)
* Update blog and twitter links to point to Element
[\#14478](https://github.com/vector-im/riot-web/pull/14478)
Changes in [1.7.0](https://github.com/vector-im/riot-web/releases/tag/v1.7.0) (2020-07-15)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.8...v1.7.0)
* App name changed from Riot to Element
* Upgrade to React SDK 2.10.0
* Remove redundant enum
[\#14472](https://github.com/vector-im/riot-web/pull/14472)
* Remove font scaling from labs
[\#14355](https://github.com/vector-im/riot-web/pull/14355)
* Update documentation and remove labs flag for new room list
[\#14375](https://github.com/vector-im/riot-web/pull/14375)
* Update from Weblate
[\#14434](https://github.com/vector-im/riot-web/pull/14434)
* Release the irc layout from labs
[\#14350](https://github.com/vector-im/riot-web/pull/14350)
* Fix welcomeBackgroundUrl array causing background to change during use
[\#14368](https://github.com/vector-im/riot-web/pull/14368)
* Be more explicit about type when calling platform startUpdater
[\#14299](https://github.com/vector-im/riot-web/pull/14299)
Changes in [1.6.8](https://github.com/vector-im/riot-web/releases/tag/v1.6.8) (2020-07-03)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.8-rc.1...v1.6.8)
* Upgrade to JS SDK 7.1.0 and React SDK 2.9.0
Changes in [1.6.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.8-rc.1) (2020-07-01)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.7...v1.6.8-rc.1)
* Upgrade to JS SDK 7.1.0-rc.1 and React SDK 2.9.0-rc.1
* Update from Weblate
[\#14282](https://github.com/vector-im/riot-web/pull/14282)
* Show a download completed toast in electron
[\#14248](https://github.com/vector-im/riot-web/pull/14248)
* Add the new spinner feature labs flag
[\#14213](https://github.com/vector-im/riot-web/pull/14213)
* Fix loading-test for SSO plaf changes
[\#14212](https://github.com/vector-im/riot-web/pull/14212)
* Fix spelling on startup error page
[\#14199](https://github.com/vector-im/riot-web/pull/14199)
* Document fonts in custom theme
[\#14175](https://github.com/vector-im/riot-web/pull/14175)
* Update from Weblate
[\#14129](https://github.com/vector-im/riot-web/pull/14129)
* ElectronPlatform: Implement the isRoomIndexed method.
[\#13957](https://github.com/vector-im/riot-web/pull/13957)
* ElectronPlatform: Add support to set and get the index user version.
[\#14080](https://github.com/vector-im/riot-web/pull/14080)
* Mark the new room list as ready for general testing
[\#14102](https://github.com/vector-im/riot-web/pull/14102)
Changes in [1.6.7](https://github.com/vector-im/riot-web/releases/tag/v1.6.7) (2020-06-29)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.6...v1.6.7)
* Upgrade to React SDK 2.8.1
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)

View File

@ -1,5 +1,5 @@
# Builder
FROM node:10 as builder
FROM node:12 as builder
# Support custom branches of the react-sdk and js-sdk. This also helps us build
# images of riot-web develop.
@ -9,7 +9,10 @@ ARG REACT_SDK_BRANCH="master"
ARG JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git"
ARG JS_SDK_BRANCH="master"
RUN apt-get update && apt-get install -y git dos2unix
RUN apt-get update && apt-get install -y git dos2unix \
# These packages are required for building Canvas on architectures like Arm
# See https://www.npmjs.com/package/canvas#compiling
build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
WORKDIR /src

105
README.md
View File

@ -1,41 +1,41 @@
Riot
====
Element
=======
Riot (formerly known as Vector) is a Matrix web client built using the [Matrix
Element (formerly known as Vector and Riot) is a Matrix web client built using the [Matrix
React SDK](https://github.com/matrix-org/matrix-react-sdk).
Supported Environments
======================
Riot has several tiers of support for different environments:
Element has several tiers of support for different environments:
* Supported
* Definition: Issues **actively triaged**, regressions **block** the release
* Last 2 major versions of Chrome, Firefox, and Safari on desktop OSes
* Latest release of official Riot Desktop app on desktop OSes
* Latest release of official Element Desktop app on desktop OSes
* Desktop OSes means macOS, Windows, and Linux versions for desktop devices
that are actively supported by the OS vendor and receive security updates
* Experimental
* Definition: Issues **accepted**, regressions **do not block** the release
* Riot as an installed PWA via current stable version of Chrome, Firefox, and Safari
* Element as an installed PWA via current stable version of Chrome, Firefox, and Safari
* Mobile web for current stable version of Chrome, Firefox, and Safari on Android, iOS, and iPadOS
* Not supported
* Definition: Issues only affecting unsupported environments are **closed**
* Everything else
For accessing Riot on an Android or iOS device, we currently recommend the
For accessing Element on an Android or iOS device, we currently recommend the
native apps [riot-android](https://github.com/vector-im/riot-android)
and [riot-ios](https://github.com/vector-im/riot-ios).
Getting Started
===============
The easiest way to test Riot is to just use the hosted copy at https://riot.im/app.
The `develop` branch is continuously deployed by Jenkins at https://riot.im/develop
The easiest way to test Element is to just use the hosted copy at https://app.element.io.
The `develop` branch is continuously deployed by Jenkins at https://develop.element.io
for those who like living dangerously.
To host your own copy of Riot, the quickest bet is to use a pre-built
released version of Riot:
To host your own copy of Element, the quickest bet is to use a pre-built
released version of Element:
1. Download the latest version from https://github.com/vector-im/riot-web/releases
1. Untar the tarball on your web server
@ -43,29 +43,29 @@ released version of Riot:
1. Configure the correct caching headers in your webserver (see below)
1. If desired, copy `config.sample.json` to `config.json` and edit it
as desired. See the [configuration docs](docs/config.md) for details.
1. Enter the URL into your browser and log into Riot!
1. Enter the URL into your browser and log into Element!
Releases are signed using gpg and the OpenPGP standard, and can be checked against the public key located
at https://packages.riot.im/riot-release-key.asc.
Note that for the security of your chats will need to serve Riot
Note that for the security of your chats will need to serve Element
over HTTPS. Major browsers also do not allow you to use VoIP/video
chats over HTTP, as WebRTC is only usable over HTTPS.
There are some exceptions like when using localhost, which is
considered a [secure context](https://developer.mozilla.org/docs/Web/Security/Secure_Contexts)
and thus allowed.
To install Riot as a desktop application, see [Running as a desktop
To install Element as a desktop application, see [Running as a desktop
app](#running-as-a-desktop-app) below.
Important Security Note
=======================
We do not recommend running Riot from the same domain name as your Matrix
We do not recommend running Element from the same domain name as your Matrix
homeserver. The reason is the risk of XSS (cross-site-scripting)
vulnerabilities that could occur if someone caused Riot to load and render
vulnerabilities that could occur if someone caused Element to load and render
malicious user generated content from a Matrix API which then had trusted
access to Riot (or other apps) due to sharing the same domain.
access to Element (or other apps) due to sharing the same domain.
We have put some coarse mitigations into place to try to protect against this
situation, but it's still not good practice to do it in the first place. See
@ -74,7 +74,7 @@ https://github.com/vector-im/riot-web/issues/1977 for more details.
Building From Source
====================
Riot is a modular webapp built with modern ES6 and uses a Node.js build system.
Element 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
@ -88,7 +88,7 @@ guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it alread
* If you're using the `develop` branch, then it is recommended to set up a
proper development environment (see [Setting up a dev
environment](#setting-up-a-dev-environment) below). Alternatively, you
can use https://riot.im/develop - the continuous integration release of
can use https://develop.element.io - the continuous integration release of
the develop branch.
1. Configure the app by copying `config.sample.json` to `config.json` and
modifying it. See the [configuration docs](docs/config.md) for details.
@ -97,51 +97,18 @@ guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it alread
web server.
Note that `yarn dist` is not supported on Windows, so Windows users can run `yarn build`,
which will build all the necessary files into the `webapp` directory. The version of Riot
which will build all the necessary files into the `webapp` directory. The version of Element
will not appear in Settings without using the dist script. You can then mount the
`webapp` directory on your webserver to actually serve up the app, which is entirely static content.
Running as a Desktop app
========================
Riot can also be run as a desktop app, wrapped in Electron. You can download a
Element 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.
@ -150,7 +117,7 @@ Other options for running as a desktop app:
```bash
yarn global add nativefier
nativefier https://riot.im/app/
nativefier https://app.element.io/
```
The [configuration docs](docs/config.md#desktop-app-configuration) show how to
@ -195,19 +162,19 @@ docker build -t vectorim/riot-web:develop \
config.json
===========
Riot supports a variety of settings to configure default servers, behaviour, themes, etc.
Element supports a variety of settings to configure default servers, behaviour, themes, etc.
See the [configuration docs](docs/config.md) for more details.
Labs Features
=============
Some features of Riot may be enabled by flags in the `Labs` section of the settings.
Some features of Element may be enabled by flags in the `Labs` section of the settings.
Some of these features are described in [labs.md](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md).
Caching requirements
====================
Riot requires the following URLs not to be cached, when/if you are serving Riot from your own webserver:
Element requires the following URLs not to be cached, when/if you are serving Element from your own webserver:
```
/config.*.json
/i18n
@ -220,8 +187,8 @@ 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
also defines the design, architecture and style for Riot too.
for `matrix-react-sdk`](https://github.com/matrix-org/matrix-react-sdk#developer-guide), which
also defines the design, architecture and style for Element 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
@ -232,7 +199,7 @@ 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.
The idea of Riot is to be a relatively lightweight "skin" of customisations on
The idea of Element is to be a relatively lightweight "skin" of customisations on
top of the underlying `matrix-react-sdk`. `matrix-react-sdk` provides both the
higher and lower level React components useful for building Matrix communication
apps using React.
@ -240,15 +207,15 @@ apps using React.
After creating a new component you must run `yarn reskindex` to regenerate
the `component-index.js` for the app (used in future for skinning).
Please note that Riot is intended to run correctly without access to the public
Please note that Element is intended to run correctly without access to the public
internet. So please don't depend on resources (JS libs, CSS, images, fonts)
hosted by external CDNs or servers but instead please package all dependencies
into Riot itself.
into Element itself.
Setting up a dev environment
============================
Much of the functionality in Riot is actually in the `matrix-react-sdk` and
Much of the functionality in Element is actually in the `matrix-react-sdk` and
`matrix-js-sdk` modules. It is possible to set these up in a way that makes it
easy to track the `develop` branches in git and to make local changes without
having to manually rebuild each time.
@ -276,7 +243,7 @@ yarn install
popd
```
Finally, build and start Riot itself:
Finally, build and start Element itself:
```bash
git clone https://github.com/vector-im/riot-web.git
@ -310,7 +277,7 @@ 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
**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.
@ -332,12 +299,12 @@ ___
When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be
automatically picked up by webpack and built.
If you add or remove any components from the Riot skin, you will need to rebuild
If you add or remove any components from the Element skin, you will need to rebuild
the skin's index by running, `yarn reskindex`.
If any of these steps error with, `file table overflow`, you are probably on a mac
which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again.
You'll need to do this in each new terminal you open before building Riot.
You'll need to do this in each new terminal you open before building Element.
Running the tests
-----------------

View File

@ -12,7 +12,7 @@
"disable_guests": false,
"disable_login_language_selector": false,
"disable_3pid_login": false,
"brand": "Riot",
"brand": "Element",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
@ -26,6 +26,7 @@
"defaultCountryCode": "GB",
"showLabsSettings": false,
"features": {
"feature_new_spinner": "labs",
"feature_pinning": "labs",
"feature_custom_status": "labs",
"feature_custom_tags": "labs",

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

@ -4,13 +4,13 @@ Configuration
You can configure the app by copying `config.sample.json` to
`config.json` and customising it:
For a good example, see https://riot.im/develop/config.json.
For a good example, see https://develop.element.io/config.json.
1. `default_server_config` sets the default homeserver and identity server URL for
Riot to use. The object is the same as returned by [https://<server_name>/.well-known/matrix/client](https://matrix.org/docs/spec/client_server/latest.html#get-well-known-matrix-client),
Element to use. The object is the same as returned by [https://<server_name>/.well-known/matrix/client](https://matrix.org/docs/spec/client_server/latest.html#get-well-known-matrix-client),
with added support for a `server_name` under the `m.homeserver` section to display
a custom homeserver name. Alternatively, the config can contain a `default_server_name`
instead which is where Riot will go to get that same object, although this option is
instead which is where Element will go to get that same object, although this option is
deprecated - see the `.well-known` link above for more information on using this option.
Note that the `default_server_name` is used to get a complete server configuration
whereas the `server_name` in the `default_server_config` is for display purposes only.
@ -18,10 +18,10 @@ For a good example, see https://riot.im/develop/config.json.
`default_is_url`, however these are deprecated. They are maintained for backwards
compatibility with older configurations. `default_is_url` is respected only
if `default_hs_url` is used.
* Riot will fail to load if a mix of `default_server_config`, `default_server_name`, or
* Element will fail to load if a mix of `default_server_config`, `default_server_name`, or
`default_hs_url` is specified. When multiple sources are specified, it is unclear
which should take priority and therefore the application cannot continue.
* As of Riot 1.4.0, identity servers are optional. See [Identity servers](#identity-servers) below.
* As of Element 1.4.0, identity servers are optional. See [Identity servers](#identity-servers) below.
1. `features`: Lookup of optional features that may be `enable`d, `disable`d, or
exposed to the user in the `labs` section of settings. The available
optional experimental features vary from release to release and are [documented](labs.md). The feature flag process is
@ -42,7 +42,7 @@ For a good example, see https://riot.im/develop/config.json.
1. `adminMessageMD`: An extra message to show on the reporting dialog to
mention homeserver-specific policies. Accepts Markdown.
1. `integrations_ui_url`: URL to the web interface for the integrations server. The integrations
server is not Riot and normally not your homeserver either. The integration server settings
server is not Element and normally not your homeserver either. The integration server settings
may be left blank to disable integrations.
1. `integrations_rest_url`: URL to the REST interface for the integrations server.
1. `integrations_widgets_urls`: list of URLs to the REST interface for the widget integrations server.
@ -65,10 +65,10 @@ For a good example, see https://riot.im/develop/config.json.
1. `whitelistedISUrls`: a list of IS URLs to not redact from the analytics
1. `siteId`: The Piwik Site ID to use when sending analytics to the Piwik server configured above
1. `welcomeUserId`: the user ID of a bot to invite whenever users register that can give them a tour
1. `embeddedPages`: Configures the pages displayed in portions of Riot that
1. `embeddedPages`: Configures the pages displayed in portions of Element that
embed static files, such as:
1. `welcomeUrl`: Initial content shown on the outside of the app when not
logged in. Defaults to `welcome.html` supplied with Riot.
logged in. Defaults to `welcome.html` supplied with Element.
1. `homeUrl`: Content shown on the inside of the app when a specific room is
not selected. By default, no home page is configured. If one is set, a
button to access it will be shown in the top left menu.
@ -80,7 +80,7 @@ For a good example, see https://riot.im/develop/config.json.
is special cased to the `default_theme` in the config file).
1. `disable_custom_urls`: disallow the user to change the
default homeserver when signing up or logging in.
1. `permalinkPrefix`: Used to change the URL that Riot generates permalinks with.
1. `permalinkPrefix`: Used to change the URL that Element generates permalinks with.
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").
@ -91,7 +91,7 @@ For a good example, see https://riot.im/develop/config.json.
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 configurd, presence is shown for all
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).
@ -103,14 +103,14 @@ For a good example, see https://riot.im/develop/config.json.
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
appear in some websites like Facebook, and indeed Riot itself. This has to be
hosted on riot.im. This is the image used if links to your copy of Element
appear in some websites like Facebook, and indeed Element itself. This has to be
static in the HTML and an absolute URL (and HTTP rather than HTTPS), so it's
not possible for this to be an option in config.json. If you'd like to change
it, you can build Riot, but run
it, you can build Element, but run
`RIOT_OG_IMAGE_URL="http://example.com/logo.png" yarn build`.
Alternatively, you can edit the `og:image` meta tag in `index.html` directly
each time you download a new version of Riot.
each time you download a new version of Element.
Identity servers
================
@ -119,10 +119,10 @@ The identity server is used for inviting other users to a room via third party
identifiers like emails and phone numbers. It is not used to store your password
or account information.
As of Riot 1.4.0, all identity server functions are optional and you are
As of Element 1.4.0, all identity server functions are optional and you are
prompted to agree to terms before data is sent to the identity server.
Riot will check multiple sources when looking for an identity server to use in
Element will check multiple sources when looking for an identity server to use in
the following order of preference:
1. The identity server set in the user's account data
@ -132,28 +132,15 @@ the following order of preference:
login
3. The identity server provided by the Riot config file
If none of these sources have an identity server set, then Riot will prompt the
If none of these sources have an identity server set, then Element 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, Element will create encrypted DM rooms if the user you are chatting with has keys uploaded on their account.
For private room creation, Element 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

@ -1,6 +1,6 @@
# Feature flags
When developing new features for Riot, we use feature flags to give us more
When developing new features for Element, we use feature flags to give us more
flexibility and control over when and where those features are enabled.
For example, flags make the following things possible:
@ -88,7 +88,7 @@ and
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
https://app.element.io and official Element 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

View File

@ -1,10 +1,10 @@
# Jitsi wrapper developer docs
*If you're looking for information on how to set up Jitsi in your Riot, see
*If you're looking for information on how to set up Jitsi in your Element, 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).
within Element. If you're not a developer, you're probably looking for [jitsi.md](./jitsi.md).
## Brief introduction to widgets
@ -17,8 +17,8 @@ in the react-sdk), though for some widgets special integration can be done. v2 w
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
Widgets have a `postMessage` API they can use to interact with Element, which also allows
Element 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.
@ -28,7 +28,7 @@ Widgets can be added with the `/addwidget <url>` command.
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
stuff to plug into a room. They are a separate service to Element 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.
@ -51,7 +51,7 @@ 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
Element. 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
@ -65,27 +65,27 @@ 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
## Jitsi widgets generated by Element 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
not involved in the slightest. Instead, Element 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
The Jitsi widget created by Element uses a local `jitsi.html` wrapper (or one hosted by
`https://app.element.io` for desktop users or those on non-https domains) as the widget
`url`. The wrapper has some basic functionality for talking to Element 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
## The Jitsi wrapper in Element
Whenever Riot sees a Jitsi widget, it ditches the `url` and instead replaces it with
Whenever Element 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.
of using one from [app.element.io](https://app.element.io), 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

View File

@ -1,6 +1,6 @@
# Jitsi in Riot
# Jitsi in Element
Riot uses [Jitsi](https://jitsi.org/) for conference calls, which provides options for
Element 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
@ -14,13 +14,13 @@ 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
## Configuring Element 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
Element 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
However, you can configure Element to *start* a conference with your Jitsi server by adding
to your [config](./config.md) the following:
```json
{
@ -30,13 +30,13 @@ to your [config](./config.md) the following:
}
```
The default is `jitsi.riot.im` (a free service offered by Riot), and the demo site for
The default is `jitsi.riot.im` (a free service offered by Element), 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
Once you've applied the config change, refresh Element 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
**Note**: The widget URL will point to a `jitsi.html` page hosted by Element. 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
@ -52,7 +52,7 @@ default, and you are using riot-web 1.6 or newer, set the following on your home
## Mobile app support
Currently the Riot mobile apps do not support custom Jitsi servers and will instead
Currently the Element 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,12 +1,16 @@
# Labs features
If Labs is enabled in the [Riot config](config.md), you can enable some of these features by going
If Labs is enabled in the [Element 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.
[#element-web:matrix.org](https://matrix.to/#/#element-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.**
## New spinner design (`feature_new_spinner`)
Replaces the old spinner image with a new, svg-based one featuring a sleeker design.
## Message pinning (`feature_pinning`)
Allows you to pin messages in the room. To pin a message, use the 3 dots to the right of the message
@ -22,7 +26,7 @@ your avatar next to the message composer.
An experimental approach for dealing with custom tags. Custom tags will appear in the bottom portion
of the community filter panel.
Setting custom tags is not supported by Riot.
Setting custom tags is not supported by Element.
## Render simple counters in room header (`feature_state_counters`)
@ -49,7 +53,7 @@ That's it. Now should see your new counter under the header.
## Multiple integration managers (`feature_many_integration_managers`)
Exposes a way to access all the integration managers known to Riot. This is an implementation of [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957).
Exposes a way to access all the integration managers known to Element. This is an implementation of [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957).
## New ways to ignore people (`feature_mjolnir`)
@ -67,22 +71,6 @@ 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
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.
The feature is enabled by default and does not follow a traditional labs flag
at the moment. If something goes wrong, add this to your config to disable it:
```json
{
"settingDefaults": {
"feature_cross_signing": false
}
}
```
The setting will be removed in a future release, enabling it non-optionally for
all users.
@ -100,9 +88,9 @@ person is online.
## 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
Custom themes are possible through Element's [theme support](./theming.md), though
normally these themes need to be defined in the config for Element. 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).
For some sample themes, check out [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes).

View File

@ -1,6 +1,6 @@
## Memory leaks
Riot usually emits slow behaviour just before it is about to crash. Getting a
Element usually emits slow behaviour just before it is about to crash. Getting a
memory snapshot (below) just before that happens is ideal in figuring out what
is going wrong.
@ -14,14 +14,14 @@ this happens though so we can try and narrow down what might have gone wrong.
## Memory profiles/snapshots
When investigating memory leaks/problems it's usually important to compare snapshots
from different points in the Riot session lifecycle. Most importantly, a snapshot
from different points in the Element session lifecycle. Most importantly, a snapshot
to establish the baseline or "normal" memory usage is useful. Taking a snapshot
roughly 30-60 minutes after starting Riot is a good time to establish "normal"
roughly 30-60 minutes after starting Element is a good time to establish "normal"
memory usage for the app - anything after that is at risk of hiding the memory leak
and anything newer is still in the warmup stages of the app.
**Memory profiles can contain sensitive information.** If you are submitting a memory
profile to us for debugging purposes, please pick the appropriate Riot developer and
profile to us for debugging purposes, please pick the appropriate Element developer and
send them over an encrypted private message. *Do not share your memory profile in
public channels or with people you do not trust.*
@ -42,7 +42,7 @@ While the profile is in progress, the tab might be frozen or unresponsive.
1. Press CTRL+SHIFT+I (I as in eye).
2. Click the Memory tab.
3. Select "Heap Snapshot" and the riot.im VM instance (not the indexeddb one).
3. Select "Heap Snapshot" and the app.element.io VM instance (not the indexeddb one).
4. Click "Take Snapshot".
5. Wait a bit (coffee is a good option).
6. When the save button appears on the left side of the panel, click it to save the

View File

@ -1,24 +1,24 @@
# Native Node Modules
For some features, the desktop version of Riot can make use of native Node
For some features, the desktop version of Element can make use of native Node
modules. These allow Riot to integrate with the desktop in ways that a browser
cannot.
While native modules enable powerful new features, they must be complied for
each operating system. For official Riot releases, we will always build these
each operating system. For official Element releases, we will always build these
modules from source to ensure we can trust the compiled output. In the future,
we may offer a pre-compiled path for those who want to use these features in a
custom build of Riot without installing the various build tools required.
custom build of Element without installing the various build tools required.
Do note that compiling a module for a particular operating system
(Linux/macOS/Windows) will need to be done on that operating system.
Cross-compiling from a host OS for a different target OS may be possible, but
we don't support this flow with Riot dependencies at this time.
we don't support this flow with Element dependencies at this time.
At the moment, we need to make some changes to the Riot release process before
At the moment, we need to make some changes to the Element release process before
we can support native Node modules at release time, so these features are
currently disabled by default until that is resolved. The following sections
explain the manual steps you can use with a custom build of Riot to enable
explain the manual steps you can use with a custom build of Element to enable
these features if you'd like to try them out.
## Adding Seshat for search in E2E encrypted rooms
@ -53,7 +53,7 @@ Please make sure to include all the `--` as well as the `--release` command line
switch at the end. Modify your electron version accordingly depending on the
version that is installed on your system.
After this is done the Electron version of Riot can be run from the main folder
After this is done the Electron version of Element can be run from the main folder
as usual using:
yarn electron

View File

@ -1,7 +1,7 @@
# 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
Element Web and other supporting repos. These are just guidelines (not strict
rules) and may be updated over time.
## Code Review
@ -58,7 +58,7 @@ When reviewing code, here are some things we look for and also things we avoid:
## Design and Product Review
We want to ensure that all changes to Riot fit with our design and product
We want to ensure that all changes to Element fit with our design and product
vision. We often request review from those teams so they can provide their
perspective.
@ -72,11 +72,11 @@ functionality is:
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
request a link to an ad-hoc build of Element (hosted anywhere) that can be used for
the review. In the future, we [hope to automate
this](https://github.com/vector-im/riot-web/issues/12624) for every PR.
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
with our vision for Element. Please chat with the team in
[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) before you
start so we can ensure it's something we'd be willing to merge.

View File

@ -5,14 +5,14 @@ matrix-react-sdk
- base CSS
- all the components needed to build a workable app (including the top layer)
riot-web: the riot skin
- riot-specific classes (e.g. login header/footer)
- riot-specific themes
element-web: the Element skin
- Element-specific classes (e.g. login header/footer)
- Element-specific themes
- light
- dark
i.e. the only things which should go into riot-web are bits which apply vector-specific skinning
specifically "Stuff that any other brand would not want to use. (e.g. riot logos, links, T&Cs)"
i.e. the only things which should go into element-web are bits which apply vector-specific skinning
specifically "Stuff that any other brand would not want to use. (e.g. Element logos, links, T&Cs)"
- Questions:
- Electron app? (should probably be a separate repo in its own right? but might as well go here for now)
- index.html & index.js? (should be in matrix-react-sdk, given the SDK is useless without them?)
@ -21,7 +21,7 @@ ideally matrix-react-sdk itself should ship with a default skin which actually w
status skin (can go in the same app for now)
- has status theme
- which inherits from riot light theme
- which inherits from Element light theme
- how do we share graphics between skins?
- shove them into react-sdk, or...
- guess we do ../../vector/img
@ -64,5 +64,5 @@ random thoughts;
-----------------
Immediate plan for Status:
* Implement it as a theme for the riot skin
* Implement it as a theme for the Element skin
* Ideally move skins to a sensible level (possibly even including src?)

View File

@ -1,14 +1,14 @@
Theming Riot
Theming Element
============
Themes are a very basic way of providing simple alternative look & feels to the
riot-web app via CSS & custom imagery.
Element app via CSS & custom imagery.
They are *NOT* co be confused with 'skins', which describe apps which sit on top
of matrix-react-sdk - e.g. in theory Riot itself is a react-sdk skin.
As of Jan 2017, skins are not fully supported; riot is the only available skin.
of matrix-react-sdk - e.g. in theory Element itself is a react-sdk skin.
As of Jan 2017, skins are not fully supported; Element is the only available skin.
To define a theme for Riot:
To define a theme for Element:
1. Pick a name, e.g. `teal`. at time of writing we have `light` and `dark`.
2. Fork `src/skins/vector/css/themes/dark.scss` to be `teal.scss`
@ -41,6 +41,16 @@ eg. in config.json:
{
"name": "Electric Blue",
"is_dark": false,
"fonts": {
"faces": [
{
"font-family": "Inter",
"src": [{"url": "/fonts/Inter.ttf", "format": "ttf"}]
}
],
"general": "Inter, sans",
"monospace": "'Courier New'"
},
"colors": {
"accent-color": "#3596fc",
"primary-color": "#368bd6",
@ -84,3 +94,5 @@ 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.
All properties in `fonts` are optional, and will default to the standard Riot fonts.

View File

@ -1,4 +1,4 @@
# How to translate riot-web (Dev Guide)
# How to translate Element (Dev Guide)
## Requirements
@ -6,7 +6,7 @@
- Including up-to-date versions of matrix-react-sdk and matrix-js-sdk
- Latest LTS version of Node.js installed
- Be able to understand English
- Be able to understand the language you want to translate riot-web into
- Be able to understand the language you want to translate Element into
## Translating strings vs. marking strings for translation

View File

@ -1,10 +1,10 @@
# How to translate riot-web
# How to translate Element
## Requirements
- Web Browser
- Be able to understand English
- Be able to understand the language you want to translate riot-web into
- Be able to understand the language you want to translate Element into
## Step 0: Join #riotweb-translations:matrix.org
@ -17,7 +17,7 @@
2. After registering check if you got an email to verify your account and click the link (if there is none head to step 1.4)
3. Log into weblate
4. Head to https://translate.riot.im/accounts/profile/ and select the languages you know and maybe another language you know too.
6. Head to https://translate.riot.im/accounts/profile/#subscriptions and select Riot Web as Project
6. Head to https://translate.riot.im/accounts/profile/#subscriptions and select Element Web as Project
## How to check if your language already is being translated
@ -50,7 +50,7 @@ The yellow button has to be used if you are unsure about the translation but you
### What are "%(something)s"?
These things are variables that are expanded when displayed by Riot. They can be room names, usernames or similar. If you find one, you can move to the right place for your language, but not delete it as the variable will be missing if you do.
These things are variables that are expanded when displayed by Element. They can be room names, usernames or similar. If you find one, you can move to the right place for your language, but not delete it as the variable will be missing if you do.
A special case is `%(urlStart)s` and `%(urlEnd)s` which are used to mark the beginning of a hyperlink (i.e. `<a href="/somewhere">` and `</a>`. You must keep these markers surrounding the equivalent string in your language that needs to be hyperlinked.

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

(image error) Size: 36 KiB

Binary file not shown.

Before

(image error) Size: 2.7 KiB

Binary file not shown.

Before

(image error) Size: 581 B

Binary file not shown.

Before

(image error) Size: 824 B

Binary file not shown.

Before

(image error) Size: 4.7 KiB

Binary file not shown.

Before

(image error) Size: 1.4 KiB

Binary file not shown.

Before

(image error) Size: 8.3 KiB

Binary file not shown.

Before

(image error) Size: 1.8 KiB

Binary file not shown.

Before

(image error) Size: 2.2 KiB

Binary file not shown.

Before

(image error) Size: 5.4 KiB

Binary file not shown.

Before

(image error) Size: 36 KiB

Binary file not shown.

Before

(image error) Size: 4.7 KiB

View File

@ -1,15 +0,0 @@
{
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "1.6.0",
"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,32 +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",
"roomDirectory": {
"servers": [
"matrix.org"
]
},
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1,
"policyUrl": "https://matrix.org/legal/riot-im-cookie-policy"
},
"features": {
},
"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,658 +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 {getProfileFromDeeplink, protocolInit, recordSSOSession} = 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();
}
// check if we are passed a profile in the SSO callback url
const userDataPathInProtocol = getProfileFromDeeplink(argv["_"]);
if (userDataPathInProtocol) {
app.setPath('userData', userDataPathInProtocol);
} else 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;
case 'navigateBack':
if (mainWindow.webContents.canGoBack()) {
mainWindow.webContents.goBack();
}
break;
case 'navigateForward':
if (mainWindow.webContents.canGoForward()) {
mainWindow.webContents.goForward();
}
break;
case 'startSSOFlow':
recordSSOSession(args[0]);
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,104 +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 path = require("path");
const fs = require("fs");
const PROTOCOL = "riot://";
const SEARCH_PARAM = "riot-desktop-ssoid";
const STORE_FILE_NAME = "sso-sessions.json";
// we getPath userData before electron-main changes it, so this is the default value
const storePath = path.join(app.getPath("userData"), STORE_FILE_NAME);
const processUrl = (url) => {
if (!global.mainWindow) return;
console.log("Handling link: ", url);
global.mainWindow.loadURL(url.replace(PROTOCOL, "vector://"));
};
const readStore = () => {
try {
const s = fs.readFileSync(storePath, { encoding: "utf8" });
const o = JSON.parse(s);
return typeof o === "object" ? o : {};
} catch (e) {
return {};
}
};
const writeStore = (data) => {
fs.writeFileSync(storePath, JSON.stringify(data));
};
module.exports = {
recordSSOSession: (sessionID) => {
const userDataPath = app.getPath('userData');
const store = readStore();
for (const key in store) {
// ensure each instance only has one (the latest) session ID to prevent the file growing unbounded
if (store[key] === userDataPath) {
delete store[key];
break;
}
}
store[sessionID] = userDataPath;
writeStore(store);
},
getProfileFromDeeplink: (args) => {
// check if we are passed a profile in the SSO callback url
const deeplinkUrl = args.find(arg => arg.startsWith('riot://'));
if (deeplinkUrl && deeplinkUrl.includes(SEARCH_PARAM)) {
const parsedUrl = new URL(deeplinkUrl);
if (parsedUrl.protocol === 'riot:') {
const ssoID = parsedUrl.searchParams.get(SEARCH_PARAM);
const store = readStore();
console.log("Forwarding to profile: ", store[ssoID]);
return store[ssoID];
}
}
},
protocolInit: () => {
// 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
// --profile/--profile-dir are passed via the SEARCH_PARAM var in the callback url
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(PROTOCOL)) 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,144 +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' },
{
label: 'Preferences',
accelerator: 'Command+,', // Mac-only accelerator
click() { global.mainWindow.webContents.send('preferences'); },
},
{ 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.3"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.3.tgz#3db5c0765545ab8637be71f333a104a965a9ca3f"
integrity sha512-+bMdgqjMN/Z77a6NlY/I3U5LlRDbnmaAk6lDveAPKwSpcPM4tKAuYsvYF8xjhOPXhOYGe/73vVLVez5PW+jqhw==
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,11 +1,12 @@
This directory contains the config files and deployment scripts for the official
riot.im distribution of Riot Web at https://riot.im.
element.io distribution of Element Web.
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
official element.io 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).
Element Desktop uses a separate config (see
https://github.com/vector-im/riot-desktop/tree/develop/element.io).
Deployment scripts (such as app/deploy.py) are meant to be run on the web server
hosting the Riot installation.
hosting the Element installation.

View File

@ -1,6 +1,6 @@
{
"default_server_name": "matrix.org",
"brand": "Riot",
"brand": "Element",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
@ -10,7 +10,7 @@
"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://element.io/matrix-services?utm_source=element-web&utm_medium=web",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"features": {
},

View File

@ -1,6 +1,6 @@
{
"default_server_name": "matrix.org",
"brand": "Riot",
"brand": "Element",
"integrations_ui_url": "https://scalar-staging.vector.im/",
"integrations_rest_url": "https://scalar-staging.vector.im/api",
"integrations_widgets_urls": [
@ -10,9 +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://element.io/matrix-services?utm_source=element-web&utm_medium=web",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"features": {
"feature_new_spinner": "labs",
"feature_pinning": "labs",
"feature_custom_status": "labs",
"feature_custom_tags": "labs",

View File

@ -1,8 +1,7 @@
{
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "1.6.0",
"version": "1.7.2",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@ -35,7 +34,7 @@
"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",
@ -43,35 +42,26 @@
"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,.tsx\" src",
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail --mode production",
"build:bundle-stats": "cross-env NODE_ENV=production webpack -p --progress --bail --mode production --json > webpack-stats.json",
"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:bundle": "webpack --progress --bail --mode production",
"build:bundle-stats": "webpack --progress --bail --mode production --json > webpack-stats.json",
"build:types": "tsc --emitDeclarationOnly --jsx react",
"install:electron": "electron-builder install-app-deps",
"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": "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": "yarn lint:types && 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 --jsx react",
"lint:style": "stylelint 'res/css/**/*.scss'",
"test": "jest"
},
"dependencies": {
"browser-request": "^0.3.3",
"favico.js": "^0.3.10",
"gfm.css": "^1.1.2",
"highlight.js": "^9.13.1",
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
"olm": "https://packages.matrix.org/npm/olm/olm-3.1.4.tgz",
"postcss-easings": "^2.0.0",
"prop-types": "^15.7.2",
"react": "^16.9.0",
"react-dom": "^16.9.0",
@ -96,7 +86,9 @@
"@babel/preset-typescript": "^7.7.4",
"@babel/register": "^7.7.4",
"@babel/runtime": "^7.7.6",
"@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",
@ -107,17 +99,11 @@
"chokidar": "^3.3.1",
"concurrently": "^4.0.1",
"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": "7.3.1",
"eslint-config-matrix-org": "^0.1.2",
"eslint-plugin-babel": "^4.1.2",
"eslint-plugin-flowtype": "^2.50.3",
"eslint-plugin-jest": "^23.0.4",
"eslint-plugin-react": "^7.11.1",
"eslint-plugin-react-hooks": "^2.2.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
@ -137,6 +123,7 @@
"modernizr": "^3.6.0",
"node-fetch": "^2.6.0",
"optimize-css-assets-webpack-plugin": "^5.0.3",
"postcss-easings": "^2.0.0",
"postcss-extend": "^1.0.5",
"postcss-hexrgba": "^2.0.0",
"postcss-import": "^12.0.1",
@ -156,57 +143,7 @@
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.9.0"
},
"build": {
"appId": "im.riot.app",
"electronVersion": "7.1.14",
"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"

View File

@ -1,6 +1,6 @@
#!/bin/bash
#
# Script to perform a release of riot-web.
# Script to perform a release of element-web.
#
# Requires github-changelog-generator; to install, do
# pip install git+https://github.com/matrix-org/github-changelog-generator.git
@ -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

@ -4,8 +4,8 @@ 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() {
const res = await fetch("../index.html");
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}`);
}
@ -25,7 +25,7 @@ function validateBundle(value) {
* The purpose of this is just to validate that the user entered a real bundle, and provide feedback.
*/
const bundleCache = new Map();
function bundleSubject(bundle) {
function bundleSubject(baseUrl, bundle) {
if (!bundle.match(/^[0-9a-f]{20}$/)) throw new Error("Bad input");
if (bundleCache.has(bundle)) {
return bundleCache.get(bundle);
@ -33,7 +33,7 @@ function bundleSubject(bundle) {
const fetcher = new rxjs.BehaviorSubject(Pending.of());
bundleCache.set(bundle, fetcher);
fetch(`/bundles/${bundle}/bundle.js.map`).then((res) => {
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) {
@ -145,6 +145,7 @@ function ProgressBar({ fetchStatus }) {
* 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");
@ -153,19 +154,25 @@ function BundlePicker() {
const [bundleFetchStatus, setBundleFetchStatus] = React.useState(None);
const [fileFetchStatus, setFileFetchStatus] = React.useState(None);
/* At startup, try to fill in the bundle name for the user */
/* On baseUrl change, try to fill in the bundle name for the user */
React.useEffect(() => {
getBundleName().then((name) => {
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);
@ -195,14 +202,14 @@ function BundlePicker() {
React.useEffect(() =>
validateBundle(bundle).fold({
some: (value) => {
const subscription = bundleSubject(value)
const subscription = bundleSubject(baseUrl, value)
.pipe(rxjs.operators.map(Some.of))
.subscribe(setBundleFetchStatus);
return () => subscription.unsubscribe();
},
none: () => setBundleFetchStatus(None),
}),
[bundle]);
[baseUrl, bundle]);
/* Whenever a valid javascript file is input, see if it corresponds to a sourcemap file and initiate a fetch
* if so. */
@ -211,7 +218,7 @@ function BundlePicker() {
setFileFetchStatus(None);
return;
}
const observable = fetchAsSubject(`/bundles/${bundle}/${file}.map`)
const observable = fetchAsSubject(new URL(`bundles/${bundle}/${file}.map`, baseUrl).toString())
.pipe(
rxjs.operators.map((fetchStatus) => fetchStatus.flatMap(value => {
try {
@ -224,7 +231,7 @@ function BundlePicker() {
);
const subscription = observable.subscribe(setFileFetchStatus);
return () => subscription.unsubscribe();
}, [bundle, file]);
}, [baseUrl, bundle, file]);
/*
* Whenever we have a valid fetched sourcemap, and a valid line, attempt to find the original position from the
@ -255,6 +262,16 @@ function BundlePicker() {
/* ------ */
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', {

View File

@ -1,56 +1,85 @@
{
"name": "Riot - open team collaboration",
"short_name": "Riot",
"name": "Element",
"short_name": "Element",
"display": "standalone",
"theme_color": "#76CFA6",
"start_url": "index.html",
"icons": [
{
"src": "vector-icons/android-chrome-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
"src": "/vector-icons/44.png",
"sizes": "44x44",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
"src": "/vector-icons/1240x600.png",
"sizes": "1240x600",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
"src": "/vector-icons/300.png",
"sizes": "300x300",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
"src": "/vector-icons/150.png",
"sizes": "150x150",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
"src": "/vector-icons/88.png",
"sizes": "88x88",
"type": "image/png"
},
{
"src": "vector-icons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
"src": "/vector-icons/24.png",
"sizes": "24x24",
"type": "image/png"
},
{
"src": "/vector-icons/50.png",
"sizes": "50x50",
"type": "image/png"
},
{
"src": "/vector-icons/620x300.png",
"sizes": "620x300",
"type": "image/png"
},
{
"src": "/vector-icons/1024.png",
"sizes": "1024x1024",
"type": "image/png"
},
{
"src": "/vector-icons/180.png",
"sizes": "180x180",
"type": "image/png"
},
{
"src": "/vector-icons/152.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src": "/vector-icons/120.png",
"sizes": "120x120",
"type": "image/png"
},
{
"src": "/vector-icons/76.png",
"sizes": "76x76",
"type": "image/png"
}
],
"related_applications": [
{
"platform": "play",
"url": "https://play.google.com/store/apps/details?id=im.vector.alpha",
"id": "im.vector.alpha"
"url": "https://play.google.com/store/apps/details?id=im.vector.app",
"id": "im.vector.app"
},
{
"platform": "itunes",
"url": "https://itunes.apple.com/gb/app/riot-open-source-team-collaboration-via-matrix/id1083446067"
"url": "https://apps.apple.com/app/vector/id1083446067"
}
]
}

Binary file not shown.

After

(image error) Size: 596 KiB

View File

Before

(image error) Size: 20 KiB

After

(image error) Size: 20 KiB

View File

Before

(image error) Size: 21 KiB

After

(image error) Size: 21 KiB

View File

Before

(image error) Size: 12 KiB

After

(image error) Size: 12 KiB

View File

@ -0,0 +1,6 @@
<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M414 204C414 180.804 432.804 162 456 162C610.64 162 736 287.36 736 442C736 465.196 717.196 484 694 484C670.804 484 652 465.196 652 442C652 333.752 564.248 246 456 246C432.804 246 414 227.196 414 204Z" fill="#0DBD8B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M610 820C610 843.196 591.196 862 568 862C413.36 862 288 736.64 288 582C288 558.804 306.804 540 330 540C353.196 540 372 558.804 372 582C372 690.248 459.752 778 568 778C591.196 778 610 796.804 610 820Z" fill="#0DBD8B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M204 610C180.804 610 162 591.196 162 568C162 413.36 287.36 288 442 288C465.196 288 484 306.804 484 330C484 353.196 465.196 372 442 372C333.752 372 246 459.752 246 568C246 591.196 227.196 610 204 610Z" fill="#0DBD8B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M820 414C843.196 414 862 432.804 862 456C862 610.64 736.64 736 582 736C558.804 736 540 717.196 540 694C540 670.804 558.804 652 582 652C690.248 652 778 564.248 778 456C778 432.804 796.804 414 820 414Z" fill="#0DBD8B"/>
</svg>

After

(image error) Size: 1.2 KiB

Binary file not shown.

After

(image error) Size: 11 KiB

Binary file not shown.

Before

(image error) Size: 283 KiB

Binary file not shown.

Before

(image error) Size: 7.0 KiB

File diff suppressed because one or more lines are too long

Before

(image error) Size: 8.8 KiB

Binary file not shown.

Before

(image error) Size: 7.0 KiB

File diff suppressed because one or more lines are too long

Before

(image error) Size: 8.8 KiB

View File

@ -1,6 +0,0 @@
<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>

Before

(image error) Size: 4.1 KiB

BIN
res/vector-icons/1024.png Normal file

Binary file not shown.

After

(image error) Size: 17 KiB

BIN
res/vector-icons/120.png Normal file

Binary file not shown.

After

(image error) Size: 1.4 KiB

Binary file not shown.

After

(image error) Size: 11 KiB

BIN
res/vector-icons/150.png Normal file

Binary file not shown.

After

(image error) Size: 1.8 KiB

BIN
res/vector-icons/152.png Normal file

Binary file not shown.

After

(image error) Size: 1.9 KiB

BIN
res/vector-icons/180.png Normal file

Binary file not shown.

After

(image error) Size: 2.2 KiB

BIN
res/vector-icons/24.png Normal file

Binary file not shown.

After

(image error) Size: 434 B

BIN
res/vector-icons/300.png Normal file

Binary file not shown.

After

(image error) Size: 3.9 KiB

BIN
res/vector-icons/44.png Normal file

Binary file not shown.

After

(image error) Size: 629 B

BIN
res/vector-icons/50.png Normal file

Binary file not shown.

After

(image error) Size: 732 B

Binary file not shown.

After

(image error) Size: 4.5 KiB

BIN
res/vector-icons/76.png Normal file

Binary file not shown.

After

(image error) Size: 1.0 KiB

BIN
res/vector-icons/88.png Normal file

Binary file not shown.

After

(image error) Size: 1.1 KiB

Binary file not shown.

Before

(image error) Size: 2.2 KiB

Binary file not shown.

Before

(image error) Size: 2.7 KiB

Binary file not shown.

Before

(image error) Size: 802 B

Binary file not shown.

Before

(image error) Size: 1.1 KiB

Binary file not shown.

Before

(image error) Size: 1.5 KiB

Binary file not shown.

Before

(image error) Size: 1.6 KiB

Binary file not shown.

After

(image error) Size: 1.4 KiB

Binary file not shown.

Before

(image error) Size: 1.9 KiB

Binary file not shown.

After

(image error) Size: 1.5 KiB

Binary file not shown.

Before

(image error) Size: 1.9 KiB

Binary file not shown.

After

(image error) Size: 1.9 KiB

Binary file not shown.

Before

(image error) Size: 2.2 KiB

Binary file not shown.

After

(image error) Size: 2.0 KiB

Binary file not shown.

Before

(image error) Size: 2.2 KiB

Binary file not shown.

After

(image error) Size: 2.2 KiB

Binary file not shown.

Before

(image error) Size: 2.5 KiB

Binary file not shown.

After

(image error) Size: 803 B

Binary file not shown.

Before

(image error) Size: 1.3 KiB

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