Compare commits

...

140 Commits

Author SHA1 Message Date
Travis Ralston
fc698d63dd Update jenkins.sh 2019-04-17 12:29:44 -06:00
Travis Ralston
b893ea3bdb Update jenkins.sh 2019-04-17 12:22:40 -06:00
Travis Ralston
a5592d5c1f Update jenkins.sh 2019-04-17 12:18:05 -06:00
David Baker
597b3e16e0 Merge pull request #9517 from vector-im/dbkr/fix_deploy_script_include_default
Fix default for --include arg
2019-04-17 18:46:56 +01:00
David Baker
addca871ad Fix default for --include arg
nargs options are arrays and we assume it's an array later, so it
would iterate over each char of the string if left as the default
2019-04-17 18:31:36 +01:00
David Baker
2c0504d596 Merge pull request #9500 from axelsimon/patch-1
update installation instructions with new repo
2019-04-17 09:34:35 +01:00
axel simon
434e8cc937 Changed the Debian repo key and public key URLs 2019-04-16 21:03:53 +02:00
axel simon
6c950593b7 the repo key filename changed, reflecting this 2019-04-16 17:58:54 +02:00
David Baker
147f77f1dc Update README.md
better wording

Co-Authored-By: axelsimon <github@axelsimon.net>
2019-04-16 17:55:49 +02:00
Travis Ralston
86bbe156db Merge pull request #9498 from vector-im/travis/packages.matrix.org
Use packages.matrix.org for Olm
2019-04-16 08:28:38 -06:00
J. Ryan Stinnett
bb5dedeeb9 Update yarn.lock 2019-04-16 13:31:58 +01:00
axel simon
261974e9eb update installation instructions with new repo
change mentions of https://riot.im/packages to https://packages.riot.im
add instructions to remove old, now-untrusted riot.im signing key
update language and move from 'apt-get` to the simpler `apt`
2019-04-16 13:53:59 +02:00
Travis Ralston
cbaa7a81bf Use packages.matrix.org for Olm
Fixes https://github.com/vector-im/riot-web/issues/9497
2019-04-15 19:18:33 -06:00
David Baker
f400cea437 Merge branch 'master' into develop 2019-04-16 01:26:24 +01:00
David Baker
dcbe75ec2c v1.0.8 2019-04-16 01:22:59 +01:00
David Baker
fec98fd4a9 Prepare changelog for v1.0.8 2019-04-16 01:22:59 +01:00
David Baker
29cb8c42b0 v1.0.8 2019-04-16 01:22:02 +01:00
J. Ryan Stinnett
d187a437fe Merge pull request #9412 from vector-im/anoa/electron_platform_builds
Add separate platform electron build commands
2019-04-11 17:16:54 +01:00
J. Ryan Stinnett
b3bee52ad1 Merge pull request #9408 from pacien/custom-profiledir
Add support for custom profile directory
2019-04-10 10:45:06 +01:00
pacien
2c9b51f29d Add support for custom profile directory
A custom user data directory can now be specified using the "profile-dir"
command line argument.

Github ref: closes #6175

