Compare commits

...

264 Commits

Author SHA1 Message Date
David Baker
c2038a5ccc v0.17.8 2018-12-10 13:48:11 +00:00
David Baker
cb628d0799 Prepare changelog for v0.17.8 2018-12-10 13:48:11 +00:00
David Baker
7c4f67b1a1 v0.17.8 2018-12-10 13:46:57 +00:00
David Baker
a82f9d5266 Released js-sdk & react-sdk 2018-12-10 13:46:35 +00:00
David Baker
b6493a2f82 v0.17.8-rc.1 2018-12-06 12:49:53 +00:00
David Baker
74c81d6921 v0.17.8-rc.1 2018-12-06 12:48:34 +00:00
David Baker
02eb8a284c Actually revert electron app version bump
last one was in fasct the main version file
2018-12-06 12:47:18 +00:00
David Baker
bf2d792d94 Revert electron app version bump 2018-12-06 12:45:38 +00:00
David Baker
10294ab240 react-sdk rc.2 2018-12-06 12:42:52 +00:00
David Baker
88ff92a658 v0.17.8-rc.1 2018-12-06 11:21:42 +00:00
David Baker
8d9987a6b5 Prepare changelog for v0.17.8-rc.1 2018-12-06 11:21:42 +00:00
David Baker
6ba471421f v0.17.8-rc.1 2018-12-06 11:20:33 +00:00
David Baker
5310b4c14b js-sdk & react-sdk rc.1 2018-12-06 11:20:00 +00:00
David Baker
69567f9806 Merge pull request #7784 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2018-12-05 16:00:19 +00:00
Weblate
0007e669fb Merge remote-tracking branch 'origin/develop' into develop 2018-12-05 15:55:37 +00:00
David Baker
7247e97ff0 Update to electron 3.0.10 2018-12-05 15:55:20 +00:00
Weblate
844dbcf740 Merge remote-tracking branch 'origin/develop' into develop 2018-11-29 21:56:33 +00:00
Travis Ralston
10671aa06e Merge pull request #7755 from vector-im/travis/rageshake-console
Add a function to send a rageshake from the console
2018-11-29 14:56:27 -07:00
Travis Ralston
373f850002 Safely bind console.log and default withLogs to true 2018-11-29 13:13:46 -07:00
Travis Ralston
ac34ca11df Appease the linter 2018-11-27 16:11:58 -07:00
Travis Ralston
710e295b44 Add a function to send a rageshake from the console
This is mostly useful for cases when the UI is broken or the user can't access the button because they aren't logged in. This is particularly helpful for troubleshooting issues with .well-known discovery if/when they come up.

Ref: https://github.com/vector-im/riot-web/issues/4802
2018-11-27 16:03:37 -07:00
Weblate
c3b05cb34e Merge remote-tracking branch 'origin/develop' into develop 2018-11-23 07:53:16 +00:00
David Baker
b5c27ca074 Merge pull request #7738 from vector-im/revert-7737-revert-7490-lint
Re-apply "Run lint on travis builds and use modern node versions"
2018-11-23 07:53:11 +00:00
David Baker
704a599811 Put back modernizr import
In a way that hopefully makes the linter happy and makes it implicit
that it's side-effecting a global.
2018-11-22 18:27:53 +00:00
David Baker
1dfaf70562 Revert "Revert "Run lint on travis builds and use modern node versions"" 2018-11-22 18:25:55 +00:00
Weblate
dc92b126c7 Merge remote-tracking branch 'origin/develop' into develop 2018-11-22 18:18:06 +00:00
David Baker
c6f70cb72c Merge pull request #7737 from vector-im/revert-7490-lint
Revert "Run lint on travis builds and use modern node versions"
2018-11-22 18:18:01 +00:00
David Baker
f701e2601a Revert "Run lint on travis builds and use modern node versions" 2018-11-22 18:17:09 +00:00
Weblate
8cb8890ab3 Merge remote-tracking branch 'origin/develop' into develop 2018-11-22 18:01:09 +00:00
David Baker
a7a5679bfa Merge pull request #7490 from aaronraimist/lint
Run lint on travis builds and use modern node versions
2018-11-22 18:01:04 +00:00
David Baker
03587abff1 Update .travis.yml
Remove node 6
2018-11-22 17:54:02 +00:00
Weblate
496a5baffd Merge remote-tracking branch 'origin/develop' into develop 2018-11-22 17:06:38 +00:00
David Baker
8996b6b429 Merge branch 'master' into develop 2018-11-22 17:06:25 +00:00
David Baker
d483fb0605 v0.17.7 2018-11-22 16:58:48 +00:00
David Baker
c2ec5f39ab Prepare changelog for v0.17.7 2018-11-22 16:58:48 +00:00
David Baker
58f927538f v0.17.7 2018-11-22 16:56:41 +00:00
David Baker
d9434c7af5 Bump js-sdk & react-sdk 2018-11-22 16:56:13 +00:00
David Baker
6f54ff9e7f Fix missing js-sdk logging
Some of the js-sdk logging was going missing due to js-sdk's
loglevel library being initialised before the rageshake logging.

Fix by doing the rageshake setup within an import, as commented.
2018-11-22 16:43:15 +00:00
Weblate
9eaba3d3f5 Merge remote-tracking branch 'origin/develop' into develop 2018-11-22 16:32:45 +00:00
David Baker
4805858ecb Merge pull request #7736 from vector-im/dbkr/fix_missing_logging
Fix missing js-sdk logging
2018-11-22 16:32:39 +00:00
David Baker
092ae7ef2f Fix missing js-sdk logging
Some of the js-sdk logging was going missing due to js-sdk's
loglevel library being initialised before the rageshake logging.

