Compare commits

..

158 Commits

Author SHA1 Message Date
RiotRobot
0c438cc7a0 v1.3.2 2019-08-05 14:46:35 +01:00
RiotRobot
f82fce2bb7 Prepare changelog for v1.3.2 2019-08-05 14:46:35 +01:00
RiotRobot
634e556cfa v1.3.2 2019-08-05 14:45:02 +01:00
David Baker
f28e5f2ebb Released react-sdk 2019-08-05 14:42:39 +01:00
RiotRobot
3b6acfd67d v1.3.1 2019-08-05 12:08:25 +01:00
RiotRobot
822b495f8a Prepare changelog for v1.3.1 2019-08-05 12:08:24 +01:00
RiotRobot
bf2a298da7 v1.3.1 2019-08-05 12:06:10 +01:00
RiotRobot
90b26a98d3 Released js-sdk & react-sdk 2019-08-05 12:04:57 +01:00
RiotRobot
8c32957957 v1.3.1-rc.1 2019-07-31 16:55:49 +01:00
RiotRobot
2a16cf220e Prepare changelog for v1.3.1-rc.1 2019-07-31 16:55:49 +01:00
RiotRobot
964c1922cd v1.3.1-rc.1 2019-07-31 16:54:03 +01:00
RiotRobot
61228d112e Upgrade to JS SDK 2.3.0-rc.1 and React SDK 1.5.0-rc.1 2019-07-31 16:52:52 +01:00
David Baker
5fe8443ff4 Merge pull request #10436 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2019-07-29 09:33:58 +01:00
Le Dang Trung
5599b37b59 Translated using Weblate (Vietnamese)
Currently translated at 95.8% (23 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/vi/
2019-07-29 08:29:27 +00:00
Valeh Farzaliyev
83e4dadcfe Translated using Weblate (Azerbaijani)
Currently translated at 62.5% (15 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/az/
2019-07-29 08:29:27 +00:00
Weblate
8ba05ce126 Merge branch 'origin/develop' into Weblate. 2019-07-26 14:26:41 +00:00
Travis Ralston
11c0e982b2 Merge pull request #10418 from vector-im/travis/features
Describe our existing features better in documentation
2019-07-26 08:26:36 -06:00
Brian J
cb988c505d Translated using Weblate (Swedish)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2019-07-25 22:49:21 +00:00
Valeh Farzaliyev
762f027e2e Translated using Weblate (Azerbaijani)
Currently translated at 41.7% (10 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/az/
2019-07-25 22:49:21 +00:00
Travis Ralston
83da5e6004 Update references to features 2019-07-25 14:53:53 -06:00
Travis Ralston
ec9309edcd Update feature references 2019-07-25 14:52:20 -06:00
Weblate
d1c80de9c8 Merge branch 'origin/develop' into Weblate. 2019-07-23 09:02:11 +00:00
J. Ryan Stinnett
55e2f18d1e Merge pull request #10392 from vector-im/jryans/electron-5
Upgrade to Electron 5
2019-07-23 10:02:05 +01:00
J. Ryan Stinnett
88e8fbb39a Upgrade to Electron 5
The APIs related to custom protocols went through some changes for Electron 5.x,
so adjusts Riot's usages to match.

I have scanned the Electron 5.x release notes, and I can't see anything else
that requires immediate changes. Things appear to be working well after the
upgrade.

Fixes https://github.com/vector-im/riot-web/issues/10296
Fixes https://github.com/vector-im/riot-web/issues/9562
2019-07-22 15:38:08 +01:00
Weblate
e0f9f68b46 Merge branch 'origin/develop' into Weblate. 2019-07-18 14:58:53 +00:00
RiotRobot
e71fcc33f9 Merge branch 'master' into develop 2019-07-18 15:58:43 +01:00
RiotRobot
7d07642bef v1.3.0 2019-07-18 15:56:14 +01:00
RiotRobot
096303955e Prepare changelog for v1.3.0 2019-07-18 15:56:14 +01:00
RiotRobot
1bd846454c v1.3.0 2019-07-18 15:53:39 +01:00
RiotRobot
72f3f1afee Upgrade to JS SDK 2.2.0 and React SDK 1.4.0 2019-07-18 15:53:25 +01:00
J. Ryan Stinnett
48759fd66d Merge pull request #10365 from vector-im/jryans/v1.3.0/rm-reactions-edits-flags
Remove edits and reactions feature flags from docs and config
2019-07-18 14:26:34 +01:00
J. Ryan Stinnett
06ce10b351 Remove reactions feature flag from docs and config
Part of https://github.com/vector-im/riot-web/issues/10282
2019-07-18 14:24:00 +01:00
J. Ryan Stinnett
b403828791 Remove edits feature flag from docs and config
Part of https://github.com/vector-im/riot-web/issues/10282
2019-07-18 14:23:24 +01:00
Weblate
217065aafc Merge branch 'origin/develop' into Weblate. 2019-07-18 13:16:37 +00:00
Murali Ramakrishnan
5f38d1d3e9 Translated using Weblate (Tamil)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2019-07-18 13:16:37 +00:00
J. Ryan Stinnett
f4ee5d0a4b Merge pull request #10363 from vector-im/jryans/rm-reactions-edits-flags
Remove edits and reactions feature flags from docs and config
2019-07-18 14:16:32 +01:00
J. Ryan Stinnett
8398ec5358 Remove reactions feature flag from docs and config
Part of https://github.com/vector-im/riot-web/issues/10282
2019-07-18 10:48:43 +01:00
J. Ryan Stinnett
7731f93676 Remove edits feature flag from docs and config
Part of https://github.com/vector-im/riot-web/issues/10282
2019-07-18 10:46:19 +01:00
Weblate
8123593be5 Merge branch 'origin/develop' into Weblate. 2019-07-16 11:07:02 +00:00
Edgars Voroboks
673543df1d Translated using Weblate (Latvian)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lv/
2019-07-16 11:07:02 +00:00
Tirifto
b1061c5a94 Translated using Weblate (Esperanto)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2019-07-16 11:07:02 +00:00
Bruno Windels
8a022a4be0 Merge pull request #10349 from vector-im/bwindels/cachebust-config
Cachebust config file requests
2019-07-16 11:06:57 +00:00
Bruno Windels
2cf1aabcba cachebust config file requests 2019-07-16 12:49:10 +02:00
RiotRobot
343279ee5d v1.3.0-rc.3 2019-07-15 17:34:38 +01:00
RiotRobot
8b215bf6d4 Prepare changelog for v1.3.0-rc.3 2019-07-15 17:34:37 +01:00
RiotRobot
f20d38f131 v1.3.0-rc.3 2019-07-15 17:32:06 +01:00
RiotRobot
fab0d70f21 react-sdk rc.3 2019-07-15 17:31:13 +01:00
Arnaud Castellanos Galea
edb6e26bc4 Translated using Weblate (Spanish)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2019-07-14 15:51:00 +00:00
Travis Ralston
8edb74168b Merge pull request #10334 from vector-im/anoa/install_app_deps
Convert install-app-deps to subcommand
2019-07-12 14:33:15 -06:00
RiotRobot
6259fba6ad v1.3.0-rc.2 2019-07-12 17:40:07 +01:00
RiotRobot
4f7061aaa8 Prepare changelog for v1.3.0-rc.2 2019-07-12 17:40:07 +01:00
RiotRobot
88c8ea0d5a v1.3.0-rc.2 2019-07-12 17:38:06 +01:00
RiotRobot
be601d4654 Upgrade to JS SDK 2.2.0-rc.2 and React SDK 1.4.0-rc.2 2019-07-12 17:37:01 +01:00
Andrew Morgan
fde90afe58 Convert install-app-deps to subcommand 2019-07-12 17:02:12 +01:00
J. Ryan Stinnett
7dcb9c830f Merge pull request #10327 from vector-im/jryans/deployment-configs
Add riot.im configuration files
2019-07-12 16:49:00 +01:00
J. Ryan Stinnett
7ccddfb755 Clarify deployment scripts 2019-07-12 16:46:38 +01:00
Travis Ralston
a1432ef0f7 Merge pull request #10321 from vector-im/travis/rageshake-required
Require descriptions in mxSendRageshake and remove infinite loop in issue templates
2019-07-12 08:12:03 -06:00
Travis Ralston
5379a26a1a Merge pull request #10322 from vector-im/travis/remove-is-flag
Remove unused disable_identity_server config flag
2019-07-12 08:11:52 -06:00
Travis Ralston
6762727826 Merge pull request #10320 from vector-im/travis/ci-i18n
Verify i18n in CI
2019-07-12 08:11:03 -06:00
RiotRobot
a28144bbc0 v1.3.0-rc.1 2019-07-12 11:43:41 +01:00
RiotRobot
56b0c333c0 Prepare changelog for v1.3.0-rc.1 2019-07-12 11:43:40 +01:00
RiotRobot
a23386bdb4 v1.3.0-rc.1 2019-07-12 11:39:59 +01:00
RiotRobot
f771f607d6 Upgrade to React SDK 1.4.0-rc.1 and JS SDK 2.2.0-rc.1 2019-07-12 11:39:07 +01:00
J. Ryan Stinnett
c7b24f7ce9 Merge pull request #10328 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2019-07-12 10:53:48 +01:00
J. Ryan Stinnett
f1a680322b Add riot.im configuration files 2019-07-12 10:48:34 +01:00
Weblate
ad4f05a0cd Merge branch 'origin/develop' into Weblate. 2019-07-12 09:24:37 +00:00
J. Ryan Stinnett
d47d0e4097 Enable reactions and edits for desktop 2019-07-12 10:23:14 +01:00
Travis Ralston
f3e82b56e9 Remove unused disable_identity_server config flag
Fixes https://github.com/vector-im/riot-web/issues/10229
2019-07-11 15:11:59 -06:00
Travis Ralston
604e4bbfee Improve wording in debug log sending in issue templates 2019-07-11 12:59:29 -06:00
Travis Ralston
79b519be72 Require a rageshake description in mxSendRageshake 2019-07-11 12:58:35 -06:00
Travis Ralston
c22e03a222 Fetch deps 2019-07-11 12:48:22 -06:00
Travis Ralston
6b07186078 Verify i18n in CI 2019-07-11 12:45:06 -06:00
Weblate
b18acd5978 Merge branch 'origin/develop' into Weblate. 2019-07-11 12:17:04 +00:00
J. Ryan Stinnett
bba167c433 Merge pull request #10308 from vector-im/jryans/upgrade-deps-2
Upgrade dependencies
2019-07-11 13:16:59 +01:00
J. Ryan Stinnett
1199554be7 Upgrade dependencies 2019-07-11 11:49:12 +01:00
Weblate
9cc6d1439e Merge branch 'origin/develop' into Weblate. 2019-07-11 10:32:06 +00:00
RiotRobot
d3a3115298 Merge branch 'master' into develop 2019-07-11 11:31:48 +01:00
RiotRobot
da5ddb2518 v1.2.4 2019-07-11 11:29:11 +01:00
RiotRobot
9b7dcf5d88 Prepare changelog for v1.2.4 2019-07-11 11:29:11 +01:00
RiotRobot
e5ffb8de4c v1.2.4 2019-07-11 11:24:52 +01:00
J. Ryan Stinnett
ff1a5e0539 Upgrade lodash 2019-07-11 11:13:37 +01:00
J. Ryan Stinnett
6ccf88f808 Upgrade to JS SDK 2.1.1 and React SDK 1.3.1 2019-07-11 11:09:56 +01:00
Weblate
2c863aa3ec Merge branch 'origin/develop' into Weblate. 2019-07-08 10:14:50 +00:00
RiotRobot
5f1d6f333c Merge branch 'master' into develop 2019-07-08 11:14:40 +01:00
RiotRobot
6546108307 v1.2.3 2019-07-08 11:12:04 +01:00
RiotRobot
4a33c0af6e Prepare changelog for v1.2.3 2019-07-08 11:12:03 +01:00
RiotRobot
a53d7edc7f v1.2.3 2019-07-08 11:10:31 +01:00
RiotRobot
090b2dbd30 Upgrade to JS SDK 2.1.0 and React SDK 1.3.0 2019-07-08 10:58:13 +01:00
Weblate
68d501fabf Merge branch 'origin/develop' into Weblate. 2019-07-05 16:50:22 +00:00
J. Ryan Stinnett
cb92e1d4c9 Merge pull request #10260 from vector-im/jryans/upgrade-deps
Upgrade dependencies
2019-07-05 17:50:19 +01:00
J. Ryan Stinnett
7424c776e5 Upgrade dependencies 2019-07-04 15:14:44 +01:00
RiotRobot
6e502478e3 v1.2.3-rc.1 2019-07-03 17:48:55 +01:00
RiotRobot
72052b913f Prepare changelog for v1.2.3-rc.1 2019-07-03 17:48:55 +01:00
RiotRobot
1ce8f3844b v1.2.3-rc.1 2019-07-03 17:47:41 +01:00
RiotRobot
751316f388 Upgrade to JS SDK 2.1.0-rc.1 and React SDK 1.3.0-rc.1 2019-07-03 17:25:05 +01:00
Weblate
1533d50157 Merge branch 'origin/develop' into Weblate. 2019-07-03 15:28:26 +00:00
J. Ryan Stinnett
e1282081bf Merge pull request #10247 from vector-im/jryans/update-base-url
Change update URL to match new host
2019-07-03 16:28:21 +01:00
Weblate
9f4dc1936b Merge branch 'origin/develop' into Weblate. 2019-07-03 15:06:43 +00:00
J. Ryan Stinnett
ba5cae554c Upgrade electron-builder, electron-builder-squirrel-windows to latest 2019-07-03 16:06:12 +01:00
Weblate
bdbc65209c Merge branch 'origin/develop' into Weblate. 2019-07-03 14:53:35 +00:00
random
87bf899396 Translated using Weblate (Italian)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2019-07-03 14:53:35 +00:00
Slavi Pantaleev
089ef6f7cd Translated using Weblate (Bulgarian)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2019-07-03 14:53:34 +00:00
J. Ryan Stinnett
ea665da391 Upgrade to Electron 4.2.6 2019-07-03 15:53:23 +01:00
J. Ryan Stinnett
c9bd1b8510 Change update URL to match new host 2019-07-03 15:47:52 +01:00
kristbaum
2e1682fbf6 Translated using Weblate (German)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2019-07-02 14:50:11 +00:00
David Baker
9de26ed062 Merge pull request #10219 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2019-07-01 10:40:32 +01:00
Benjamin
8956661eb7 Translated using Weblate (Esperanto)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2019-06-30 14:29:43 +00:00
Benjamin
325a083e89 Translated using Weblate (English (United States))
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
2019-06-30 14:29:43 +00:00
Jeff Huang
5918f757cd Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2019-06-30 14:29:43 +00:00
Weblate
75e426978c Merge branch 'origin/develop' into Weblate. 2019-06-28 17:09:38 +00:00
Nathan Follens
2ea640cee3 Translated using Weblate (West Flemish)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/vls/
2019-06-28 17:09:38 +00:00
Szimszon
d52ccc0500 Translated using Weblate (Hungarian)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2019-06-28 17:09:38 +00:00
Kévin C
63e76e109f Translated using Weblate (French)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2019-06-28 17:09:38 +00:00
Nathan Follens
c8009487ab Translated using Weblate (Dutch)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2019-06-28 17:09:38 +00:00
Osoitz
271be70806 Translated using Weblate (Basque)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2019-06-28 17:09:37 +00:00
Besnik Bleta
56a65d95e3 Translated using Weblate (Albanian)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
2019-06-28 17:09:37 +00:00
J. Ryan Stinnett
0e9e7612a4 Merge pull request #10195 from vector-im/jryans/config-docs
Extract configuration docs to separate file
2019-06-28 18:09:32 +01:00
J. Ryan Stinnett
b93388f504 Restore config.json section for old Riot
Riot includes a link to the config.json section of the README, so let's restore
it (at least for a while) keep that link working.
2019-06-28 13:50:54 +01:00
Weblate
cdda490fc7 Merge branch 'origin/develop' into Weblate. 2019-06-27 23:24:48 +00:00
Travis Ralston
9d14f92c01 Merge pull request #10197 from vector-im/t3chguy/preload_warning.svg
Add e2e/warning.svg to preload
2019-06-27 17:24:44 -06:00
Weblate
3a966add42 Merge branch 'origin/develop' into Weblate. 2019-06-27 23:22:56 +00:00
Tuomas Hietala
8fc125c5b5 Translated using Weblate (Finnish)
Currently translated at 100.0% (24 of 24 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2019-06-27 23:22:56 +00:00
Travis Ralston
2e241fda2c Merge pull request #10196 from vector-im/t3chguy/fix_vector_links
Fix Electron vector: links
2019-06-27 17:22:51 -06:00
Weblate
846257957e Merge branch 'origin/develop' into Weblate. 2019-06-27 20:09:52 +00:00
Travis Ralston
975f177a23 Merge pull request #10193 from vector-im/travis/syntax-error
Display a red box of anger for config syntax errors
2019-06-27 14:09:47 -06:00
Michael Telatynski
575f013bc9 Add e2e/warning.svg to preload
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-27 20:59:11 +01:00
Michael Telatynski
320f3198ea Fix Electron vector: links
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-27 20:33:15 +01:00
Travis Ralston
e49583f8e0 Copy from toml 2019-06-27 12:09:58 -06:00
J. Ryan Stinnett
73d801cb1d Extract configuration docs to separate file
The main README is very busy with too much information in one file. This
attempts to clean up one portion by moving configuration docs to a separate
file.

Fixes https://github.com/vector-im/riot-web/issues/9965
2019-06-27 19:08:33 +01:00
Travis Ralston
67664365bd Display a red box of anger for config syntax errors
Fixes https://github.com/vector-im/riot-web/issues/9519
2019-06-27 11:47:29 -06:00
Weblate
8530adc782 Merge branch 'origin/develop' into Weblate. 2019-06-27 12:49:07 +00:00
pebles
2c45299b6a Translated using Weblate (Spanish)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2019-06-27 12:49:06 +00:00
Benjamin
97f031c623 Translated using Weblate (Esperanto)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2019-06-27 12:49:06 +00:00
Michael Telatynski
2111db73a7 Merge pull request #10181 from vector-im/t3chguy/electron_config_via_plaf
Move config-getting to VectorBasePlatform
2019-06-27 13:49:00 +01:00
Michael Telatynski
01a78feb41 unexport getConfig, it was never imported externally 2019-06-27 11:17:56 +01:00
Michael Telatynski
a70f6de2e4 cleanup
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-26 21:11:27 +01:00
Michael Telatynski
dbd198ec07 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-26 21:10:28 +01:00
Michael Telatynski
974797648f Move config-getting to VectorBasePlatform
in Electron get config via IPC from main process
which has access to the "local" config.json override file
and can make people happy :D

Remove bunch of duplicated code,
and move comments around to put them in the right place

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-26 21:08:04 +01:00
あかれぎ
c84ef8bdb5 Translated using Weblate (Japanese)
Currently translated at 81.0% (17 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
2019-06-26 11:29:28 +00:00
Tirifto
0fb17c91d8 Translated using Weblate (Esperanto)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2019-06-26 11:29:28 +00:00
David Baker
fceb05e646 Merge pull request #10124 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2019-06-20 11:00:34 +01:00
Weblate
c0e81e7808 Merge branch 'origin/develop' into Weblate. 2019-06-19 15:04:21 +00:00
Tuomas Hietala
470f6a8cbc Translated using Weblate (Finnish)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2019-06-19 15:04:20 +00:00
RiotRobot
6f1ce750bf Merge branch 'master' into develop 2019-06-19 16:03:22 +01:00
J. Ryan Stinnett
b7a19c6d16 Merge pull request #10097 from vector-im/jryans/linux-icons
Fix default Electron window and tray icons
2019-06-18 17:35:34 +01:00
Weblate
cece9a5028 Merge branch 'origin/develop' into Weblate. 2019-06-18 16:35:30 +00:00
J. Ryan Stinnett
f3bfb08280 Update Electron's runtime PNG icon to match others
This runtime PNG icon (the default window and tray icon) was not updated to
remove the white background when we last changed the branding. This copies a 265
px PNG from elsewhere to ensure it matches.

Part of https://github.com/vector-im/riot-web/issues/9897
2019-06-18 16:59:04 +01:00
J. Ryan Stinnett
292427c275 Move default Electron icons outside asar
Electron doesn't seem to want to load icons from within `asar`s, so this changes
the default icons (used for window and tray) so that they are just regular files
on disk and updates the reference to match.

Part of https://github.com/vector-im/riot-web/issues/9897
2019-06-18 16:58:43 +01:00
J. Ryan Stinnett
f10e7ac224 Fix reference to main window when setting Electron window icon
This fixes the fallback path which sets the Electron window icon to the default
icon in case there's no data URI based icon coming content. This is true
immediately after startup, for example.

Part of https://github.com/vector-im/riot-web/issues/9897
2019-06-18 14:31:19 +01:00
BenjaminVettori
9e5712594c Translated using Weblate (German)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2019-06-17 22:29:00 +00:00
Nathan Follens
c90cc096a1 Translated using Weblate (West Flemish)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/vls/
2019-06-16 08:28:56 +00:00
Le Dang Trung
f1a6651f04 Translated using Weblate (Vietnamese)
Currently translated at 57.1% (12 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/vi/
2019-06-16 08:28:56 +00:00
Vitaly Lipatov
a36013f2e0 Translated using Weblate (Russian)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2019-06-16 08:28:55 +00:00
random
36cebd565a Translated using Weblate (Italian)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2019-06-16 08:28:55 +00:00
Slavi Pantaleev
fefa2ee036 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2019-06-16 08:28:55 +00:00
Osoitz
446a4b16ee Translated using Weblate (Basque)
Currently translated at 100.0% (21 of 21 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2019-06-16 08:28:55 +00:00
Weblate
3b557c273f Merge branch 'origin/develop' into Weblate. 2019-06-11 13:06:33 +00:00
Weblate
d5cdfe62d5 Merge branch 'origin/develop' into Weblate. 2019-06-11 13:03:19 +00:00
53 changed files with 1857 additions and 1058 deletions

View File

@@ -44,3 +44,14 @@ steps:
plugins:
- docker#v3.0.1:
image: "node:10"
- label: "🌐 i18n"
command:
- "echo '--- Fetching Dependencies'"
- "./scripts/fetch-develop.deps.sh --depth 1"
- "yarn install"
- "echo '+++ Testing i18n output'"
- "yarn diff-i18n"
plugins:
- docker#v3.0.1:
image: "node:10"

View File

@@ -31,9 +31,10 @@ Describe here the problem that you are experiencing, or the feature you are requ
Describe how what happens differs from what you expected.
Log: sent/not sent? <!-- You can send us the app's logs via the 'Report bug'
link on the 'Settings' page. Very important for hard-to-reproduce bugs. Please
file a bug here too! -->
<!-- Please send us logs for your bug report. They're very important for bugs
which are hard to reproduce. To do this, create this issue then go to your
account settings and click 'Submit Debug Logs' from the Help & About tab -->
Logs being sent: yes/no
<!-- Include screenshots if possible: you can drag and drop images below. -->

View File

@@ -33,9 +33,10 @@ Describe here the problem that you are experiencing, or the feature you are requ
Describe how what happens differs from what you expected.
Log: sent/not sent? <!-- You can send us the app's logs via the 'Report bug'
link on the 'Settings' page. Very important for hard-to-reproduce bugs. Please
file a bug here too! -->
<!-- Please send us logs for your bug report. They're very important for bugs
which are hard to reproduce. To do this, create this issue then go to your
account settings and click 'Submit Debug Logs' from the Help & About tab -->
Logs being sent: yes/no
<!-- Include screenshots if possible: you can drag and drop images below. -->

View File

@@ -1,3 +1,116 @@
Changes in [1.3.2](https://github.com/vector-im/riot-web/releases/tag/v1.3.2) (2019-08-05)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.1...v1.3.2)
* Updated react-sdk for deactivated account error message on login
Changes in [1.3.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.1) (2019-08-05)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.1-rc.1...v1.3.1)
* Updated js-sdk for notifications fix and react-sdk for registration fix
Changes in [1.3.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.1-rc.1) (2019-07-31)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0...v1.3.1-rc.1)
* Upgrade to JS SDK 2.3.0-rc.1 and React SDK 1.5.0-rc.1
* Update from Weblate
[\#10436](https://github.com/vector-im/riot-web/pull/10436)
* Describe our existing features better in documentation
[\#10418](https://github.com/vector-im/riot-web/pull/10418)
* Upgrade to Electron 5
[\#10392](https://github.com/vector-im/riot-web/pull/10392)
* Remove edits and reactions feature flags from docs and config
[\#10363](https://github.com/vector-im/riot-web/pull/10363)
* Cachebust config file requests
[\#10349](https://github.com/vector-im/riot-web/pull/10349)
* Convert install-app-deps to subcommand
[\#10334](https://github.com/vector-im/riot-web/pull/10334)
* Add riot.im configuration files
[\#10327](https://github.com/vector-im/riot-web/pull/10327)
* Require descriptions in mxSendRageshake and remove infinite loop in issue
templates
[\#10321](https://github.com/vector-im/riot-web/pull/10321)
* Remove unused disable_identity_server config flag
[\#10322](https://github.com/vector-im/riot-web/pull/10322)
* Verify i18n in CI
[\#10320](https://github.com/vector-im/riot-web/pull/10320)
Changes in [1.3.0](https://github.com/vector-im/riot-web/releases/tag/v1.3.0) (2019-07-18)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.3...v1.3.0)
* Upgrade to React SDK 1.4.0 and JS SDK 2.2.0
* Message editing and reactions features enabled
* Remove edits and reactions feature flags from docs and config
[\#10365](https://github.com/vector-im/riot-web/pull/10365)
Changes in [1.3.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.3.0-rc.3) (2019-07-15)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.2...v1.3.0-rc.3)
* Update to react-sdk rc.3 to fix a bug where a room admin could generate a room
that would cause Riot to error, and some stuck notifications.
Changes in [1.3.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.3.0-rc.2) (2019-07-12)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.1...v1.3.0-rc.2)
* Upgrade to React SDK 1.4.0-rc.2 and JS SDK 2.2.0-rc.2
* Fix regression from Riot 1.3.0-rc.1 when listing devices in user settings
Changes in [1.3.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.0-rc.1) (2019-07-12)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.4...v1.3.0-rc.1)
* Upgrade to React SDK 1.4.0-rc.1 and JS SDK 2.2.0-rc.1
* Update from Weblate
[\#10328](https://github.com/vector-im/riot-web/pull/10328)
* Upgrade dependencies
[\#10308](https://github.com/vector-im/riot-web/pull/10308)
* Upgrade dependencies
[\#10260](https://github.com/vector-im/riot-web/pull/10260)
Changes in [1.2.4](https://github.com/vector-im/riot-web/releases/tag/v1.2.4) (2019-07-11)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.3...v1.2.4)
* Upgrade to React SDK 1.3.1 and JS SDK 2.1.1
* Upgrade lodash dependencies
* JS SDK 2.1.1 includes a fix for ephemeral event processing
* React SDK 1.3.1 includes a fix for account deactivation
Changes in [1.2.3](https://github.com/vector-im/riot-web/releases/tag/v1.2.3) (2019-07-08)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.3-rc.1...v1.2.3)
* Upgrade to React SDK 1.3.0 and JS SDK 2.1.0
* JS SDK 2.1.0 includes a fix for an exception whilst syncing
Changes in [1.2.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.2.3-rc.1) (2019-07-03)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.2...v1.2.3-rc.1)
* Change update URL to match new host
[\#10247](https://github.com/vector-im/riot-web/pull/10247)
* Update from Weblate
[\#10219](https://github.com/vector-im/riot-web/pull/10219)
* Extract configuration docs to separate file
[\#10195](https://github.com/vector-im/riot-web/pull/10195)
* Add e2e/warning.svg to preload
[\#10197](https://github.com/vector-im/riot-web/pull/10197)
* Fix Electron vector: links
[\#10196](https://github.com/vector-im/riot-web/pull/10196)
* Display a red box of anger for config syntax errors
[\#10193](https://github.com/vector-im/riot-web/pull/10193)
* Move config-getting to VectorBasePlatform
[\#10181](https://github.com/vector-im/riot-web/pull/10181)
* Update from Weblate
[\#10124](https://github.com/vector-im/riot-web/pull/10124)
* Fix default Electron window and tray icons
[\#10097](https://github.com/vector-im/riot-web/pull/10097)
Changes in [1.2.2](https://github.com/vector-im/riot-web/releases/tag/v1.2.2) (2019-06-19)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.2-rc.2...v1.2.2)

126
README.md
View File

@@ -21,7 +21,7 @@ released version of Riot:
1. Untar the tarball on your web server
1. Move (or symlink) the `riot-x.x.x` directory to an appropriate name
1. If desired, copy `config.sample.json` to `config.json` and edit it
as desired. See below for details.
as desired. See the [configuration docs](docs/config.md) for details.
1. Enter the URL into your browser and log into Riot!
Releases are signed using gpg and the OpenPGP standard, and can be checked against the public key located
@@ -52,9 +52,9 @@ on the client, Riot needs a way to supply the decrypted content from a separate
origin to the one Riot is hosted on. This currently done with a 'cross origin
renderer' which is a small piece of javascript hosted on a different domain.
To avoid all Riot installs needing one of these to be set up, riot.im hosts
one on usercontent.riot.im which is used by default. See 'config.json' if you'd
like to host your own. https://github.com/vector-im/riot-web/issues/6173 tracks
progress on replacing this with something better.
one on usercontent.riot.im which is used by default.
https://github.com/vector-im/riot-web/issues/6173 tracks progress on replacing
this with something better.
Building From Source
====================
@@ -91,7 +91,7 @@ guide](https://yarnpkg.com/docs/install/) if you do not have it already.
develop branch. (Note that we don't reference the develop versions in git directly
due to https://github.com/npm/npm/issues/3055.)
1. Configure the app by copying `config.sample.json` to `config.json` and
modifying it (see below for details).
modifying it. See the [configuration docs](docs/config.md) for details.
1. `yarn dist` to build a tarball to deploy. Untaring this file will give
a version-specific directory containing all the files that need to go on your
web server.
@@ -101,101 +101,6 @@ which will build all the necessary files into the `webapp` directory. The versio
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.
config.json
===========
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.
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),
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
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.
* *Note*: The URLs can also be individually specified as `default_hs_url` and
`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.
* The identity server is used for verifying third party identifiers like emails
and phone numbers. It is not used to store your password or account information.
If not provided, the identity server defaults to vector.im unless `disable_identity_server`
is set to true in the config. Currently the only two public identity servers
are https://matrix.org and https://vector.im, however in future identity servers
will be decentralised.
* Riot 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.
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. Some of the available features are described in the Labs Feature section
of this README.
1. `showLabsSettings`: Shows the "labs" tab of user settings even when no `features` are enabled
or present. Useful for getting at settings which may be otherwise hidden.
1. `brand`: String to pass to your homeserver when configuring email notifications, to let the
homeserver know what email template to use when talking to you.
1. `branding`: Configures various branding and logo details, such as:
1. `welcomeBackgroundUrl`: An image to use as a wallpaper outside the app
during authentication flows
1. `authHeaderLogoUrl`: An logo image that is shown in the header during
authentication flows
1. `authFooterLinks`: a list of links to show in the authentication page footer:
`[{"text": "Link text", "url": "https://link.target"}, {"text": "Other link", ...}]`
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
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.
1. `bug_report_endpoint_url`: endpoint to send bug reports to (must be running a
https://github.com/matrix-org/rageshake server). Bug reports are sent when a user clicks
"Send Logs" within the application. Bug reports can be disabled by leaving the
`bug_report_endpoint_url` out of your config file.
1. `roomDirectory`: config for the public room directory. This section is optional.
1. `roomDirectory.servers`: List of other homeservers' directories to include in the drop
down list. Optional.
1. `default_theme`: name of theme to use by default (e.g. 'light')
1. `update_base_url` (electron app only): HTTPS URL to a web server to download
updates from. This should be the path to the directory containing `macos`
and `win32` (for update packages, not installer packages).
1. `cross_origin_renderer_url`: URL to a static HTML page hosting code to help display
encrypted file attachments. This MUST be hosted on a completely separate domain to
anything else since it is used to isolate the privileges of file attachments to this
domain. Default: `https://usercontent.riot.im/v1.html`. This needs to contain v1.html from
https://github.com/matrix-org/usercontent/blob/master/v1.html
1. `piwik`: Analytics can be disabled by setting `piwik: false` or by leaving the piwik config
option out of your config file. If you want to enable analytics, set `piwik` to be an object
containing the following properties:
1. `url`: The URL of the Piwik instance to use for collecting analytics
1. `whitelistedHSUrls`: a list of HS URLs to not redact from the analytics
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
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.
1. `homeUrl`: Content shown on the inside of the app when a specific room is
not selected. By default, no home page is configured. If one is set, a
button to access it will be shown in the top left menu.
1. `defaultCountryCode`: The ISO 3166 alpha2 country code to use when showing
country selectors, like the phone number input on the registration page.
Defaults to `GB` if the given code is unknown or not provided.
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
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 as above, 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.
Running as a Desktop app
========================
@@ -248,19 +153,8 @@ yarn global add nativefier
nativefier https://riot.im/app/
```
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.
To change the config.json for the desktop app, create a config file which will be used to override values in the config which ships in the package:
+ `%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`.
The [configuration docs](docs/config.md#desktop-app-configuration) show how to
override the desktop app's default settings if desired.
Running from Docker
===================
@@ -298,6 +192,12 @@ docker build -t vectorim/riot-web:develop \
.
```
config.json
===========
Riot supports a variety of settings to configure default servers, behaviour, themes, etc.
See the [configuration docs](docs/config.md) for more details.
Labs Features
=============

View File

@@ -8,7 +8,6 @@
"base_url": "https://vector.im"
}
},
"disable_identity_server": false,
"disable_custom_urls": false,
"disable_guests": false,
"disable_login_language_selector": false,
@@ -21,10 +20,10 @@
"defaultCountryCode": "GB",
"showLabsSettings": false,
"features": {
"feature_groups": "labs",
"feature_pinning": "labs",
"feature_reactions": "labs",
"feature_message_editing": "labs"
"feature_custom_status": "labs",
"feature_custom_tags": "labs",
"feature_state_counters": "labs"
},
"default_federate": true,
"default_theme": "light",

110
docs/config.md Normal file
View File

@@ -0,0 +1,110 @@
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.
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),
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
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.
* *Note*: The URLs can also be individually specified as `default_hs_url` and
`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.
* The identity server is used for verifying third party identifiers like emails
and phone numbers. It is not used to store your password or account information.
If not provided, the identity server defaults to vector.im. Currently the only
two public identity servers are https://matrix.org and https://vector.im, however
in future identity servers will be decentralised. In the future it will be possible
to disable the identity server functionality.
* Riot 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.
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. The available features are described in [labs.md](labs.md).
1. `showLabsSettings`: Shows the "labs" tab of user settings even when no `features` are enabled
or present. Useful for getting at settings which may be otherwise hidden.
1. `brand`: String to pass to your homeserver when configuring email notifications, to let the
homeserver know what email template to use when talking to you.
1. `branding`: Configures various branding and logo details, such as:
1. `welcomeBackgroundUrl`: An image to use as a wallpaper outside the app
during authentication flows
1. `authHeaderLogoUrl`: An logo image that is shown in the header during
authentication flows
1. `authFooterLinks`: a list of links to show in the authentication page footer:
`[{"text": "Link text", "url": "https://link.target"}, {"text": "Other link", ...}]`
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
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.
1. `bug_report_endpoint_url`: endpoint to send bug reports to (must be running a
https://github.com/matrix-org/rageshake server). Bug reports are sent when a user clicks
"Send Logs" within the application. Bug reports can be disabled by leaving the
`bug_report_endpoint_url` out of your config file.
1. `roomDirectory`: config for the public room directory. This section is optional.
1. `roomDirectory.servers`: List of other homeservers' directories to include in the drop
down list. Optional.
1. `default_theme`: name of theme to use by default (e.g. 'light')
1. `update_base_url` (electron app only): HTTPS URL to a web server to download
updates from. This should be the path to the directory containing `macos`
and `win32` (for update packages, not installer packages).
1. `cross_origin_renderer_url`: URL to a static HTML page hosting code to help display
encrypted file attachments. This MUST be hosted on a completely separate domain to
anything else since it is used to isolate the privileges of file attachments to this
domain. Default: `https://usercontent.riot.im/v1.html`. This needs to contain v1.html from
https://github.com/matrix-org/usercontent/blob/master/v1.html
1. `piwik`: Analytics can be disabled by setting `piwik: false` or by leaving the piwik config
option out of your config file. If you want to enable analytics, set `piwik` to be an object
containing the following properties:
1. `url`: The URL of the Piwik instance to use for collecting analytics
1. `whitelistedHSUrls`: a list of HS URLs to not redact from the analytics
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
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.
1. `homeUrl`: Content shown on the inside of the app when a specific room is
not selected. By default, no home page is configured. If one is set, a
button to access it will be shown in the top left menu.
1. `defaultCountryCode`: The ISO 3166 alpha2 country code to use when showing
country selectors, like the phone number input on the registration page.
Defaults to `GB` if the given code is unknown or not provided.
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
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
`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.
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`.

View File

@@ -1,12 +1,29 @@
# Labs features
Some notes on the features you can enable by going to `Settings->Labs`. Not exhaustive, chat in
[#riot-web:matrix.org] for more information.
[#riot-web:matrix.org](https://matrix.to/#/#riot-web:matrix.org) for more information.
**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be
dropped. Ask in the room if you are unclear about any details here.**
## Render simple counters in room header
## 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
and select "Pin".
## Custom status (`feature_custom_status`)
An experimental approach for supporting custom status messages across DMs. To set a status, click on
your avatar next to the message composer.
## Custom tags (`feature_custom_tags`)
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.
## Render simple counters in room header (`feature_state_counters`)
Allows rendering of labelled counters above the message list.
@@ -28,18 +45,3 @@ Once enabled, send a custom state event to a room to set values:
```
That's it. Now should see your new counter under the header.
## Reactions
`feature_reactions` allows reacting to messages with emoji and displaying
reactions from other people. This feature is currently under active development,
and only portions have been implemented so far.
## Message editing
`feature_message_editing` allows editing messages after they have been sent,
accessible from the reaction/context bar when hovering a message.
This feature is currently under active development,
and only portions have been implemented so far.
[#riot-web:matrix.org]: https://matrix.to/#/#riot-web:matrix.org

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "1.2.2",
"version": "1.3.2",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"dependencies": {

View File

@@ -1,4 +1,6 @@
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.
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,5 +1,5 @@
{
"update_base_url": "https://riot.im/download/desktop/update/",
"update_base_url": "https://packages.riot.im/desktop/update/",
"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",
"brand": "Riot",

View File

@@ -1,8 +1,8 @@
/*
Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2018 New Vector 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.
@@ -173,6 +173,9 @@ ipcMain.on('ipcCall', async function(ev, payload) {
await migrateFromOldOrigin();
migratingOrigin = false;
break;
case 'getConfig':
ret = vectorConfig;
break;
default:
mainWindow.webContents.send('ipcReply', {
id: payload.id,
@@ -208,7 +211,14 @@ const launcher = new AutoLaunch({
// work.
// Also mark it as secure (ie. accessing resources from this
// protocol and HTTPS won't trigger mixed content warnings).
protocol.registerStandardSchemes(['vector'], {secure: true});
protocol.registerSchemesAsPrivileged([{
scheme: 'vector',
privileges: {
standard: true,
secure: true,
supportFetchAPI: true,
},
}]);
app.on('ready', () => {
if (argv['devtools']) {
@@ -295,7 +305,10 @@ app.on('ready', () => {
console.log('No update_base_url is defined: auto update is disabled');
}
const iconPath = `${__dirname}/../img/riot.${process.platform === 'win32' ? 'ico' : 'png'}`;
// 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);
// Load the previous window state with fallback to defaults
const mainWindowState = windowStateKeeper({

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 New Vector Ltd
Copyright 2018, 2019 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,16 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
const { ipcRenderer, webFrame } = require('electron');
const { ipcRenderer } = require('electron');
// expose ipcRenderer to the renderer process
window.ipcRenderer = ipcRenderer;
// Allow the fetch API to load resources from this
// protocol: this is necessary to load olm.wasm.
// (Also mark it a secure although we've already
// done this in the main process).
webFrame.registerURLSchemeAsPrivileged('vector', {
secure: true,
supportFetchAPI: true,
});

View File

@@ -65,7 +65,7 @@ exports.create = function(config) {
global.mainWindow.webContents.on('page-favicon-updated', async function(ev, favicons) {
if (!favicons || favicons.length <= 0 || !favicons[0].startsWith('data:')) {
if (lastFavicon !== null) {
win.setIcon(defaultIcon);
global.mainWindow.setIcon(defaultIcon);
trayIcon.setImage(defaultIcon);
lastFavicon = null;
}

View File

@@ -36,7 +36,11 @@ function onWindowOrNavigate(ev, target) {
}
function onLinkContextMenu(ev, params) {
const url = params.linkURL || params.srcURL;
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.

View File

@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "1.2.2",
"version": "1.3.2",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -30,6 +30,7 @@
"reskindex:watch": "reskindex -h src/header -w",
"i18n": "matrix-gen-i18n",
"prunei18n": "matrix-prune-i18n",
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"build:res": "node scripts/copy-res.js",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:compile": "yarn reskindex && babel --source-maps -d lib src",
@@ -44,7 +45,7 @@
"build": "yarn build:js-sdk && yarn build:react-sdk && yarn reskindex && yarn build:res && yarn build:bundle",
"build:dev": "yarn build:js-sdk && yarn build:react-sdk && yarn reskindex && yarn build:res && yarn build:bundle:dev",
"dist": "scripts/package.sh",
"install:electron": "install-app-deps",
"install:electron": "electron-builder install-app-deps",
"electron": "yarn install:electron && electron .",
"start:res": "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",
@@ -73,8 +74,8 @@
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279",
"gfm.css": "^1.1.2",
"highlight.js": "^9.13.1",
"matrix-js-sdk": "2.0.1",
"matrix-react-sdk": "1.2.2",
"matrix-js-sdk": "2.3.0",
"matrix-react-sdk": "1.5.1",
"modernizr": "^3.6.0",
"olm": "https://packages.matrix.org/npm/olm/olm-3.1.0.tgz",
"prop-types": "^15.6.2",
@@ -107,8 +108,8 @@
"cpx": "^1.3.2",
"cross-env": "^4.0.0",
"css-loader": "^2.1.0",
"electron-builder": "^20.38.5",
"electron-builder-squirrel-windows": "^20.38.5",
"electron-builder": "^20.44.4",
"electron-builder-squirrel-windows": "^21.0.6",
"electron-devtools-installer": "^2.2.4",
"eslint": "^5.8.0",
"eslint-config-google": "^0.7.1",
@@ -153,13 +154,16 @@
},
"build": {
"appId": "im.riot.app",
"electronVersion": "4.2.4",
"electronVersion": "5.0.7",
"files": [
"node_modules/**",
"src/**",
"img/**"
"src/**"
],
"extraResources": [
{
"from": "electron_app/img",
"to": "img"
},
"webapp/**/*",
"origin_migrator/**/*"
],

11
riot.im/README Normal file
View File

@@ -0,0 +1,11 @@
This directory contains the config files and deployment scripts for the official
riot.im distribution of Riot Web at https://riot.im.
You probably do not want to build with this config unless you're building the
official riot.im distribution, but these files may be useful if you want to
inspect the configuration used there.
Riot Desktop uses a separate config (see electron_app/riot.im/config.json).
Deployment scripts (such as app/deploy.py) are meant to be run on the web server
hosting the Riot installation.

48
riot.im/app/config.json Normal file
View File

@@ -0,0 +1,48 @@
{
"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",
"brand": "Riot",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
"https://scalar-staging.vector.im/api",
"https://scalar.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"hosting_signup_link": "https://modular.im/?utm_source=riot-web&utm_medium=web",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"welcomeUserId": "@riot-bot:matrix.org",
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1,
"policyUrl": "https://matrix.org/docs/guides/riot_im_cookie_policy"
},
"phasedRollOut": {
"feature_lazyloading": {
"offset": 1539684000000,
"period": 604800000
}
},
"features": {
"feature_lazyloading": "enable",
"feature_room_breadcrumbs": "labs"
},
"roomDirectory": {
"servers": [
"matrix.org"
]
},
"enable_presence_by_hs_url": {
"https://matrix.org": false
},
"terms_and_conditions_links": [
{
"url": "https://riot.im/privacy",
"text": "Privacy Policy"
},
{
"url": "https://matrix.org/docs/guides/riot_im_cookie_policy",
"text": "Cookie Policy"
}
]
}

191
riot.im/app/deploy.py Executable file
View File

@@ -0,0 +1,191 @@
#!/usr/bin/env python
#
# download and unpack a riot-web tarball.
#
# Allows `bundles` to be extracted to a common directory, and a link to
# config.json to be added.
from __future__ import print_function
import argparse
import os
import os.path
import subprocess
import sys
import tarfile
import shutil
import glob
try:
# python3
from urllib.request import urlretrieve
except ImportError:
# python2
from urllib import urlretrieve
class DeployException(Exception):
pass
def create_relative_symlink(linkname, target):
relpath = os.path.relpath(target, os.path.dirname(linkname))
print ("Symlink %s -> %s" % (linkname, relpath))
os.symlink(relpath, linkname)
def move_bundles(source, dest):
"""Move the contents of the 'bundles' directory to a common dir
We check that we will not be overwriting anything before we proceed.
Args:
source (str): path to 'bundles' within the extracted tarball
dest (str): target common directory
"""
if not os.path.isdir(dest):
os.mkdir(dest)
# build a map from source to destination, checking for non-existence as we go.
renames = {}
for f in os.listdir(source):
dst = os.path.join(dest, f)
if os.path.exists(dst):
print (
"Skipping bundle. The bundle includes '%s' which we have previously deployed."
% f
)
else:
renames[os.path.join(source, f)] = dst
for (src, dst) in renames.iteritems():
print ("Move %s -> %s" % (src, dst))
os.rename(src, dst)
class Deployer:
def __init__(self):
self.packages_path = "."
self.bundles_path = None
self.should_clean = False
# filename -> symlink path e.g 'config.localhost.json' => '../localhost/config.json'
self.symlink_paths = {}
self.verify_signature = True
def deploy(self, tarball, extract_path):
"""Download a tarball if necessary, and unpack it
Returns:
(str) the path to the unpacked deployment
"""
print("Deploying %s to %s" % (tarball, extract_path))
name_str = os.path.basename(tarball).replace(".tar.gz", "")
extracted_dir = os.path.join(extract_path, name_str)
if os.path.exists(extracted_dir):
raise DeployException('Cannot unpack %s: %s already exists' % (
tarball, extracted_dir))
downloaded = False
if tarball.startswith("http://") or tarball.startswith("https://"):
tarball = self.download_and_verify(tarball)
print("Downloaded file: %s" % tarball)
downloaded = True
try:
with tarfile.open(tarball) as tar:
tar.extractall(extract_path)
finally:
if self.should_clean and downloaded:
os.remove(tarball)
print ("Extracted into: %s" % extracted_dir)
if self.symlink_paths:
for link_path, file_path in self.symlink_paths.iteritems():
create_relative_symlink(
target=file_path,
linkname=os.path.join(extracted_dir, link_path)
)
if self.bundles_path:
extracted_bundles = os.path.join(extracted_dir, 'bundles')
move_bundles(source=extracted_bundles, dest=self.bundles_path)
# replace the extracted_bundles dir (which may not be empty if some
# bundles were skipped) with a symlink to the common dir.
shutil.rmtree(extracted_bundles)
create_relative_symlink(
target=self.bundles_path,
linkname=extracted_bundles,
)
return extracted_dir
def download_and_verify(self, url):
tarball = self.download_file(url)
if self.verify_signature:
sigfile = self.download_file(url + ".asc")
subprocess.check_call(["gpg", "--verify", sigfile, tarball])
return tarball
def download_file(self, url):
if not os.path.isdir(self.packages_path):
os.mkdir(self.packages_path)
local_filename = os.path.join(self.packages_path,
url.split('/')[-1])
sys.stdout.write("Downloading %s -> %s..." % (url, local_filename))
sys.stdout.flush()
urlretrieve(url, local_filename)
print ("Done")
return local_filename
if __name__ == "__main__":
parser = argparse.ArgumentParser("Deploy a Riot build on a web server.")
parser.add_argument(
"-p", "--packages-dir", default="./packages", help=(
"The directory to download the tarball into. (Default: '%(default)s')"
)
)
parser.add_argument(
"-e", "--extract-path", default="./deploys", help=(
"The location to extract .tar.gz files to. (Default: '%(default)s')"
)
)
parser.add_argument(
"-b", "--bundles-dir", nargs='?', default="./bundles", help=(
"A directory to move the contents of the 'bundles' directory to. A \
symlink to the bundles directory will also be written inside the \
extracted tarball. Example: './bundles'. \
(Default: '%(default)s')"
)
)
parser.add_argument(
"-c", "--clean", action="store_true", default=False, help=(
"Remove .tar.gz files after they have been downloaded and extracted. \
(Default: %(default)s)"
)
)
parser.add_argument(
"--include", nargs='*', default=['./config*.json'], help=(
"Symlink these files into the root of the deployed tarball. \
Useful for config files and home pages. Supports glob syntax. \
(Default: '%(default)s')"
)
)
parser.add_argument(
"tarball", help=(
"filename of tarball, or URL to download."
),
)
args = parser.parse_args()
deployer = Deployer()
deployer.packages_path = args.packages_dir
deployer.bundles_path = args.bundles_dir
deployer.should_clean = args.clean
for include in args.include:
deployer.symlink_paths.update({ os.path.basename(pth): pth for pth in glob.iglob(include) })
deployer.deploy(args.tarball, args.extract_path)

View File

@@ -0,0 +1,54 @@
{
"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",
"brand": "Riot",
"integrations_ui_url": "https://scalar-staging.vector.im/",
"integrations_rest_url": "https://scalar-staging.vector.im/api",
"integrations_widgets_urls": [
"https://scalar-staging.riot.im/scalar/api",
"https://scalar-staging.vector.im/api",
"https://scalar.vector.im/api"
],
"hosting_signup_link": "https://modular.im/?utm_source=riot-web&utm_medium=web",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"features": {
"feature_rich_quoting": "labs",
"feature_pinning": "labs",
"feature_presence_management": "labs",
"feature_sticker_messages": "labs",
"feature_jitsi": "labs",
"feature_tag_panel": "enable",
"feature_keybackup": "labs",
"feature_custom_status": "labs",
"feature_custom_tags": "labs",
"feature_lazyloading": "enable",
"feature_tabbed_settings": "labs",
"feature_sas": "labs",
"feature_room_breadcrumbs": "labs",
"feature_state_counters": "labs"
},
"welcomeUserId": "@riot-bot:matrix.org",
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1,
"policyUrl": "https://matrix.org/docs/guides/riot_im_cookie_policy"
},
"roomDirectory": {
"servers": [
"matrix.org"
]
},
"enable_presence_by_hs_url": {
"https://matrix.org": false
},
"terms_and_conditions_links": [
{
"url": "https://riot.im/privacy",
"text": "Privacy Policy"
},
{
"url": "https://matrix.org/docs/guides/riot_im_cookie_policy",
"text": "Cookie Policy"
}
]
}

10
scripts/compare-file.js Normal file
View File

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

View File

@@ -2,5 +2,17 @@
"Riot is not supported on mobile web. Install the app?": "Riot mobil qurğular üçün veb-saytın versiyasını dəstəkləmir. Proqramı qurmaq?",
"Riot Desktop on %(platformName)s": "%(platformName)s-da Riot Desktop",
"Unknown device": "Naməlum qurğu",
"You need to be using HTTPS to place a screen-sharing call.": "İş stolunun birgə istifadəsi üçün HTTPS-dan istifadə tələb olunur."
"You need to be using HTTPS to place a screen-sharing call.": "İş stolunun birgə istifadəsi üçün HTTPS-dan istifadə tələb olunur.",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Riot konfiqurasiyanızda yanlış JSON var. Lütfən, xətanı düzəldin və səhifəni yeniləyin",
"Invalid JSON": "Yanlış JSON",
"Sign In": "Daxil ol",
"Create Account": "Hesab Aç",
"Need help?": "Kömək lazımdır?",
"Chat with Riot Bot": "Riot Bot-la söhbət edin",
"Explore rooms": "Otaqları kəşf edin",
"Your Riot is misconfigured": "Riot yanlış quraşdırılıb",
"Unexpected error preparing the app. See console for details.": "Proqramı başladarkən gözlənilməz xəta. Ətraflı məlumat üçün konsola baxın.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Yanlış konfiqurasiya: default_server_config, default_server_name, və ya default_hs_url-dən yalnız birini təyin etməlisiniz.",
"Invalid configuration: no default server specified.": "Yanlış konfiqurasiya: ilkin server təyin edilməyib.",
"%(appName)s via %(browserName)s on %(osName)s": "%(osName)s-da %(browserName)s ilə %(appName)s"
}

View File

@@ -46,5 +46,9 @@
"Unexpected error preparing the app. See console for details.": "Неочаквана грешка при подготвянето на приложението. Вижте конзолата за подробности.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Невалидна конфигурация: може да е указано само едно от: default_server_config, default_server_name, или default_hs_url.",
"Invalid configuration: no default server specified.": "Невалидна конфигурация: не е указан сървър по подразбиране.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Тази инсталация на Riot изглежда няма валидна конфигурация за сървър. Ако сте администраторът, моля поправете грешката по-долу"
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Тази инсталация на Riot изглежда няма валидна конфигурация за сървър. Ако сте администраторът, моля поправете грешката по-долу",
"Your Riot is misconfigured": "Riot не е конфигуриран правилно",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Riot конфигурацията ви съдържа невалиден JSON. Коригирайте проблема и презаредете страницата.",
"The message from the parser is: %(message)s": "Грешката от парсъра е: %(message)s",
"Invalid JSON": "Невалиден JSON"
}

View File

@@ -46,5 +46,9 @@
"Unexpected error preparing the app. See console for details.": "Unerwarteter Fehler bei der Vorbereitung der App. Siehe Konsole für Details.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ungültige Konfiguration: Es kann nur eine der Optionen default_server_config, default_server_name oder default_hs_url angegeben werden.",
"Invalid configuration: no default server specified.": "Ungültige Konfiguration: Es wurde kein Standardserver angegeben.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Diese Installation von Riot scheint eine ungültige Serverkonfiguration zu haben. Wenn Sie der Administrator sind, korrigieren Sie bitte den folgenden Fehler"
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Diese Installation von Riot scheint eine ungültige Serverkonfiguration zu haben. Wenn Sie der Administrator sind, korrigieren Sie bitte den folgenden Fehler",
"Your Riot is misconfigured": "Dein Riot ist falsch konfiguriert",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Deine Riot Konfiguration enthält ungültiges JSON. Bitte korrigiere das Problem und lade die Seite neu.",
"The message from the parser is: %(message)s": "Die Nachricht des Parsers ist: %(message)s",
"Invalid JSON": "Ungültiges JSON"
}

View File

@@ -1,6 +1,9 @@
{
"Unexpected error preparing the app. See console for details.": "Unexpected error preparing the app. See console for details.",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.",
"The message from the parser is: %(message)s": "The message from the parser is: %(message)s",
"Invalid JSON": "Invalid JSON",
"Your Riot is misconfigured": "Your Riot is misconfigured",
"Unexpected error preparing the app. See console for details.": "Unexpected error preparing the app. See console for details.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.",
"Invalid configuration: no default server specified.": "Invalid configuration: no default server specified.",
"Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s",

View File

@@ -42,5 +42,12 @@
"Create Account": "Create Account",
"Need help?": "Need help?",
"Explore rooms": "Explore rooms",
"Room Directory": "Room Directory"
"Room Directory": "Room Directory",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.",
"The message from the parser is: %(message)s": "The message from the parser is: %(message)s",
"Invalid JSON": "Invalid JSON",
"Your Riot is misconfigured": "Your Riot is misconfigured",
"Unexpected error preparing the app. See console for details.": "Unexpected error preparing the app. See console for details.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.",
"Invalid configuration: no default server specified.": "Invalid configuration: no default server specified."
}

View File

@@ -36,15 +36,18 @@
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s per %(browserName)s je %(osName)s",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Vi povas uzi proprajn servilajn elektojn por saluti aliajn servilojn de Matrix, per specifo de alia hejmservila URL.<br/>Tio permesas al vi uzi klienton Riot kun jama konto de Matrix en alia hejmservilo.<br/><br/>Vi ankaŭ povas agordi propran identigan servilon, sed vi ne povos inviti uzantojn per retpoŝtadreso, aŭ esti invitata per retpoŝtadreso mem.",
"Co-ordination for Riot translators": "Kunordigo por tradukantoj de Riot",
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Vi povas ankaŭ agordi propran identigan servilon, sed vi ne eblos inviti uzantojn per retpoŝtadresoj, nek eblos esti invitita per retpoŝtadreso.",
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Vi povas ankaŭ agordi propran identigan servilon, sed vi ne eblos inviti uzantojn per retpoŝtadresoj, nek tiel invitiĝi.",
"Sign In": "Saluti",
"Create Account": "Krei konton",
"Need help?": "Ĉu vi bezonas helpon?",
"Explore rooms": "Esplori ĉambrojn",
"Room Directory": "Ĉambra dosierujo",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Vi povas uzi proprajn servilajn elekteblojn por saluti aliajn servilojn de Matrix, donante alian hejmeservilan URL-on. Tio povigos vin uzi programon Riot kun jama konto de Matrix en alia hejmservilo.",
"Unexpected error preparing the app. See console for details.": "Neatendida eraro okazis dum preparad de la aplikaĵo. Detalojn trovu en konzolo.",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Vi povas uzi proprajn servilajn elekteblojn por saluti al aliaj serviloj de Matrix per doni alian hejmeservilan URL-on. Tio povigos vin uzi Riot kun jama konto de Matrix en alia hejmservilo.",
"Unexpected error preparing the app. See console for details.": "Neatendita eraro okazis dum la preparado de la aplikaĵo. Rigardu la konzolon por detaloj.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Nevalida agordo: vi povas specifi nur unu elekteblon el «default_server_config», «default_server_name», aŭ «default_hs_url».",
"Invalid configuration: no default server specified.": "Nevalida agordo: neniu implicita servilo estas specifita.",
"Your Riot is misconfigured": "Via kliento Riot estas misagordita"
"Your Riot is misconfigured": "Via kliento Riot estas misagordita",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Viaj Riot-agordoj enhavas nevalidan JSON-on. Bonvolu korekti la problemon kaj reŝarĝi la paĝon.",
"The message from the parser is: %(message)s": "La mesaĝo el la analizilo estas: %(message)s",
"Invalid JSON": "Nevalida JSON"
}

View File

@@ -8,7 +8,7 @@
"Riot is not supported on mobile web. Install the app?": "Riot no está soportado en navegadores Web móviles. ¿Quieres instalar la aplicación?",
"You need to be using HTTPS to place a screen-sharing call.": "Debes usar HTTPS para hacer una llamada con pantalla compartida.",
"Welcome to Riot.im": "Bienvenido a Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversaciones cifradas y descentralizadas &amp; colaboración con el poder de [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversaciones cifradas y descentralizadas y colaboración con el poder de [matrix]",
"Search the room directory": "Buscar en el directorio de salas",
"Chat with Riot Bot": "Hablar con Riot Bot",
"Get started with some tips from Riot Bot!": "¡Comenzar con algunos consejos de Riot Bot!",
@@ -42,5 +42,12 @@
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "También puedes definir un servidor de identidad personalizado, pero no podrás invitar a usuarios o ser inivitado usando direcciones de correo.",
"Explore rooms": "Explorar salas",
"Room Directory": "Directorio de salas",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Puedes usar la opción de servidor personalizado para iniciar sesión en otros servidores Matrix, especificando la dirección URL del servidor. Esto te permite usar una cuenta Matrix en un servidor diferente."
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Puedes usar la opción de servidor personalizado para iniciar sesión en otros servidores Matrix, especificando la dirección URL del servidor. Esto te permite usar una cuenta Matrix en un servidor diferente.",
"Unexpected error preparing the app. See console for details.": "Error inesperado preparando la aplicación. Vea la consola para más detalles.",
"Your Riot is misconfigured": "Riot tiene un error de configuración",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuración errónea: sólo puede especificar uno de default_server_config, default_server_name, o default_hs_url.",
"Invalid configuration: no default server specified.": "Configuración errónea: no se ha especificado servidor.",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Tu configuración de Riot contiene JSON inválido. Por favor corrige el error y recarga la página.",
"The message from the parser is: %(message)s": "El mensaje del parser es: %(message)s",
"Invalid JSON": "JSON inválido"
}

View File

@@ -45,5 +45,9 @@
"Room Directory": "Gelen direktorioa",
"Unexpected error preparing the app. See console for details.": "Ustekabeko errorea aplikazioa prestatzean. Ikusi xehetasunak kontsolan.",
"Your Riot is misconfigured": "Zure Riot gaizki konfiguratuta dago",
"Invalid configuration: no default server specified.": "Konfigurazio baliogabea: Ez da lehenetsitako zerbitzaririk zehaztu."
"Invalid configuration: no default server specified.": "Konfigurazio baliogabea: Ez da lehenetsitako zerbitzaririk zehaztu.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Konfigurazio baliogabea: default_server_config, default_server_name, edo default_hs_url bat bakarra zehaztu daiteke.",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Zure Riot konfigurazioak baliogabeko JSON kodea du. Zuzendu arazoa eta kargatu orria berriro.",
"The message from the parser is: %(message)s": "Prozesatzailearen mezua hau da: %(message)s",
"Invalid JSON": "JSON baliogabea"
}

View File

@@ -28,7 +28,7 @@
"Dev chat for the Riot/Web dev team": "Kehittäjäkeskustelu Riot/Web kehitystiimille",
"Dev chat for the Dendrite dev team": "Kehittäjäkeskustelu Dendrite kehitystiimille",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrixissa on olemassa monia huoneita, jotka on linkitetty olemassa oleviin verkkoihin (Slack, IRC, Gitter yms.). Tutustu hakemistoon!",
"powered by Matrix": "Matrix",
"powered by Matrix": "moottorina Matrix",
"Riot is not supported on mobile web. Install the app?": "Riot ei tue laitettasi. Asenna mobiilisovellus?",
"Design and implementation of E2E in Matrix": "Matrix päästä-päähän salauksen suunnittelu ja implementointi",
"Contributing code to Matrix and Riot": "Osallistu kehitystyöhön",
@@ -41,5 +41,12 @@
"Create Account": "Luo tili",
"Need help?": "Tarvitsetko apua?",
"Explore rooms": "Etsi huoneita",
"Room Directory": "Huoneluettelo"
"Room Directory": "Huoneluettelo",
"Unexpected error preparing the app. See console for details.": "Odottamaton virhe sovellusta valmisteltaessa. Katso konsolista lisätietoja.",
"Your Riot is misconfigured": "Riotin asetukset ovat pielessä",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Virheellinen asetus. Vain yhden seuraavista voi määrittää: default_server_config, default_server_name, tai default_hs_url.",
"Invalid configuration: no default server specified.": "Virheellinen asetus: oletuspalvelinta ei ole määritetty.",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Riot-asetuksissasi on virheellistä JSONia. Korjaa ongelma ja lataa sivu uudelleen.",
"The message from the parser is: %(message)s": "Viesti jäsentimeltä: %(message)s",
"Invalid JSON": "Virheellinen JSON"
}

View File

@@ -47,5 +47,8 @@
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuration invalide : il ne faut spécifier quun des trois champs entre default_server_config, default_server_name et default_hs_url.",
"Invalid configuration: no default server specified.": "Configuration invalide : aucun serveur par défaut spécifié.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Cette installation de Riot semble avoir une configuration de serveur non valide. Si vous êtes ladministrateur, corrigez lerreur ci-dessous",
"Your Riot is misconfigured": "Votre Riot est mal configuré"
"Your Riot is misconfigured": "Votre Riot est mal configuré",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Votre configuration de Riot contient du JSON non valide. Corrigez ce problème et rechargez la page.",
"The message from the parser is: %(message)s": "Le message de lanalyseur est : %(message)s",
"Invalid JSON": "JSON non valide"
}

View File

@@ -47,5 +47,8 @@
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Érvénytelen konfiguráció: csak egyet lehet megadni a default_server_config, default_server_name és default_hs_url közül.",
"Invalid configuration: no default server specified.": "Érvénytelen konfiguráció: nincs megadva alapértelmezett szerver.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "A telepített Riotnak úgy tűnik hibás a szerver beállítása. Ha te vagy az adminisztrátor, kérlek javítsd az alábbi hibát",
"Your Riot is misconfigured": "A Riotod hibásan van beállítva"
"Your Riot is misconfigured": "A Riotod hibásan van beállítva",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "A Riot beállításod érvénytelen JSON szöveget tartalmaz. Kérlek javítsd és töltsd újra az oldalt.",
"The message from the parser is: %(message)s": "A feldolgozó algoritmus üzenete: %(message)s",
"Invalid JSON": "Érvénytelen JSON"
}

View File

@@ -46,5 +46,9 @@
"Unexpected error preparing the app. See console for details.": "Errore inaspettato preparando l'app. Vedi la console per i dettagli.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configurazione non valida: specificare solo uno di default_server_config, default_server_name, o default_hs_url.",
"Invalid configuration: no default server specified.": "Configurazione non valida: nessun server predefinito specificato.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Questa installazione di Riot sembra avere una configurazione server non valida. Se sei l'amministratore, correggi l'errore sottostante"
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Questa installazione di Riot sembra avere una configurazione server non valida. Se sei l'amministratore, correggi l'errore sottostante",
"Your Riot is misconfigured": "Il tuo Riot è configurato male",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "La tua configurazione di Riot contiene un JSON non valido. Correggi il problema e ricarica la pagina.",
"The message from the parser is: %(message)s": "Il messaggio dal parser è: %(message)s",
"Invalid JSON": "JSON non valido"
}

View File

@@ -7,7 +7,7 @@
"Custom Server Options": "カスタムサーバのオプション",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "他のホームサーバのURLを指定することで、他のMatrixサーバにサインインするためにカスタムサーバのオプションを利用できます。<br/>これにより、他のホームサーバ上で既存のMatrixアカウントを用いてRiotを利用できます。<br/><br/>カスタムアイデンティティサーバを立てることもできますが、メールアドレスでユーザを招待する、または自身が招待されることはできません。",
"Dismiss": "やめる",
"powered by Matrix": "Matrixによって動作しています",
"powered by Matrix": "Matrix の支援により活動しています",
"Riot Desktop on %(platformName)s": "%(platformName)s向けデスクトップ版Riot",
"You need to be using HTTPS to place a screen-sharing call.": "画面共有通話を行うにはHTTPS通信を使う必要があります。",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "分散型の、暗号化された会話とコラボレーション。[matrix]で動作しています",
@@ -35,5 +35,13 @@
"Contributing code to Matrix and Riot": "MatrixとRiotにコードを提供する",
"Dev chat for the Riot/Web dev team": "Riot/Web開発者チームのための開発者チャット",
"Dev chat for the Dendrite dev team": "Dendrite開発者チームのための開発者チャット",
"Co-ordination for Riot translators": "Riot 翻訳者による共同作業"
"Co-ordination for Riot translators": "Riot 翻訳者による共同作業",
"Unexpected error preparing the app. See console for details.": "アプリケーションの準備中に予期しないエラーが発生しました。詳細はコンソールを参照してください。",
"Your Riot is misconfigured": "あなたの Riot は間違って設定されています。",
"Invalid configuration: no default server specified.": "不正な設定です:デフォルトのサーバーが設定されていません。",
"Sign In": "サインイン",
"Create Account": "アカウントを作成する",
"Need help?": "助けが必要ですか?",
"Explore rooms": "部屋を探索する",
"Room Directory": "部屋のディレクトリー"
}

View File

@@ -45,5 +45,9 @@
"Unexpected error preparing the app. See console for details.": "Negaidīta kļūda, sagatavojot lietotni. Sīkāku informāciju skatiet konsolē.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Šai Riot instalācijai ir nekorekta servera konfigurācija. Ja esat administrators, lūdzu, izlabojiet tālāk norādīto kļūdu",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Nederīga konfigurācija: var norādīt tikai vienu no default_server_config, default_server_name, vai default_hs_url.",
"Invalid configuration: no default server specified.": "Nekorekta konfigurācija: nav norādīts noklusējuma serveris."
"Invalid configuration: no default server specified.": "Nekorekta konfigurācija: nav norādīts noklusējuma serveris.",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Jūsu Riot konfigurācijā ir nederīgs JSON. Lūdzu, izlabojiet problēmu un ielādējiet lapu atkārtoti.",
"The message from the parser is: %(message)s": "Ziņojums no parsētāja ir: %(message)s",
"Invalid JSON": "Nederīgs JSON",
"Your Riot is misconfigured": "Jūsu Riot ir nepareizi konfigurēts"
}

View File

@@ -47,5 +47,8 @@
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ongeldige configuratie: kan slechts één van default_server_config, default_server_name, of default_hs_url opgeven.",
"Invalid configuration: no default server specified.": "Ongeldige configuratie: geen standaardserver opgegeven.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "De serverconfiguratie van deze Riot-instantie lijkt ongeldig. Als u de beheerder bent, gelieve dan de fout hieronder te corrigeren",
"Your Riot is misconfigured": "Uw Riot is verkeerd geconfigureerd"
"Your Riot is misconfigured": "Uw Riot is verkeerd geconfigureerd",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Uw Riot-configuratie bevat ongeldige JSON. Corrigeer het probleem en herlaad de pagina.",
"The message from the parser is: %(message)s": "Het bericht van de verwerker is: %(message)s",
"Invalid JSON": "Ongeldige JSON"
}

View File

@@ -1,5 +1,5 @@
{
"Custom Server Options": "Выбор другого сервера",
"Custom Server Options": "Параметры другого сервера",
"Dismiss": "Отклонить",
"powered by Matrix": "основано на Matrix",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s с %(browserName)s на %(osName)s",
@@ -47,5 +47,5 @@
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Неверная конфигурация: может указывать только один из следующих параметров: default_server_config, default_server_name или default_hs_url.",
"Invalid configuration: no default server specified.": "Неверная конфигурация: сервер по умолчанию не указан.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Эта установка Riot, кажется, имеет неверную конфигурацию сервера. Если вы являетесь администратором, пожалуйста, исправьте ошибку ниже",
"Your Riot is misconfigured": "Твой Riot неправильно настроен"
"Your Riot is misconfigured": "Ваш Riot неправильно настроен"
}

View File

@@ -47,5 +47,8 @@
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Formësim i pavlefshëm: mund të caktohet vetëm një prej default_server_config, default_server_name, ose default_hs_url.",
"Invalid configuration: no default server specified.": "Formësim i pavlefshëm: sështë caktuar shërbyes parazgjedhje.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Ky instalim i Riot-it duket se ka një formësim të pavlefshëm për shërbyesin. Nëse jeni një përgjegjës, ju lutemi, ndreqni gabimin më poshtë",
"Your Riot is misconfigured": "Riot-i juaj është i keqformësuar"
"Your Riot is misconfigured": "Riot-i juaj është i keqformësuar",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Formësimi juaj i Riot-it përmban JSON. Ju lutemi, ndreqeni problemin dhe ringarkoni faqen.",
"The message from the parser is: %(message)s": "Mesazhi prej procesit është: %(message)s",
"Invalid JSON": "JSON i pavlefshëm"
}

View File

@@ -42,5 +42,12 @@
"Create Account": "Skapa konto",
"Need help?": "Behöver du hjälp?",
"Explore rooms": "Utforska rum",
"Room Directory": "Rumslista"
"Room Directory": "Rumslista",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Dina Riot-inställningar innhåller ogiltig JSON. Vänligen uppdatera inställningarna och ladda om sidan.",
"The message from the parser is: %(message)s": "Medelandet från parsern är: %(message)s",
"Invalid JSON": "Ogiltig JSON",
"Your Riot is misconfigured": "Riot är felkonfigurerat",
"Unexpected error preparing the app. See console for details.": "Oväntat fel vid appstart. Se konsollen för mer information.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ogilitiga inställningar: enbart möjligt att specificera en default_config, default_server, eller default_hs_url.",
"Invalid configuration: no default server specified.": "Ogilitiga inställningar: ingen standardserver specificerad."
}

View File

@@ -13,5 +13,20 @@
"Matrix technical discussions": "Matrix தொழில்நுட்ப விவாதங்கள்",
"Running Matrix services": "இருப்பிலிருக்கும் Matrix சேவைகள்",
"Building services on Matrix": "Matrix- ல் சேவைகளைக் கட்டமைக்க",
"Contributing code to Matrix and Riot": "Matrix மற்றும் Riot -ற்க்கு நிரல் பங்களிக்க"
"Contributing code to Matrix and Riot": "Matrix மற்றும் Riot -ற்க்கு நிரல் பங்களிக்க",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "உங்கள் Riot உள்ளமைவில் தவறான JSON உள்ளது. சிக்கலை சரிசெய்து பக்கத்தை மீண்டும் ஏற்றவும்.",
"The message from the parser is: %(message)s": "பாகுபடுத்தி அனுப்பிய செய்தி: %(message)s",
"Invalid JSON": "தவறான JSON",
"Your Riot is misconfigured": "உங்கள் Riot தவறாக உள்ளமைக்கப்பட்டுள்ளது",
"Unexpected error preparing the app. See console for details.": "பயன்பாட்டைத் தயாரிப்பதில் எதிர்பாராத பிழை. விவரங்களுக்கு console ஐப் பார்க்கவும்.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "தவறான உள்ளமைவு: default_server_config, default_server_name அல்லது default_hs_url இல் ஒன்றை மட்டுமே குறிப்பிட முடியும்.",
"Invalid configuration: no default server specified.": "தவறான உள்ளமைவு: இயல்புநிலை சேவையகம் குறிப்பிடப்படவில்லை.",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "வேறுபட்ட ஹோம்சர்வர் URL ஐக் குறிப்பிடுவதன் மூலம் பிற Matrix சேவையகங்களில் உள்நுழைய தனிப்பயன் சேவையக விருப்பங்களைப் பயன்படுத்தலாம். இது வேறு வீட்டு சேவையகத்தில் ஏற்கனவே உள்ள Matrix கணக்கைக் கொண்ட Riot ஐப் பயன்படுத்த உங்களை அனுமதிக்கிறது.",
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "நீங்கள் தனிப்பயன் அடையாள சேவையகத்தையும் அமைக்கலாம், ஆனால் நீங்கள் மின்னஞ்சல் முகவரி மூலம் பயனர்களை அழைக்க முடியாது, அல்லது மின்னஞ்சல் முகவரியால் உங்களை அழைக்க முடியாது.",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "[matrix] ஆல் இயக்கப்படும் பரவலாக்கப்பட்ட, மறைகுறியாக்கப்பட்ட அரட்டை &amp; ஒத்துழைப்பு",
"Sign In": "உள்நுழைக",
"Create Account": "உங்கள் கணக்கை துவங்குங்கள்",
"Need help?": "உதவி தேவை?",
"Explore rooms": "அறைகளை ஆராயுங்கள்",
"Room Directory": "அறை அடைவு"
}

View File

@@ -16,5 +16,19 @@
"Get started with some tips from Riot Bot!": "Bắt đầu với các hướng dẫn từ Riot Bot!",
"General discussion about Matrix and Riot": "Thảo luận chung về Matrix và Riot",
"Discussion of all things Matrix!": "Thào luận về mọi vấn đề liên quan đến Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop chat"
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop chat",
"Unexpected error preparing the app. See console for details.": "Lỗi xảy ra trong lúc chuẩn bị app. Xem console log để biết chi tiết.",
"Your Riot is misconfigured": "Hệ thống Riot của bạn bị thiết lập sai",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Thiết lập Riot của bạn chứa JSON không hợp lệ. Bạn hãy sửa lỗi và tải lại trang.",
"The message from the parser is: %(message)s": "Nội dung tin là: %(message)s",
"Invalid JSON": "JSON không hợp lệ",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Thiết lập không hợp lệ: chỉ có thể điền một trong số default_server_config, default_server_name, hoặc default_hs_url.",
"Invalid configuration: no default server specified.": "Cấu hình không hợp lệ: máy chủ mặc định không được thiết lập.",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Bạn có thể sử dụng lựa chọn máy chủ khác để đăng nhập vào máy chủ Matrix bằng cách nhập đường dẫn máy chủ riêng. Cách này giúp bạn sử dụng Riot với máy chủ riêng của bạn.",
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Bạn có thể sử dụng máy chủ định danh riêng, nhưng bạn sẽ không thể mời người dùng bằng email, hoặc được mời bằng email của bạn.",
"Sign In": "Đăng nhập",
"Create Account": "Tạo tài khoản",
"Need help?": "Cần hỗ trợ?",
"Explore rooms": "Khám phá phòng chat",
"Room Directory": "Danh mục phòng"
}

View File

@@ -1,7 +1,7 @@
{
"Unexpected error preparing the app. See console for details.": "t Es een onverwachte fout ipgetreedn by t voorbereiden van den app. Bekykt de console vo details.",
"Unexpected error preparing the app. See console for details.": "t Is een onverwachte foute ipgetreedn by t voorbereidn van den app. Bekykt de console vo details.",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "De serverconfiguroatie van deze Riot-instantie lykt oungeldig. A je gy den beheerder zyt, gelieve ton de foute hierounder te corrigeern",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Oungeldige configuroatie: kun slechts één van default_server_config, default_server_name, of default_hs_url ipgeevn.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Oungeldige configuroatie: ku moar één van default_server_config, default_server_name, of default_hs_url ipgeevn.",
"Invalid configuration: no default server specified.": "Oungeldige configuroatie: geen standoardserver ipgegeevn.",
"Riot Desktop on %(platformName)s": "Riot Desktop ip %(platformName)s",
"Unknown device": "Ounbekend toestel",
@@ -9,16 +9,19 @@
"You need to be using HTTPS to place a screen-sharing call.": "Je moet HTTPS gebruukn vo een iproep me schermdeeln te kunn startn.",
"powered by Matrix": "meuglik gemakt deur Matrix",
"Custom Server Options": "Angepaste serverinstelliengn",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Je kut dangepaste serverinstelliengn gebruukn vo jen an te melden by andere Matrix-servers, deur een andere thuusserver-URL in te geevn. Dit laat je toe van Riot te gebruukn met e bestoande Matrix-account by een andere thuusserver.",
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Je kut ook een angepaste identiteitsserver instelln, ma je goa geen gebruukers kunn uutnodign via e-mail, of zelve via e-mail uutgenodigd wirden.",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Je kut dangepaste serverinstelliengn gebruukn vo jen eigen an te melden by andere Matrix-servers, deur een andere thuusserver-URL in te geevn. Dit lat je toe van Riot te gebruukn met e bestoande Matrix-account by een andere thuusserver.",
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Je kut ook een angepasten identiteitsserver instelln, ma je goa geen gebruukers kunn uutnodign via e-mail, of zelve via e-mail uutgenodigd wirden.",
"Dismiss": "Afwyzn",
"Welcome to Riot.im": "Welgekommn by Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Gedecentraliseerd en versleuteld chattn &amp; soamenwerkn meuglijk gemakt deur [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Gedecentraliseerd en versleuteld chattn &amp; soamenwerkn meuglik gemakt deur [matrix]",
"Sign In": "Anmeldn",
"Create Account": "Account anmoakn",
"Need help?": "Hulp nodig?",
"Chat with Riot Bot": "Chattn me Riot-robot",
"Explore rooms": "Gesprekkn ountdekkn",
"Room Directory": "Gesprekscatalogus",
"Your Riot is misconfigured": "Je Riot is verkeerd geconfigureerd gewist"
"Room Directory": "Gesprekscataloog",
"Your Riot is misconfigured": "Je Riot is verkeerd geconfigureerd gewist",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Je Riot-configuroatie bevat oungeldigen JSON. Corrigeer t probleem en herload t blad.",
"The message from the parser is: %(message)s": "t Bericht van de verwerker is: %(message)s",
"Invalid JSON": "Oungeldigen JSON"
}

View File

@@ -47,5 +47,8 @@
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "無效的設定:只能指定 default_server_config、default_server_name 或 default_hs_url 其中之一。",
"Invalid configuration: no default server specified.": "無效設定:未指定預設的伺服器。",
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "這個 Riot 安裝似乎有無效的伺服器設定。如果您是管理員,請在下方更正錯誤",
"Your Riot is misconfigured": "您的 Riot 沒有設定好"
"Your Riot is misconfigured": "您的 Riot 沒有設定好",
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "您的 Riot 包含無效的 JSON。請修正問題並重新整理頁面。",
"The message from the parser is: %(message)s": "從解析器而來的訊息為:%(message)s",
"Invalid JSON": "無效的 JSON"
}

View File

@@ -17,6 +17,8 @@ limitations under the License.
import Promise from 'bluebird';
import request from 'browser-request';
// Load the config file. First try to load up a domain-specific config of the
// form "config.$domain.json" and if that fails, fall back to config.json.
export async function getVectorConfig(relativeLocation) {
if (relativeLocation === undefined) relativeLocation = '';
if (relativeLocation !== '' && !relativeLocation.endsWith('/')) relativeLocation += '/';
@@ -35,30 +37,34 @@ export async function getVectorConfig(relativeLocation) {
function getConfig(configJsonFilename) {
return new Promise(function(resolve, reject) {
request(
{ method: "GET", url: configJsonFilename },
{ method: "GET", url: configJsonFilename, qs: { cachebuster: Date.now() } },
(err, response, body) => {
if (err || response.status < 200 || response.status >= 300) {
// Lack of a config isn't an error, we should
// just use the defaults.
// Also treat a blank config as no config, assuming
// the status code is 0, because we don't get 404s
// from file: URIs so this is the only way we can
// not fail if the file doesn't exist when loading
// from a file:// URI.
if (response) {
if (response.status == 404 || (response.status == 0 && body == '')) {
resolve({});
try {
if (err || response.status < 200 || response.status >= 300) {
// Lack of a config isn't an error, we should
// just use the defaults.
// Also treat a blank config as no config, assuming
// the status code is 0, because we don't get 404s
// from file: URIs so this is the only way we can
// not fail if the file doesn't exist when loading
// from a file:// URI.
if (response) {
if (response.status == 404 || (response.status == 0 && body == '')) {
resolve({});
}
}
reject({err: err, response: response});
return;
}
reject({err: err, response: response});
return;
}
// We parse the JSON ourselves rather than use the JSON
// parameter, since this throws a parse error on empty
// which breaks if there's no config.json and we're
// loading from the filesystem (see above).
resolve(JSON.parse(body));
// We parse the JSON ourselves rather than use the JSON
// parameter, since this throws a parse error on empty
// which breaks if there's no config.json and we're
// loading from the filesystem (see above).
resolve(JSON.parse(body));
} catch (e) {
reject({err: e});
}
},
);
});

View File

@@ -41,6 +41,7 @@
</script>
<script src="<%= htmlWebpackPlugin.files.chunks['bundle'].entry %>"></script>
<img src="<%= require('matrix-react-sdk/res/img/warning.svg') %>" width="24" height="23" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('matrix-react-sdk/res/img/e2e/warning.svg') %>" width="24" height="23" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<audio id="messageAudio">
<source src="media/message.ogg" type="audio/ogg" />
<source src="media/message.mp3" type="audio/mpeg" />

View File

@@ -2,6 +2,7 @@
Copyright 2015, 2016 OpenMarket Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2018, 2019 New Vector Ltd
Copyright 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.
@@ -43,7 +44,6 @@ import PlatformPeg from 'matrix-react-sdk/lib/PlatformPeg';
sdk.loadSkin(require('../component-index'));
import VectorConferenceHandler from 'matrix-react-sdk/lib/VectorConferenceHandler';
import Promise from 'bluebird';
import request from 'browser-request';
import * as languageHandler from 'matrix-react-sdk/lib/languageHandler';
import {_t, _td, newTranslatableError} from 'matrix-react-sdk/lib/languageHandler';
import AutoDiscoveryUtils from 'matrix-react-sdk/lib/utils/AutoDiscoveryUtils';
@@ -66,8 +66,6 @@ import Olm from 'olm';
import CallHandler from 'matrix-react-sdk/lib/CallHandler';
import {getVectorConfig} from './getconfig';
let lastLocationHashSet = null;
// Disable warnings for now: we use deprecated bluebird functions
@@ -119,7 +117,7 @@ function routeUrl(location) {
}
function onHashChange(ev) {
if (decodeURIComponent(window.location.hash) == lastLocationHashSet) {
if (decodeURIComponent(window.location.hash) === lastLocationHashSet) {
// we just set this: no need to route it!
return;
}
@@ -159,7 +157,7 @@ function makeRegistrationUrl(params) {
const keys = Object.keys(params);
for (let i = 0; i < keys.length; ++i) {
if (i == 0) {
if (i === 0) {
url += '?';
} else {
url += '&';
@@ -170,38 +168,6 @@ function makeRegistrationUrl(params) {
return url;
}
export function getConfig(configJsonFilename) {
return new Promise(function(resolve, reject) {
request(
{ method: "GET", url: configJsonFilename },
(err, response, body) => {
if (err || response.status < 200 || response.status >= 300) {
// Lack of a config isn't an error, we should
// just use the defaults.
// Also treat a blank config as no config, assuming
// the status code is 0, because we don't get 404s
// from file: URIs so this is the only way we can
// not fail if the file doesn't exist when loading
// from a file:// URI.
if (response) {
if (response.status == 404 || (response.status == 0 && body == '')) {
resolve({});
}
}
reject({err: err, response: response});
return;
}
// We parse the JSON ourselves rather than use the JSON
// parameter, since this throws a parse error on empty
// which breaks if there's no config.json and we're
// loading from the filesystem (see above).
resolve(JSON.parse(body));
},
);
});
}
function onTokenLoginCompleted() {
// if we did a token login, we're now left with the token, hs and is
// url as query params in the url; a little nasty but let's redirect to
@@ -252,14 +218,21 @@ async function loadApp() {
PlatformPeg.set(new WebPlatform());
}
// Load the config file. First try to load up a domain-specific config of the
// form "config.$domain.json" and if that fails, fall back to config.json.
const platform = PlatformPeg.get();
let configJson;
let configError;
let configSyntaxError = false;
try {
configJson = await getVectorConfig();
configJson = await platform.getConfig();
} catch (e) {
configError = e;
if (e && e.err && e.err instanceof SyntaxError) {
console.error("SyntaxError loading config:", e);
configSyntaxError = true;
configJson = {}; // to prevent errors between here and loading CSS for the error box
}
}
// XXX: We call this twice, once here and once in MatrixChat as a prop. We call it here to ensure
@@ -329,6 +302,33 @@ async function loadApp() {
}
}
// Now that we've loaded the theme (CSS), display the config syntax error if needed.
if (configSyntaxError) {
const errorMessage = (
<div>
<p>
{_t(
"Your Riot configuration contains invalid JSON. Please correct the problem " +
"and reload the page.",
)}
</p>
<p>
{_t(
"The message from the parser is: %(message)s",
{message: configError.err.message || _t("Invalid JSON")},
)}
</p>
</div>
);
const GenericErrorPage = sdk.getComponent("structures.GenericErrorPage");
window.matrixChat = ReactDOM.render(
<GenericErrorPage message={errorMessage} title={_t("Your Riot is misconfigured")} />,
document.getElementById('matrixchat'),
);
return;
}
const validBrowser = checkBrowserFeatures([
"displaytable", "flexbox", "es5object", "es5function", "localstorage",
"objectfit", "indexeddb", "webworkers",
@@ -342,7 +342,6 @@ async function loadApp() {
Unable to load config file: please refresh the page to try again.
</div>, document.getElementById('matrixchat'));
} else if (validBrowser || acceptInvalidBrowser) {
const platform = PlatformPeg.get();
platform.startUpdater();
// Don't bother loading the app until the config is verified
@@ -410,7 +409,7 @@ function loadOlm() {
}).then(() => {
console.log("Using WebAssembly Olm");
}).catch((e) => {
console.log("Failed to load Olm: trying legacy version");
console.log("Failed to load Olm: trying legacy version", e);
return new Promise((resolve, reject) => {
const s = document.createElement('script');
s.src = 'olm_legacy.js'; // XXX: This should be cache-busted too

View File

@@ -4,6 +4,7 @@
Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
Copyright 2018 New Vector Ltd
Copyright 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.
@@ -101,6 +102,10 @@ export default class ElectronPlatform extends VectorBasePlatform {
this.stopUpdateCheck = this.stopUpdateCheck.bind(this);
}
async getConfig(): Promise<{}> {
return this._ipcCall('getConfig');
}
async onUpdateDownloaded(ev, updateInfo) {
dis.dispatch({
action: 'new_version',

View File

@@ -4,6 +4,7 @@
Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
Copyright 2018 New Vector Ltd
Copyright 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.
@@ -21,6 +22,7 @@ limitations under the License.
import BasePlatform from 'matrix-react-sdk/lib/BasePlatform';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import dis from 'matrix-react-sdk/lib/dispatcher';
import {getVectorConfig} from "../getconfig";
import Favico from 'favico.js';
@@ -44,6 +46,10 @@ export default class VectorBasePlatform extends BasePlatform {
this.stopUpdateCheck = this.stopUpdateCheck.bind(this);
}
async getConfig(): Promise<{}> {
return getVectorConfig();
}
getHumanReadableName(): string {
return 'Vector Base Platform'; // no translation required: only used for analytics
}

View File

@@ -50,6 +50,10 @@ initRageshake();
global.mxSendRageshake = function(text, withLogs) {
if (withLogs === undefined) withLogs = true;
if (!text || !text.trim()) {
console.error("Cannot send a rageshake without a message - please tell us what went wrong");
return;
}
require(['matrix-react-sdk/lib/rageshake/submit-rageshake'], (s) => {
s(SdkConfig.get().bug_report_endpoint_url, {
userText: text,

View File

@@ -104,7 +104,6 @@ describe('joining a room', function() {
hsName: "TEST_ENVIRONMENT",
hsNameIsDifferent: false, // yes, we lie
isUrl: IS_URL,
identityEnabled: true,
}),
};

View File

@@ -153,7 +153,6 @@ describe('loading:', function() {
hsName: "TEST_ENVIRONMENT",
hsNameIsDifferent: false, // yes, we lie
isUrl: DEFAULT_IS_URL,
identityEnabled: true,
}),
embeddedPages: {
homeUrl: 'data:text/html;charset=utf-8;base64,PGh0bWw+PC9odG1sPg==',

1770
yarn.lock

File diff suppressed because it is too large Load Diff