Signed-off-by: Pacien TRAN-GIRARD <pacien.trangirard@pacien.net>
2019-04-09 19:35:14 +02:00
Andrew Morgan
96be8ad072 Remove 32-bit builds for MacOS and Linux 2019-04-09 18:24:30 +01:00
Andrew Morgan
38b661e2cb Switch to yarn 2019-04-09 17:03:58 +01:00
Andrew Morgan
657397b177 Add separate platform electron build commands
Add commands for building separate electron builds for each platform
2019-04-09 17:01:19 +01:00
Nad Chishtie
0796f32c17 Merge pull request #9410 from vector-im/nadonomy/mobile-install-guide
Improved mobile install guide
2019-04-09 17:07:20 +02:00
Nad Chishtie
c70a2925a8 More responsive styling. 2019-04-09 17:05:41 +02:00
Nad Chishtie
17788b2027 Improved responsive styling. 2019-04-09 16:40:41 +02:00
Nad Chishtie
527dc1982e Updated branding. 2019-04-09 16:40:04 +02:00
J. Ryan Stinnett
449065b466 Merge pull request #9404 from vector-im/anoa/no_vec-elec_desktop
Remove vector-electron-desktop from README
2019-04-08 17:24:40 +01:00
Andrew Morgan
8a48d9e86b Remove vector-electron-desktop from README
The repo (https://github.com/iskrisis/vector-electron-desktop) very clearly states not to use it anymore.
2019-04-08 17:11:58 +01:00
Bruno Windels
a41a14b975 Merge branch 'master' into develop 2019-04-08 16:21:13 +02:00
Bruno Windels
f76b30af15 v1.0.7 2019-04-08 16:18:22 +02:00
Bruno Windels
44258ffa4b Prepare changelog for v1.0.7 2019-04-08 16:18:21 +02:00
Bruno Windels
659c29cf77 v1.0.7 2019-04-08 16:16:46 +02:00
Bruno Windels
b6da314692 bump js-sdk to 1.0.4 and react-sdk to 1.0.7 2019-04-08 16:15:05 +02:00
David Baker
26955d2b79 Merge pull request #9398 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2019-04-08 09:40:59 +01:00
Weblate
0a79496f0c Merge branch 'origin/develop' into Weblate. 2019-04-08 08:37:28 +00:00
Maros Dumitru
1d23f8c2f4 Translated using Weblate (Romanian)
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/ro/
2019-04-08 08:37:25 +00:00
Tuomas Hietala
8d27ed986c Translated using Weblate (Finnish)
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/fi/
2019-04-08 08:37:25 +00:00
Nathan Follens
9b8607fc64 Translated using Weblate (Dutch)
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/nl/
2019-04-08 08:37:25 +00:00
Filip Š
a5993419c4 Added translation using Weblate (Slovenian) 2019-04-07 19:34:31 +00:00
Hubert Chathi
ab136c42a7 Merge pull request #9392 from uhoreg/bump_olm_3.0.0_pre3
bump olm version to 3.1.0-pre3
2019-04-05 16:45:22 -04:00
Hubert Chathi
ec08cd99aa bump olm version 2019-04-05 16:22:06 -04:00
Travis Ralston
2aeaa081fe Merge pull request #9383 from vector-im/travis/expire-mobile-page
Add expiration to mobile guide cookie
2019-04-04 12:00:10 -06:00
Travis Ralston
b72ae197e5 Use a different cookie to expire any cookies people may already have
We also check for a specific value in case people set it to `true` for some reason.
2019-04-03 18:11:25 -06:00
Travis Ralston
0d2668f2b1 Step cookie down to 4 hours 2019-04-03 18:01:09 -06:00
Travis Ralston
50b4906ea8 Merge pull request #9368 from vector-im/travis/autolaunch
Fix autolaunch setting appearing toggled off
2019-04-03 08:40:01 -06:00
Travis Ralston
f36a24fef0 Fix autolaunch setting appearing toggled off
Fixes https://github.com/vector-im/riot-web/issues/9123

The value used here is a function which returns a promise, not a flag.
2019-04-02 17:59:47 -06:00
Travis Ralston
b1c885a266 Expire mobile guide cookie after 24 hours
See https://github.com/vector-im/riot-web/issues/9360

This is to prevent it from always working. Cookies without an expiration are supposed to expire at the end of the session, however the nature of mobile browsers means that the session is unlikely to ever end.
2019-04-02 11:18:05 -06:00
Travis Ralston
958260d559 Merge pull request #9352 from vector-im/travis/save-as-2
Don't try to save files the user didn't want to save
2019-04-02 07:33:36 -06:00
Travis Ralston
8b2d33ac0a Don't try to save files the user didn't want to save
Fixes https://github.com/vector-im/riot-web/issues/9350
2019-04-01 13:24:17 -06:00
J. Ryan Stinnett
95e247ae7c Merge pull request #9325 from jryans/storage-eviction-modal
Setup crypto store for restore session tests
2019-04-01 17:31:11 +01:00
David Baker
c55223e750 Merge branch 'master' into develop 2019-04-01 13:58:50 +01:00
David Baker
164a0e0160 v1.0.6 2019-04-01 13:55:12 +01:00
David Baker
3265f84266 Prepare changelog for v1.0.6 2019-04-01 13:55:12 +01:00
David Baker
2bac72fa36 v1.0.6 2019-04-01 13:53:18 +01:00
David Baker
51f6d02cf1 Released js-sdk & react-sdk, and bump electron version 2019-04-01 13:52:11 +01:00
David Baker
9cb452ad20 Merge pull request #9333 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2019-04-01 12:03:18 +01:00
David Baker
bc70577701 Deleted translation using Weblate (English (United Kingdom)) 2019-04-01 11:00:31 +00:00
Weblate
076c7f54a8 Merge branch 'origin/develop' into Weblate. 2019-04-01 08:41:48 +00:00
random
0837affa24 Translated using Weblate (Italian)
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/it/
2019-04-01 08:41:46 +00:00
Micheál Ó hÓgáin
c82d4f3e44 Translated using Weblate (Irish)
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/ga/
2019-04-01 08:41:46 +00:00
Samu Voutilainen
a898aad667 Translated using Weblate (Finnish)
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/fi/
2019-04-01 08:41:45 +00:00
Carmen Bianca Bakker
f0a997629d Translated using Weblate (Esperanto)
Currently translated at 63.1% (12 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/eo/
2019-04-01 08:41:45 +00:00
Eden Tyler-Moss
8ecdb484c3 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/en_GB/
2019-04-01 08:41:45 +00:00
Nathan Follens
128abb46d2 Translated using Weblate (Dutch)
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/nl/
2019-04-01 08:41:45 +00:00
Besnik Bleta
bfa2101da0 Translated using Weblate (Albanian)
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/sq/
2019-04-01 08:41:45 +00:00
J. Ryan Stinnett
e2cd44d69f Merge pull request #9327 from vector-im/travis/1.0.6-fire/9326
Add "Save image as..." button to context menu on images
2019-04-01 09:29:09 +01:00
Travis Ralston
7a9cea4baa Add "Save image as..." button to context menu on images
Fixes https://github.com/vector-im/riot-web/issues/9324
Requires https://github.com/matrix-org/matrix-react-sdk/pull/2848
2019-03-29 16:21:25 -06:00
Travis Ralston
15ff53dcb6 Merge pull request #9326 from vector-im/travis/electron-save-as
Add "Save image as..." button to context menu on images
2019-03-29 15:49:39 -06:00
Travis Ralston
866f8f54ec Add "Save image as..." button to context menu on images
Fixes https://github.com/vector-im/riot-web/issues/9324
Requires https://github.com/matrix-org/matrix-react-sdk/pull/2848
2019-03-29 14:57:02 -06:00
J. Ryan Stinnett
eb1d1517ca Setup crypto store for restore session tests
The new storage consistency work expects a crypto store exist together with
local storage. This updates the loading tests to create them together.

Needed for https://github.com/vector-im/riot-web/issues/9109
2019-03-29 18:01:04 +00:00
J. Ryan Stinnett
fa10022496 Add key to footer links to appease React 2019-03-29 15:58:41 +00:00
J. Ryan Stinnett
01794ae65f Merge pull request #9297 from TheJJ/custom_login_footer_links
Configure auth footer links through Riot config
2019-03-28 13:04:11 +00:00
Jonas Jelten
5a051824c0 configure auth footer links through sdkconfig
Signed-off-by: Jonas Jelten <jelten@in.tum.de>
2019-03-28 12:32:10 +01:00
David Baker
d1a5b79bc3 v1.0.6-rc.1 2019-03-27 17:47:47 +00:00
David Baker
c9e70fb0c6 Prepare changelog for v1.0.6-rc.1 2019-03-27 17:47:46 +00:00
David Baker
f392a00138 v1.0.6-rc.1 2019-03-27 17:46:32 +00:00
David Baker
d747896354 react-sdk & js-sdk rc.1 2019-03-27 17:44:30 +00:00
J. Ryan Stinnett
a8e4949616 Update matrix-mock-request 2019-03-27 15:09:34 +00:00
J. Ryan Stinnett
e8ec6cc1b1 Merge pull request #9279 from jryans/storage-edge-cases
Use `on_logged_in` action in tests
2019-03-27 09:22:30 +00:00
J. Ryan Stinnett
fef69b54fb Use on_logged_in action in tests
This changes the way tests wait for login to complete from a timer-based system
(which can cause intermittent failures) to an action-based system. The lifecycle
code dispatches the action `on_logged_in` when login completes which we can wait
for in the tests as a much better indication that work is done.
2019-03-26 15:21:53 +00:00
Eden Tyler-Moss
f4a0ff3642 Added translation using Weblate (English (United Kingdom)) 2019-03-26 14:44:27 +00:00
J. Ryan Stinnett
5112b33af2 Remove unused test helper 2019-03-26 14:41:10 +00:00
J. Ryan Stinnett
2e24b0c53b Merge pull request #9278 from jryans/storage-edge-cases
Convert away from `Promise.defer`
2019-03-26 13:26:00 +00:00
J. Ryan Stinnett
f321aba4ac Convert away from Promise.defer
`Promise.defer` is deprecated in Bluebird and it logs loudly each time it's
called. This cleans up testing logs significantly by converting away from it.
2019-03-26 12:46:26 +00:00
J. Ryan Stinnett
7ac117f964 Merge pull request #9233 from vector-im/bwindels/updatelockafterrelease
update react-sdk version in yarn lockfile
2019-03-26 11:17:45 +00:00
Peter Vágner
9d133eea75 Translated using Weblate (Slovak)
Currently translated at 63.1% (12 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/sk/
2019-03-26 10:58:31 +00:00
Ben Parsons
5566fd4f32 Merge pull request #9154 from vector-im/benp/labs-docs
"Render simple counters in room header" details
2019-03-22 14:58:37 +00:00
Ben Parsons
d098857d5a wrap text and link from README.md 2019-03-22 14:49:44 +00:00
Ben Parsons
24296ca44e Merge branch 'develop' into benp/labs-docs 2019-03-22 14:45:01 +00:00
Travis Ralston
8e5147976a Merge pull request #9238 from vector-im/travis/buildkite2
Use medium agents for the more resource intensive builds
2019-03-21 12:11:44 -06:00
Travis Ralston
8b097bcd8c Use medium agents for the more resource intensive builds 2019-03-21 11:00:06 -06:00
Bruno Windels
7fb4b32e8f update react-sdk version in yarn lockfile 2019-03-21 13:55:46 +01:00
Bruno Windels
f777c2c9bc Merge branch 'master' into develop 2019-03-21 11:40:43 +01:00
Bruno Windels
e413d69d0b Merge branch 'release-v1.0.5' 2019-03-21 11:40:30 +01:00
Bruno Windels
c8692473a4 v1.0.5 2019-03-21 11:37:35 +01:00
Bruno Windels
a84a599f16 Prepare changelog for v1.0.5 2019-03-21 11:37:35 +01:00
Bruno Windels
0dd1a7b309 v1.0.5 2019-03-21 11:34:17 +01:00
Bruno Windels
4792eb4aa4 bump matrix-react-sdk version to 1.0.5 2019-03-21 11:31:12 +01:00
David Baker
5fcf884303 Merge pull request #9223 from vector-im/dbkr/buildkite_group_logs
Add log grouping to buildkite
2019-03-20 21:47:28 +00:00
David Baker
930ac3ae18 Add log grouping to buildkite
It mostly truncates the log anyway but what are you gonna do
2019-03-20 21:33:25 +00:00
J. Ryan Stinnett
38a24bf4ce Merge pull request #9222 from jryans/git-proto
Switch to `git` protocol for CI dependencies
2019-03-20 20:53:19 +00:00
J. Ryan Stinnett
52ad757cf4 Switch to git protocol for CI dependencies
If you try to clone a repo that doesn't exist via `https`, `git` will prompt for
auth credentials and hang forever. Using `git` avoids this and fails immediately
instead, which is what we want for a missing repo.

Part of https://github.com/vector-im/riot-web/issues/9221
2019-03-20 18:06:18 +00:00
J. Ryan Stinnett
82d7457168 Merge pull request #9212 from jryans/ci-forks
Support CI for matching branches on forks
2019-03-20 09:57:03 +00:00
J. Ryan Stinnett
f5c28a19e1 Support CI for matching branches on forks
Currently, people with push access to the main Riot repos can push matching
branch names to Riot and the SDKs, and CI will test all the branches together.
This change allows contributors to access the same ability when submitting
several matching PRs from their fork of each repo.

Part of https://github.com/vector-im/riot-web/issues/9041
2019-03-19 18:17:27 +00:00
David Baker
9735c332ff Merge branch 'master' into develop 2019-03-18 16:27:39 +00:00
David Baker
2de1f375fa Update yarn.lock
which wasn't updated at release time
2019-03-18 16:27:01 +00:00
David Baker
42c2692d28 Merge branch 'master' into develop 2019-03-18 14:20:09 +00:00
David Baker
e6addecd8f Merge pull request #9199 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate
2019-03-18 10:18:54 +00:00
Weblate
2029aa31d3 Merge branch 'origin/develop' into Weblate. 2019-03-18 09:26:44 +00:00
Micheál Ó hÓgáin
8b3f473b60 Translated using Weblate (Irish)
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/ga/
2019-03-18 09:26:43 +00:00
Gene Wood
723d28e549 Translated using Weblate (English (United States))
Currently translated at 100.0% (19 of 19 strings)

Translation: Riot Web/riot-web
Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/en_US/
2019-03-18 09:26:42 +00:00
Micheál Ó hÓgáin
fae63d04e0 Added translation using Weblate (Irish) 2019-03-17 01:41:44 +00:00
Travis Ralston
abb6bee44d Merge pull request #9177 from vector-im/travis/browser-support-docs
Declare the officially supported browsers in the README
2019-03-15 12:04:17 -06:00
J. Ryan Stinnett
faa9932c77 Merge pull request #9011 from vector-im/t3chguy/local-config
Document some desktop app things
2019-03-15 17:53:55 +00:00
J. Ryan Stinnett
95611d2c12 Update README.md grammar 2019-03-15 17:53:20 +00:00
Travis Ralston
25c767c79e Merge remote-tracking branch 'origin/develop' into travis/browser-support-docs 2019-03-15 11:44:09 -06:00
Travis Ralston
771909eddb Merge pull request #9165 from vector-im/travis/buildkite
Use Buildkite for CI
2019-03-15 11:43:43 -06:00
Travis Ralston
631fcb0ad2 Cross-promote mobile apps 2019-03-15 11:43:00 -06:00
Travis Ralston
df7b617881 Fix downstream branch fetching
We should be giving the PR the best possible chance at passing the build.
2019-03-15 10:23:43 -06:00
Tom Lant
bccdd60889 Update issue templates 2019-03-15 14:24:45 +00:00
Travis Ralston
e47728e0e4 Declare the officially supported browsers in the README
Fixes https://github.com/vector-im/riot-web/issues/8701
2019-03-14 12:59:57 -06:00
J. Ryan Stinnett
61a79a36f8 Merge pull request #9170 from Mikaela/issue-templates
Update version number in issue templates
2019-03-14 10:14:22 +00:00
Mikaela Suomalainen
49165a09c3 Update version number in issue templates
Signed-off-by: Mikaela Suomalainen <mikaela+git@mikaela.info>
2019-03-14 12:03:11 +02:00
Travis Ralston
ef6313fbb4 Use the right CI branch 2019-03-13 22:44:28 -06:00
Travis Ralston
1fb8b23d4c Set up BuildKite for Chrome 2019-03-13 22:03:37 -06:00
Travis Ralston
f6d4c6a5a3 Lint doesn't need develop deps 2019-03-13 18:40:48 -06:00
Travis Ralston
0b4c52c032 Remove Travis (CI)
We're using BuildKite now
2019-03-13 18:40:48 -06:00
Travis Ralston
b6cdaa8597 Add a basic BuildKite :pipeline: 2019-03-13 18:40:47 -06:00
Travis Ralston
1d51507134 Merge pull request #9159 from vector-im/travis/node-8-isnt-real
Remove node 8.x from the build matrix
2019-03-13 14:48:33 -06:00
Travis Ralston
789a0da176 Remove irrelevant warning 2019-03-13 14:39:10 -06:00
Travis Ralston
df164d7489 Remove node 8.x from the build matrix
We don't support Node 8 anymore. Also the build is broken.
2019-03-13 14:10:12 -06:00
Travis Ralston
6ac69c109c Merge pull request #9157 from aaronraimist/electron-help
Update Electron help menu link
2019-03-13 13:52:31 -06:00
Aaron Raimist
b40ed7cb11 Update Electron help menu link
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-03-13 14:43:24 -05:00
Ben Parsons
ee85c04796 "Render simple counters in room header" details 2019-03-13 17:54:46 +00:00
J. Ryan Stinnett
660a160c8e Ignore package-lock.json in case of confused npm users 2019-03-13 15:49:07 +00:00
J. Ryan Stinnett
ef090846e2 Deduplicate log ignore 2019-03-13 15:46:01 +00:00
J. Ryan Stinnett
75a7e7ce82 Update webpack-dev-server 2019-03-13 15:07:50 +00:00
J. Ryan Stinnett
aae5ca0763 Ignore *.log files, such as from npm or Yarn 2019-03-13 14:44:01 +00:00
Michael Telatynski
01becf00f5 Try and improve README
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-03-01 08:01:26 +00:00
34 changed files with 638 additions and 337 deletions

33
.buildkite/pipeline.yaml Normal file
View File

@@ -0,0 +1,33 @@
steps:
- label: ":eslint: Lint"
command:
- "yarn install"
- "yarn lint"
plugins:
- docker#v3.0.1:
image: "node:10"
- label: ":karma: Tests"
agents:
# We use a medium sized instance instead of the normal small ones because
# webpack loves to gorge itself on resources.
queue: "medium"
command:
# Install chrome
- "echo '--- Installing Chrome'"
- "wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -"
- "sh -c 'echo \"deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main\" >> /etc/apt/sources.list.d/google.list'"
- "apt-get update"
- "apt-get install -y google-chrome-stable"
# Run tests
- "echo '--- Fetching Dependencies'"
- "./scripts/fetch-develop.deps.sh --depth 1"
- "yarn install"
- "echo '+++ Running Tests'"
- "yarn test"
env:
CHROME_BIN: "/usr/bin/google-chrome-stable"
plugins:
- docker#v3.0.1:
image: "node:10"
propagate-environment: true

View File

@@ -43,4 +43,4 @@ For the web app:
For the desktop app:
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
- **Version**: 0.x.y <!-- check the user settings panel if unsure -->
- **Version**: 1.x.y <!-- check the user settings panel if unsure -->

View File

@@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
labels: bug
assignees: ''
---
@@ -52,4 +52,4 @@ For the web app:
For the desktop app:
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
- **Version**: 0.x.y <!-- check the user settings panel if unsure -->
- **Version**: 1.x.y <!-- check the user settings panel if unsure -->

View File

@@ -0,0 +1,57 @@
---
name: User Interface or Usability Bug report
about: Please include screenshots in UI/UX bug reports
title: ''
labels: ''
assignees: ''
---
<!-- A picture's worth a thousand words: PLEASE INCLUDE A SCREENSHOT :P -->
<!-- Please report security issues by email to security@matrix.org -->
<!-- This is a bug report template. By following the instructions below and
filling out the sections with your information, you will help the us to get all
the necessary data to fix your issue.
You can also preview your report before submitting it. You may remove sections
that aren't relevant to your particular case.
Text between <!-- and --> marks will be invisible in the report.
-->
### Description
Describe here the problem that you are experiencing, or the feature you are requesting.
### Steps to reproduce
- For bugs, list the steps
- that reproduce the bug
- using hyphens as bullet points
Describe how what happens differs from what you expected.
Log: sent/not sent? <!-- You can send us the app's logs via the 'Report bug'
link on the 'Settings' page. Very important for hard-to-reproduce bugs. Please
file a bug here too! -->
<!-- Include screenshots if possible: you can drag and drop images below. -->
### Version information
<!-- IMPORTANT: please answer the following questions, to help us narrow down the problem -->
- **Platform**: web (in-browser) or desktop?
For the web app:
- **Browser**: Chrome, Safari, Firefox? which version?
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web?
For the desktop app:
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
- **Version**: 1.x.y <!-- check the user settings panel if unsure -->

3
.gitignore vendored
View File

@@ -10,8 +10,9 @@
/packages/
/webapp
/.npmrc
/*.log
package-lock.json
.DS_Store
npm-debug.log
electron/dist
electron/pub
**/.idea

View File

@@ -1,31 +0,0 @@
# we need trusty for the chrome addon
dist: trusty
# we don't need sudo, so can run in a container, which makes startup much
# quicker.
#
# unfortunately we do temporarily require sudo as a workaround for
# https://github.com/travis-ci/travis-ci/issues/8836
sudo: required
language: node_js
node_js:
# make sure we work with a range of node versions.
#
# 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
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0
- export PATH=$HOME/.yarn/bin:$PATH
install:
# clone the deps with depth 1: we know we will only ever need that one
# commit.
- scripts/fetch-develop.deps.sh --depth 1 && yarn install
script:
- CHROME_BIN='/usr/bin/google-chrome-stable' yarn test
- yarn lint

View File

@@ -1,3 +1,64 @@
Changes in [1.0.8](https://github.com/vector-im/riot-web/releases/tag/v1.0.8) (2019-04-16)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.7...v1.0.8)
* No changes in this release. This is the same code as v1.0.7 from our new clean-room
packaging and signing infrastructure.
Changes in [1.0.7](https://github.com/vector-im/riot-web/releases/tag/v1.0.7) (2019-04-08)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.6...v1.0.7)
* Hotfix: bump js-sdk to 1.0.4, see https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.4
Changes in [1.0.6](https://github.com/vector-im/riot-web/releases/tag/v1.0.6) (2019-04-01)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.6-rc.1...v1.0.6)
* Add "Save image as..." button to context menu on images
[\#9327](https://github.com/vector-im/riot-web/pull/9327)
Changes in [1.0.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.6-rc.1) (2019-03-27)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.5...v1.0.6-rc.1)
* Use `on_logged_in` action in tests
[\#9279](https://github.com/vector-im/riot-web/pull/9279)
* Convert away from `Promise.defer`
[\#9278](https://github.com/vector-im/riot-web/pull/9278)
* update react-sdk version in yarn lockfile
[\#9233](https://github.com/vector-im/riot-web/pull/9233)
* "Render simple counters in room header" details
[\#9154](https://github.com/vector-im/riot-web/pull/9154)
* Use medium agents for the more resource intensive builds
[\#9238](https://github.com/vector-im/riot-web/pull/9238)
* Add log grouping to buildkite
[\#9223](https://github.com/vector-im/riot-web/pull/9223)
* Switch to `git` protocol for CI dependencies
[\#9222](https://github.com/vector-im/riot-web/pull/9222)
* Support CI for matching branches on forks
[\#9212](https://github.com/vector-im/riot-web/pull/9212)
* Update from Weblate
[\#9199](https://github.com/vector-im/riot-web/pull/9199)
* Declare the officially supported browsers in the README
[\#9177](https://github.com/vector-im/riot-web/pull/9177)
* Document some desktop app things
[\#9011](https://github.com/vector-im/riot-web/pull/9011)
* Use Buildkite for CI
[\#9165](https://github.com/vector-im/riot-web/pull/9165)
* Update version number in issue templates
[\#9170](https://github.com/vector-im/riot-web/pull/9170)
* Remove node 8.x from the build matrix
[\#9159](https://github.com/vector-im/riot-web/pull/9159)
* Update Electron help menu link
[\#9157](https://github.com/vector-im/riot-web/pull/9157)
Changes in [1.0.5](https://github.com/vector-im/riot-web/releases/tag/v1.0.5) (2019-03-21)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.4...v1.0.5)
* Hotfix for [\#9205](https://github.com/vector-im/riot-web/issues/9205) disabling jump prevention for typing notifications, while we're reworking this functionally to enable it again soon.
Changes in [1.0.4](https://github.com/vector-im/riot-web/releases/tag/v1.0.4) (2019-03-18)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.4-rc.1...v1.0.4)

View File

@@ -3,6 +3,10 @@ Riot
Riot (formerly known as Vector) is a Matrix web client built using the [Matrix React SDK](https://github.com/matrix-org/matrix-react-sdk).
Riot is officially supported on the web in modern versions of Chrome, Firefox, and Safari. Other browsers may work, however
official support is not provided. For accessing Riot on an Android or iOS device, check out [riot-android](https://github.com/vector-im/riot-android)
and [riot-ios](https://github.com/vector-im/riot-ios) - riot-web does not support mobile devices.
Getting Started
===============
@@ -20,8 +24,8 @@ released version of Riot:
as desired. See below for details.
1. Enter the URL into your browser and log into Riot!
Releases are signed by PGP, and can be checked against the public key
at https://riot.im/packages/keys/riot.asc .
Releases are signed using gpg and the OpenPGP standard, and can be checked against the public key located
at https://packages.riot.im/riot-release-key.asc.
Note that Chrome does not allow microphone or webcam access for sites served
over http (except localhost), so for working VoIP you will need to serve Riot
@@ -30,11 +34,18 @@ over https.
### Desktop Installation for Debian Stretch
1. Add the repository to your sources.list using either of the following two options:
- Directly to sources.list: `echo "deb https://riot.im/packages/debian/ stretch main" | sudo tee -a /etc/apt/sources.list`
- As a separate entry in sources.list.d: `echo "deb https://riot.im/packages/debian/ stretch main" | sudo tee /etc/apt/sources.list.d/riot.list`
2. Add the gpg signing key for the riot repository: `curl -s https://riot.im/packages/debian/repo-key.asc | sudo apt-key add -`
3. Update your package lists: `sudo apt-get update`
4. Install Riot: `sudo apt-get install riot-web`
- Directly to sources.list:
`echo "deb https://packages.riot.im/debian/ stretch main" | sudo tee -a /etc/apt/sources.list`
- As a separate entry in sources.list.d:
`echo "deb https://packages.riot.im/debian/ stretch main" | sudo tee /etc/apt/sources.list.d/riot.list`
2. Download and add the gpg signing key used to authenticate the packages from the riot repository to your system's list of trusted keys:
`curl -s https://packages.riot.im/debian/riot-im-archive-keyring.asc | sudo apt-key add -`
- Optional: if you had the old Riot.im signing key in your apt keyring, delete it, as it is no longer considered trusted:
`sudo apt-key del 0x48E8F4A1`
3. Update your package lists:
`sudo apt update`
4. Install Riot:
`sudo apt install riot-web`
Important Security Note
=======================
@@ -137,6 +148,8 @@ For a good example, see https://riot.im/develop/config.json.
during authentication flows
1. `authHeaderLogoUrl`: An logo image that is shown in the header during
authentication flows
1. `authFooterLinks`: a list of links to show in the authentication page footer:
`[{"text": "Link text", "url": "https://link.target"}, {"text": "Other link", ...}]`
1. `integrations_ui_url`: URL to the web interface for the integrations server. The integrations
server is not Riot and normally not your homeserver either. The integration server settings
may be left blank to disable integrations.
@@ -232,7 +245,6 @@ All electron packages go into `electron_app/dist/`
Many thanks to @aviraldg for the initial work on the electron integration.
Other options for running as a desktop app:
* https://github.com/krisak/vector-electron-desktop
* @asdf:matrix.org points out that you can use nativefier and it just works(tm)
```bash
@@ -240,6 +252,26 @@ yarn global add nativefier
nativefier https://riot.im/app/
```
Desktop app configuration
=========================
To run multiple instances of the desktop app for different accounts, you can launch the executable with the `--profile` argument followed by a unique identifier, e.g `riot-web --profile Work` for it to run a separate profile and not interfere with the default one.
Alternatively, a custom location for the profile data can be specified using the `--profile-dir` flag followed by the desired path.
To change the config.json for the desktop app, create a config file which will be used to override values in the config which ships in the package:
+ `%APPDATA%\$NAME\config.json` on Windows
+ `$XDG_CONFIG_HOME\$NAME\config.json` or `~/.config/$NAME/config.json` on Linux
+ `~Library/Application Support/$NAME/config.json` on macOS
In the paths above, `$NAME` is typically `Riot`, unless you use `--profile $PROFILE` in which case it becomes `Riot-$PROFILE`.
Labs Features
=============
Some features of Riot may be enabled by flags in the `Labs` section of the settings.
Some of these features are described in [labs.md](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md).
Development
===========

32
docs/labs.md Normal file
View File

@@ -0,0 +1,32 @@
# riot-web Labs features
Some notes on the features you can enable by going to `Settings->Labs`. Not exhaustive, chat in
[#riot-web:matrix.org] for more information.
**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be
dropped. Ask in the room if you are unclear about any details here.**
## Render simple counters in room header
Allows rendering of labelled counters above the message list.
Once enabled, send a custom state event to a room to set values:
1. In a room, type `/devtools` to bring up the devtools interface
2. Click "Send Custom Event"
3. Toggle from "Event" to "State Event"
4. Set the event type to: `re.jki.counter` and give it a unique key
5. Specify the content in the following format:
```
{
"link": "",
"severity": "normal",
"title": "my counter",
"value": 0
}
```
That's it. Now should see your new counter under the header.
[#riot-web:matrix.org]: https://matrix.to/#/#riot-web:matrix.org

View File

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

View File

@@ -42,7 +42,9 @@ const Store = require('electron-store');
// migrating to mitigate any risk of it being used maliciously.
let migratingOrigin = false;
if (argv['profile']) {
if (argv['profile-dir']) {
app.setPath('userData', argv['profile-dir']);
} else if (argv['profile']) {
app.setPath('userData', `${app.getPath('userData')}-${argv['profile']}`);
}
@@ -139,7 +141,7 @@ ipcMain.on('ipcCall', async function(ev, payload) {
ret = autoUpdater.getFeedURL();
break;
case 'getAutoLaunchEnabled':
ret = launcher.isEnabled;
ret = await launcher.isEnabled();
break;
case 'setAutoLaunchEnabled':
if (args[0]) {

View File

@@ -57,8 +57,8 @@ const template = [
role: 'help',
submenu: [
{
label: 'riot.im',
click() { shell.openExternal('https://riot.im/'); },
label: 'Riot Help',
click() { shell.openExternal('https://about.riot.im/help'); },
},
],
},

View File

@@ -1,5 +1,7 @@
const {clipboard, nativeImage, Menu, MenuItem, shell} = require('electron');
const {clipboard, nativeImage, Menu, MenuItem, shell, dialog} = require('electron');
const url = require('url');
const fs = require('fs');
const request = require('request');
const MAILTO_PREFIX = "mailto:";
@@ -47,6 +49,7 @@ function onLinkContextMenu(ev, params) {
}));
}
let addSaveAs = false;
if (params.mediaType && params.mediaType === 'image' && !url.startsWith('file://')) {
popupMenu.append(new MenuItem({
label: 'Copy image',
@@ -58,6 +61,10 @@ function onLinkContextMenu(ev, params) {
}
},
}));
// We want the link to be ordered below the copy stuff, but don't want to duplicate
// the `if` statement, so use a flag.
addSaveAs = true;
}
// No point offering to copy a blob: URL either
@@ -79,6 +86,36 @@ function onLinkContextMenu(ev, params) {
}));
}
}
if (addSaveAs) {
popupMenu.append(new MenuItem({
label: 'Save image as...',
click() {
const targetFileName = params.titleText || "image.png";
const filePath = dialog.showSaveDialog({
defaultPath: targetFileName,
});
if (!filePath) return; // user cancelled dialog
try {
if (url.startsWith("data:")) {
fs.writeFileSync(filePath, nativeImage.createFromDataURL(url));
} else {
request.get(url).pipe(fs.createWriteStream(filePath));
}
} catch (err) {
console.error(err);
dialog.showMessageBox({
type: "error",
title: "Failed to save image",
message: "The image failed to save",
});
}
},
}));
}
// popup() requires an options object even for no options
popupMenu.popup({});
ev.preventDefault();

View File

@@ -138,10 +138,10 @@ module.exports = function (config) {
],
customLaunchers: {
'ChromeHeadless': {
'VectorChromeHeadless': {
base: 'Chrome',
flags: [
// '--no-sandbox',
'--no-sandbox',
// See https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md
'--headless',
'--disable-gpu',

View File

@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "1.0.4",
"version": "1.0.8",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -36,6 +36,9 @@
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail --mode production",
"build:bundle:dev": "webpack --progress --bail --mode development",
"build:electron": "yarn clean && yarn build && yarn install:electron && build -wml --ia32 --x64",
"build:electron:linux": "yarn build && build -l --x64",
"build:electron:macos": "yarn build && build -m --x64",
"build:electron:windows": "yarn build && build -w --ia32 --x64",
"build:react-sdk": "node scripts/yarn-sub.js matrix-react-sdk build",
"build:js-sdk": "node scripts/yarn-sub.js matrix-js-sdk start:init",
"build": "yarn build:js-sdk && yarn build:react-sdk && yarn reskindex && yarn build:res && yarn build:bundle",
@@ -56,7 +59,7 @@
"lintall": "eslint src/ test/",
"clean": "rimraf lib webapp electron_app/dist",
"prepare": "yarn clean && yarn build:compile",
"test": "karma start --single-run=true --autoWatch=false --browsers ChromeHeadless",
"test": "karma start --single-run=true --autoWatch=false --browsers VectorChromeHeadless",
"test-multi": "karma start"
},
"dependencies": {
@@ -70,10 +73,10 @@
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279",
"gfm.css": "^1.1.2",
"highlight.js": "^9.13.1",
"matrix-js-sdk": "1.0.2",
"matrix-react-sdk": "1.0.4",
"matrix-js-sdk": "1.0.4",
"matrix-react-sdk": "1.0.7",
"modernizr": "^3.6.0",
"olm": "https://matrix.org/packages/npm/olm/olm-3.1.0-pre1.tgz",
"olm": "https://packages.matrix.org/npm/olm/olm-3.1.0-pre3.tgz",
"prop-types": "^15.6.2",
"react": "^15.6.0",
"react-dom": "^15.6.0",
@@ -117,7 +120,7 @@
"html-webpack-plugin": "^3.2.0",
"json-loader": "^0.5.3",
"karma": "^3.1.2",
"karma-chrome-launcher": "^0.2.3",
"karma-chrome-launcher": "^2.2.0",
"karma-cli": "^1.0.1",
"karma-junit-reporter": "^2.0.0",
"karma-logcapture-reporter": "0.0.1",
@@ -127,7 +130,7 @@
"karma-summary-reporter": "^1.5.1",
"karma-webpack": "4.0.0-beta.0",
"loader-utils": "^1.2.3",
"matrix-mock-request": "^1.2.2",
"matrix-mock-request": "^1.2.3",
"matrix-react-test-utils": "^0.2.0",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
@@ -146,11 +149,11 @@
"source-map-loader": "^0.2.4",
"webpack": "^4.23.1",
"webpack-cli": "^3.1.2",
"webpack-dev-server": "^3.1.10"
"webpack-dev-server": "^3.1.11"
},
"build": {
"appId": "im.riot.app",
"electronVersion": "4.0.8",
"electronVersion": "4.1.3",
"files": [
"node_modules/**",
"src/**",

View File

@@ -166,7 +166,7 @@ if __name__ == "__main__":
)
)
parser.add_argument(
"--include", nargs='*', default='./config*.json', help=(
"--include", nargs='*', default=['./config*.json'], help=(
"Symlink these files into the root of the deployed tarball. \
Useful for config files and home pages. Supports glob syntax. \
(Default: '%(default)s')"

View File

@@ -6,7 +6,7 @@
# the branch the current checkout is on, use that branch. Otherwise,
# use develop.
set -e
set -ex
GIT_CLONE_ARGS=("$@")
[ -z "$defbranch" ] && defbranch="develop"
@@ -25,7 +25,7 @@ function clone() {
if [ -n "$branch" ]
then
echo "Trying to use $org/$repo#$branch"
git clone https://github.com/$org/$repo.git $repo --branch $branch \
git clone git://github.com/$org/$repo.git $repo --branch $branch \
"${GIT_CLONE_ARGS[@]}"
return $?
fi
@@ -33,27 +33,39 @@ function clone() {
}
function dodep() {
org=$1
repo=$2
rm -rf $repo
deforg=$1
defrepo=$2
rm -rf $defrepo
# Try the PR author's branch in case it exists on the deps as well.
# Try the target branch of the push or PR.
# Use the default branch as the last resort.
if [[ "$TRAVIS" == true ]]; then
clone $org $repo $TRAVIS_PULL_REQUEST_BRANCH ||
clone $org $repo $TRAVIS_BRANCH ||
clone $org $repo $defbranch ||
if [[ "$BUILDKITE" == true ]]; then
# If BUILDKITE_BRANCH is set, it will contain either:
# * "branch" when the author's branch and target branch are in the same repo
# * "author:branch" when the author's branch is in their fork
# We can split on `:` into an array to check.
BUILDKITE_BRANCH_ARRAY=(${BUILDKITE_BRANCH//:/ })
if [[ "${#BUILDKITE_BRANCH_ARRAY[@]}" == "2" ]]; then
prAuthor=${BUILDKITE_BRANCH_ARRAY[0]}
prBranch=${BUILDKITE_BRANCH_ARRAY[1]}
else
prAuthor=$deforg
prBranch=$BUILDKITE_BRANCH
fi
clone $prAuthor $defrepo $prBranch ||
clone $deforg $defrepo $BUILDKITE_PULL_REQUEST_BASE_BRANCH ||
clone $deforg $defrepo $defbranch ||
return $?
else
clone $org $repo $ghprbSourceBranch ||
clone $org $repo $GIT_BRANCH ||
clone $org $repo `git rev-parse --abbrev-ref HEAD` ||
clone $org $repo $defbranch ||
clone $deforg $defrepo $ghprbSourceBranch ||
clone $deforg $defrepo $GIT_BRANCH ||
clone $deforg $defrepo `git rev-parse --abbrev-ref HEAD` ||
clone $deforg $defrepo $defbranch ||
return $?
fi
echo "$repo set to branch "`git -C "$repo" rev-parse --abbrev-ref HEAD`
echo "$defrepo set to branch "`git -C "$defrepo" rev-parse --abbrev-ref HEAD`
}
##############################

View File

@@ -1,12 +1,6 @@
#!/bin/bash
set -e
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm use 10
set -x
set -ex
# check out corresponding branches of dependencies.
# clone the deps with depth 1: we know we will only ever need that one commit.
@@ -14,12 +8,6 @@ set -x
yarn install
# run the mocha tests
yarn test
# run eslint
yarn lintall -- -f checkstyle -o eslint.xml || true
rm dist/riot-*.tar.gz || true # rm previous artifacts without failing if it doesn't exist
# Since the deps are fetched from git, we can rev-parse

View File

@@ -18,6 +18,8 @@ limitations under the License.
'use strict';
const React = require('react');
import SdkConfig from 'matrix-react-sdk/lib/SdkConfig';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
module.exports = React.createClass({
@@ -27,11 +29,29 @@ module.exports = React.createClass({
},
render: function() {
const brandingConfig = SdkConfig.get().branding;
let links = [
{"text": "blog", "url": "https://medium.com/@RiotChat"},
{"text": "twitter", "url": "https://twitter.com/@RiotChat"},
{"text": "github", "url": "https://github.com/vector-im/riot-web"},
];
if (brandingConfig && brandingConfig.authFooterLinks) {
links = brandingConfig.authFooterLinks;
}
const authFooterLinks = [];
for (const linkEntry of links) {
authFooterLinks.push(
<a href={linkEntry.url} key={linkEntry.text} target="_blank" rel="noopener">
{linkEntry.text}
</a>,
);
}
return (
<div className="mx_AuthFooter">
<a href="https://medium.com/@RiotChat" target="_blank" rel="noopener">blog</a>
<a href="https://twitter.com/@RiotChat" target="_blank" rel="noopener">twitter</a>
<a href="https://github.com/vector-im/riot-web" target="_blank" rel="noopener">github</a>
{authFooterLinks}
<a href="https://matrix.org" target="_blank" rel="noopener">{ _t('powered by Matrix') }</a>
</div>
);

View File

@@ -35,5 +35,12 @@
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop chat",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"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.": "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.",
"Co-ordination for Riot translators": "Co-ordination for Riot translators"
"Co-ordination for Riot translators": "Co-ordination for Riot translators",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.",
"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.": "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.",
"Sign In": "Sign In",
"Create Account": "Create Account",
"Need help?": "Need help?",
"Explore rooms": "Explore rooms",
"Room Directory": "Room Directory"
}

View File

@@ -1,14 +1,14 @@
{
"Dismiss": "Rezigni",
"powered by Matrix": "funkciigata de Matrix",
"powered by Matrix": "povigita per Matrix",
"Custom Server Options": "Propraj servilaj elektoj",
"Riot Desktop on %(platformName)s": "Riot Labortablo sur %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "Riot ne estas subtenata sur poŝkomputila reto. Ĉu instali la aplikaĵon?",
"Unknown device": "Nekonata aparato",
"You need to be using HTTPS to place a screen-sharing call.": "Vi devas uzi HTTPS por ekranvidadi.",
"Welcome to Riot.im": "Bonvenu al Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Malcentra, ĉifrita babilado &amp; kunlaboro povigita de [matrix]",
"Search the room directory": "Serĉi en la babilejo-listo",
"Welcome to Riot.im": "Bonvenon al Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Malcentra, ĉifrita babilado &amp; kunlaboro povigita per [matrix]",
"Search the room directory": "Serĉi en la ĉambra dosierujo",
"Chat with Riot Bot": "Babilu kun la roboto Riot Bot",
"Get started with some tips from Riot Bot!": "Komencu kun kelkaj sugestoj de la roboto Riot Bot!",
"General discussion about Matrix and Riot": "Ĝenerala diskutado pri Matrix kaj Riot",
@@ -35,5 +35,11 @@
"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.",
"Co-ordination for Riot translators": "Kunordigo por tradukantoj de Riot"
"Co-ordination for Riot translators": "Kunordigo por tradukantoj de Riot",
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Vi povas ankaŭ agordi propran identigan servilon, sed vi ne eblos inviti uzantojn per retpoŝtadresoj, nek eblos esti invitita per retpoŝtadreso.",
"Sign In": "Saluti",
"Create Account": "Krei konton",
"Need help?": "Ĉu vi bezonas helpon?",
"Explore rooms": "Esplori ĉambrojn",
"Room Directory": "Ĉambra dosierujo"
}

View File

@@ -1,13 +1,13 @@
{
"Dismiss": "Hylkää",
"Unknown device": "Tuntematon laite",
"Welcome to Riot.im": "Tervetuloa Riot.im -palveluun",
"Search the room directory": "Hae hakemistosta",
"Welcome to Riot.im": "Tervetuloa Riot.im-palveluun",
"Search the room directory": "Hae luettelosta",
"Custom Server Options": "Palvelinasetukset",
"Riot Desktop on %(platformName)s": "Riot Desktop %(platformName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS -yhteyttä, jotta voit jakaa ruudun.",
"Riot Desktop on %(platformName)s": "Riot Desktop, %(platformName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS-yhteyttä, jotta voit jakaa ruudun puhelussa.",
"Chat with Riot Bot": "Keskustele Riot-botin kanssa",
"Get started with some tips from Riot Bot!": "Aloita Riot Botin vinkkien avulla!",
"Get started with some tips from Riot Bot!": "Aloita Riot-botin vinkkien avulla!",
"General discussion about Matrix and Riot": "Matrix- ja Riot keskustelut",
"Discussion of all things Matrix!": "Keskustelu kaikesta Matrixiin liittyvästä!",
"Riot/Web &amp; Desktop chat": "Riot/Web & Työpöytä-keskustelu",
@@ -32,14 +32,14 @@
"Riot is not supported on mobile web. Install the app?": "Riot ei tue laitettasi. Asenna mobiilisovellus?",
"Design and implementation of E2E in Matrix": "Matrix päästä-päähän salauksen suunnittelu ja implementointi",
"Contributing code to Matrix and Riot": "Osallistu kehitystyöhön",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s %(browserName)s %(osName)s",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Salattua ja vikasietoista viestintää Matrix -teknologialla",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s, %(browserName)s, %(osName)s",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Hajautettua ja salattua viestintää Matrix-teknologialla",
"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.": "Voit käyttää edistyksellisiä asetuksia kirjautuaksesi muille Matrix palvelimille, määrittelemällä kotipalvelimen URL-osoitteen.<br/>Tämän avulla voit käyttää Riot:ia olemassa olevalla toisen Matrix palvelimen käyttäjätilillä.<br/><br/>Voit myös asettaa valinnaisen identiteettipalvelimen, mutta et voi kutsua käyttäjiä sähköpostiosoitteella tai tulla kutsutuksi.",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Voit käyttää mukautettuja palvelinasetuksia kirjautuaksesi muihin Matrix-palvelimiin. Tämä mahdollistaa Riotin käyttämisen toisella palvelimella olevalla Matrix-tunnuksella.",
"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.": "Voit myös määrittää toisen identiteettipalvelimen, mutta et voi kutsua muita käyttäjiä sähköpostin perusteella, eivätkä se voi kutsua sinua.",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Voit käyttää mukautettuja palvelinasetuksia kirjautuaksesi muihin Matrix-palvelimiin. Tämä mahdollistaa Riotin käyttämisen toisella kotipalvelimella olevalla Matrix-tilillä.",
"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.": "Voit myös määrittää toisen identiteettipalvelimen, mutta et voi kutsua muita käyttäjiä sähköpostin perusteella tai saada itse kutsua sähköpostin perusteella.",
"Sign In": "Kirjaudu sisään",
"Create Account": "Luo tunnus",
"Create Account": "Luo tili",
"Need help?": "Tarvitsetko apua?",
"Explore rooms": "Etsi huoneita",
"Room Directory": "Huonehakemisto"
"Room Directory": "Huoneluettelo"
}

21
src/i18n/strings/ga.json Normal file
View File

@@ -0,0 +1,21 @@
{
"Riot Desktop on %(platformName)s": "Leagan gnáthríomhaire Riot ar %(platformName)s",
"Unknown device": "Gléas nár aithníodh",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s trí %(browserName)s ar %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Ní mór HTTPS a úsáid chun glaoch comhroinnt scáileáin a chur.",
"powered by Matrix": "cumhachtaithe ag Matrix",
"Custom Server Options": "Socruithe do fhreastalaí saincheaptha",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Is féidir na socruithe do fhreastalaí saincheaptha a úsáid chun síniú isteach le freastalaithe Matrix eile ach URL freastalaí ar leith a shainiú. Cuirfidh sé seo ar do chumas Riot a úsáid le cuntas Matrix atá ar taifead ag an bhfreastalaí eile sin.",
"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.": "Freisin is féidir freastalaí aitheantais saincheaptha a úsáid, ach sa chás sin ní bheidh tú in ann cuireadh a thabhairt do dhaoine trí sheoladh ríomhphoist a sholáthar, ná glacadh le cuireadh trí ríomhphoist ach an oiread.",
"Dismiss": "Cuir uait",
"Welcome to Riot.im": "Fáilte romhat chuig Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Meán comhrá agus comhoibriú, díláraithe agus criptithe, cumhachtaithe ag [matrix]",
"Sign In": "Sínigh Isteach",
"Create Account": "Déan cuntas a chruthú",
"Need help?": "An bhfuil cabhair uait?",
"Chat with Riot Bot": "Labhair le Riot Bot",
"Explore rooms": "Breathnaigh thart ar na seomraí",
"Room Directory": "Eolaire na Seomraí",
"Search the room directory": "Cuardaigh eolaire na seomraí",
"Get started with some tips from Riot Bot!": "Tosaigh le roinnt nod ó Riot Bot!"
}

View File

@@ -6,7 +6,7 @@
"Riot is not supported on mobile web. Install the app?": "Riot non è supportato sul web mobile. Installare l'applicazione?",
"Unknown device": "Dispositivo sconosciuto",
"You need to be using HTTPS to place a screen-sharing call.": "Devi usare HTTPS per effettuare una chiamata con la condivisione dello schermo.",
"Welcome to Riot.im": "Benvenuto/a su Riot.im",
"Welcome to Riot.im": "Benvenuti su Riot.im",
"Search the room directory": "Cerca nella lista delle stanze",
"Chat with Riot Bot": "Chatta con Riot Bot",
"Get started with some tips from Riot Bot!": "Inizia con alcuni consigli di Riot Bot!",
@@ -35,5 +35,12 @@
"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 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"
"Co-ordination for Riot translators": "Coordinazione per i traduttori di Riot",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Puoi usare le opzioni di server personalizzato per accedere ad altri server Matrix specificando un URL homeserver diverso. Ciò ti permette di usare Riot con un account Matrix esistente su un homeserver differente.",
"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 anche impostare un server di identità personalizzato, ma non sarai in grado di invitare utenti via email o di essere invitato via email.",
"Sign In": "Accedi",
"Create Account": "Crea account",
"Need help?": "Serve aiuto?",
"Explore rooms": "Esplora stanze",
"Room Directory": "Elenco stanze"
}

View File

@@ -7,9 +7,9 @@
"Unknown device": "Onbekend apparaat",
"You need to be using HTTPS to place a screen-sharing call.": "U moet HTTPS gebruiken om een oproep met schermdelen te kunnen starten.",
"Welcome to Riot.im": "Welkom bij Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Gedecentaliseerd en versleuteld chatten &amp; samenwerken mogelijk gemaakt door [matrix]",
"Search the room directory": "De kamerlijst doorzoeken",
"Chat with Riot Bot": "Met Riot Bot chatten",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Gedecentraliseerd en versleuteld chatten &amp; samenwerken mogelijk gemaakt door [matrix]",
"Search the room directory": "De gesprekscatalogus doorzoeken",
"Chat with Riot Bot": "Chatten met Riot-robot",
"Get started with some tips from Riot Bot!": "Begin met enkele tips van Riot Bot!",
"General discussion about Matrix and Riot": "Algemene discussie over Matrix en Riot",
"Discussion of all things Matrix!": "Discussie over alles wat met Matrix te maken heeft!",
@@ -35,5 +35,12 @@
"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 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"
"Co-ordination for Riot translators": "Coördinatie voor Riot vertalers",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "U kunt de aangepaste serverinstellingen gebruiken om u aan te melden bij andere Matrix-servers, door een andere thuisserver-URL in te voeren. Dit laat u toe Riot te gebruiken met een bestaande Matrix-account bij een andere thuisserver.",
"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.": "U kunt ook een aangepaste identiteitsserver instellen, maar u zult geen gebruikers kunnen uitnodigen via e-mail, of zelf via e-mail uitgenodigd worden.",
"Sign In": "Aanmelden",
"Create Account": "Account aanmaken",
"Need help?": "Hulp nodig?",
"Explore rooms": "Kamers ontdekken",
"Room Directory": "Gesprekscatalogus"
}

View File

@@ -35,5 +35,12 @@
"Co-ordination for Riot translators": "Coordonare pentru translatorii Riot",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s pe %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Trebuie să folosești HTTPS pentru a plasa un apel de tip screen-sharing.",
"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.": "Poți folosi opțiunile server personalizate pentru a te conecta la alte servere Matrix prin specificarea unui URL de tip Home server diferit.<br/>Acestă opțiune îți permite să utilizezi Riot cu un cont existent pe un home server diferit.<br/><br/>Poți folosi și un server de identitate personalizat, dar nu vei putea invita alți utilizatori prin adresa de email sau să fii tu însuți invitat prim email."
"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.": "Poți folosi opțiunile server personalizate pentru a te conecta la alte servere Matrix prin specificarea unui URL de tip Home server diferit.<br/>Acestă opțiune îți permite să utilizezi Riot cu un cont existent pe un home server diferit.<br/><br/>Poți folosi și un server de identitate personalizat, dar nu vei putea invita alți utilizatori prin adresa de email sau să fii tu însuți invitat prim email.",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Puteți utiliza opțiunile personalizate ale serverului pentru a vă conecta la alte servere Matrix specificând o adresă URL diferită pentru homeserver. Acest lucru vă permite să utilizați Riot cu un cont Matrix existent pe un alt server de domiciliu.",
"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.": "De asemenea, puteți seta un server de identitate personalizat, dar nu veți putea să invitați utilizatorii pe adresa de e-mail sau să vă invitați personal pe adresa de e-mail.",
"Sign In": "Autentificare",
"Create Account": "Înregistare",
"Need help?": "Ai nevoie de ajutor?",
"Explore rooms": "Explorează camerele",
"Room Directory": "Lista de camere"
}

View File

@@ -35,5 +35,12 @@
"Contributing code to Matrix and Riot": "Prispievanie kódu projektom Matrix a Riot",
"Dev chat for the Riot/Web dev team": "Diskusia pre tím vývojárov Riot/Web",
"Dev chat for the Dendrite dev team": "Diskusia pre tím vývojárov Dendrite",
"Co-ordination for Riot translators": "Koordinácia prekladov Riot"
"Co-ordination for Riot translators": "Koordinácia prekladov Riot",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Môžete použiť vlastné možnosti servera na prihlásenie sa k ďalším serverom Matrix zadaním URL adresy domovského servera. Toto vám umožní použiť Riot na prihlásenie sa k existujúcemu Matrix účtu na inom domovskom servery.",
"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.": "Môžete tiež nastaviť vlastnú URL adresu servera totožností, potom ale nebudete môcť pozývať používateľov zadaním ich emailovej adresy a telefónneho čísla a ani ostatní nebudú môcť pozvať vás zadaním vašej emailovej adresy a telefónneho čísla.",
"Sign In": "Prihlásiť sa",
"Create Account": "Vytvoriť účet",
"Need help?": "Potrebujete pomoc?",
"Explore rooms": "Preskúmať miestnosti",
"Room Directory": "Adresár miestností"
}

1
src/i18n/strings/sl.json Normal file
View File

@@ -0,0 +1 @@
{}

View File

@@ -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]": "Fjalosje &amp; bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Fjalosje &amp; bashkëpunim decentralizuar, 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",

View File

@@ -272,7 +272,7 @@ async function loadApp() {
const isIos = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
const isAndroid = /Android/.test(navigator.userAgent);
if (isIos || isAndroid) {
if (!document.cookie.split(';').some((c) => c.startsWith('mobile_redirect_to_guide'))) {
if (document.cookie.indexOf("riot_mobile_redirect_to_guide=false") === -1) {
window.location = "mobile_guide/";
return;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,8 @@
import {getVectorConfig} from '../getconfig';
function onBackToRiotClick() {
document.cookie = 'mobile_redirect_to_guide=false;path=/';
// Cookie should expire in 4 hours
document.cookie = 'riot_mobile_redirect_to_guide=false;path=/;max-age=14400';
window.location.href = '../';
}

View File

@@ -123,9 +123,6 @@ describe('loading:', function() {
toString: function() { return this.search + this.hash; },
};
const tokenLoginCompleteDefer = Promise.defer();
tokenLoginCompletePromise = tokenLoginCompleteDefer.promise;
function onNewScreen(screen) {
console.log(Date.now() + " newscreen "+screen);
const hash = '#/' + screen;
@@ -157,18 +154,21 @@ describe('loading:', function() {
PlatformPeg.set(new WebPlatform());
const params = parseQs(windowLocation);
matrixChat = ReactDOM.render(
<MatrixChat
onNewScreen={onNewScreen}
config={config}
realQueryParams={params}
startingFragmentQueryParams={fragParts.params}
enableGuest={true}
onTokenLoginCompleted={() => tokenLoginCompleteDefer.resolve()}
initialScreenAfterLogin={getScreenFromLocation(windowLocation)}
makeRegistrationUrl={() => {throw new Error('Not implemented');}}
/>, parentDiv,
);
tokenLoginCompletePromise = new Promise(resolve => {
matrixChat = ReactDOM.render(
<MatrixChat
onNewScreen={onNewScreen}
config={config}
realQueryParams={params}
startingFragmentQueryParams={fragParts.params}
enableGuest={true}
onTokenLoginCompleted={resolve}
initialScreenAfterLogin={getScreenFromLocation(windowLocation)}
makeRegistrationUrl={() => {throw new Error('Not implemented');}}
/>, parentDiv,
);
});
}
// set an expectation that we will get a call to /sync, then flush
@@ -293,12 +293,19 @@ describe('loading:', function() {
});
describe("MatrixClient rehydrated from stored credentials:", function() {
beforeEach(function() {
beforeEach(async function() {
localStorage.setItem("mx_hs_url", "http://localhost" );
localStorage.setItem("mx_is_url", "http://localhost" );
localStorage.setItem("mx_access_token", "access_token");
localStorage.setItem("mx_user_id", "@me:localhost");
localStorage.setItem("mx_last_room_id", "!last_room:id");
// Create a crypto store as well to satisfy storage consistency checks
const cryptoStore = new jssdk.IndexedDBCryptoStore(
indexedDB,
"matrix-js-sdk:crypto",
);
await cryptoStore._connect();
});
it('shows the last known room by default', function() {
@@ -307,8 +314,8 @@ describe('loading:', function() {
loadApp();
return awaitSyncingSpinner(matrixChat).then(() => {
// we got a sync spinner - let the sync complete
return awaitLoggedIn(matrixChat).then(() => {
// we are logged in - let the sync complete
return expectAndAwaitSync();
}).then(() => {
// once the sync completes, we should have a room view
@@ -327,8 +334,8 @@ describe('loading:', function() {
loadApp();
return awaitSyncingSpinner(matrixChat).then(() => {
// we got a sync spinner - let the sync complete
return awaitLoggedIn(matrixChat).then(() => {
// we are logged in - let the sync complete
return expectAndAwaitSync();
}).then(() => {
// once the sync completes, we should have a home page
@@ -347,8 +354,8 @@ describe('loading:', function() {
uriFragment: "#/room/!room:id",
});
return awaitSyncingSpinner(matrixChat).then(() => {
// we got a sync spinner - let the sync complete
return awaitLoggedIn(matrixChat).then(() => {
// we are logged in - let the sync complete
return expectAndAwaitSync();
}).then(() => {
// once the sync completes, we should have a room view
@@ -417,9 +424,9 @@ describe('loading:', function() {
return httpBackend.flush();
}).then(() => {
return awaitSyncingSpinner(matrixChat);
return awaitLoggedIn(matrixChat);
}).then(() => {
// we got a sync spinner - let the sync complete
// we are logged in - let the sync complete
return expectAndAwaitSync({isGuest: true});
}).then(() => {
// once the sync completes, we should have a welcome page
@@ -448,7 +455,7 @@ describe('loading:', function() {
return httpBackend.flush();
}).then(() => {
return awaitSyncingSpinner(matrixChat);
return awaitLoggedIn(matrixChat);
}).then(() => {
return expectAndAwaitSync({isGuest: true});
}).then((req) => {
@@ -482,7 +489,7 @@ describe('loading:', function() {
return httpBackend.flush();
}).then(() => {
return awaitSyncingSpinner(matrixChat);
return awaitLoggedIn(matrixChat);
}).then(() => {
return expectAndAwaitSync({isGuest: true});
}).then(() => {
@@ -507,7 +514,7 @@ describe('loading:', function() {
});
return httpBackend.flush().then(() => {
return awaitSyncingSpinner(matrixChat);
return awaitLoggedIn(matrixChat);
}).then(() => {
// we got a sync spinner - let the sync complete
return expectAndAwaitSync();
@@ -654,44 +661,22 @@ function assertAtLoadingSpinner(matrixChat) {
expect(domComponent.children.length).toEqual(1);
}
// we've got login creds, and are waiting for the sync to finish.
// the page includes a logout link.
function awaitSyncingSpinner(matrixChat, retryLimit, retryCount) {
if (retryLimit === undefined) {
retryLimit = 10;
function awaitLoggedIn(matrixChat) {
if (matrixChat.state.view === VIEWS.LOGGED_IN) {
return Promise.resolve();
}
if (retryCount === undefined) {
retryCount = 0;
}
if (matrixChat.state.view === VIEWS.LOADING ||
matrixChat.state.view === VIEWS.LOGGING_IN) {
console.log(Date.now() + " Awaiting sync spinner: still loading.");
if (retryCount >= retryLimit) {
throw new Error("MatrixChat still not loaded after " +
retryCount + " tries");
}
// loading can take quite a long time, because we delete the
// indexedDB store.
return Promise.delay(5).then(() => {
return awaitSyncingSpinner(matrixChat, retryLimit, retryCount + 1);
});
}
console.log(Date.now() + " Awaiting sync spinner: load complete.");
return Promise.resolve();
}
function assertAtSyncingSpinner(matrixChat) {
const domComponent = ReactDOM.findDOMNode(matrixChat);
expect(domComponent.className).toEqual("mx_MatrixChat_splash");
ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('elements.Spinner'));
const logoutLink = ReactTestUtils.findRenderedDOMComponentWithTag(
matrixChat, 'a');
expect(logoutLink.text).toEqual("Logout");
return new Promise(resolve => {
const onAction = ({ action }) => {
if (action !== "on_logged_in") {
return;
}
console.log(Date.now() + ": Received on_logged_in action");
dis.unregister(dispatcherRef);
resolve();
};
const dispatcherRef = dis.register(onAction);
console.log(Date.now() + ": Waiting for on_logged_in action");
});
}
function awaitRoomView(matrixChat, retryLimit, retryCount) {

210
yarn.lock
View File

@@ -2731,7 +2731,7 @@ debug@^4.0.1:
dependencies:
ms "^2.1.1"
debug@^4.1.1:
debug@^4.1.0, debug@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
@@ -2775,12 +2775,12 @@ deep-is@~0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
default-gateway@^2.6.0:
version "2.7.2"
resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f"
integrity sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==
default-gateway@^4.0.1:
version "4.2.0"
resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b"
integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==
dependencies:
execa "^0.10.0"
execa "^1.0.0"
ip-regex "^2.1.0"
define-properties@^1.1.2, define-properties@~1.1.2:
@@ -2877,7 +2877,7 @@ detect-libc@^1.0.2:
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
detect-node@^2.0.3:
detect-node@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==
@@ -3491,19 +3491,6 @@ except@^0.1.3:
dependencies:
indexof "0.0.1"
execa@^0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50"
integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==
dependencies:
cross-spawn "^6.0.0"
get-stream "^3.0.0"
is-stream "^1.1.0"
npm-run-path "^2.0.0"
p-finally "^1.0.0"
signal-exit "^3.0.0"
strip-eof "^1.0.0"
execa@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
@@ -4105,7 +4092,6 @@ gauge@~2.7.3:
"gemini-scrollbar@github:matrix-org/gemini-scrollbar#b302279", gemini-scrollbar@matrix-org/gemini-scrollbar#b302279:
version "1.4.3"
uid b302279810d05319ac5ff1bd34910bff32325c7b
resolved "https://codeload.github.com/matrix-org/gemini-scrollbar/tar.gz/b302279810d05319ac5ff1bd34910bff32325c7b"
get-caller-file@^1.0.1:
@@ -4291,10 +4277,10 @@ growl@1.10.5:
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
handle-thing@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"
integrity sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=
handle-thing@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754"
integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==
har-schema@^2.0.0:
version "2.0.0"
@@ -4539,17 +4525,17 @@ http-parser-js@>=0.4.0:
resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8"
integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==
http-proxy-middleware@~0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab"
integrity sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==
http-proxy-middleware@^0.19.1:
version "0.19.1"
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==
dependencies:
http-proxy "^1.16.2"
http-proxy "^1.17.0"
is-glob "^4.0.0"
lodash "^4.17.5"
micromatch "^3.1.9"
lodash "^4.17.11"
micromatch "^3.1.10"
http-proxy@^1.13.0, http-proxy@^1.16.2:
http-proxy@^1.13.0, http-proxy@^1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a"
integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==
@@ -4716,13 +4702,13 @@ inquirer@^6.1.0:
strip-ansi "^4.0.0"
through "^2.3.6"
internal-ip@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27"
integrity sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==
internal-ip@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.2.0.tgz#46e81b638d84c338e5c67e42b1a17db67d0814fa"
integrity sha512-ZY8Rk+hlvFeuMmG5uH1MXhhdeMntmIaxaInvAmzMq/SHV8rv4Kh+6GiQNNDQd0wZFrcO+FiTBo8lui/osKOyJw==
dependencies:
default-gateway "^2.6.0"
ipaddr.js "^1.5.2"
default-gateway "^4.0.1"
ipaddr.js "^1.9.0"
interpret@^1.1.0:
version "1.1.0"
@@ -4756,11 +4742,16 @@ ip@^1.1.0, ip@^1.1.5:
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
ipaddr.js@1.8.0, ipaddr.js@^1.5.2:
ipaddr.js@1.8.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"
integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4=
ipaddr.js@^1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65"
integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
@@ -5199,7 +5190,7 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
"jquery@>= 1.4.3", jquery@^3.3.1:
jquery@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca"
integrity sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==
@@ -5345,10 +5336,10 @@ jsx-ast-utils@^2.0.1:
dependencies:
array-includes "^3.0.3"
karma-chrome-launcher@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-0.2.3.tgz#4c6d700d163a9d34c618efd87918be49e7a4a8c9"
integrity sha1-TG1wDRY6nTTGGO/YeRi+SeekqMk=
karma-chrome-launcher@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz#cf1b9d07136cc18fe239327d24654c3dbc368acf"
integrity sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==
dependencies:
fs-access "^1.0.0"
which "^1.2.1"
@@ -5741,10 +5732,10 @@ math-random@^1.0.1:
resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac"
integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w=
matrix-js-sdk@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-1.0.1.tgz#783efc501e2521997869cfe8e719134d9e10a45c"
integrity sha512-+ErnXHfkxOoRHUYbY/R+2ZHvPKdPCx/eoYjb2Oy7L9pBqCNllI0WRVsro6oqRJQs0krVP8blyIjWOJynWSw96g==
matrix-js-sdk@1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-1.0.4.tgz#dbfa8399f750a23b020c1ec8f037a2f5c36d4672"
integrity sha512-FPx7U1a0SmLbDXhXlR4XHlC+FVKTnK2/+ZBtyOWGLi3nxw4x8hCSSzJ82gzStya1qvhHvbf/y7eblYFVE1l7SQ==
dependencies:
another-json "^0.2.0"
babel-runtime "^6.26.0"
@@ -5758,18 +5749,18 @@ matrix-js-sdk@1.0.1:
request "^2.88.0"
unhomoglyph "^1.0.2"
matrix-mock-request@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-1.2.2.tgz#2710bec0e009bb1562d92cdd7f0b77d5946b2ebd"
integrity sha512-9u86m6rOsKekNkqUUkStWXNULrY9G+9ibwolfrmgqTmgR76EGCr9fovM+JPWn4U+TbrewvHMALpPw8OxRg0ExA==
matrix-mock-request@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-1.2.3.tgz#56b15d86e2601a9b48a854844396d18caab649c8"
integrity sha512-Tr7LDHweTW8Ql4C8XhGQFGMzuh+HmPjOcQqrHH1qfSesq0cwdPWanvdnllNjeHoAMcZ43HpMFMzFZfNW1/6HYg==
dependencies:
bluebird "^3.5.0"
expect "^1.20.2"
matrix-react-sdk@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.0.3.tgz#e2d027a68e47461abcad779219b028eee9399a53"
integrity sha512-Igc9ChLpRbN0E/bwA3HMhiYo2c21RA7dQ+eoZ9XEN6vh87ZJz0rUidqmAdvgZQycxW1lZWQ8Aj7/kefHeRswDA==
matrix-react-sdk@1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.0.7.tgz#4dc6db50f9bf3c6dd5c1fdea8fa3d4eec2e58125"
integrity sha512-sJpu87itcAbMFaWeLEfpfNbQ4uJ+MIvmHw6RfbgHvBw4VtFAOgg/SypIoMjEEzk1KCgAUSV9k0CodwKsXHo0Jw==
dependencies:
babel-plugin-syntax-dynamic-import "^6.18.0"
babel-runtime "^6.26.0"
@@ -5795,11 +5786,12 @@ matrix-react-sdk@1.0.3:
linkifyjs "^2.1.6"
lodash "^4.13.1"
lolex "2.3.2"
matrix-js-sdk "1.0.1"
matrix-js-sdk "1.0.4"
optimist "^0.6.1"
pako "^1.0.5"
prop-types "^15.5.8"
qrcode-react "^0.1.16"
qs "^6.6.0"
querystring "^0.2.0"
react "^15.6.0"
react-addons-css-transition-group "15.3.2"
@@ -5814,7 +5806,7 @@ matrix-react-sdk@1.0.3:
slate-react "^0.18.10"
text-encoding-utf-8 "^1.0.1"
url "^0.11.0"
velocity-vector "github:vector-im/velocity#059e3b2"
velocity-animate "^1.5.2"
whatwg-fetch "^1.1.1"
zxcvbn "^4.4.2"
@@ -5864,7 +5856,7 @@ memoize-one@^4.0.0:
resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.0.3.tgz#cdfdd942853f1a1b4c71c5336b8c49da0bf0273c"
integrity sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==
memory-fs@^0.4.0, memory-fs@~0.4.1:
memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
@@ -5901,7 +5893,7 @@ micromatch@^2.1.5:
parse-glob "^3.0.4"
regex-cache "^0.4.2"
micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9:
micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
@@ -6386,14 +6378,14 @@ object.pick@^1.3.0:
dependencies:
isobject "^3.0.1"
obuf@^1.0.0, obuf@^1.1.1:
obuf@^1.0.0, obuf@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
"olm@https://matrix.org/packages/npm/olm/olm-3.1.0-pre1.tgz":
version "3.1.0-pre1"
resolved "https://matrix.org/packages/npm/olm/olm-3.1.0-pre1.tgz#54f14fa901ff5c81db516b3b2adb294b91726eaa"
"olm@https://packages.matrix.org/npm/olm/olm-3.1.0-pre3.tgz":
version "3.1.0-pre3"
resolved "https://packages.matrix.org/npm/olm/olm-3.1.0-pre3.tgz#525aa8191b4b6fcb07a3aa6815687780b99be411"
on-finished@~2.3.0:
version "2.3.0"
@@ -7122,6 +7114,11 @@ qs@6.5.2, qs@^6.5.2, qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
qs@^6.6.0:
version "6.6.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.6.0.tgz#a99c0f69a8d26bf7ef012f871cdabb0aee4424c2"
integrity sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -7374,7 +7371,7 @@ read-pkg@^4.0.1:
parse-json "^4.0.0"
pify "^3.0.0"
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6:
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
@@ -8228,30 +8225,28 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f"
integrity sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==
spdy-transport@^2.0.18:
version "2.1.0"
resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz#4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1"
integrity sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==
spdy-transport@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==
dependencies:
debug "^2.6.8"
detect-node "^2.0.3"
debug "^4.1.0"
detect-node "^2.0.4"
hpack.js "^2.1.6"
obuf "^1.1.1"
readable-stream "^2.2.9"
safe-buffer "^5.0.1"
wbuf "^1.7.2"
obuf "^1.1.2"
readable-stream "^3.0.6"
wbuf "^1.7.3"
spdy@^3.4.1:
version "3.4.7"
resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc"
integrity sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=
spdy@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52"
integrity sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==
dependencies:
debug "^2.6.8"
handle-thing "^1.2.5"
debug "^4.1.0"
handle-thing "^2.0.0"
http-deceiver "^1.2.7"
safe-buffer "^5.0.1"
select-hose "^2.0.0"
spdy-transport "^2.0.18"
spdy-transport "^3.0.0"
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
@@ -8475,7 +8470,7 @@ supports-color@^4.5.0:
dependencies:
has-flag "^2.0.0"
supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0:
supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
@@ -9000,11 +8995,10 @@ vary@~1.1.2:
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
"velocity-vector@github:vector-im/velocity#059e3b2":
version "1.2.3"
resolved "https://codeload.github.com/vector-im/velocity/tar.gz/059e3b2348f1110888d033974d3109fd5a3af00f"
dependencies:
jquery ">= 1.4.3"
velocity-animate@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.2.tgz#5a351d75fca2a92756f5c3867548b873f6c32105"
integrity sha512-m6EXlCAMetKztO1ppBhGU1/1MR3IiEevO6ESq6rcrSQ3Q77xYSW13jkfXW88o4xMrkXJhy/U7j4wFR/twMB0Eg==
verror@1.10.0:
version "1.10.0"
@@ -9036,7 +9030,7 @@ watchpack@^1.5.0:
graceful-fs "^4.1.2"
neo-async "^2.5.0"
wbuf@^1.1.0, wbuf@^1.7.2:
wbuf@^1.1.0, wbuf@^1.7.3:
version "1.7.3"
resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==
@@ -9059,7 +9053,7 @@ webpack-cli@^3.1.2:
v8-compile-cache "^2.0.2"
yargs "^12.0.2"
webpack-dev-middleware@3.4.0, webpack-dev-middleware@^3.0.1:
webpack-dev-middleware@^3.0.1:
version "3.4.0"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz#1132fecc9026fd90f0ecedac5cbff75d1fb45890"
integrity sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==
@@ -9069,23 +9063,33 @@ webpack-dev-middleware@3.4.0, webpack-dev-middleware@^3.0.1:
range-parser "^1.0.3"
webpack-log "^2.0.0"
webpack-dev-server@^3.1.10:
version "3.1.10"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.10.tgz#507411bee727ee8d2fdffdc621b66a64ab3dea2b"
integrity sha512-RqOAVjfqZJtQcB0LmrzJ5y4Jp78lv9CK0MZ1YJDTaTmedMZ9PU9FLMQNrMCfVu8hHzaVLVOJKBlGEHMN10z+ww==
webpack-dev-middleware@^3.5.1:
version "3.6.1"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.6.1.tgz#91f2531218a633a99189f7de36045a331a4b9cd4"
integrity sha512-XQmemun8QJexMEvNFbD2BIg4eSKrmSIMrTfnl2nql2Sc6OGAYFyb8rwuYrCjl/IiEYYuyTEiimMscu7EXji/Dw==
dependencies:
memory-fs "^0.4.1"
mime "^2.3.1"
range-parser "^1.0.3"
webpack-log "^2.0.0"
webpack-dev-server@^3.1.11:
version "3.2.1"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e"
integrity sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw==
dependencies:
ansi-html "0.0.7"
bonjour "^3.5.0"
chokidar "^2.0.0"
compression "^1.5.2"
connect-history-api-fallback "^1.3.0"
debug "^3.1.0"
debug "^4.1.1"
del "^3.0.0"
express "^4.16.2"
html-entities "^1.2.0"
http-proxy-middleware "~0.18.0"
http-proxy-middleware "^0.19.1"
import-local "^2.0.0"
internal-ip "^3.0.1"
internal-ip "^4.2.0"
ip "^1.1.5"
killable "^1.0.0"
loglevel "^1.4.1"
@@ -9093,13 +9097,15 @@ webpack-dev-server@^3.1.10:
portfinder "^1.0.9"
schema-utils "^1.0.0"
selfsigned "^1.9.1"
semver "^5.6.0"
serve-index "^1.7.2"
sockjs "0.3.19"
sockjs-client "1.3.0"
spdy "^3.4.1"
spdy "^4.0.0"
strip-ansi "^3.0.0"
supports-color "^5.1.0"
webpack-dev-middleware "3.4.0"
supports-color "^6.1.0"
url "^0.11.0"
webpack-dev-middleware "^3.5.1"
webpack-log "^2.0.0"
yargs "12.0.2"