Fix by doing the rageshake setup within an import, as commented.
2018-11-22 16:21:55 +00:00
David Baker
bbb128b672 Merge branch 'develop' into lint 2018-11-22 11:23:02 +00:00
Weblate
15b8d410c0 Merge remote-tracking branch 'origin/develop' into develop 2018-11-21 19:25:36 +00:00
David Baker
8298e73205 Argh, npm, why are you so awful? 2018-11-21 19:25:11 +00:00
Weblate
819e6d9219 Merge remote-tracking branch 'origin/develop' into develop 2018-11-21 19:14:09 +00:00
David Baker
d2c87a0331 Fix jenkins build 2018-11-21 19:13:42 +00:00
Weblate
286c5e8895 Merge remote-tracking branch 'origin/develop' into develop 2018-11-21 19:00:29 +00:00
David Baker
7df77d7e5d Recent node please 2018-11-21 19:00:11 +00:00
Weblate
6804a00af0 Merge remote-tracking branch 'origin/develop' into develop 2018-11-19 15:30:26 +00:00
David Baker
81c75eb14b Merge branch 'master' into develop 2018-11-19 15:30:01 +00:00
David Baker
e604dfe9e8 v0.17.6 2018-11-19 15:24:34 +00:00
David Baker
135a5d38ff Prepare changelog for v0.17.6 2018-11-19 15:24:33 +00:00
David Baker
07ed2e8d0a v0.17.6 2018-11-19 15:23:08 +00:00
David Baker
2a594414e7 released js-sdk / react-sdk 2018-11-19 15:21:12 +00:00
Weblate
d3496c0cb9 Merge remote-tracking branch 'origin/develop' into develop 2018-11-16 19:36:38 +00:00
Akarshan Biswas
c15151a0af Translated using Weblate (Hindi)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hi/
2018-11-16 19:36:37 +00:00
Travis Ralston
6d1640194e Merge pull request #7710 from vector-im/travis/terms-auth-improvements
Add $accent-color-50pct as a CSS variable to the Status theme
2018-11-16 12:36:32 -07:00
Akarshan Biswas
06740e5480 Translated using Weblate (Hindi)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hi/
2018-11-16 15:09:25 +00:00
Travis Ralston
c338e491fe Add $accent-color-50pct as a CSS variable to the Status theme 2018-11-15 20:21:20 -07:00
David Baker
a570ee53a8 v0.17.6-rc.2 2018-11-15 15:40:54 +00:00
David Baker
417a31f1fe Prepare changelog for v0.17.6-rc.2 2018-11-15 15:40:53 +00:00
David Baker
a4a6f070e4 v0.17.6-rc.2 2018-11-15 15:38:42 +00:00
David Baker
d287abcd68 Update js-sdk to 0.14 & react-sdk to rc.2
rc.1 used js-sdk 0.13 which did not use the new Olm API.
2018-11-15 15:37:20 +00:00
David Baker
79fd38a899 v0.17.6-rc.1 2018-11-15 12:23:06 +00:00
David Baker
0aa0773ef7 Prepare changelog for v0.17.6-rc.1 2018-11-15 12:23:05 +00:00
David Baker
154e8bdb50 v0.17.6-rc.1 2018-11-15 12:21:16 +00:00
David Baker
8f37c22917 releaesed js-sdk & react-sdk rc.1 2018-11-15 12:20:42 +00:00
David Baker
0aeef3187a Merge pull request #7708 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2018-11-15 12:13:47 +00:00
Weblate
8903eebe17 Merge remote-tracking branch 'origin/develop' into develop 2018-11-13 19:02:46 +00:00
David Baker
cc4d0af713 Merge branch 'master' into develop 2018-11-13 19:02:34 +00:00
David Baker
4a217d9e9f v0.17.5 2018-11-13 18:54:25 +00:00
David Baker
122caf7a95 Prepare changelog for v0.17.5 2018-11-13 18:54:25 +00:00
David Baker
a1e5c72eb9 v0.17.5 2018-11-13 18:52:59 +00:00
David Baker
7dd163ac85 bump react-sdk 2018-11-13 18:52:16 +00:00
Weblate
01432d3848 Merge remote-tracking branch 'origin/develop' into develop 2018-11-13 18:19:27 +00:00
toriko
d3cae13552 Translated using Weblate (Japanese)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
2018-11-13 18:19:26 +00:00
David Baker
061838bdab Merge branch 'master' into develop 2018-11-13 18:19:10 +00:00
David Baker
24846a1d64 v0.17.4 2018-11-13 18:11:12 +00:00
David Baker
0b31d32793 Prepare changelog for v0.17.4 2018-11-13 18:11:12 +00:00
David Baker
71403980cc v0.17.4 2018-11-13 18:09:48 +00:00
David Baker
f8ab754af4 bump react-sdk 2018-11-13 18:09:10 +00:00
Weblate
fd3ed9e119 Merge remote-tracking branch 'origin/develop' into develop 2018-11-09 10:53:49 +00:00
David Baker
b53c86c5f4 Merge pull request #7673 from aaronraimist/add-japanese
Add Japanese (#7599)
2018-11-09 10:53:43 +00:00
Weblate
cbe6d31ee3 Merge remote-tracking branch 'origin/develop' into develop 2018-11-08 21:37:30 +00:00
Travis Ralston
5810221181 Merge pull request #7674 from jryans/webpack-bind-all
Allow Webpack dev server to listen to all interfaces
2018-11-08 14:37:24 -07:00
J. Ryan Stinnett
e9f4594eb9 Allow Webpack dev server to listen to all interfaces
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-11-08 20:55:51 +01:00
Aaron Raimist
2f991d190f Add Japanese (#7599)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-11-08 13:31:09 -06:00
Victor Grousset
ae90b9877a Translated using Weblate (Esperanto)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2018-11-06 12:22:01 +00:00
Weblate
786c2a1fd7 Merge remote-tracking branch 'origin/develop' into develop 2018-11-02 15:39:21 +00:00
Travis Ralston
eef4f7c4cf Merge pull request #7637 from vector-im/travis/cleanup-request
Remove the request-only stuff we don't need anymore
2018-11-02 09:39:15 -06:00
Travis Ralston
36cc5de0e7 Remove the request-only stuff we don't need anymore
This was introduced in https://github.com/matrix-org/matrix-react-sdk/pull/2250 but can be pulled out due to https://github.com/matrix-org/matrix-js-sdk/pull/770. See https://github.com/vector-im/riot-web/issues/7634 for more information about the future.
2018-10-31 13:05:36 -06:00
Weblate
854798f470 Merge remote-tracking branch 'origin/develop' into develop 2018-10-29 14:31:01 +00:00
David Baker
ca305399c3 npm update 2018-10-29 14:30:35 +00:00
Weblate
00a8d44ce1 Merge remote-tracking branch 'origin/develop' into develop 2018-10-29 14:28:30 +00:00
David Baker
79c7f331c9 develop js & react sdk deps 2018-10-29 14:28:13 +00:00
David Baker
409c48efcb Merge branch 'master' into develop 2018-10-29 14:27:46 +00:00
David Baker
29f3ff155a v0.17.3 2018-10-29 14:22:55 +00:00
David Baker
6c1deb41be Prepare changelog for v0.17.3 2018-10-29 14:22:55 +00:00
David Baker
4574415e97 v0.17.3 2018-10-29 14:20:59 +00:00
David Baker
f05646c5a1 released js-sdk & react-sdk 2018-10-29 14:20:12 +00:00
Weblate
a6f8f707f3 Merge remote-tracking branch 'origin/develop' into develop 2018-10-29 05:23:04 +00:00
పవి
e19dbe4f3b Translated using Weblate (Telugu)
Currently translated at 27.0% (10 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/te/
2018-10-29 05:23:04 +00:00
Travis Ralston
d393cd67f7 Merge pull request #7615 from vector-im/t3chguy/fix_author_of_electron_app
Correct the author of the electron app
2018-10-28 23:22:58 -06:00
Michael Telatynski
c80f5ddcd1 Correct the author of the electron app
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-10-27 11:04:05 +01:00
Aaron Raimist
a02009d31f Update package-lock.json
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-26 22:21:40 -05:00
Aaron Raimist
a4ed1afeb5 Update babel-eslint to 8.1.1
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-26 22:07:35 -05:00
Travis Ralston
1fea7c022e Fix order of operations for npm install on Travis CI 2018-10-26 20:44:14 -06:00
Travis Ralston
e7f5aee9fb Regenerate package-lock.json (again) 2018-10-26 20:43:53 -06:00
Travis Ralston
d3805f7545 Regenerate package-lock.json and upgrade eslint again 2018-10-26 20:12:43 -06:00
Travis Ralston
70891f41a5 Merge branch 'develop' into lint 2018-10-26 19:56:33 -06:00
Travis Ralston
cebba5bfa3 Merge pull request #7552 from vector-im/travis/permalink-routing
Mock fs, tls, and net to support request in the browser
2018-10-26 14:22:38 -06:00
Travis Ralston
0f5c62d3cc Regenerate package-lock.json
due to conflicts
2018-10-26 10:06:27 -06:00
Travis Ralston
f9fa338960 Merge branch 'develop' into travis/permalink-routing 2018-10-26 09:22:13 -06:00
Travis Ralston
ad7ac26ff3 Upgrade babel-eslint and regenerate package-lock.json 2018-10-25 16:10:27 -06:00
Travis Ralston
10efaaa078 Merge branch 'develop' into lint 2018-10-25 16:06:02 -06:00
Travis Ralston
bb353b940e Merge pull request #7598 from jryans/update-chokidar
Update chokidar to transitively get newer fsevents
2018-10-25 15:53:23 -06:00
J. Ryan Stinnett
9732d10f24 Update chokidar to transitively get newer fsevents
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-10-25 23:04:25 +02:00
David Baker
9b80aa76ce Merge pull request #7385 from vector-im/dbkr/wasm
Support WebAssembly version of Olm
2018-10-25 15:58:24 +01:00
David Baker
bc935012da Update to Olm 3 2018-10-25 15:44:22 +01:00
Travis Ralston
e4025f1aff Mock fs, tls, and net to support request in the browser
fs is mocked using memfs, which needs to be installed at all 3 layers because webpack is silly
2018-10-24 16:59:14 -06:00
David Baker
e2b55315a6 v0.17.3-rc.1 2018-10-24 11:31:59 +01:00
David Baker
1f8b0f2135 Prepare changelog for v0.17.3-rc.1 2018-10-24 11:31:59 +01:00
David Baker
a9a45dc32b v0.17.3-rc.1 2018-10-24 11:30:44 +01:00
David Baker
f7138c0516 react-sdk & js-sdk rc.1 2018-10-24 11:27:01 +01:00
David Baker
d080a204a3 electron 3.0.5 2018-10-24 11:12:51 +01:00
David Baker
fd31d58128 Merge pull request #7549 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2018-10-24 10:26:13 +01:00
Aaron Raimist
b7622d8551 Use babel-eslint 7.2.3 instead
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-19 23:00:02 -05:00
Aaron Raimist
c470e2dcfb Actually I'll just fix the errors myself and get rid of lintwithexclusions
I seemingly need babel-eslint version 8 for VectorHomePage.js but might as well just upgrade to version 10

Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-19 21:04:55 -05:00
Aaron Raimist
fe11ae73db Run lintwithexclusions on travis builds
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-19 20:59:07 -05:00
Aaron Raimist
70fe4f67ee eslint --fix on test/ 2018-10-19 20:59:07 -05:00
Aaron Raimist
6abd1de8b8 eslint --fix on src/
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-19 20:59:06 -05:00
Weblate
16b150039a Merge remote-tracking branch 'origin/develop' into develop 2018-10-19 15:07:56 +00:00
Bruno Windels
ca1dec8e13 Merge branch 'master' into develop 2018-10-19 17:07:29 +02:00
Bruno Windels
f81d3bc903 Merge branch 'release-v0.17.2' 2018-10-19 17:00:44 +02:00
Bruno Windels
88132067ad update version in package lock file 2018-10-19 17:00:13 +02:00
Bruno Windels
f5eff7d349 v0.17.2 2018-10-19 16:54:27 +02:00
Bruno Windels
5f35b9903d Prepare changelog for v0.17.2 2018-10-19 16:54:26 +02:00
Bruno Windels
221f75542a v0.17.2 2018-10-19 16:51:26 +02:00
David Baker
d0fcf3c952 Don't set tags on notifications
They are to suppress notifications that don't want to be shown in
addition to each other. This makes no sense for our notifications:
they're each for independent messages. Also settings tags on
notifications makes electron crash on windows when you close the
notif, as per https://github.com/vector-im/riot-web/issues/7512
2018-10-19 16:47:16 +02:00
Bruno Windels
62f664c592 update matrix-react-sdk to 0.14.1 2018-10-19 16:45:39 +02:00
Weblate
deaeb1a715 Merge remote-tracking branch 'origin/develop' into develop 2018-10-18 18:26:13 +00:00
David Baker
c1dfbd6993 Merge pull request #7518 from vector-im/dbkr/better_fix_for_windows_crashes
Don't set tags on notifications
2018-10-18 19:26:08 +01:00
David Baker
2854c0969b Don't set tags on notifications
They are to suppress notifications that don't want to be shown in
addition to each other. This makes no sense for our notifications:
they're each for independent messages. Also settings tags on
notifications makes electron crash on windows when you close the
notif, as per https://github.com/vector-im/riot-web/issues/7512
2018-10-18 19:07:59 +01:00
Weblate
1de5e61888 Merge remote-tracking branch 'origin/develop' into develop 2018-10-18 17:44:16 +00:00
David Baker
47493fa7d9 Merge branch 'master' into develop 2018-10-18 18:43:58 +01:00
David Baker
ecfafc613f Merge branch 'release-v0.17.0' 2018-10-18 18:43:29 +01:00
David Baker
a7ea51fc3e v0.17.1 2018-10-18 18:39:58 +01:00
David Baker
35147c6514 Prepare changelog for v0.17.1 2018-10-18 18:39:58 +01:00
David Baker
2518976326 v0.17.1 2018-10-18 18:38:54 +01:00
David Baker
40cb46de46 Merge pull request #7517 from vector-im/dbkr/stop_electron_crashing
Stop electron crashing
2018-10-18 18:35:38 +01:00
David Baker
bb907d49c9 Typo 2018-10-18 18:35:01 +01:00
David Baker
231ca253f2 Stop electron crashing
Workaround temporarily by not closing notifs on win32 as per
comment.

Fixes https://github.com/vector-im/riot-web/issues/7512
2018-10-18 18:31:06 +01:00
Weblate
2a80d33a89 Merge remote-tracking branch 'origin/develop' into develop 2018-10-16 10:12:26 +00:00
David Baker
2202ff1ccd update deps 2018-10-16 11:12:13 +01:00
Weblate
a138a9c6ec Merge remote-tracking branch 'origin/develop' into develop 2018-10-16 10:10:09 +00:00
David Baker
3d8d66547f Merge branch 'master' into develop 2018-10-16 11:09:55 +01:00
David Baker
17e84bf815 Merge branch 'release-v0.17.0' 2018-10-16 11:09:33 +01:00
David Baker
41540842eb v0.17.0 2018-10-16 11:00:39 +01:00
David Baker
65cc3000ee Prepare changelog for v0.17.0 2018-10-16 11:00:39 +01:00
David Baker
1fc8592ef6 v0.17.0 2018-10-16 10:59:18 +01:00
David Baker
4afb5caa4e Released js-sdk & react-sdk 2018-10-16 10:58:29 +01:00
Bruno Windels
9830ab3aad Merge pull request #7503 from vector-im/dbkr/ll_phased_rollout
Phased rollout of lazyloading
2018-10-16 11:44:49 +02:00
David Baker
005e4aa1bd Phased rollout of lazyloading 2018-10-16 10:43:15 +01:00
David Baker
de7d3ba701 Change electron build script paths
Because electron builder has decided to output the mac assets to
somewhere else today.
2018-10-16 10:26:04 +01:00
David Baker
05884ba279 Merge pull request #7501 from vector-im/dbkr/update_electron_builder_relbranch
Update to latest electron builder
2018-10-16 09:40:30 +01:00
David Baker
a0e067510c Update to latest electron builder
Tested auto update on both windows (ia32) and mac, seems to work!
2018-10-16 09:39:30 +01:00
Weblate
2784d1b31c Merge remote-tracking branch 'origin/develop' into develop 2018-10-16 08:37:33 +00:00
Tom Van Eyck
8e9d7d97f6 Translated using Weblate (Dutch)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2018-10-16 08:37:31 +00:00
David Baker
f483fd3916 Merge pull request #7498 from vector-im/dbkr/update_electron_builder
Update to latest electron builder
2018-10-16 09:37:27 +01:00
David Baker
4e65b5f73b Update to latest electron builder
Tested auto update on both windows (ia32) and mac, seems to work!
2018-10-15 18:13:47 +01:00
Travis Ralston
47ade14e07 Merge pull request #6831 from MTRNord/patch-8
Fix Tinter.setTheme to not fire using Firefox
2018-10-12 13:55:43 -06:00
David Baker
5ad9d2094a v0.17.0-rc.1 2018-10-11 16:03:53 +01:00
David Baker
848bd8f553 Prepare changelog for v0.17.0-rc.1 2018-10-11 16:03:52 +01:00
David Baker
74f2266d89 v0.17.0-rc.1 2018-10-11 16:02:48 +01:00
David Baker
03323bc294 Merge remote-tracking branch 'origin/develop' into release-v0.17.0 2018-10-11 16:02:20 +01:00
David Baker
df1eb9f5cb Merge pull request #7483 from vector-im/revert-7429-bwindels/alsocommitlockfile
Revert "also commit the lock file when bumping version as it is now committed to the repo"
2018-10-11 16:02:09 +01:00
David Baker
aaa9c82758 Revert "also commit the lock file when bumping version as it is now committed to the repo" 2018-10-11 16:01:56 +01:00
David Baker
ba51c0721e js-sdk & react-sdk rc.1 2018-10-11 15:42:30 +01:00
David Baker
845b40d815 Bump electron version to 3 2018-10-11 12:06:30 +01:00
David Baker
69adab2c9f Merge pull request #7478 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2018-10-11 11:08:59 +01:00
David Baker
80f0964342 Translated using Weblate (English (United States))
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
2018-10-11 09:58:31 +00:00
Weblate
56372b6a5f Merge remote-tracking branch 'origin/develop' into develop 2018-10-11 09:29:42 +00:00
Matthew Hodgson
af4d3da7a8 link to Here Be Dragons 2018-10-11 10:29:28 +01:00
Weblate
ae1971f5d2 Merge remote-tracking branch 'origin/develop' into develop 2018-10-10 16:35:17 +00:00
Matthew Hodgson
5c184e501d dep on dev sdks 2018-10-10 17:35:06 +01:00
Weblate
3488f04dd4 Merge remote-tracking branch 'origin/develop' into develop 2018-10-09 03:18:28 +00:00
Travis Ralston
92db2b85f3 Merge pull request #7444 from aaronraimist/promise-defer
Fix riot-web Promise.defer warnings (#7409)
2018-10-08 21:18:22 -06:00
Bruno Windels
060a7807f0 v0.16.6 2018-10-08 17:21:35 +02:00
Bruno Windels
52954982a3 Prepare changelog for v0.16.6 2018-10-08 17:21:35 +02:00
Bruno Windels
dec60a9c85 v0.16.6 2018-10-08 17:19:54 +02:00
Bruno Windels
39b5e4b1e3 update matrix-react-sdk to 0.13.6 2018-10-08 17:16:22 +02:00
Aaron Raimist
d836ad8dbc Undo turning warnings back on (#7409)
I guess that turns on warnings for everything, not just riot-web

Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-05 11:05:25 -05:00
Aaron Raimist
d035efb14e Fix lint warnings and turn warnings back on (#7409)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-05 10:41:45 -05:00
Aaron Raimist
401c85ad5b Fix Promise.defer warnings in WebPlatform.js (#7409)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-05 10:23:06 -05:00
Aaron Raimist
54c46df0dc Fix Promise.defer warnings in index.js (#7409)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-05 10:23:06 -05:00
Aaron Raimist
a5fb33de02 Fix Promise.defer warnings in getconfig.js (#7409)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-05 10:23:05 -05:00
Weblate
4c2dace4ca Merge remote-tracking branch 'origin/develop' into develop 2018-10-05 14:59:05 +00:00
Travis Ralston
b09aa2cff3 Merge pull request #7459 from vector-im/travis/https-clone
Use HTTPS cloning for riot-web too
2018-10-05 08:58:58 -06:00
David Baker
e277d02f83 Merge remote-tracking branch 'origin/develop' into dbkr/wasm 2018-10-05 14:04:43 +01:00
Weblate
f31ccaacef Merge remote-tracking branch 'origin/develop' into develop 2018-10-05 13:00:28 +00:00
Bruno Windels
d4576dcf9f Merge pull request #7463 from vector-im/dbkr/disable_auto_reload
Disable webpack-dev-server auto reload
2018-10-05 15:00:23 +02:00
David Baker
4e6f48df03 Disable webpack-dev-server auto reload
As per comment
2018-10-05 13:56:37 +01:00
Weblate
218da8a18a Merge remote-tracking branch 'origin/develop' into develop 2018-10-05 12:25:31 +00:00
David Baker
e28180f3d5 Merge pull request #7462 from vector-im/dbkr/gone_away_is_the_bluebird
Silence bluebird warnings
2018-10-05 13:25:26 +01:00
David Baker
bccccb2758 Silence bluebird warnings 2018-10-05 12:15:29 +01:00
Besnik Bleta
46587450cb Translated using Weblate (Albanian)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
2018-10-05 10:10:27 +00:00
Besnik Bleta
f17712fab3 Translated using Weblate (Albanian)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sq/
2018-10-05 10:06:27 +00:00
David Baker
c5ee92f4c3 Fall back to legacy asm.js Olm 2018-10-04 20:11:34 +01:00
Weblate
24f292f360 Merge remote-tracking branch 'origin/develop' into develop 2018-10-04 17:33:39 +00:00
David Baker
4f5b61b798 Translated using Weblate (English (United States))
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
2018-10-04 17:33:38 +00:00
Travis Ralston
a9e98e6711 Merge pull request #7443 from MTRNord/patch-9
Fix reskindex on matrix-react-side not being called if using build script
2018-10-04 11:33:34 -06:00
Travis Ralston
3286acd306 Use HTTPS cloning for riot-web too 2018-10-04 11:23:42 -06:00
Weblate
085dcfe7bc Merge remote-tracking branch 'origin/develop' into develop 2018-10-04 11:45:20 +00:00
toriko
b6d5f350e4 Translated using Weblate (Japanese)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
2018-10-04 11:45:19 +00:00
Bruno Windels
4d3df8b86b Merge pull request #7454 from vector-im/dbkr/double_closing_tags
Fix double-closed tags
2018-10-04 13:45:14 +02:00
David Baker
a356264801 Fix double-closed tags 2018-10-04 10:49:28 +01:00
Weblate
d32dbb6d10 Merge remote-tracking branch 'origin/develop' into develop 2018-10-03 04:53:45 +00:00
IMIN
70319e4939 Translated using Weblate (Korean)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2018-10-03 04:53:44 +00:00
Travis Ralston
92b2980b41 Merge pull request #7435 from aaronraimist/patch-1
Document how to turn off Piwik and bug reports (#6738)
2018-10-02 22:53:40 -06:00
Aaron Raimist
eabcc9261d Add text saying that bug reports aren't automatic
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-02 22:58:49 -05:00
Marcel
ad5be455bb Fix reskindex on matrix-react-side not being called if using build script 2018-10-03 02:00:35 +02:00
IMIN
20ce990763 Translated using Weblate (Korean)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2018-10-02 17:45:43 +00:00
David Baker
30f0a7932b Merge remote-tracking branch 'origin/develop' into dbkr/wasm 2018-10-02 16:58:31 +01:00
Weblate
33d248d1e4 Merge remote-tracking branch 'origin/develop' into develop 2018-10-02 11:13:09 +00:00
David Baker
f69869ac1e Merge pull request #7429 from vector-im/bwindels/alsocommitlockfile
also commit the lock file when bumping version as it is now committed to the repo
2018-10-02 12:13:04 +01:00
Aaron Raimist
d256194255 Document how to turn off Piwik and bug reports (#6738) 2018-10-01 20:21:13 -05:00
Bruno Windels
4de63e612d also commit the lock file when bumping version as it is now committed to the repo 2018-10-01 17:18:31 +02:00
Weblate
7f50acd886 Merge remote-tracking branch 'origin/develop' into develop 2018-10-01 15:04:22 +00:00
giqtaqisi
18f8ea8519 Translated using Weblate (Lojban)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/jbo/
2018-10-01 15:04:21 +00:00
Bruno Windels
0a4e3379f9 Merge branch 'master' into develop 2018-10-01 17:03:54 +02:00
Bruno Windels
e355753900 also update package-lock file 2018-10-01 17:01:07 +02:00
giqtaqisi
a1a417329c Translated using Weblate (Lojban)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/jbo/
2018-10-01 13:12:29 +00:00
Weblate
1f81ed306d Merge remote-tracking branch 'origin/develop' into develop 2018-10-01 08:41:20 +00:00
giqtaqisi
2d78bc95ec Translated using Weblate (Lojban)
Currently translated at 62.1% (23 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/jbo/
2018-10-01 08:41:19 +00:00
Silvano
4f720e9c3b Translated using Weblate (Italian)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2018-10-01 08:41:19 +00:00
Ryu SASAOKA
0374c91ee7 Translated using Weblate (English (United States))
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
2018-10-01 08:41:19 +00:00
David Baker
894ad32e83 Merge pull request #7393 from vector-im/dbkr/update_deps_2
Update a bunch of deps
2018-10-01 09:41:14 +01:00
giqtaqisi
f3ee639dcc Added translation using Weblate (Lojban) 2018-09-30 14:30:15 +00:00
toriko
74a2b5a958 Translated using Weblate (Japanese)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
2018-09-30 09:58:26 +00:00
Bruno Windels
4e4906605b Merge pull request #7415 from vector-im/dbkr/mobile_guide_deep_link
Don't show mobile guide if deep linking
2018-09-28 13:34:11 +01:00
David Baker
894e31fe73 Don't show mobile guide if deep linking
Other part of https://github.com/vector-im/riot-web/issues/7378
2018-09-28 11:23:46 +01:00
David Baker
67a762aeaf Actually update package.json 2018-09-28 11:02:14 +01:00
David Baker
28f1140588 Merge remote-tracking branch 'origin/develop' into dbkr/update_deps_2
Updates a bunch more deps now we've updated webpack
2018-09-28 10:58:22 +01:00
David Baker
ac81080185 Merge pull request #7408 from vector-im/dbkr/unnecessary_custom_server
Don't show custom server bit on matrix.org
2018-09-28 10:32:06 +01:00
David Baker
bc8323f96b Don't show custom server bit on matrix.org
On mobile guide

Part of https://github.com/vector-im/riot-web/issues/7378
2018-09-27 18:19:33 +01:00
Matthew Hodgson
a38661c0f0 Merge pull request #7387 from vector-im/matthew/webpack4
Webpack4
2018-09-27 16:21:43 +01:00
David Baker
1f34d2d644 Kill off olm-loader
Now that Olm needs to be inited asynchronously anyway, we can just
pass the options to Olm.init(), and as long as we do that before we
start the js-sdk, we're all good.

This will means the olm js is now part of the main bundle but since
it's now just a wrapper around the wasm, this is probably faster.

Also add the directwatch flag to olm.wasm because otherwise it
doesn't seem to copy the file in watch mode...
2018-09-26 16:44:52 +01:00
David Baker
2166213400 Update a bunch of deps
To try & get deps without vulns in them.

Exceptions are:
 * electron builder: which is nontrivial to update
 * webpack-dev-server: probably needs newer webpack
 * moderizr: no new version released yet
2018-09-26 12:37:40 +01:00
Matthew Hodgson
c4f6158f46 pin karma-webpack to 4.0.0-beta.0 to fix perf regression
so karma-webpack 3.0.5 is 4x slower than 4.0.0-beta.0 for webpacking for unknown reasons.
However, 4.0.0-rc.1 and 4.0.0-rc.2 fail with a different error. So: pinned for now
2018-09-26 03:12:08 +01:00
Matthew Hodgson
7e33ea351d upgrade karma & babel to latest 2018-09-26 02:27:22 +01:00
Matthew Hodgson
9e916cdd5c make sure karma runs tests in dev mode to speed up build 2018-09-26 01:39:05 +01:00
Matthew Hodgson
b7843a5d46 find versions of webpack, webpack-cli, and karma-webpack which work together atm 2018-09-26 01:18:53 +01:00
Matthew Hodgson
41e03333a7 Merge branch 'develop' into matthew/webpack4 2018-09-26 00:17:49 +01:00
Matthew Hodgson
c57c653535 Merge branch 'develop' into matthew/webpack4 2018-09-26 00:15:56 +01:00
David Baker
c511902356 Support WebAssembly version of Olm.
* Olm no longer supports setting the stack/memory size at runtime,
   so don't (they're now set to be that in the Olm build).
 * Copy the wasm file from the Olm library (see multiple comments
   about it being in the wrong place and webpack being awful).
2018-09-25 17:55:41 +01:00
Marcel
5b32ecb719 [Tinter.setTheme fix] add missing comment and move old to correct position 2018-07-24 13:38:49 +02:00
Marcel
58de839621 Fix Tinter.setTheme to not fire using Firefox
This if checks if we got a Firefox using a variable that is undefined everywhere except in Firefox. In Firefox because of how it renders the DOM ensure that css is always loaded before it loads/runs the js code. Therefor onload 1. never triggers and 2. we can just call setTheme.
2018-05-31 22:32:29 +02:00
MTRNord
9063a96629 Specify the path to the postcss config and remove the include arrays as they caused multiple issues on linux 2018-05-11 19:48:33 +02:00
MTRNord
6e922166e7 Fix css paths that got changed from matrix-react-sdk to riot-web 2018-05-11 19:24:18 +02:00
MTRNord
f94abb5611 Fix naming inside the comment 2018-05-11 19:15:48 +02:00
David Baker
8f4953c182 Merge branch 'develop' into webpack4 2018-05-11 16:27:50 +01:00
David Baker
d6a226e6bd Put webpack-dev-server in development mode
https://github.com/webpack/webpack-dev-server/issues/1327
2018-05-04 18:37:29 +01:00
MTRNord
d69084f31e Fix builld:dev build by using raw-loader instead css-raw-loader 2018-04-27 12:02:00 +02:00
MTRNord
02a185f2fe Update Webpack to version 4 2018-04-27 11:32:59 +02:00
41 changed files with 8435 additions and 3470 deletions

View File

@@ -11,25 +11,18 @@ sudo: required
language: node_js
node_js:
# make sure we work with a range of node versions.
# As of the time of writing:
# - 4.x is still in LTS (until April 2018), but some of our deps (notably
# extract-zip) don't work with it
# - 5.x has been EOLed for nearly a year.
# - 6.x is the active 'LTS' version
# - 7.x is no longer supported
# - 8.x is the current 'current' version (until October 2017)
#
# see: https://github.com/nodejs/LTS/
#
# anything before 6.3 ships with npm 3.9 or earlier, which had problems
# with symlinks in node_modules (see
# https://github.com/npm/npm/releases/tag/v3.10.0 'FIXES AND REFACTORING').
- 6.3
- 6
- 7
# Current status of node versions: https://github.com/nodejs/LTS/
# We don't work with node 6 because it doesn't support package-lock
# files which we need to avoid the broken version of base-x
- 8
- 10
addons:
chrome: stable
install:
# clone the deps with depth 1: we know we will only ever need that one
# commit.
- scripts/fetch-develop.deps.sh --depth 1 && npm install
- npm install && scripts/fetch-develop.deps.sh --depth 1
script:
- npm run test
- npm run lint

View File

@@ -1,3 +1,167 @@
Changes in [0.17.8](https://github.com/vector-im/riot-web/releases/tag/v0.17.8) (2018-12-10)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.8-rc.1...v0.17.8)
* No changes since rc.1
Changes in [0.17.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.8-rc.1) (2018-12-06)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.7...v0.17.8-rc.1)
* Update from Weblate.
[\#7784](https://github.com/vector-im/riot-web/pull/7784)
* Add a function to send a rageshake from the console
[\#7755](https://github.com/vector-im/riot-web/pull/7755)
* Re-apply "Run lint on travis builds and use modern node versions"
[\#7738](https://github.com/vector-im/riot-web/pull/7738)
* Revert "Run lint on travis builds and use modern node versions"
[\#7737](https://github.com/vector-im/riot-web/pull/7737)
* Run lint on travis builds and use modern node versions
[\#7490](https://github.com/vector-im/riot-web/pull/7490)
* Fix missing js-sdk logging
[\#7736](https://github.com/vector-im/riot-web/pull/7736)
* Add $accent-color-50pct as a CSS variable to the Status theme
[\#7710](https://github.com/vector-im/riot-web/pull/7710)
Changes in [0.17.7](https://github.com/vector-im/riot-web/releases/tag/v0.17.7) (2018-11-22)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.6...v0.17.7)
* Warning when crypto DB is too new to use.
* Fix missing entries from js-sdk in rageshake logs
Changes in [0.17.6](https://github.com/vector-im/riot-web/releases/tag/v0.17.6) (2018-11-19)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.6-rc.2...v0.17.6)
* No changes since rc.2
Changes in [0.17.6-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.17.6-rc.2) (2018-11-15)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.6-rc.1...v0.17.6-rc.2)
* Update to js-sdk 0.14 and react-sdk rc.2. rc.1 was broken as it was built against
js-sdk 0.13 which does not use the new Olm 3.0 API.
Changes in [0.17.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.6-rc.1) (2018-11-15)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.5...v0.17.6-rc.1)
* Update from Weblate.
[\#7708](https://github.com/vector-im/riot-web/pull/7708)
* Add Japanese (#7599)
[\#7673](https://github.com/vector-im/riot-web/pull/7673)
* Allow Webpack dev server to listen to all interfaces
[\#7674](https://github.com/vector-im/riot-web/pull/7674)
* Remove the request-only stuff we don't need anymore
[\#7637](https://github.com/vector-im/riot-web/pull/7637)
* Correct the author of the electron app
[\#7615](https://github.com/vector-im/riot-web/pull/7615)
* Mock fs, tls, and net to support request in the browser
[\#7552](https://github.com/vector-im/riot-web/pull/7552)
* Update chokidar to transitively get newer fsevents
[\#7598](https://github.com/vector-im/riot-web/pull/7598)
* Support WebAssembly version of Olm
[\#7385](https://github.com/vector-im/riot-web/pull/7385)
Changes in [0.17.5](https://github.com/vector-im/riot-web/releases/tag/v0.17.5) (2018-11-13)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.4...v0.17.5)
* Include change that was supposed to be included in orevious version
Changes in [0.17.4](https://github.com/vector-im/riot-web/releases/tag/v0.17.4) (2018-11-13)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.3...v0.17.4)
* Add banner with login/register links for users who aren't logged in
Changes in [0.17.3](https://github.com/vector-im/riot-web/releases/tag/v0.17.3) (2018-10-29)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.3-rc.1...v0.17.3)
* Fix for autocompleting text emoji from react-sdk v0.14.2
Changes in [0.17.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.3-rc.1) (2018-10-24)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.2...v0.17.3-rc.1)
* Update from Weblate.
[\#7549](https://github.com/vector-im/riot-web/pull/7549)
* Don't set tags on notifications
[\#7518](https://github.com/vector-im/riot-web/pull/7518)
* Update to latest electron builder
[\#7498](https://github.com/vector-im/riot-web/pull/7498)
* Fix Tinter.setTheme to not fire using Firefox
[\#6831](https://github.com/vector-im/riot-web/pull/6831)
Changes in [0.17.2](https://github.com/vector-im/riot-web/releases/tag/v0.17.2) (2018-10-19)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.1...v0.17.2)
* Update react-sdk version to "Apply the user's tint once the MatrixClientPeg is moderately ready"
* Electron: don't set tags on notifications
[\#7518](https://github.com/vector-im/riot-web/pull/7518)
Changes in [0.17.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.1) (2018-10-18)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.0...v0.17.1)
* Stop electron crashing
[\#7517](https://github.com/vector-im/riot-web/pull/7517)
Changes in [0.17.0](https://github.com/vector-im/riot-web/releases/tag/v0.17.0) (2018-10-16)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.0-rc.1...v0.17.0)
* Phased rollout of lazyloading
[\#7503](https://github.com/vector-im/riot-web/pull/7503)
* Update to latest electron builder
[\#7501](https://github.com/vector-im/riot-web/pull/7501)
Changes in [0.17.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.0-rc.1) (2018-10-11)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.5...v0.17.0-rc.1)
* Revert "also commit the lock file when bumping version as it is now
committed to the repo"
[\#7483](https://github.com/vector-im/riot-web/pull/7483)
* Update from Weblate.
[\#7478](https://github.com/vector-im/riot-web/pull/7478)
* Fix riot-web Promise.defer warnings (#7409)
[\#7444](https://github.com/vector-im/riot-web/pull/7444)
* Use HTTPS cloning for riot-web too
[\#7459](https://github.com/vector-im/riot-web/pull/7459)
* Disable webpack-dev-server auto reload
[\#7463](https://github.com/vector-im/riot-web/pull/7463)
* Silence bluebird warnings
[\#7462](https://github.com/vector-im/riot-web/pull/7462)
* Fix reskindex on matrix-react-side not being called if using build script
[\#7443](https://github.com/vector-im/riot-web/pull/7443)
* Fix double-closed tags
[\#7454](https://github.com/vector-im/riot-web/pull/7454)
* Document how to turn off Piwik and bug reports (#6738)
[\#7435](https://github.com/vector-im/riot-web/pull/7435)
* also commit the lock file when bumping version as it is now committed to the
repo
[\#7429](https://github.com/vector-im/riot-web/pull/7429)
* Update a bunch of deps
[\#7393](https://github.com/vector-im/riot-web/pull/7393)
* Don't show mobile guide if deep linking
[\#7415](https://github.com/vector-im/riot-web/pull/7415)
* Don't show custom server bit on matrix.org
[\#7408](https://github.com/vector-im/riot-web/pull/7408)
* Update Webpack to version 4
[\#6620](https://github.com/vector-im/riot-web/pull/6620)
* Webpack4
[\#7387](https://github.com/vector-im/riot-web/pull/7387)
Changes in [0.16.6](https://github.com/vector-im/riot-web/releases/tag/v0.16.6) (2018-10-08)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.5...v0.16.6)
* Update to matrix-react-sdk v0.13.6
Changes in [0.16.5](https://github.com/vector-im/riot-web/releases/tag/v0.16.5) (2018-10-01)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.5-rc.1...v0.16.5)

View File

@@ -90,7 +90,7 @@ to build.
npm install
npm run build
```
Or just use https://riot.im/develop - the continuous integration release of the
Or just use https://riot.im/develop - the continuous integration release of the
develop branch. (Note that we don't reference the develop versions in git directly
due to https://github.com/npm/npm/issues/3055.)
1. Install the prerequisites: `npm install`.
@@ -134,7 +134,9 @@ For a good example, see https://riot.im/develop/config.json
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)
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.
@@ -147,11 +149,13 @@ For a good example, see https://riot.im/develop/config.json
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`: 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. `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. `teamServerConfig`, `teamTokenMap`, `referralBaseUrl`: an obsolete precursor to communities
with referral tracking; please ignore it.
1. `welcomeUserId`: the user ID of a bot to invite whenever users register that can give them a tour
@@ -230,6 +234,10 @@ Before attempting to develop on Riot you **must** read the developer guide
for `matrix-react-sdk` at https://github.com/matrix-org/matrix-react-sdk, which
also defines the design, architecture and style for Riot too.
You should also familiarise yourself with the "Here be Dragons" guide to the
tame & not-so-tame dragons (gotchas) which exist in the codebase:
https://docs.google.com/document/d/12jYzvkidrp1h7liEuLIe6BMdU0NUjndUYI971O06ooM
The idea of Riot is to be a relatively lightweight "skin" of customisations on
top of the underlying `matrix-react-sdk`. `matrix-react-sdk` provides both the
higher and lower level React components useful for building Matrix communication
@@ -270,7 +278,7 @@ Then similarly with `matrix-react-sdk`:
Finally, build and start Riot itself:
1. `git clone git@github.com:vector-im/riot-web.git`
1. `git clone https://github.com/vector-im/riot-web.git`
1. `cd riot-web`
1. `git checkout develop`
1. `npm install`

View File

@@ -2,9 +2,9 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "0.16.5",
"version": "0.17.8",
"description": "A feature-rich client for Matrix.org",
"author": "Vector Creations Ltd.",
"author": "New Vector Ltd.",
"dependencies": {
"auto-launch": "^5.0.1",
"electron-window-state": "^4.1.0",

View File

@@ -21,6 +21,15 @@
"siteId": 1,
"policyUrl": "https://matrix.org/docs/guides/riot_im_cookie_policy"
},
"phasedRollOut": {
"feature_lazyloading": {
"offset": 1539684000000,
"period": 604800000
}
},
"features": {
"feature_lazyloading": "enable"
},
"enable_presence_by_hs_url": {
"https://matrix.org": false
}

View File

@@ -32,9 +32,12 @@ const olm_entry = webpack_config.entry['olm'];
// 'preprocessors' config below)
delete webpack_config['entry'];
// make sure we're flagged as development to avoid wasting time optimising
webpack_config.mode = 'development';
// add ./test as a search path for js
webpack_config.module.loaders.unshift({
test: /\.js$/, loader: "babel",
webpack_config.module.rules.unshift({
test: /\.js$/, use: "babel-loader",
include: [path.resolve('./src'), path.resolve('./test')],
});
@@ -46,8 +49,9 @@ webpack_config.module.noParse.push(/sinon\/pkg\/sinon\.js$/);
// ?
webpack_config.resolve.alias['sinon'] = 'sinon/pkg/sinon.js';
webpack_config.resolve.root = [
webpack_config.resolve.modules = [
path.resolve('./test'),
"node_modules"
];
webpack_config.devtool = 'inline-source-map';

10794
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "0.16.5",
"version": "0.17.8",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -33,10 +33,10 @@
"build:res": "node scripts/copy-res.js",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:compile": "npm run reskindex && babel --source-maps -d lib src",
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail",
"build:bundle:dev": "webpack --optimize-occurence-order --progress --bail",
"build:bundle": "cross-env NODE_ENV=production webpack-cli -p --progress --bail --mode production",
"build:bundle:dev": "webpack-cli --progress --bail --mode development",
"build:electron": "npm run clean && npm run build && npm run install:electron && build -wml --ia32 --x64",
"build:react-sdk": "node scripts/npm-sub.js matrix-react-sdk run start:init",
"build:react-sdk": "node scripts/npm-sub.js matrix-react-sdk run build",
"build:js-sdk": "node scripts/npm-sub.js matrix-js-sdk run start:init",
"build": "npm run build:js-sdk && npm run build:react-sdk && npm run reskindex && npm run build:res && npm run build:bundle",
"build:dev": "npm run build:js-sdk && npm run build:react-sdk && npm run reskindex && npm run build:res && npm run build:bundle:dev",
@@ -44,7 +44,7 @@
"install:electron": "install-app-deps",
"electron": "npm run install:electron && electron .",
"start:res": "node scripts/copy-res.js -w",
"start:js": "webpack-dev-server --output-filename=bundles/_dev_/[name].js --output-chunk-file=bundles/_dev_/[name].js -w --progress",
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development",
"start:js:prod": "cross-env NODE_ENV=production webpack-dev-server -w --progress",
"start:js-sdk": "node scripts/npm-sub.js matrix-js-sdk run start:watch",
"start:js-sdk:prod": "cross-env NODE_ENV=production node scripts/npm-sub.js matrix-js-sdk run start:watch",
@@ -60,101 +60,97 @@
"test-multi": "karma start"
},
"dependencies": {
"babel-polyfill": "^6.5.0",
"babel-runtime": "^6.11.6",
"bluebird": "^3.5.0",
"babel-polyfill": "^6.26.0",
"babel-runtime": "^6.26.0",
"bluebird": "^3.5.2",
"browser-request": "^0.3.3",
"draft-js": "^0.11.0-alpha",
"extract-text-webpack-plugin": "^0.9.1",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"favico.js": "^0.3.10",
"gemini-scrollbar": "matrix-org/gemini-scrollbar#b302279",
"gfm.css": "^1.1.1",
"highlight.js": "^9.0.0",
"matrix-js-sdk": "0.11.1",
"matrix-react-sdk": "0.13.5",
"modernizr": "^3.1.0",
"prop-types": "^15.5.10",
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279",
"gfm.css": "^1.1.2",
"highlight.js": "^9.13.1",
"matrix-js-sdk": "0.14.2",
"matrix-react-sdk": "0.14.7",
"modernizr": "^3.6.0",
"prop-types": "^15.6.2",
"react": "^15.6.0",
"react-dom": "^15.6.0",
"sanitize-html": "^1.18.4",
"ua-parser-js": "^0.7.10",
"sanitize-html": "^1.19.1",
"ua-parser-js": "^0.7.19",
"url": "^0.11.0"
},
"devDependencies": {
"autoprefixer": "^6.6.0",
"babel-cli": "^6.5.2",
"babel-core": "^6.14.0",
"babel-eslint": "^6.1.0",
"babel-loader": "^6.2.5",
"babel-cli": "^6.26.0",
"babel-core": "^6.26.3",
"babel-eslint": "^8.1.1",
"babel-loader": "^7.1.5",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-transform-async-to-bluebird": "^1.1.1",
"babel-plugin-transform-class-properties": "^6.16.0",
"babel-plugin-transform-object-rest-spread": "^6.16.0",
"babel-plugin-transform-runtime": "^6.15.0",
"babel-preset-es2015": "^6.16.0",
"babel-preset-es2016": "^6.16.0",
"babel-preset-es2017": "^6.16.0",
"babel-preset-react": "^6.16.0",
"babel-preset-stage-2": "^6.17.0",
"chokidar": "^1.6.1",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-es2016": "^6.24.1",
"babel-preset-es2017": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"chokidar": "^2.0.4",
"concurrently": "^4.0.1",
"cpx": "^1.3.2",
"cross-env": "^4.0.0",
"css-raw-loader": "^0.1.1",
"electron-builder": "^11.2.4",
"electron-builder-squirrel-windows": "^11.2.1",
"electron-devtools-installer": "^2.2.0",
"electron-builder": "^20.29.0",
"electron-builder-squirrel-windows": "^11.6.1",
"electron-devtools-installer": "^2.2.4",
"emojione": "^2.2.7",
"eslint": "^3.14.0",
"eslint": "^5.8.0",
"eslint-config-google": "^0.7.1",
"eslint-plugin-babel": "^4.1.1",
"eslint-plugin-flowtype": "^2.30.0",
"eslint-plugin-react": "^7.4.0",
"eslint-plugin-babel": "^4.1.2",
"eslint-plugin-flowtype": "^2.50.3",
"eslint-plugin-react": "^7.11.1",
"expect": "^1.16.0",
"fs-extra": "^0.30.0",
"html-webpack-plugin": "^2.24.0",
"html-webpack-plugin": "^3.2.0",
"json-loader": "^0.5.3",
"karma": "^1.7.0",
"karma": "^3.1.1",
"karma-chrome-launcher": "^0.2.3",
"karma-cli": "^0.1.2",
"karma-junit-reporter": "^0.4.1",
"karma-cli": "^1.0.1",
"karma-junit-reporter": "^2.0.0",
"karma-logcapture-reporter": "0.0.1",
"karma-mocha": "^0.2.2",
"karma-mocha": "^1.3.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "0.0.31",
"karma-summary-reporter": "^1.3.3",
"karma-webpack": "^1.7.0",
"matrix-mock-request": "^1.2.0",
"karma-summary-reporter": "^1.5.1",
"karma-webpack": "4.0.0-beta.0",
"matrix-mock-request": "^1.2.2",
"matrix-react-test-utils": "^0.2.0",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
"mocha": "^2.4.5",
"mocha": "^5.2.0",
"postcss-extend": "^1.0.5",
"postcss-import": "^9.0.0",
"postcss-loader": "^1.2.2",
"postcss-mixins": "^5.4.1",
"postcss-nested": "^1.0.0",
"postcss-scss": "^0.4.0",
"postcss-simple-vars": "^3.0.0",
"postcss-import": "^11.1.0",
"postcss-loader": "^2.1.6",
"postcss-mixins": "^6.2.0",
"postcss-nested": "^3.0.0",
"postcss-scss": "^1.0.6",
"postcss-simple-vars": "^4.1.0",
"postcss-strip-inline-comments": "^0.1.5",
"raw-loader": "^0.5.1",
"react-addons-perf": "^15.4.0",
"react-addons-test-utils": "^15.6.0",
"rimraf": "^2.4.3",
"source-map-loader": "^0.2.3",
"webpack": "^1.12.14",
"webpack-dev-server": "^1.16.2"
"source-map-loader": "^0.2.4",
"webpack": "^4.23.1",
"webpack-cli": "^3.1.2",
"webpack-dev-server": "^3.1.10"
},
"optionalDependencies": {
"olm": "https://matrix.org/packages/npm/olm/olm-2.2.1.tgz"
"olm": "https://matrix.org/packages/npm/olm/olm-3.0.0.tgz"
},
"build": {
"appId": "im.riot.app",
"category": "Network",
"electronVersion": "2.0.8",
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
"asar": false,
"dereference": true,
"//files": "We bundle everything, so we only need to include webapp/",
"electronVersion": "3.0.10",
"files": [
"node_modules/**",
"src/**",
@@ -171,8 +167,13 @@
"StartupWMClass": "riot"
}
},
"mac": {
"category": "public.app-category.social-networking"
},
"win": {
"target": "squirrel"
"target": {
"target": "squirrel"
}
},
"directories": {
"buildResources": "electron_app/build",

View File

@@ -68,6 +68,7 @@ $focus-bg-color: #dddddd;
// button UI (white-on-green in light skin)
$accent-fg-color: #ffffff;
$accent-color: #6CC1F6;
$accent-color-50pct: #6CC1F67F;
$accent-hover-color: #84cfff;
$selection-fg-color: $primary-bg-color;

View File

@@ -25,6 +25,7 @@ const INCLUDE_LANGS = [
{'value': 'gl', 'label': 'Galego'},
{'value': 'hu', 'label': 'Magyar'},
{'value': 'it', 'label': 'Italiano'},
{'value': 'ja', 'label': '日本語'},
{'value': 'ko', 'label': '한국어'},
{'value': 'lv', 'label': 'Latviešu'},
{'value': 'nb_NO', 'label': 'Norwegian Bokmål'},
@@ -57,6 +58,11 @@ const COPY_LIST = [
["res/themes/**", "webapp/themes"],
["node_modules/emojione/assets/svg/*", "webapp/emojione/svg/"],
["node_modules/emojione/assets/png/*", "webapp/emojione/png/"],
// XXX: This is tied quite heavily to the matching olm.js so it really should be
// in the bundle dir with the js to avoid caching issues giving us wasm that
// doesn't match our js, but I cannot find any way to get webpack to do this.
["node_modules/olm/olm.wasm", "webapp", { directwatch: 1 }],
["node_modules/olm/olm_legacy.js", "webapp", { directwatch: 1 }],
["./config.json", "webapp", { directwatch: 1 }],
];

View File

@@ -100,7 +100,7 @@ mkdir -p "$projdir/electron_app/dist/unsigned/"
# Install packages: what the user downloads the first time,
# (DMGs for mac, exe installer for windows)
mkdir -p "$pubdir/install/macos"
cp $distdir/mac/*.dmg "$pubdir/install/macos/"
cp $distdir/*.dmg "$pubdir/install/macos/"
# Windows installers go to the dist dir because they need signing
mkdir -p "$pubdir/install/win32/ia32/"
@@ -111,7 +111,7 @@ cp $distdir/win/*.exe "$projdir/electron_app/dist/unsigned/"
# Packages for auto-update
mkdir -p "$pubdir/update/macos"
cp $distdir/mac/*.zip "$pubdir/update/macos/"
cp $distdir/*-mac.zip "$pubdir/update/macos/"
echo "$vername" > "$pubdir/update/macos/latest"
mkdir -p "$pubdir/update/win32/ia32/"

View File

@@ -4,21 +4,23 @@ set -e
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm use 6
nvm use 10
set -x
# check out corresponding branches of dependencies.
#
# clone the deps with depth 1: we know we will only ever need that one
# commit.
`dirname $0`/fetch-develop.deps.sh --depth 1
npm install
# apparently npm 3.10.3 on node 6.4.0 doesn't upgrade #develop target with npm install unless explicitly asked.
npm install olm
# check out corresponding branches of dependencies.
#
# clone the deps with depth 1: we know we will only ever need that one
# commit.
# We need to do this after npm install otherwise modern node versions
# just reset it back.
`dirname $0`/fetch-develop.deps.sh --depth 1
# install olm. A naive 'npm i ./olm/olm-*.tgz' fails because it uses the url
# from our package.json (or even matrix-js-sdk's) in preference.
#

View File

@@ -17,7 +17,6 @@ limitations under the License.
'use strict';
import React from 'react';
import HomePage from 'matrix-react-sdk/lib/components/structures/HomePage';
import sanitizeHtml from 'sanitize-html';
import { _t } from 'matrix-react-sdk/lib/languageHandler';

View File

@@ -15,8 +15,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
var React = require("react");
var sanitizeHtml = require("sanitize-html");
const React = require("react");
const sanitizeHtml = require("sanitize-html");
import { _t } from 'matrix-react-sdk/lib/languageHandler';
module.exports = React.createClass({
@@ -47,5 +47,5 @@ module.exports = React.createClass({
</div>
</div>
);
}
},
});

View File

@@ -16,7 +16,7 @@ limitations under the License.
'use strict';
var React = require('react');
const React = require('react');
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import SettingsStore from 'matrix-react-sdk/lib/settings/SettingsStore';
@@ -29,8 +29,8 @@ module.exports = React.createClass({
render: function() {
// FIXME: replace this with a proper Status skin
// ...except then we wouldn't be able to switch to the Status theme at runtime.
if (SettingsStore.getValue("theme") === 'status') return <div/>;
if (SettingsStore.getValue("theme") === 'status') return <div />;
return (
<div className="mx_Login_links">
<a href="https://medium.com/@RiotChat">blog</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;
@@ -39,5 +39,5 @@ module.exports = React.createClass({
<a href="https://matrix.org">{ _t('powered by Matrix') }</a>
</div>
);
}
},
});

View File

@@ -35,9 +35,9 @@ module.exports = React.createClass({
return (
<div className="mx_Login_header">
<div className="mx_Login_logo">
<img src={this.props.icon || DEFAULT_LOGO_URI} alt="Riot"/>
<img src={this.props.icon || DEFAULT_LOGO_URI} alt="Riot" />
</div>
</div>
);
}
},
});

View File

@@ -34,5 +34,6 @@
"Dev chat for the Dendrite dev team": "Babilado por la programista skipo de Dendrite",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Multaj ĉambroj jam ekzistas en Matrix; kaj sendependaj, kaj ligitaj kun jamaj retoj (Slock, IRC, Gitter, ktp.). Rigardu la ĉambrujon!",
"%(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."
"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"
}

View File

@@ -1 +1,39 @@
{}
{
"Riot is not supported on mobile web. Install the app?": "रायट फ़ोन पर समर्थन नहीं हैं। एप्लिकेशन इनस्टॉल करना चाहेंगे ?",
"Riot Desktop on %(platformName)s": "%(platformName)s पर रायट डेस्कटॉप",
"Unknown device": "अज्ञात यन्त्र",
"%(appName)s via %(browserName)s on %(osName)s": "%(osName)s पर %(browserName)s के माध्यम से %(appName)s",
"You need to be using HTTPS to place a screen-sharing call.": "स्क्रीन साझा की कॉल करने के लिए आपको HTTPS का उपयोग करने की आवश्यकता है।",
"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.": "आप एक अलग होम सर्वर यूआरएल निर्दिष्ट करके अन्य मैट्रिक्स सर्वरों में साइन इन करने के लिए कस्टम सर्वर विकल्प का उपयोग कर सकते हैं। <br/> यह आपको एक अलग होम सर्वर पर मौजूदा मैट्रिक्स खाते के साथ रायट का उपयोग करने की अनुमति देता है। <br/> <br/> आप अपना आइडेंटिटी सर्वर भी सेट कर सकते हैं लेकिन आप ईमेल पते से उपयोगकर्ताओं को आमंत्रित नहीं कर पाएंगे, या ईमेल पते से स्वयं आमंत्रित नहीं हों सकेंगे।",
"Dismiss": "खारिज",
"powered by Matrix": "मैट्रिक्स द्वारा संचालित",
"Welcome to Riot.im": "Riot.im में आपका स्वागत है",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "[मैट्रिक्स] द्वारा संचालित विकेंद्रीकृत, एन्क्रिप्टेड चैट और सहयोगिता",
"Search the room directory": "रूम डायरेक्टरी को खोजें",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "मौजूदा नेटवर्क से जुड़े मैट्रिक्स में बहुत से कमरे पहले से मौजूद हैं (स्लैक, आईआरसी, गिटर इत्यादि) या स्वतंत्र। डायरेक्टरी देखें!",
"Chat with Riot Bot": "रायट बॉट के साथ चैट करें",
"Get started with some tips from Riot Bot!": "रायट बॉट से कुछ सुझावों के साथ शुरू करें!",
"General discussion about Matrix and Riot": "मैट्रिक्स और रायट के बारे में सामान्य चर्चा",
"Discussion of all things Matrix!": "मैट्रिक्स की सभी चीजों की चर्चा!",
"Riot/Web &amp; Desktop chat": "रायट/वेब और डेस्कटॉप चैट",
"Riot/iOS &amp; matrix-ios-sdk chat": "रायट / iOS और matrix-ios-sdk चैट",
"Riot/Android &amp; matrix-android-sdk chat": "रायट / एंड्रॉइड और matrix-android-sdk चैट",
"Matrix technical discussions": "मैट्रिक्स तकनीकी चर्चाएं",
"Running Matrix services": "मैट्रिक्स सेवाएं चलाना",
"Community-run support for Synapse": "सामुदायिक चालित Synapse के लिए समर्थन",
"Admin support for Dendrite": "डेंडर्राइट के लिए व्यवस्थापक समर्थन",
"Announcements about Synapse releases": "Synapse रिलीज के बारे में घोषणाएं",
"Support for those using and running matrix-appservice-irc": "Matrix-appservice-irc का उपयोग और चलाने वाले लोगों के लिए समर्थन",
"Building services on Matrix": "मैट्रिक्स पर सेवाएं बनाना",
"Support for those using the Matrix spec": "मैट्रिक्स spec का उपयोग करने वालों के लिए समर्थन",
"Design and implementation of E2E in Matrix": "मैट्रिक्स में E2E के डिजाइन और कार्यान्वयन",
"Implementing VR services with Matrix": "मैट्रिक्स के साथ VR सेवाओं को लागू करना",
"Implementing VoIP services with Matrix": "मैट्रिक्स के साथ वीओआईपी सेवाओं को लागू करना",
"Discussion of the Identity Service API": "आइडेंटिटी सर्विस API की चर्चा",
"Support for those using, running and writing other bridges": "अन्य ब्रिज का उपयोग, चलाने और लिखने वालों के लिए समर्थन",
"Contributing code to Matrix and Riot": "मैट्रिक्स और रायट में कोड योगदान करना",
"Dev chat for the Riot/Web dev team": "रायट / वेब डेव टीम के लिए डेवलपर चैट",
"Dev chat for the Dendrite dev team": "डेन्ड्राइट देव टीम के लिए डेवलपर चैट",
"Co-ordination for Riot translators": "रायट अनुवादकों के लिए समन्वय"
}

View File

@@ -22,18 +22,18 @@
"Support for those using and running matrix-appservice-irc": "Supporto per chi usa e amministra matrix-appservice-irc",
"Building services on Matrix": "Costruzione servizi su Matrix",
"Support for those using the Matrix spec": "Supporto per chi utilizza le specifiche Matrix",
"Design and implementation of E2E in Matrix": "Design e implementazione di E2E in Matrix",
"Design and implementation of E2E in Matrix": "Progetto e implementazione di E2E in Matrix",
"Implementing VR services with Matrix": "Implementazione servizi VR con Matrix",
"Implementing VoIP services with Matrix": "Implementazione servizi VoIP con Matrix",
"Discussion of the Identity Service API": "Discussione sull'Identity Service API",
"Support for those using, running and writing other bridges": "Supporto per chi usa, amministra e scrive altri bridge",
"Discussion of the Identity Service API": "Discussione API del servizio identità",
"Support for those using, running and writing other bridges": "Supporto per chi usa, amministra e scrive altri ponti (bridge)",
"Contributing code to Matrix and Riot": "Contributi di codice per Matrix e Riot",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s tramite %(browserName)s su %(osName)s",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat criptate e collaborazioni decentralizzate offerte da [matrix]",
"Discussion of all things Matrix!": "Discussione su tutto quanto riguardi Matrix!",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat criptate e decentralizzate &amp; collaborazione offerta da [matrix]",
"Discussion of all things Matrix!": "Discussione su tutto riguardo Matrix!",
"Dev chat for the Riot/Web dev team": "Chat per gli sviluppatori di Riot/Web",
"Dev chat for the Dendrite dev team": "Chat per gli sviluppatori di Dendrite",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Esistono già molte stanze in Matrix, collegate a reti già esistenti (Slack, IRC, Gitter ecc) o indipendenti. Dai un'occhiata all'elenco!",
"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.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo dell'home server.<br/> Questo permette di usare Matrix con un account esistente su un home server diverso.<br/><br/>È anche possibile impostare un diverso identity server, ma in quel caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Esistono già molte stanze in Matrix, collegate a reti esistenti (Slack, IRC, Gitter, ecc.) o indipendenti. Controlla l'elenco!",
"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.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo del server home.<br/> Questo permette di usare Riot con un account Matrix esistente su un server home diverso.<br/><br/>È anche possibile impostare un diverso server identità, ma in tal caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.",
"Co-ordination for Riot translators": "Coordinazione per i traduttori di Riot"
}

View File

@@ -15,7 +15,7 @@
"Chat with Riot Bot": "Riot Botと会話",
"Get started with some tips from Riot Bot!": "Riot Botにヒントをもらって始めましょう",
"General discussion about Matrix and Riot": "MatrixとRiotの概略",
"Discussion of all things Matrix!": "Matrixなんでも討論",
"Discussion of all things Matrix!": "Matrixなんでも議論!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; デスクトップ版チャット",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk チャット",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk チャット",
@@ -25,14 +25,15 @@
"Admin support for Dendrite": "Dendriteの管理者サポート",
"Announcements about Synapse releases": "Synapseの公開についてのお知らせ",
"Support for those using and running matrix-appservice-irc": "matrix-appservice-ircを利用並びに運営している方へのサポート",
"Building services on Matrix": "Matrixでのサービスの開発",
"Building services on Matrix": "Matrixでのサービスの開発",
"Support for those using the Matrix spec": "Matrixスペックを利用する方へのサポート",
"Design and implementation of E2E in Matrix": "Matrixのデザインとエンドツーエンドの実装",
"Design and implementation of E2E in Matrix": "Matrixのデザインとエンドツーエンドの実装",
"Implementing VR services with Matrix": "MatrixでのVRサービスの実装",
"Implementing VoIP services with Matrix": "MatrixでのIP電話サービスの実装",
"Discussion of the Identity Service API": "Identity Service APIの議論",
"Support for those using, running and writing other bridges": "他のブリッジを利用、運営、作成している方へのサポート",
"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開発者チームのための開発者チャット"
"Dev chat for the Dendrite dev team": "Dendrite開発者チームのための開発者チャット",
"Co-ordination for Riot translators": "Riot 翻訳者による共同作業"
}

39
src/i18n/strings/jbo.json Normal file
View File

@@ -0,0 +1,39 @@
{
"Riot is not supported on mobile web. Install the app?": ".i lo samfonxa na kakne lo nu pilno la kibro nu zunti .i .au pei kibycpa le samtci",
"Riot Desktop on %(platformName)s": "la skami nu zunti ci'e la'o gy. %(platformName)s .gy.",
"Unknown device": "lo na'e te djuno se pilno",
"%(appName)s via %(browserName)s on %(osName)s": "la'o gy. %(appName)s .gy. xe be'i la'o gy. %(browserName)s .gy. ci'e la'o gy. %(osName)s .gy.",
"You need to be using HTTPS to place a screen-sharing call.": ".i la .hytytypysys. sarcu lo nu co'a vidni jorne",
"Custom Server Options": "lo macnu se cuxna be fi lo'i samse'u",
"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.": ".i zukte lo nu macnu cuxna lo samse'u kei goi ko'a lo nu pilno lo drata samse'u pe la nacmeimei<br/>.i ko'a se cumki lo nu do pilno lo pilno poi zvati lo drata samse'u pe la nacmeimei<br/><br/>.i ji'a cumki fa lo nu do pilno lo drata ke prenu datni samse'u kei goi ko'a .i ku'i ko'a to'e rinka la'a lo nu do zvacpe ja se zvacpe",
"Dismiss": "mipri",
"powered by Matrix": ".i la nacmeimei cu cumgau",
"Welcome to Riot.im": ".i fi'i lo pilno be la nu zunti",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": ".i la nacmeimei cu cumgau lo mifra je na'e se midju nu tavla je ke kansa gunka",
"Search the room directory": "sisku fi lo'i kumfa pe'a",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": ".i ci'e la nacmeimei cu kumfa pe'a fa so'i da noi jorne jo nai no'e jorne lo drata ciste no'u mu'a la .slak. jo'u lo te irci jo'u la .gityr. .i",
"Chat with Riot Bot": "tavla la nu zunti kei sampre",
"Get started with some tips from Riot Bot!": ".i .e'u la nu zunti kei sampre cu sidju ko",
"General discussion about Matrix and Riot": "lo nu casnu be la nacmeimei .e la nu zunti",
"Discussion of all things Matrix!": "lo nu casnu be ro me la nacmeimei",
"Riot/Web &amp; Desktop chat": "lo nu casnu be la kibro nu zunti .e la skami nu zunti",
"Running Matrix services": "lo nu ralte lo samtcise'u pe la nacmeimei",
"Community-run support for Synapse": "lo nu lo cecmu cu sidju fi tu'a la .sinaps.",
"Discussion of the Identity Service API": "lo nu casnu lo prenu datni favgau cimde",
"Contributing code to Matrix and Riot": "lo nu dunda lo samselpla la nacmeimei .a la nu zunti",
"Co-ordination for Riot translators": "lo nu lo fanva pe la nu zunti cu kansa gunka",
"Riot/iOS &amp; matrix-ios-sdk chat": "lo nu casnu la plisyfonkemsamcmu nu zunti .e la'o gy. matrix-ios-sdk .gy.",
"Riot/Android &amp; matrix-android-sdk chat": "lo nu casnu la guglyfonkemsamcmu nu zunti .e la'o gy. matrix-android-sdk .gy.",
"Matrix technical discussions": "lo nu casnu lo zbaske be la nacmeimei",
"Announcements about Synapse releases": "lo notci be lo farvi tcini pe la nirna",
"Support for those using and running matrix-appservice-irc": "lo nu sidju lo pilno ja admine be la'o gy. matrix-appservice-irc .gy.",
"Building services on Matrix": "lo nu finti lo te selfu ji'u la nacmeimei",
"Support for those using the Matrix spec": "lo nu sidju lo pilno be lo sarcu pe la nacmeimei",
"Design and implementation of E2E in Matrix": "lo nu finti lo mulno mifra te platu .a lo samtcise'u be my. ji'u la nacmeimei",
"Support for those using, running and writing other bridges": "lo nu sidju lo pilno ja admine ja finti be lo drata te jorne",
"Dev chat for the Riot/Web dev team": "lo nu lo favgau be la kibro nu zunti cu casnu",
"Dev chat for the Dendrite dev team": "lo nu lo favgau be la nirndendriti cu casnu",
"Implementing VoIP services with Matrix": "lo nu finti lo samtcise'u be fi la .voip. ji'u la nacmeimei",
"Implementing VR services with Matrix": "lo nu finti lo samtcise'u be fi lo na'e fatci munje ji'u la nacmeimei",
"Admin support for Dendrite": "lo nu sidju lo admine be la nirndendriti"
}

View File

@@ -33,5 +33,7 @@
"Contributing code to Matrix and Riot": "Matrix와 Riot에 코드 기여하기",
"Dev chat for the Riot/Web dev team": "Riot/웹 개발 팀을 위한 개발자 대화",
"Dev chat for the Dendrite dev team": "덴드라이트 개발 팀을 위한 개발자 대화",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "기존 네트워크(Slack, IRC, Gitter 등)에 연결되있거나 독립된 많은 방이 이미 Matrix에 있습니다. 목록을 확인해보세요!"
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "기존 네트워크(Slack, IRC, Gitter 등)에 연결되있거나 독립된 많은 방이 이미 Matrix에 있습니다. 목록을 확인해보세요!",
"Co-ordination for Riot translators": "Riot 번역자 조합",
"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/>사용자정의 아이덴티티 서버도 설정할 수 있지만 이메일 주소로 이용자를 초대하거나 자신이 이메일 주소로 초대받을 수 없습니다."
}

View File

@@ -34,6 +34,6 @@
"Support for those using, running and writing other bridges": "Ondersteuning voor het gebruiken, draaien en ontwikkelen aan andere bruggen",
"Dev chat for the Riot/Web dev team": "Dev-chat voor het Riot/Web ontwikkelteam",
"Dev chat for the Dendrite dev team": "Dev-chat voor het Dendrite-ontwikkelteam",
"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.": "Je kan de custom server opties gebruiken om op andere Matrix server in te loggen door een andere Home server URL op te geven.<br/> Dit laat je toe om Riot te gebruiken met een bestaande Matrix account op een andere home server.<br/><br/>Je kan ook een custom identiteits-server opzetten maar dan kan je geen gebruikers uitnodigen via hun email adres, of zelf uitgenodigd worden via je email adres.",
"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.": "Je kan de custom serveropties gebruiken om op andere Matrix-servers in te loggen door een andere thuisserver-URL op te geven.<br/> Dit laat je toe om Riot te gebruiken met een bestaand Matrix-account op een andere thuisserver.<br/><br/>Je kan ook een aangepaste-identiteitsserver opzetten maar dan kan je geen gebruikers uitnodigen via hun e-mailadres, of zelf uitgenodigd worden via je e-mailadres.",
"Co-ordination for Riot translators": "Coördinatie voor Riot vertalers"
}

View File

@@ -1,5 +1,5 @@
{
"Riot is not supported on mobile web. Install the app?": "Riot-i nuk mbulohet nën web për celularët. Të instalohet aplikacioni?",
"Riot is not supported on mobile web. Install the app?": "Riot-i nuk mbulohet në web për celularë. Të instalohet aplikacioni?",
"Riot Desktop on %(platformName)s": "Riot Desktop në %(platformName)s",
"Unknown device": "Pajisje e panjohur",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s përmes %(browserName)s nën %(osName)s",
@@ -9,7 +9,7 @@
"Dismiss": "Mos e merr parasysh",
"powered by Matrix": "bazuar në Matrix",
"Welcome to Riot.im": "Mirë se vini te Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted Fjalosje &amp; bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Fjalosje &amp; bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në [matrix]",
"Search the room directory": "Kërkoni te drejtoria e dhomave",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Ka tashmë plot dhoma në Matrix, të lidhura me rrjete ekzistues (Slack, IRC, Gitter, etj) ose të pavarur. Hidhini një sy listës!",
"Chat with Riot Bot": "Fjalosuni me Robotin Riot",
@@ -27,12 +27,13 @@
"Support for those using and running matrix-appservice-irc": "Asistencë për ata që përdorin dhe xhirojnë matrix-appservice-irc",
"Building services on Matrix": "Ndërtim shërbimesh mbi Matrix",
"Support for those using the Matrix spec": "Asistencë për ata që përdorin specifikimet Matrix",
"Design and implementation of E2E in Matrix": "Konceptimi dhe sendërtimi i E2E në Matrix",
"Design and implementation of E2E in Matrix": "Konceptimi dhe sendërtimi i E2E-s në Matrix",
"Implementing VR services with Matrix": "Sendërtim shërbimesh VR me Matrix-in",
"Implementing VoIP services with Matrix": "Sendërtim shërbimesh VoIP me Matrix-in",
"Discussion of the Identity Service API": "Diskutime mbi Identity Service API",
"Discussion of the Identity Service API": "Diskutime mbi API-n Identity Service",
"Support for those using, running and writing other bridges": "Asistencë për ata që përdorin, xhirojnë ose programojnë ura të tjera",
"Contributing code to Matrix and Riot": "Kontribut me kod te Matrix dhe te Riot",
"Dev chat for the Riot/Web dev team": "Fjalosje mbi zhvillimin, për ekipin e zhvilluesve të Riot/Web-i",
"Dev chat for the Dendrite dev team": "Fjalosje zhvillimi, për ekipin e zhvilluesve të Dendrite-it"
"Dev chat for the Dendrite dev team": "Fjalosje mbi zhvillimi, për ekipin e zhvilluesve të Dendrite-it",
"Co-ordination for Riot translators": "Bashkërendim për përkthyes të Riot-it"
}

View File

@@ -1,9 +1,12 @@
{
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s %(browserName)s ద్వర %(osName)s కి",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s %(browserName)s ద్వర %(osName)s కి",
"Custom Server Options": "మలచిన సేవిక ఎంపికలు",
"Dismiss": "రద్దుచేసే",
"Riot Desktop on %(platformName)s": "రియట్ రంగస్థలం లో %(platformName)s",
"Welcome to Riot.im": "రిమోట్.ఇం కి స్వగతం",
"Search the room directory": "గది వివరాన్ని శోధించండి",
"Chat with Riot Bot": "రియోట్ బొట్తో మాటామంతి చేయండి"
"Chat with Riot Bot": "రియోట్ బొట్తో మాటామంతి చేయండి",
"Unknown device": "తెలుయని పరికరం",
"You need to be using HTTPS to place a screen-sharing call.": "తెర ని పంచే కాల్ కి HTTPS అవసరం.",
"Riot is not supported on mobile web. Install the app?": "మొబైల్ బ్రౌజర్ లో రియట్ పనిచేయదు. ఆప్ ఇన్స్టాల్ చేయాలా?"
}

View File

@@ -33,35 +33,33 @@ export async function getVectorConfig(relativeLocation) {
}
function getConfig(configJsonFilename) {
let deferred = Promise.defer();
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 == '')) {
deferred.resolve({});
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;
}
deferred.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).
deferred.resolve(JSON.parse(body));
}
);
return deferred.promise;
// 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));
},
);
});
}

View File

@@ -37,6 +37,14 @@
<section id="matrixchat" style="height: 100%;"></section>
<noscript>Sorry, Riot requires JavaScript to be enabled.</noscript> <!-- TODO: Translate this? -->
<% for (var i=0; i < htmlWebpackPlugin.files.js.length; i++) {
if (_.endsWith(htmlWebpackPlugin.files.js[i], 'olm.js')) {
var array = htmlWebpackPlugin.files.js;
htmlWebpackPlugin.files.js.unshift(htmlWebpackPlugin.files.js[i]);
htmlWebpackPlugin.files.js.splice(i, 1);
}
}
for (var i=0; i < htmlWebpackPlugin.files.js.length; i++) {
// Not a particularly graceful way of not putting the indexeddb worker script
// into the main page
if (_.endsWith(htmlWebpackPlugin.files.js[i], 'indexeddb-worker.js')) {
@@ -73,6 +81,6 @@
</audio>
<audio id="remoteAudio"></audio>
<!-- let CSS themes pass constants to the app -->
<div id="mx_theme_accentColor"></div><div id="mx_theme_secondaryAccentColor"/></div><div id="mx_theme_tertiaryAccentColor"/></div>
<div id="mx_theme_accentColor"></div><div id="mx_theme_secondaryAccentColor"></div><div id="mx_theme_tertiaryAccentColor"></div>
</body>
</html>

View File

@@ -24,6 +24,8 @@ require('gfm.css/gfm.css');
require('highlight.js/styles/github.css');
require('draft-js/dist/Draft.css');
import './rageshakesetup';
import React from 'react';
// add React and ReactPerf to the global namespace, to make them easier to
// access via the console
@@ -32,7 +34,7 @@ if (process.env.NODE_ENV !== 'production') {
global.Perf = require('react-addons-perf');
}
import RunModernizrTests from './modernizr'; // this side-effects a global
import './modernizr';
import ReactDOM from 'react-dom';
import sdk from 'matrix-react-sdk';
import PlatformPeg from 'matrix-react-sdk/lib/PlatformPeg';
@@ -41,8 +43,6 @@ import VectorConferenceHandler from 'matrix-react-sdk/lib/VectorConferenceHandle
import Promise from 'bluebird';
import request from 'browser-request';
import * as languageHandler from 'matrix-react-sdk/lib/languageHandler';
// Also import _t directly so we can call it just `_t` as this is what gen-i18n.js expects
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import url from 'url';
@@ -50,11 +50,11 @@ import {parseQs, parseQsFromFragment} from './url_utils';
import Platform from './platform';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import SettingsStore, {SettingLevel} from "matrix-react-sdk/lib/settings/SettingsStore";
import SettingsStore from "matrix-react-sdk/lib/settings/SettingsStore";
import Tinter from 'matrix-react-sdk/lib/Tinter';
import SdkConfig from "matrix-react-sdk/lib/SdkConfig";
import rageshake from "matrix-react-sdk/lib/rageshake/rageshake";
import Olm from 'olm';
import CallHandler from 'matrix-react-sdk/lib/CallHandler';
@@ -62,33 +62,21 @@ import {getVectorConfig} from './getconfig';
let lastLocationHashSet = null;
function initRageshake() {
rageshake.init().then(() => {
console.log("Initialised rageshake: See https://bugs.chromium.org/p/chromium/issues/detail?id=583193 to fix line numbers on Chrome.");
window.addEventListener('beforeunload', (e) => {
console.log('riot-web closing');
// try to flush the logs to indexeddb
rageshake.flush();
});
rageshake.cleanup();
}, (err) => {
console.error("Failed to initialise rageshake: " + err);
});
}
// Disable warnings for now: we use deprecated bluebird functions
// and need to migrate, but they spam the console with warnings.
Promise.config({warnings: false});
function checkBrowserFeatures(featureList) {
if (!window.Modernizr) {
console.error("Cannot check features - Modernizr global is missing.");
return false;
}
var featureComplete = true;
for (var i = 0; i < featureList.length; i++) {
let featureComplete = true;
for (let i = 0; i < featureList.length; i++) {
if (window.Modernizr[featureList[i]] === undefined) {
console.error(
"Looked for feature '%s' but Modernizr has no results for this. " +
"Has it been configured correctly?", featureList[i]
"Has it been configured correctly?", featureList[i],
);
return false;
}
@@ -109,7 +97,7 @@ function getScreenFromLocation(location) {
return {
screen: fragparts.location.substring(1),
params: fragparts.params,
}
};
}
// Here, we do some crude URL analysis to allow
@@ -134,10 +122,10 @@ function onHashChange(ev) {
// so a web page can update the URL bar appropriately.
function onNewScreen(screen) {
console.log("newscreen "+screen);
var hash = '#/' + screen;
const hash = '#/' + screen;
lastLocationHashSet = hash;
window.location.hash = hash;
};
}
// We use this to work out what URL the SDK should
// pass through when registering to allow the user to
@@ -174,59 +162,58 @@ function makeRegistrationUrl(params) {
return url;
}
function getConfig(configJsonFilename) {
let deferred = Promise.defer();
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 == '')) {
deferred.resolve({});
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;
}
deferred.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).
deferred.resolve(JSON.parse(body));
}
);
return deferred.promise;
// 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
// clear them.
var parsedUrl = url.parse(window.location.href);
const parsedUrl = url.parse(window.location.href);
parsedUrl.search = "";
var formatted = url.format(parsedUrl);
const formatted = url.format(parsedUrl);
console.log("Redirecting to " + formatted + " to drop loginToken " +
"from queryparams");
window.location.href = formatted;
}
async function loadApp() {
initRageshake();
MatrixClientPeg.setIndexedDbWorkerScript(window.vector_indexeddb_worker_script);
CallHandler.setConferenceHandler(VectorConferenceHandler);
window.addEventListener('hashchange', onHashChange);
await loadOlm();
await loadLanguage();
const fragparts = parseQsFromFragment(window.location);
@@ -267,7 +254,6 @@ async function loadApp() {
}
// as quickly as we possibly can, set a default theme...
const styleElements = Object.create(null);
let a;
const theme = SettingsStore.getValue("theme");
for (let i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
@@ -287,12 +273,23 @@ async function loadApp() {
// in case the Tinter.tint() in MatrixChat fires before the
// CSS has actually loaded (which in practice happens)...
// FIXME: we should probably block loading the app or even
// showing a spinner until the theme is loaded, to avoid
// flashes of unstyled content.
a.onload = () => {
// This if fixes Tinter.setTheme to not fire on Firefox
// in case it is the first time loading Riot.
// `InstallTrigger` is a Object which only exists on Firefox
// (it is used for their Plugins) and can be used as a
// feature check.
// Firefox loads css always before js. This is why we dont use
// onload or it's EventListener as thoose will never trigger.
if (typeof InstallTrigger !== 'undefined') {
Tinter.setTheme(theme);
};
} else {
// FIXME: we should probably block loading the app or even
// showing a spinner until the theme is loaded, to avoid
// flashes of unstyled content.
a.onload = () => {
Tinter.setTheme(theme);
};
}
} else {
// Firefox requires this to not be done via `setAttribute`
// or via HTML.
@@ -332,23 +329,59 @@ async function loadApp() {
initialScreenAfterLogin={getScreenFromLocation(window.location)}
defaultDeviceDisplayName={platform.getDefaultDeviceDisplayName()}
/>,
document.getElementById('matrixchat')
document.getElementById('matrixchat'),
);
} else {
console.error("Browser is missing required features.");
// take to a different landing page to AWOOOOOGA at the user
var CompatibilityPage = sdk.getComponent("structures.CompatibilityPage");
const CompatibilityPage = sdk.getComponent("structures.CompatibilityPage");
window.matrixChat = ReactDOM.render(
<CompatibilityPage onAccept={function() {
if (window.localStorage) window.localStorage.setItem('mx_accepts_unsupported_browser', true);
console.log("User accepts the compatibility risks.");
loadApp();
}} />,
document.getElementById('matrixchat')
document.getElementById('matrixchat'),
);
}
}
function loadOlm() {
/* Load Olm. We try the WebAssembly version first, and then the legacy,
* asm.js version if that fails. For this reason we need to wait for this
* to finish before continuing to load the rest of the app. In future
* we could somehow pass a promise down to react-sdk and have it wait on
* that so olm can be loading in parallel with the rest of the app.
*
* We also need to tell the Olm js to look for its wasm file at the same
* level as index.html. It really should be in the same place as the js,
* ie. in the bundle directory, to avoid caching issues, but as far as I
* can tell this is completely impossible with webpack.
*/
return Olm.init({
locateFile: () => 'olm.wasm',
}).then(() => {
console.log("Using WebAssembly Olm");
}).catch((e) => {
console.log("Failed to load Olm: trying legacy version");
return new Promise((resolve, reject) => {
const s = document.createElement('script');
s.src = 'olm_legacy.js';
s.onload = resolve;
s.onerror = reject;
document.body.appendChild(s);
}).then(() => {
// Init window.Olm, ie. the one just loaded by the script tag,
// not 'Olm' which is still the failed wasm version.
return window.Olm.init();
}).then(() => {
console.log("Using legacy Olm");
}).catch((e) => {
console.log("Both WebAssembly and asm.js Olm failed!", e);
});
});
}
async function loadLanguage() {
const prefLang = SettingsStore.getValue("language", null, /*excludeDefault=*/true);
let langs = [];

View File

@@ -18,4 +18,4 @@ import {IndexedDBStoreWorker} from 'matrix-js-sdk/lib/indexeddb-worker.js';
const remoteWorker = new IndexedDBStoreWorker(postMessage);
onmessage = remoteWorker.onMessage;
export const onmessage = remoteWorker.onMessage;

View File

@@ -1,41 +0,0 @@
/*
Copyright 2016 OpenMarket Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/* a very thin shim for loading olm.js: just sets the global OLM_OPTIONS and
* requires the actual olm.js library.
*
* olm.js reads global.OLM_OPTIONS and defines global.Olm. The latter is fine for us,
* but we need to prepare the former.
*
* We can't use webpack's definePlugin to do this, because we tell webpack not
* to parse olm.js. We also can't put this code in index.js, because olm and
* index.js are loaded in parallel, and we need to make sure OLM_OPTIONS is set
* before olm.js is loaded.
*/
/* total_memory must be a power of two, and at least twice the stack.
*
* We don't need a lot of stack, but we do need about 128K of heap to encrypt a
* 64K event (enough to store the ciphertext and the plaintext, bearing in mind
* that the plaintext can only be 48K because base64). We also have about 36K
* of statics. So let's have 256K of memory.
*/
global.OLM_OPTIONS = {
TOTAL_STACK: 64*1024,
TOTAL_MEMORY: 256*1024,
};
require('olm/olm.js');

View File

@@ -27,7 +27,7 @@ import rageshake from 'matrix-react-sdk/lib/rageshake/rageshake';
remote.autoUpdater.on('update-downloaded', onUpdateDownloaded);
// try to flush the rageshake logs to indexeddb before quit.
ipcRenderer.on('before-quit', function () {
ipcRenderer.on('before-quit', function() {
console.log('riot-desktop closing');
rageshake.flush();
});
@@ -143,7 +143,6 @@ export default class ElectronPlatform extends VectorBasePlatform {
{
body: msg,
icon: avatarUrl,
tag: 'vector',
silent: true, // we play our own sounds
},
);

View File

@@ -60,8 +60,8 @@ export default class VectorBasePlatform extends BasePlatform {
// This needs to be in in a try block as it will throw
// if there are more than 100 badge count changes in
// its internal queue
let bgColor = "#d00",
notif = this.notificationCount;
let bgColor = "#d00";
let notif = this.notificationCount;
if (this.errorDidOccur) {
notif = notif || "×";
@@ -114,7 +114,7 @@ export default class VectorBasePlatform extends BasePlatform {
dis.dispatch({
action: 'check_updates',
value: false,
})
});
}
getUpdateCheckStatusEnum() {

View File

@@ -26,7 +26,7 @@ import Promise from 'bluebird';
import url from 'url';
import UAParser from 'ua-parser-js';
var POKE_RATE_MS = 10 * 60 * 1000; // 10 min
const POKE_RATE_MS = 10 * 60 * 1000; // 10 min
export default class WebPlatform extends VectorBasePlatform {
constructor() {
@@ -68,11 +68,11 @@ export default class WebPlatform extends VectorBasePlatform {
// annoyingly, the latest spec says this returns a
// promise, but this is only supported in Chrome 46
// and Firefox 47, so adapt the callback API.
const defer = Promise.defer();
global.Notification.requestPermission((result) => {
defer.resolve(result);
return new Promise(function(resolve, reject) {
global.Notification.requestPermission((result) => {
resolve(result);
});
});
return defer.promise;
}
displayNotification(title: string, msg: string, avatarUrl: string, room: Object) {
@@ -103,31 +103,31 @@ export default class WebPlatform extends VectorBasePlatform {
}
_getVersion(): Promise<string> {
const deferred = Promise.defer();
// We add a cachebuster to the request to make sure that we know about
// the most recent version on the origin server. That might not
// actually be the version we'd get on a reload (particularly in the
// presence of intermediate caching proxies), but still: we're trying
// to tell the user that there is a new version.
request(
{
method: "GET",
url: "version",
qs: { cachebuster: Date.now() },
},
(err, response, body) => {
if (err || response.status < 200 || response.status >= 300) {
if (err === null) err = { status: response.status };
deferred.reject(err);
return;
}
const ver = body.trim();
deferred.resolve(ver);
},
);
return deferred.promise;
return new Promise(function(resolve, reject) {
request(
{
method: "GET",
url: "version",
qs: { cachebuster: Date.now() },
},
(err, response, body) => {
if (err || response.status < 200 || response.status >= 300) {
if (err === null) err = { status: response.status };
reject(err);
return;
}
const ver = body.trim();
resolve(ver);
},
);
});
}
getAppVersion(): Promise<string> {

View File

@@ -0,0 +1,62 @@
/*
Copyright 2018 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
* Separate file that sets up rageshake logging when imported.
* This is necessary so that rageshake logging is set up before
* anything else. Webpack puts all import statements at the top
* of the file before any code, so imports will always be
* evaluated first. Other imports can cause other code to be
* evaluated (eg. the loglevel library in js-sdk, which if set
* up before rageshake causes some js-sdk logging to be missing
* from the rageshake.)
*/
import rageshake from "matrix-react-sdk/lib/rageshake/rageshake";
import SdkConfig from "matrix-react-sdk/src/SdkConfig";
function initRageshake() {
rageshake.init().then(() => {
console.log("Initialised rageshake: See https://bugs.chromium.org/p/chromium/issues/detail?id=583193 to fix line numbers on Chrome.");
window.addEventListener('beforeunload', (e) => {
console.log('riot-web closing');
// try to flush the logs to indexeddb
rageshake.flush();
});
rageshake.cleanup();
}, (err) => {
console.error("Failed to initialise rageshake: " + err);
});
}
initRageshake();
global.mxSendRageshake = function(text, withLogs) {
if (withLogs === undefined) withLogs = true;
require(['matrix-react-sdk/lib/rageshake/submit-rageshake'], (s) => {
s(SdkConfig.get().bug_report_endpoint_url, {
userText: text,
sendLogs: withLogs,
progressCallback: console.log.bind(console),
}).then(() => {
console.log("Bug report sent!");
}, (err) => {
console.error(err);
});
});
};

View File

@@ -23,16 +23,16 @@ import qs from 'querystring';
export function parseQsFromFragment(location) {
// if we have a fragment, it will start with '#', which we need to drop.
// (if we don't, this will return '').
var fragment = location.hash.substring(1);
const fragment = location.hash.substring(1);
// our fragment may contain a query-param-like section. we need to fish
// this out *before* URI-decoding because the params may contain ? and &
// characters which are only URI-encoded once.
var hashparts = fragment.split('?');
const hashparts = fragment.split('?');
var result = {
const result = {
location: decodeURIComponent(hashparts[0]),
params: {}
params: {},
};
if (hashparts.length > 1) {

View File

@@ -6,8 +6,8 @@
// ideally these unit tests could be run under nodejs rather than in a browser
// via karma, but having two separate test frameworks in the same project
// seems confusing
var unit_tests = require.context('./unit-tests', true, /\.js$/);
const unit_tests = require.context('./unit-tests', true, /\.js$/);
unit_tests.keys().forEach(unit_tests);
var app_tests = require.context('./app-tests', true, /\.jsx?$/);
const app_tests = require.context('./app-tests', true, /\.jsx?$/);
app_tests.keys().forEach(app_tests);

View File

@@ -21,36 +21,36 @@ import Platform from '../../src/vector/platform';
require('skin-sdk');
var jssdk = require('matrix-js-sdk');
const jssdk = require('matrix-js-sdk');
var sdk = require('matrix-react-sdk');
var peg = require('matrix-react-sdk/lib/MatrixClientPeg');
var dis = require('matrix-react-sdk/lib/dispatcher');
var PageTypes = require('matrix-react-sdk/lib/PageTypes');
var MatrixChat = sdk.getComponent('structures.MatrixChat');
var RoomDirectory = sdk.getComponent('structures.RoomDirectory');
var RoomPreviewBar = sdk.getComponent('rooms.RoomPreviewBar');
var RoomView = sdk.getComponent('structures.RoomView');
const sdk = require('matrix-react-sdk');
const peg = require('matrix-react-sdk/lib/MatrixClientPeg');
const dis = require('matrix-react-sdk/lib/dispatcher');
const PageTypes = require('matrix-react-sdk/lib/PageTypes');
const MatrixChat = sdk.getComponent('structures.MatrixChat');
const RoomDirectory = sdk.getComponent('structures.RoomDirectory');
const RoomPreviewBar = sdk.getComponent('rooms.RoomPreviewBar');
const RoomView = sdk.getComponent('structures.RoomView');
var React = require('react');
var ReactDOM = require('react-dom');
var ReactTestUtils = require('react-addons-test-utils');
var expect = require('expect');
const React = require('react');
const ReactDOM = require('react-dom');
const ReactTestUtils = require('react-addons-test-utils');
const expect = require('expect');
import Promise from 'bluebird';
var test_utils = require('../test-utils');
var MockHttpBackend = require('matrix-mock-request');
const test_utils = require('../test-utils');
const MockHttpBackend = require('matrix-mock-request');
var HS_URL='http://localhost';
var IS_URL='http://localhost';
var USER_ID='@me:localhost';
var ACCESS_TOKEN='access_token';
const HS_URL='http://localhost';
const IS_URL='http://localhost';
const USER_ID='@me:localhost';
const ACCESS_TOKEN='access_token';
describe('joining a room', function () {
describe('over federation', function () {
var parentDiv;
var httpBackend;
var matrixChat;
describe('joining a room', function() {
describe('over federation', function() {
let parentDiv;
let httpBackend;
let matrixChat;
beforeEach(function() {
test_utils.beforeEach(this);
@@ -72,8 +72,8 @@ describe('joining a room', function () {
});
it('should not get stuck at a spinner', function() {
var ROOM_ALIAS = '#alias:localhost';
var ROOM_ID = '!id:localhost';
const ROOM_ALIAS = '#alias:localhost';
const ROOM_ID = '!id:localhost';
httpBackend.when('GET', '/pushrules').respond(200, {});
httpBackend.when('POST', '/filter').respond(200, { filter_id: 'fid' });
@@ -90,7 +90,7 @@ describe('joining a room', function () {
PlatformPeg.set(new Platform());
var mc = (
const mc = (
<MatrixChat config={{}}
makeRegistrationUrl={()=>{throw new Error("unimplemented");}}
initialScreenAfterLogin={{
@@ -100,7 +100,7 @@ describe('joining a room', function () {
);
matrixChat = ReactDOM.render(mc, parentDiv);
var roomView;
let roomView;
// wait for /sync to happen. This may take some time, as the client
// has to initialise indexeddb.
@@ -118,11 +118,11 @@ describe('joining a room', function () {
}).then(() => {
console.log(`${Date.now()} App made requests for directory view; switching to a room.`);
var roomDir = ReactTestUtils.findRenderedComponentWithType(
const roomDir = ReactTestUtils.findRenderedComponentWithType(
matrixChat, RoomDirectory);
// enter an alias in the input, and simulate enter
var input = ReactTestUtils.findRenderedDOMComponentWithTag(
const input = ReactTestUtils.findRenderedDOMComponentWithTag(
roomDir, 'input');
input.value = ROOM_ALIAS;
ReactTestUtils.Simulate.change(input);

View File

@@ -40,10 +40,10 @@ import * as test_utils from '../test-utils';
import MockHttpBackend from 'matrix-mock-request';
import {parseQs, parseQsFromFragment} from '../../src/vector/url_utils';
var DEFAULT_HS_URL='http://my_server';
var DEFAULT_IS_URL='http://my_is';
const DEFAULT_HS_URL='http://my_server';
const DEFAULT_IS_URL='http://my_is';
describe('loading:', function () {
describe('loading:', function() {
let parentDiv;
let httpBackend;
@@ -74,7 +74,7 @@ describe('loading:', function () {
});
});
afterEach(async function () {
afterEach(async function() {
console.log(`${Date.now()}: loading: afterEach`);
if (parentDiv) {
ReactDOM.unmountComponentAtNode(parentDiv);
@@ -112,12 +112,12 @@ describe('loading:', function () {
toString: function() { return this.search + this.hash; },
};
let tokenLoginCompleteDefer = Promise.defer();
const tokenLoginCompleteDefer = Promise.defer();
tokenLoginCompletePromise = tokenLoginCompleteDefer.promise;
function onNewScreen(screen) {
console.log(Date.now() + " newscreen "+screen);
var hash = '#/' + screen;
const hash = '#/' + screen;
windowLocation.hash = hash;
console.log(Date.now() + " browser URI now "+ windowLocation);
}
@@ -129,7 +129,7 @@ describe('loading:', function () {
return {
screen: fragparts.location.substring(1),
params: fragparts.params,
}
};
}
const MatrixChat = sdk.getComponent('structures.MatrixChat');
@@ -142,7 +142,7 @@ describe('loading:', function () {
PlatformPeg.set(new Platform());
var params = parseQs(windowLocation);
const params = parseQs(windowLocation);
matrixChat = ReactDOM.render(
<MatrixChat
onNewScreen={onNewScreen}
@@ -153,7 +153,7 @@ describe('loading:', function () {
onTokenLoginCompleted={() => tokenLoginCompleteDefer.resolve()}
initialScreenAfterLogin={getScreenFromLocation(windowLocation)}
makeRegistrationUrl={() => {throw new Error('Not implemented');}}
/>, parentDiv
/>, parentDiv,
);
}
@@ -179,7 +179,7 @@ describe('loading:', function () {
}
describe("Clean load with no stored credentials:", function() {
it('gives a login panel by default', function (done) {
it('gives a login panel by default', function(done) {
loadApp();
Promise.delay(1).then(() => {
@@ -257,7 +257,6 @@ describe('loading:', function () {
}
return completeLogin(matrixChat);
}).then(() => {
// once the sync completes, we should have a room view
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.HomePage'));
@@ -356,7 +355,7 @@ describe('loading:', function () {
});
return httpBackend.flush();
}).then(() => {
return awaitSyncingSpinner(matrixChat)
return awaitSyncingSpinner(matrixChat);
}).then(() => {
// we got a sync spinner - let the sync complete
return expectAndAwaitSync();
@@ -380,7 +379,7 @@ describe('loading:', function () {
it('shows a login view', function() {
// we expect a single <Login> component
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.login.Login')
matrixChat, sdk.getComponent('structures.login.Login'),
);
// the only outstanding request should be a GET /login
@@ -408,7 +407,7 @@ describe('loading:', function () {
});
describe('Guest auto-registration:', function() {
it('shows a home page by default', function (done) {
it('shows a home page by default', function(done) {
loadApp();
Promise.delay(1).then(() => {
@@ -438,7 +437,7 @@ describe('loading:', function () {
}).done(done, done);
});
it('uses the last known homeserver to register with', function (done) {
it('uses the last known homeserver to register with', function(done) {
localStorage.setItem("mx_hs_url", "https://homeserver" );
localStorage.setItem("mx_is_url", "https://idserver" );
@@ -477,7 +476,7 @@ describe('loading:', function () {
it('shows a room view if we followed a room link', function(done) {
loadApp({
uriFragment: "#/room/!room:id"
uriFragment: "#/room/!room:id",
});
Promise.delay(1).then(() => {
// at this point, we're trying to do a guest registration;
@@ -547,7 +546,7 @@ describe('loading:', function () {
// we expect a single <Login> component
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.login.Login')
matrixChat, sdk.getComponent('structures.login.Login'),
);
});
@@ -580,7 +579,7 @@ describe('loading:', function () {
});
describe('Token login:', function() {
it('logs in successfully', function (done) {
it('logs in successfully', function(done) {
loadApp({
queryString: "?loginToken=secretToken&homeserver=https%3A%2F%2Fhomeserver&identityServer=https%3A%2F%2Fidserver",
});
@@ -658,7 +657,7 @@ describe('loading:', function () {
// assert that we are on the loading page
function assertAtLoadingSpinner(matrixChat) {
var domComponent = ReactDOM.findDOMNode(matrixChat);
const domComponent = ReactDOM.findDOMNode(matrixChat);
expect(domComponent.className).toEqual("mx_MatrixChat_splash");
// just the spinner
@@ -697,12 +696,12 @@ function awaitSyncingSpinner(matrixChat, retryLimit, retryCount) {
}
function assertAtSyncingSpinner(matrixChat) {
var domComponent = ReactDOM.findDOMNode(matrixChat);
const domComponent = ReactDOM.findDOMNode(matrixChat);
expect(domComponent.className).toEqual("mx_MatrixChat_splash");
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('elements.Spinner'));
var logoutLink = ReactTestUtils.findRenderedDOMComponentWithTag(
const logoutLink = ReactTestUtils.findRenderedDOMComponentWithTag(
matrixChat, 'a');
expect(logoutLink.text).toEqual("Logout");
}

View File

@@ -4,5 +4,5 @@
* Skins the react-sdk with the vector components
*/
var sdk = require('matrix-react-sdk');
const sdk = require('matrix-react-sdk');
sdk.loadSkin(require('../src/component-index'));

View File

@@ -8,7 +8,7 @@ import Promise from 'bluebird';
* @param {Mocha.Context} context The test context
*/
export function beforeEach(context) {
var desc = context.currentTest.fullTitle();
const desc = context.currentTest.fullTitle();
console.log();
console.log(desc);
console.log(new Array(1 + desc.length).join("="));
@@ -22,7 +22,7 @@ export function beforeEach(context) {
* returns true if the current environment supports webrtc
*/
export function browserSupportsWebRTC() {
var n = global.window.navigator;
const n = global.window.navigator;
return n.getUserMedia || n.webkitGetUserMedia ||
n.mozGetUserMedia;
}

View File

@@ -15,44 +15,46 @@ module.exports = {
"mobileguide": "./src/vector/mobile_guide/index.js",
// We ship olm.js as a separate lump of javascript. This makes it get
// loaded via a separate <script/> tag in index.html (which loads it
// into the browser global `Olm`, where js-sdk expects to find it).
//
// (we should probably make js-sdk load it asynchronously at some
// point, so that it doesn't block the pageload, but that is a separate
// problem)
"olm": "./src/vector/olm-loader.js",
// CSS themes
"theme-light": "./node_modules/matrix-react-sdk/res/themes/light/css/light.scss",
"theme-dark": "./node_modules/matrix-react-sdk/res/themes/dark/css/dark.scss",
"theme-status": "./res/themes/status/css/status.scss",
},
module: {
preLoaders: [
{ test: /\.js$/, loader: "source-map-loader" },
],
loaders: [
{ test: /\.json$/, loader: "json" },
{ test: /\.js$/, loader: "babel", include: path.resolve('./src') },
rules: [
{ enforce: 'pre', test: /\.js$/, use: "source-map-loader", exclude: /node_modules/, },
{ test: /\.js$/, use: "babel-loader", include: path.resolve(__dirname, 'src') },
{
test: /\.scss$/,
// 1. postcss-loader turns the SCSS into normal CSS.
// 2. css-raw-loader turns the CSS into a javascript module
// 2. raw-loader turns the CSS into a javascript module
// whose default export is a string containing the CSS.
// (css-raw-loader is similar to css-loader, but the latter
// (raw-loader is similar to css-loader, but the latter
// would also drag in the imgs and fonts that our CSS refers to
// as webpack inputs.)
// 3. ExtractTextPlugin turns that string into a separate asset.
loader: ExtractTextPlugin.extract("css-raw-loader!postcss-loader?config=postcss.config.js"),
use: ExtractTextPlugin.extract({
use: [
"raw-loader",
{
loader: 'postcss-loader',
options: {
config: {
path: './postcss.config.js'
}
}
}
],
}),
},
{
// this works similarly to the scss case, without postcss.
test: /\.css$/,
loader: ExtractTextPlugin.extract("css-raw-loader"),
use: ExtractTextPlugin.extract({
use: "raw-loader"
}),
},
],
noParse: [
// for cross platform compatibility use [\\\/] as the path separator
@@ -152,14 +154,11 @@ module.exports = {
// don't fill the console up with a mahoosive list of modules
chunks: false,
},
// hot mdule replacement doesn't work (I think we'd need react-hot-reload?)
// so webpack-dev-server reloads the page on every update which is quite
// tedious in Riot since that can take a while.
hot: false,
inline: false,
},
};
// olm is an optional dependency. Ignore it if it's not installed, to avoid a
// scary-looking error.
try {
require('olm');
} catch (e) {
console.log("Olm is not installed; not shipping it");
delete(module.exports.entry["olm"]);
}