Compare commits
50 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c438cc7a0 | ||
|
|
f82fce2bb7 | ||
|
|
634e556cfa | ||
|
|
f28e5f2ebb | ||
|
|
3b6acfd67d | ||
|
|
822b495f8a | ||
|
|
bf2a298da7 | ||
|
|
90b26a98d3 | ||
|
|
8c32957957 | ||
|
|
2a16cf220e | ||
|
|
964c1922cd | ||
|
|
61228d112e | ||
|
|
5fe8443ff4 | ||
|
|
5599b37b59 | ||
|
|
83e4dadcfe | ||
|
|
8ba05ce126 | ||
|
|
11c0e982b2 | ||
|
|
cb988c505d | ||
|
|
762f027e2e | ||
|
|
83da5e6004 | ||
|
|
ec9309edcd | ||
|
|
d1c80de9c8 | ||
|
|
55e2f18d1e | ||
|
|
88e8fbb39a | ||
|
|
e0f9f68b46 | ||
|
|
e71fcc33f9 | ||
|
|
217065aafc | ||
|
|
5f38d1d3e9 | ||
|
|
f4ee5d0a4b | ||
|
|
8398ec5358 | ||
|
|
7731f93676 | ||
|
|
8123593be5 | ||
|
|
673543df1d | ||
|
|
b1061c5a94 | ||
|
|
8a022a4be0 | ||
|
|
2cf1aabcba | ||
|
|
edb6e26bc4 | ||
|
|
8edb74168b | ||
|
|
fde90afe58 | ||
|
|
7dcb9c830f | ||
|
|
7ccddfb755 | ||
|
|
a1432ef0f7 | ||
|
|
5379a26a1a | ||
|
|
6762727826 | ||
|
|
f1a680322b | ||
|
|
f3e82b56e9 | ||
|
|
604e4bbfee | ||
|
|
79b519be72 | ||
|
|
c22e03a222 | ||
|
|
6b07186078 |
@@ -44,3 +44,14 @@ steps:
|
||||
plugins:
|
||||
- docker#v3.0.1:
|
||||
image: "node:10"
|
||||
|
||||
- label: "🌐 i18n"
|
||||
command:
|
||||
- "echo '--- Fetching Dependencies'"
|
||||
- "./scripts/fetch-develop.deps.sh --depth 1"
|
||||
- "yarn install"
|
||||
- "echo '+++ Testing i18n output'"
|
||||
- "yarn diff-i18n"
|
||||
plugins:
|
||||
- docker#v3.0.1:
|
||||
image: "node:10"
|
||||
7
.github/ISSUE_TEMPLATE/bug_report.md
vendored
7
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -31,9 +31,10 @@ Describe here the problem that you are experiencing, or the feature you are requ
|
||||
|
||||
Describe how what happens differs from what you expected.
|
||||
|
||||
Log: sent/not sent? <!-- You can send us the app's logs via the 'Report bug'
|
||||
link on the 'Settings' page. Very important for hard-to-reproduce bugs. Please
|
||||
file a bug here too! -->
|
||||
<!-- Please send us logs for your bug report. They're very important for bugs
|
||||
which are hard to reproduce. To do this, create this issue then go to your
|
||||
account settings and click 'Submit Debug Logs' from the Help & About tab -->
|
||||
Logs being sent: yes/no
|
||||
|
||||
<!-- Include screenshots if possible: you can drag and drop images below. -->
|
||||
|
||||
|
||||
@@ -33,9 +33,10 @@ Describe here the problem that you are experiencing, or the feature you are requ
|
||||
|
||||
Describe how what happens differs from what you expected.
|
||||
|
||||
Log: sent/not sent? <!-- You can send us the app's logs via the 'Report bug'
|
||||
link on the 'Settings' page. Very important for hard-to-reproduce bugs. Please
|
||||
file a bug here too! -->
|
||||
<!-- Please send us logs for your bug report. They're very important for bugs
|
||||
which are hard to reproduce. To do this, create this issue then go to your
|
||||
account settings and click 'Submit Debug Logs' from the Help & About tab -->
|
||||
Logs being sent: yes/no
|
||||
|
||||
<!-- Include screenshots if possible: you can drag and drop images below. -->
|
||||
|
||||
|
||||
39
CHANGELOG.md
39
CHANGELOG.md
@@ -1,3 +1,42 @@
|
||||
Changes in [1.3.2](https://github.com/vector-im/riot-web/releases/tag/v1.3.2) (2019-08-05)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.1...v1.3.2)
|
||||
|
||||
* Updated react-sdk for deactivated account error message on login
|
||||
|
||||
Changes in [1.3.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.1) (2019-08-05)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.1-rc.1...v1.3.1)
|
||||
|
||||
* Updated js-sdk for notifications fix and react-sdk for registration fix
|
||||
|
||||
Changes in [1.3.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.1-rc.1) (2019-07-31)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0...v1.3.1-rc.1)
|
||||
|
||||
* Upgrade to JS SDK 2.3.0-rc.1 and React SDK 1.5.0-rc.1
|
||||
* Update from Weblate
|
||||
[\#10436](https://github.com/vector-im/riot-web/pull/10436)
|
||||
* Describe our existing features better in documentation
|
||||
[\#10418](https://github.com/vector-im/riot-web/pull/10418)
|
||||
* Upgrade to Electron 5
|
||||
[\#10392](https://github.com/vector-im/riot-web/pull/10392)
|
||||
* Remove edits and reactions feature flags from docs and config
|
||||
[\#10363](https://github.com/vector-im/riot-web/pull/10363)
|
||||
* Cachebust config file requests
|
||||
[\#10349](https://github.com/vector-im/riot-web/pull/10349)
|
||||
* Convert install-app-deps to subcommand
|
||||
[\#10334](https://github.com/vector-im/riot-web/pull/10334)
|
||||
* Add riot.im configuration files
|
||||
[\#10327](https://github.com/vector-im/riot-web/pull/10327)
|
||||
* Require descriptions in mxSendRageshake and remove infinite loop in issue
|
||||
templates
|
||||
[\#10321](https://github.com/vector-im/riot-web/pull/10321)
|
||||
* Remove unused disable_identity_server config flag
|
||||
[\#10322](https://github.com/vector-im/riot-web/pull/10322)
|
||||
* Verify i18n in CI
|
||||
[\#10320](https://github.com/vector-im/riot-web/pull/10320)
|
||||
|
||||
Changes in [1.3.0](https://github.com/vector-im/riot-web/releases/tag/v1.3.0) (2019-07-18)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.3...v1.3.0)
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
"base_url": "https://vector.im"
|
||||
}
|
||||
},
|
||||
"disable_identity_server": false,
|
||||
"disable_custom_urls": false,
|
||||
"disable_guests": false,
|
||||
"disable_login_language_selector": false,
|
||||
@@ -21,8 +20,10 @@
|
||||
"defaultCountryCode": "GB",
|
||||
"showLabsSettings": false,
|
||||
"features": {
|
||||
"feature_groups": "labs",
|
||||
"feature_pinning": "labs"
|
||||
"feature_pinning": "labs",
|
||||
"feature_custom_status": "labs",
|
||||
"feature_custom_tags": "labs",
|
||||
"feature_state_counters": "labs"
|
||||
},
|
||||
"default_federate": true,
|
||||
"default_theme": "light",
|
||||
|
||||
@@ -20,17 +20,16 @@ For a good example, see https://riot.im/develop/config.json.
|
||||
if `default_hs_url` is used.
|
||||
* The identity server is used for verifying third party identifiers like emails
|
||||
and phone numbers. It is not used to store your password or account information.
|
||||
If not provided, the identity server defaults to vector.im unless `disable_identity_server`
|
||||
is set to true in the config. Currently the only two public identity servers
|
||||
are https://matrix.org and https://vector.im, however in future identity servers
|
||||
will be decentralised.
|
||||
If not provided, the identity server defaults to vector.im. Currently the only
|
||||
two public identity servers are https://matrix.org and https://vector.im, however
|
||||
in future identity servers will be decentralised. In the future it will be possible
|
||||
to disable the identity server functionality.
|
||||
* Riot will fail to load if a mix of `default_server_config`, `default_server_name`, or
|
||||
`default_hs_url` is specified. When multiple sources are specified, it is unclear
|
||||
which should take priority and therefore the application cannot continue.
|
||||
1. `features`: Lookup of optional features that may be `enable`d, `disable`d, or exposed to the user
|
||||
in the `labs` section of settings. The available optional experimental features vary from
|
||||
release to release. Some of the available features are described in the Labs Feature section
|
||||
of this README.
|
||||
release to release. The available features are described in [labs.md](labs.md).
|
||||
1. `showLabsSettings`: Shows the "labs" tab of user settings even when no `features` are enabled
|
||||
or present. Useful for getting at settings which may be otherwise hidden.
|
||||
1. `brand`: String to pass to your homeserver when configuring email notifications, to let the
|
||||
|
||||
23
docs/labs.md
23
docs/labs.md
@@ -1,12 +1,29 @@
|
||||
# Labs features
|
||||
|
||||
Some notes on the features you can enable by going to `Settings->Labs`. Not exhaustive, chat in
|
||||
[#riot-web:matrix.org] for more information.
|
||||
[#riot-web:matrix.org](https://matrix.to/#/#riot-web:matrix.org) for more information.
|
||||
|
||||
**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be
|
||||
dropped. Ask in the room if you are unclear about any details here.**
|
||||
|
||||
## Render simple counters in room header
|
||||
## Message pinning (`feature_pinning`)
|
||||
|
||||
Allows you to pin messages in the room. To pin a message, use the 3 dots to the right of the message
|
||||
and select "Pin".
|
||||
|
||||
## Custom status (`feature_custom_status`)
|
||||
|
||||
An experimental approach for supporting custom status messages across DMs. To set a status, click on
|
||||
your avatar next to the message composer.
|
||||
|
||||
## Custom tags (`feature_custom_tags`)
|
||||
|
||||
An experimental approach for dealing with custom tags. Custom tags will appear in the bottom portion
|
||||
of the community filter panel.
|
||||
|
||||
Setting custom tags is not supported by Riot.
|
||||
|
||||
## Render simple counters in room header (`feature_state_counters`)
|
||||
|
||||
Allows rendering of labelled counters above the message list.
|
||||
|
||||
@@ -28,5 +45,3 @@ Once enabled, send a custom state event to a room to set values:
|
||||
```
|
||||
|
||||
That's it. Now should see your new counter under the header.
|
||||
|
||||
[#riot-web:matrix.org]: https://matrix.to/#/#riot-web:matrix.org
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"main": "src/electron-main.js",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.2",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "New Vector Ltd.",
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
This directory contains the config file for the official riot.im distribution
|
||||
of Riot Desktop. You probably do not want to build with this config unless
|
||||
you're building the official riot.im distribution, or you'll find your builds
|
||||
will replace themselves with the riot.im build.
|
||||
of Riot Desktop.
|
||||
|
||||
You probably do not want to build with this config unless you're building the
|
||||
official riot.im distribution, or you'll find your builds will replace
|
||||
themselves with the riot.im build.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright 2016 Aviral Dasgupta
|
||||
Copyright 2016 OpenMarket Ltd
|
||||
Copyright 2018 New Vector Ltd
|
||||
Copyright 2018, 2019 New Vector Ltd
|
||||
Copyright 2017, 2019 Michael Telatynski <7t3chguy@gmail.com>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -211,7 +211,14 @@ const launcher = new AutoLaunch({
|
||||
// work.
|
||||
// Also mark it as secure (ie. accessing resources from this
|
||||
// protocol and HTTPS won't trigger mixed content warnings).
|
||||
protocol.registerStandardSchemes(['vector'], {secure: true});
|
||||
protocol.registerSchemesAsPrivileged([{
|
||||
scheme: 'vector',
|
||||
privileges: {
|
||||
standard: true,
|
||||
secure: true,
|
||||
supportFetchAPI: true,
|
||||
},
|
||||
}]);
|
||||
|
||||
app.on('ready', () => {
|
||||
if (argv['devtools']) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2018 New Vector Ltd
|
||||
Copyright 2018, 2019 New Vector Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -14,16 +14,7 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
const { ipcRenderer, webFrame } = require('electron');
|
||||
const { ipcRenderer } = require('electron');
|
||||
|
||||
// expose ipcRenderer to the renderer process
|
||||
window.ipcRenderer = ipcRenderer;
|
||||
|
||||
// Allow the fetch API to load resources from this
|
||||
// protocol: this is necessary to load olm.wasm.
|
||||
// (Also mark it a secure although we've already
|
||||
// done this in the main process).
|
||||
webFrame.registerURLSchemeAsPrivileged('vector', {
|
||||
secure: true,
|
||||
supportFetchAPI: true,
|
||||
});
|
||||
|
||||
11
package.json
11
package.json
@@ -2,7 +2,7 @@
|
||||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"main": "electron_app/src/electron-main.js",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.2",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "New Vector Ltd.",
|
||||
"repository": {
|
||||
@@ -30,6 +30,7 @@
|
||||
"reskindex:watch": "reskindex -h src/header -w",
|
||||
"i18n": "matrix-gen-i18n",
|
||||
"prunei18n": "matrix-prune-i18n",
|
||||
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
|
||||
"build:res": "node scripts/copy-res.js",
|
||||
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
||||
"build:compile": "yarn reskindex && babel --source-maps -d lib src",
|
||||
@@ -44,7 +45,7 @@
|
||||
"build": "yarn build:js-sdk && yarn build:react-sdk && yarn reskindex && yarn build:res && yarn build:bundle",
|
||||
"build:dev": "yarn build:js-sdk && yarn build:react-sdk && yarn reskindex && yarn build:res && yarn build:bundle:dev",
|
||||
"dist": "scripts/package.sh",
|
||||
"install:electron": "install-app-deps",
|
||||
"install:electron": "electron-builder install-app-deps",
|
||||
"electron": "yarn install:electron && electron .",
|
||||
"start:res": "node scripts/copy-res.js -w",
|
||||
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development",
|
||||
@@ -73,8 +74,8 @@
|
||||
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279",
|
||||
"gfm.css": "^1.1.2",
|
||||
"highlight.js": "^9.13.1",
|
||||
"matrix-js-sdk": "2.2.0",
|
||||
"matrix-react-sdk": "1.4.0",
|
||||
"matrix-js-sdk": "2.3.0",
|
||||
"matrix-react-sdk": "1.5.1",
|
||||
"modernizr": "^3.6.0",
|
||||
"olm": "https://packages.matrix.org/npm/olm/olm-3.1.0.tgz",
|
||||
"prop-types": "^15.6.2",
|
||||
@@ -153,7 +154,7 @@
|
||||
},
|
||||
"build": {
|
||||
"appId": "im.riot.app",
|
||||
"electronVersion": "4.2.6",
|
||||
"electronVersion": "5.0.7",
|
||||
"files": [
|
||||
"node_modules/**",
|
||||
"src/**"
|
||||
|
||||
11
riot.im/README
Normal file
11
riot.im/README
Normal file
@@ -0,0 +1,11 @@
|
||||
This directory contains the config files and deployment scripts for the official
|
||||
riot.im distribution of Riot Web at https://riot.im.
|
||||
|
||||
You probably do not want to build with this config unless you're building the
|
||||
official riot.im distribution, but these files may be useful if you want to
|
||||
inspect the configuration used there.
|
||||
|
||||
Riot Desktop uses a separate config (see electron_app/riot.im/config.json).
|
||||
|
||||
Deployment scripts (such as app/deploy.py) are meant to be run on the web server
|
||||
hosting the Riot installation.
|
||||
48
riot.im/app/config.json
Normal file
48
riot.im/app/config.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"default_hs_url": "https://matrix.org",
|
||||
"default_is_url": "https://vector.im",
|
||||
"brand": "Riot",
|
||||
"integrations_ui_url": "https://scalar.vector.im/",
|
||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||
"integrations_widgets_urls": [
|
||||
"https://scalar-staging.vector.im/api",
|
||||
"https://scalar.vector.im/api",
|
||||
"https://scalar-staging.riot.im/scalar/api"
|
||||
],
|
||||
"hosting_signup_link": "https://modular.im/?utm_source=riot-web&utm_medium=web",
|
||||
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
||||
"welcomeUserId": "@riot-bot:matrix.org",
|
||||
"piwik": {
|
||||
"url": "https://piwik.riot.im/",
|
||||
"siteId": 1,
|
||||
"policyUrl": "https://matrix.org/docs/guides/riot_im_cookie_policy"
|
||||
},
|
||||
"phasedRollOut": {
|
||||
"feature_lazyloading": {
|
||||
"offset": 1539684000000,
|
||||
"period": 604800000
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"feature_lazyloading": "enable",
|
||||
"feature_room_breadcrumbs": "labs"
|
||||
},
|
||||
"roomDirectory": {
|
||||
"servers": [
|
||||
"matrix.org"
|
||||
]
|
||||
},
|
||||
"enable_presence_by_hs_url": {
|
||||
"https://matrix.org": false
|
||||
},
|
||||
"terms_and_conditions_links": [
|
||||
{
|
||||
"url": "https://riot.im/privacy",
|
||||
"text": "Privacy Policy"
|
||||
},
|
||||
{
|
||||
"url": "https://matrix.org/docs/guides/riot_im_cookie_policy",
|
||||
"text": "Cookie Policy"
|
||||
}
|
||||
]
|
||||
}
|
||||
191
riot.im/app/deploy.py
Executable file
191
riot.im/app/deploy.py
Executable file
@@ -0,0 +1,191 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# download and unpack a riot-web tarball.
|
||||
#
|
||||
# Allows `bundles` to be extracted to a common directory, and a link to
|
||||
# config.json to be added.
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import os.path
|
||||
import subprocess
|
||||
import sys
|
||||
import tarfile
|
||||
import shutil
|
||||
import glob
|
||||
|
||||
try:
|
||||
# python3
|
||||
from urllib.request import urlretrieve
|
||||
except ImportError:
|
||||
# python2
|
||||
from urllib import urlretrieve
|
||||
|
||||
class DeployException(Exception):
|
||||
pass
|
||||
|
||||
def create_relative_symlink(linkname, target):
|
||||
relpath = os.path.relpath(target, os.path.dirname(linkname))
|
||||
print ("Symlink %s -> %s" % (linkname, relpath))
|
||||
os.symlink(relpath, linkname)
|
||||
|
||||
|
||||
def move_bundles(source, dest):
|
||||
"""Move the contents of the 'bundles' directory to a common dir
|
||||
|
||||
We check that we will not be overwriting anything before we proceed.
|
||||
|
||||
Args:
|
||||
source (str): path to 'bundles' within the extracted tarball
|
||||
dest (str): target common directory
|
||||
"""
|
||||
|
||||
if not os.path.isdir(dest):
|
||||
os.mkdir(dest)
|
||||
|
||||
# build a map from source to destination, checking for non-existence as we go.
|
||||
renames = {}
|
||||
for f in os.listdir(source):
|
||||
dst = os.path.join(dest, f)
|
||||
if os.path.exists(dst):
|
||||
print (
|
||||
"Skipping bundle. The bundle includes '%s' which we have previously deployed."
|
||||
% f
|
||||
)
|
||||
else:
|
||||
renames[os.path.join(source, f)] = dst
|
||||
|
||||
for (src, dst) in renames.iteritems():
|
||||
print ("Move %s -> %s" % (src, dst))
|
||||
os.rename(src, dst)
|
||||
|
||||
class Deployer:
|
||||
def __init__(self):
|
||||
self.packages_path = "."
|
||||
self.bundles_path = None
|
||||
self.should_clean = False
|
||||
# filename -> symlink path e.g 'config.localhost.json' => '../localhost/config.json'
|
||||
self.symlink_paths = {}
|
||||
self.verify_signature = True
|
||||
|
||||
def deploy(self, tarball, extract_path):
|
||||
"""Download a tarball if necessary, and unpack it
|
||||
|
||||
Returns:
|
||||
(str) the path to the unpacked deployment
|
||||
"""
|
||||
print("Deploying %s to %s" % (tarball, extract_path))
|
||||
|
||||
name_str = os.path.basename(tarball).replace(".tar.gz", "")
|
||||
extracted_dir = os.path.join(extract_path, name_str)
|
||||
if os.path.exists(extracted_dir):
|
||||
raise DeployException('Cannot unpack %s: %s already exists' % (
|
||||
tarball, extracted_dir))
|
||||
|
||||
downloaded = False
|
||||
if tarball.startswith("http://") or tarball.startswith("https://"):
|
||||
tarball = self.download_and_verify(tarball)
|
||||
print("Downloaded file: %s" % tarball)
|
||||
downloaded = True
|
||||
|
||||
try:
|
||||
with tarfile.open(tarball) as tar:
|
||||
tar.extractall(extract_path)
|
||||
finally:
|
||||
if self.should_clean and downloaded:
|
||||
os.remove(tarball)
|
||||
|
||||
print ("Extracted into: %s" % extracted_dir)
|
||||
|
||||
if self.symlink_paths:
|
||||
for link_path, file_path in self.symlink_paths.iteritems():
|
||||
create_relative_symlink(
|
||||
target=file_path,
|
||||
linkname=os.path.join(extracted_dir, link_path)
|
||||
)
|
||||
|
||||
if self.bundles_path:
|
||||
extracted_bundles = os.path.join(extracted_dir, 'bundles')
|
||||
move_bundles(source=extracted_bundles, dest=self.bundles_path)
|
||||
|
||||
# replace the extracted_bundles dir (which may not be empty if some
|
||||
# bundles were skipped) with a symlink to the common dir.
|
||||
shutil.rmtree(extracted_bundles)
|
||||
create_relative_symlink(
|
||||
target=self.bundles_path,
|
||||
linkname=extracted_bundles,
|
||||
)
|
||||
return extracted_dir
|
||||
|
||||
def download_and_verify(self, url):
|
||||
tarball = self.download_file(url)
|
||||
|
||||
if self.verify_signature:
|
||||
sigfile = self.download_file(url + ".asc")
|
||||
subprocess.check_call(["gpg", "--verify", sigfile, tarball])
|
||||
|
||||
return tarball
|
||||
|
||||
def download_file(self, url):
|
||||
if not os.path.isdir(self.packages_path):
|
||||
os.mkdir(self.packages_path)
|
||||
local_filename = os.path.join(self.packages_path,
|
||||
url.split('/')[-1])
|
||||
sys.stdout.write("Downloading %s -> %s..." % (url, local_filename))
|
||||
sys.stdout.flush()
|
||||
urlretrieve(url, local_filename)
|
||||
print ("Done")
|
||||
return local_filename
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser("Deploy a Riot build on a web server.")
|
||||
parser.add_argument(
|
||||
"-p", "--packages-dir", default="./packages", help=(
|
||||
"The directory to download the tarball into. (Default: '%(default)s')"
|
||||
)
|
||||
)
|
||||
parser.add_argument(
|
||||
"-e", "--extract-path", default="./deploys", help=(
|
||||
"The location to extract .tar.gz files to. (Default: '%(default)s')"
|
||||
)
|
||||
)
|
||||
parser.add_argument(
|
||||
"-b", "--bundles-dir", nargs='?', default="./bundles", help=(
|
||||
"A directory to move the contents of the 'bundles' directory to. A \
|
||||
symlink to the bundles directory will also be written inside the \
|
||||
extracted tarball. Example: './bundles'. \
|
||||
(Default: '%(default)s')"
|
||||
)
|
||||
)
|
||||
parser.add_argument(
|
||||
"-c", "--clean", action="store_true", default=False, help=(
|
||||
"Remove .tar.gz files after they have been downloaded and extracted. \
|
||||
(Default: %(default)s)"
|
||||
)
|
||||
)
|
||||
parser.add_argument(
|
||||
"--include", nargs='*', default=['./config*.json'], help=(
|
||||
"Symlink these files into the root of the deployed tarball. \
|
||||
Useful for config files and home pages. Supports glob syntax. \
|
||||
(Default: '%(default)s')"
|
||||
)
|
||||
)
|
||||
parser.add_argument(
|
||||
"tarball", help=(
|
||||
"filename of tarball, or URL to download."
|
||||
),
|
||||
)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
deployer = Deployer()
|
||||
deployer.packages_path = args.packages_dir
|
||||
deployer.bundles_path = args.bundles_dir
|
||||
deployer.should_clean = args.clean
|
||||
|
||||
for include in args.include:
|
||||
deployer.symlink_paths.update({ os.path.basename(pth): pth for pth in glob.iglob(include) })
|
||||
|
||||
deployer.deploy(args.tarball, args.extract_path)
|
||||
54
riot.im/develop/config.json
Normal file
54
riot.im/develop/config.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"default_hs_url": "https://matrix.org",
|
||||
"default_is_url": "https://vector.im",
|
||||
"brand": "Riot",
|
||||
"integrations_ui_url": "https://scalar-staging.vector.im/",
|
||||
"integrations_rest_url": "https://scalar-staging.vector.im/api",
|
||||
"integrations_widgets_urls": [
|
||||
"https://scalar-staging.riot.im/scalar/api",
|
||||
"https://scalar-staging.vector.im/api",
|
||||
"https://scalar.vector.im/api"
|
||||
],
|
||||
"hosting_signup_link": "https://modular.im/?utm_source=riot-web&utm_medium=web",
|
||||
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
||||
"features": {
|
||||
"feature_rich_quoting": "labs",
|
||||
"feature_pinning": "labs",
|
||||
"feature_presence_management": "labs",
|
||||
"feature_sticker_messages": "labs",
|
||||
"feature_jitsi": "labs",
|
||||
"feature_tag_panel": "enable",
|
||||
"feature_keybackup": "labs",
|
||||
"feature_custom_status": "labs",
|
||||
"feature_custom_tags": "labs",
|
||||
"feature_lazyloading": "enable",
|
||||
"feature_tabbed_settings": "labs",
|
||||
"feature_sas": "labs",
|
||||
"feature_room_breadcrumbs": "labs",
|
||||
"feature_state_counters": "labs"
|
||||
},
|
||||
"welcomeUserId": "@riot-bot:matrix.org",
|
||||
"piwik": {
|
||||
"url": "https://piwik.riot.im/",
|
||||
"siteId": 1,
|
||||
"policyUrl": "https://matrix.org/docs/guides/riot_im_cookie_policy"
|
||||
},
|
||||
"roomDirectory": {
|
||||
"servers": [
|
||||
"matrix.org"
|
||||
]
|
||||
},
|
||||
"enable_presence_by_hs_url": {
|
||||
"https://matrix.org": false
|
||||
},
|
||||
"terms_and_conditions_links": [
|
||||
{
|
||||
"url": "https://riot.im/privacy",
|
||||
"text": "Privacy Policy"
|
||||
},
|
||||
{
|
||||
"url": "https://matrix.org/docs/guides/riot_im_cookie_policy",
|
||||
"text": "Cookie Policy"
|
||||
}
|
||||
]
|
||||
}
|
||||
10
scripts/compare-file.js
Normal file
10
scripts/compare-file.js
Normal file
@@ -0,0 +1,10 @@
|
||||
const fs = require("fs");
|
||||
|
||||
if (process.argv.length < 4) throw new Error("Missing source and target file arguments");
|
||||
|
||||
const sourceFile = fs.readFileSync(process.argv[2], 'utf8');
|
||||
const targetFile = fs.readFileSync(process.argv[3], 'utf8');
|
||||
|
||||
if (sourceFile !== targetFile) {
|
||||
throw new Error("Files do not match");
|
||||
}
|
||||
@@ -2,5 +2,17 @@
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot mobil qurğular üçün veb-saytın versiyasını dəstəkləmir. Proqramı qurmaq?",
|
||||
"Riot Desktop on %(platformName)s": "%(platformName)s-da Riot Desktop",
|
||||
"Unknown device": "Naməlum qurğu",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "İş stolunun birgə istifadəsi üçün HTTPS-dan istifadə tələb olunur."
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "İş stolunun birgə istifadəsi üçün HTTPS-dan istifadə tələb olunur.",
|
||||
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Riot konfiqurasiyanızda yanlış JSON var. Lütfən, xətanı düzəldin və səhifəni yeniləyin",
|
||||
"Invalid JSON": "Yanlış JSON",
|
||||
"Sign In": "Daxil ol",
|
||||
"Create Account": "Hesab Aç",
|
||||
"Need help?": "Kömək lazımdır?",
|
||||
"Chat with Riot Bot": "Riot Bot-la söhbət edin",
|
||||
"Explore rooms": "Otaqları kəşf edin",
|
||||
"Your Riot is misconfigured": "Riot yanlış quraşdırılıb",
|
||||
"Unexpected error preparing the app. See console for details.": "Proqramı başladarkən gözlənilməz xəta. Ətraflı məlumat üçün konsola baxın.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Yanlış konfiqurasiya: default_server_config, default_server_name, və ya default_hs_url-dən yalnız birini təyin etməlisiniz.",
|
||||
"Invalid configuration: no default server specified.": "Yanlış konfiqurasiya: ilkin server təyin edilməyib.",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(osName)s-da %(browserName)s ilə %(appName)s"
|
||||
}
|
||||
|
||||
@@ -37,12 +37,12 @@
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Vi povas uzi proprajn servilajn elektojn por saluti aliajn servilojn de Matrix, per specifo de alia hejmservila URL.<br/>Tio permesas al vi uzi klienton Riot kun jama konto de Matrix en alia hejmservilo.<br/><br/>Vi ankaŭ povas agordi propran identigan servilon, sed vi ne povos inviti uzantojn per retpoŝtadreso, aŭ esti invitata per retpoŝtadreso mem.",
|
||||
"Co-ordination for Riot translators": "Kunordigo por tradukantoj de Riot",
|
||||
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Vi povas ankaŭ agordi propran identigan servilon, sed vi ne eblos inviti uzantojn per retpoŝtadresoj, nek tiel invitiĝi.",
|
||||
"Sign In": "Ensaluti",
|
||||
"Sign In": "Saluti",
|
||||
"Create Account": "Krei konton",
|
||||
"Need help?": "Ĉu vi bezonas helpon?",
|
||||
"Explore rooms": "Esplori ĉambrojn",
|
||||
"Room Directory": "Ĉambra dosierujo",
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Vi povas uzi proprajn servilajn elekteblojn por ensaluti al aliaj serviloj de Matrix per doni alian hejmeservilan URL-on. Tio povigos vin uzi Riot kun jama konto de Matrix en alia hejmservilo.",
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Vi povas uzi proprajn servilajn elekteblojn por saluti al aliaj serviloj de Matrix per doni alian hejmeservilan URL-on. Tio povigos vin uzi Riot kun jama konto de Matrix en alia hejmservilo.",
|
||||
"Unexpected error preparing the app. See console for details.": "Neatendita eraro okazis dum la preparado de la aplikaĵo. Rigardu la konzolon por detaloj.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Nevalida agordo: vi povas specifi nur unu elekteblon el « default_server_config », « default_server_name », aŭ « default_hs_url ».",
|
||||
"Invalid configuration: no default server specified.": "Nevalida agordo: neniu implicita servilo estas specifita.",
|
||||
|
||||
@@ -46,5 +46,8 @@
|
||||
"Unexpected error preparing the app. See console for details.": "Error inesperado preparando la aplicación. Vea la consola para más detalles.",
|
||||
"Your Riot is misconfigured": "Riot tiene un error de configuración",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuración errónea: sólo puede especificar uno de default_server_config, default_server_name, o default_hs_url.",
|
||||
"Invalid configuration: no default server specified.": "Configuración errónea: no se ha especificado servidor."
|
||||
"Invalid configuration: no default server specified.": "Configuración errónea: no se ha especificado servidor.",
|
||||
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Tu configuración de Riot contiene JSON inválido. Por favor corrige el error y recarga la página.",
|
||||
"The message from the parser is: %(message)s": "El mensaje del parser es: %(message)s",
|
||||
"Invalid JSON": "JSON inválido"
|
||||
}
|
||||
|
||||
@@ -45,5 +45,9 @@
|
||||
"Unexpected error preparing the app. See console for details.": "Negaidīta kļūda, sagatavojot lietotni. Sīkāku informāciju skatiet konsolē.",
|
||||
"This installation of Riot seems to have an invalid server configuration. If you are the administrator, please correct the error below": "Šai Riot instalācijai ir nekorekta servera konfigurācija. Ja esat administrators, lūdzu, izlabojiet tālāk norādīto kļūdu",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Nederīga konfigurācija: var norādīt tikai vienu no default_server_config, default_server_name, vai default_hs_url.",
|
||||
"Invalid configuration: no default server specified.": "Nekorekta konfigurācija: nav norādīts noklusējuma serveris."
|
||||
"Invalid configuration: no default server specified.": "Nekorekta konfigurācija: nav norādīts noklusējuma serveris.",
|
||||
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Jūsu Riot konfigurācijā ir nederīgs JSON. Lūdzu, izlabojiet problēmu un ielādējiet lapu atkārtoti.",
|
||||
"The message from the parser is: %(message)s": "Ziņojums no parsētāja ir: %(message)s",
|
||||
"Invalid JSON": "Nederīgs JSON",
|
||||
"Your Riot is misconfigured": "Jūsu Riot ir nepareizi konfigurēts"
|
||||
}
|
||||
|
||||
@@ -42,5 +42,12 @@
|
||||
"Create Account": "Skapa konto",
|
||||
"Need help?": "Behöver du hjälp?",
|
||||
"Explore rooms": "Utforska rum",
|
||||
"Room Directory": "Rumslista"
|
||||
"Room Directory": "Rumslista",
|
||||
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Dina Riot-inställningar innhåller ogiltig JSON. Vänligen uppdatera inställningarna och ladda om sidan.",
|
||||
"The message from the parser is: %(message)s": "Medelandet från parsern är: %(message)s",
|
||||
"Invalid JSON": "Ogiltig JSON",
|
||||
"Your Riot is misconfigured": "Riot är felkonfigurerat",
|
||||
"Unexpected error preparing the app. See console for details.": "Oväntat fel vid appstart. Se konsollen för mer information.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ogilitiga inställningar: enbart möjligt att specificera en default_config, default_server, eller default_hs_url.",
|
||||
"Invalid configuration: no default server specified.": "Ogilitiga inställningar: ingen standardserver specificerad."
|
||||
}
|
||||
|
||||
@@ -13,5 +13,20 @@
|
||||
"Matrix technical discussions": "Matrix தொழில்நுட்ப விவாதங்கள்",
|
||||
"Running Matrix services": "இருப்பிலிருக்கும் Matrix சேவைகள்",
|
||||
"Building services on Matrix": "Matrix- ல் சேவைகளைக் கட்டமைக்க",
|
||||
"Contributing code to Matrix and Riot": "Matrix மற்றும் Riot -ற்க்கு நிரல் பங்களிக்க"
|
||||
"Contributing code to Matrix and Riot": "Matrix மற்றும் Riot -ற்க்கு நிரல் பங்களிக்க",
|
||||
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "உங்கள் Riot உள்ளமைவில் தவறான JSON உள்ளது. சிக்கலை சரிசெய்து பக்கத்தை மீண்டும் ஏற்றவும்.",
|
||||
"The message from the parser is: %(message)s": "பாகுபடுத்தி அனுப்பிய செய்தி: %(message)s",
|
||||
"Invalid JSON": "தவறான JSON",
|
||||
"Your Riot is misconfigured": "உங்கள் Riot தவறாக உள்ளமைக்கப்பட்டுள்ளது",
|
||||
"Unexpected error preparing the app. See console for details.": "பயன்பாட்டைத் தயாரிப்பதில் எதிர்பாராத பிழை. விவரங்களுக்கு console ஐப் பார்க்கவும்.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "தவறான உள்ளமைவு: default_server_config, default_server_name அல்லது default_hs_url இல் ஒன்றை மட்டுமே குறிப்பிட முடியும்.",
|
||||
"Invalid configuration: no default server specified.": "தவறான உள்ளமைவு: இயல்புநிலை சேவையகம் குறிப்பிடப்படவில்லை.",
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "வேறுபட்ட ஹோம்சர்வர் URL ஐக் குறிப்பிடுவதன் மூலம் பிற Matrix சேவையகங்களில் உள்நுழைய தனிப்பயன் சேவையக விருப்பங்களைப் பயன்படுத்தலாம். இது வேறு வீட்டு சேவையகத்தில் ஏற்கனவே உள்ள Matrix கணக்கைக் கொண்ட Riot ஐப் பயன்படுத்த உங்களை அனுமதிக்கிறது.",
|
||||
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "நீங்கள் தனிப்பயன் அடையாள சேவையகத்தையும் அமைக்கலாம், ஆனால் நீங்கள் மின்னஞ்சல் முகவரி மூலம் பயனர்களை அழைக்க முடியாது, அல்லது மின்னஞ்சல் முகவரியால் உங்களை அழைக்க முடியாது.",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "[matrix] ஆல் இயக்கப்படும் பரவலாக்கப்பட்ட, மறைகுறியாக்கப்பட்ட அரட்டை & ஒத்துழைப்பு",
|
||||
"Sign In": "உள்நுழைக",
|
||||
"Create Account": "உங்கள் கணக்கை துவங்குங்கள்",
|
||||
"Need help?": "உதவி தேவை?",
|
||||
"Explore rooms": "அறைகளை ஆராயுங்கள்",
|
||||
"Room Directory": "அறை அடைவு"
|
||||
}
|
||||
|
||||
@@ -18,5 +18,17 @@
|
||||
"Discussion of all things Matrix!": "Thào luận về mọi vấn đề liên quan đến Matrix!",
|
||||
"Riot/Web & Desktop chat": "Riot/Web & Desktop chat",
|
||||
"Unexpected error preparing the app. See console for details.": "Lỗi xảy ra trong lúc chuẩn bị app. Xem console log để biết chi tiết.",
|
||||
"Your Riot is misconfigured": "Riot của bạn bị cấu hình sai"
|
||||
"Your Riot is misconfigured": "Hệ thống Riot của bạn bị thiết lập sai",
|
||||
"Your Riot configuration contains invalid JSON. Please correct the problem and reload the page.": "Thiết lập Riot của bạn chứa JSON không hợp lệ. Bạn hãy sửa lỗi và tải lại trang.",
|
||||
"The message from the parser is: %(message)s": "Nội dung tin là: %(message)s",
|
||||
"Invalid JSON": "JSON không hợp lệ",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Thiết lập không hợp lệ: chỉ có thể điền một trong số default_server_config, default_server_name, hoặc default_hs_url.",
|
||||
"Invalid configuration: no default server specified.": "Cấu hình không hợp lệ: máy chủ mặc định không được thiết lập.",
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Bạn có thể sử dụng lựa chọn máy chủ khác để đăng nhập vào máy chủ Matrix bằng cách nhập đường dẫn máy chủ riêng. Cách này giúp bạn sử dụng Riot với máy chủ riêng của bạn.",
|
||||
"You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Bạn có thể sử dụng máy chủ định danh riêng, nhưng bạn sẽ không thể mời người dùng bằng email, hoặc được mời bằng email của bạn.",
|
||||
"Sign In": "Đăng nhập",
|
||||
"Create Account": "Tạo tài khoản",
|
||||
"Need help?": "Cần hỗ trợ?",
|
||||
"Explore rooms": "Khám phá phòng chat",
|
||||
"Room Directory": "Danh mục phòng"
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ export async function getVectorConfig(relativeLocation) {
|
||||
function getConfig(configJsonFilename) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
request(
|
||||
{ method: "GET", url: configJsonFilename },
|
||||
{ method: "GET", url: configJsonFilename, qs: { cachebuster: Date.now() } },
|
||||
(err, response, body) => {
|
||||
try {
|
||||
if (err || response.status < 200 || response.status >= 300) {
|
||||
|
||||
@@ -50,6 +50,10 @@ initRageshake();
|
||||
|
||||
global.mxSendRageshake = function(text, withLogs) {
|
||||
if (withLogs === undefined) withLogs = true;
|
||||
if (!text || !text.trim()) {
|
||||
console.error("Cannot send a rageshake without a message - please tell us what went wrong");
|
||||
return;
|
||||
}
|
||||
require(['matrix-react-sdk/lib/rageshake/submit-rageshake'], (s) => {
|
||||
s(SdkConfig.get().bug_report_endpoint_url, {
|
||||
userText: text,
|
||||
|
||||
@@ -104,7 +104,6 @@ describe('joining a room', function() {
|
||||
hsName: "TEST_ENVIRONMENT",
|
||||
hsNameIsDifferent: false, // yes, we lie
|
||||
isUrl: IS_URL,
|
||||
identityEnabled: true,
|
||||
}),
|
||||
};
|
||||
|
||||
|
||||
@@ -153,7 +153,6 @@ describe('loading:', function() {
|
||||
hsName: "TEST_ENVIRONMENT",
|
||||
hsNameIsDifferent: false, // yes, we lie
|
||||
isUrl: DEFAULT_IS_URL,
|
||||
identityEnabled: true,
|
||||
}),
|
||||
embeddedPages: {
|
||||
homeUrl: 'data:text/html;charset=utf-8;base64,PGh0bWw+PC9odG1sPg==',
|
||||
|
||||
88
yarn.lock
88
yarn.lock
@@ -2276,7 +2276,7 @@ commander@2.17.x:
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
|
||||
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
|
||||
|
||||
commander@^2.11.0, commander@^2.20.0:
|
||||
commander@^2.11.0, commander@^2.19.0, commander@^2.20.0:
|
||||
version "2.20.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
|
||||
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
|
||||
@@ -2893,6 +2893,18 @@ di@^0.0.1:
|
||||
resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
|
||||
integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=
|
||||
|
||||
diff-dom@^4.1.3:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/diff-dom/-/diff-dom-4.1.3.tgz#5572dab5c549c7da05a7662303b471d7ea4b0963"
|
||||
integrity sha512-wiM06O2BN3THf9Ge86IYuTek+OlKLSwwuwjm3XfSr7SGp7Ls9XXztpr4tp9S54RhX/rXqq94LdeBG+MMpDPDig==
|
||||
dependencies:
|
||||
rollup-plugin-terser "^4.0.3"
|
||||
|
||||
diff-match-patch@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.4.tgz#6ac4b55237463761c4daf0dc603eb869124744b1"
|
||||
integrity sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==
|
||||
|
||||
diff@3.5.0:
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
|
||||
@@ -3180,10 +3192,10 @@ emoji-regex@^7.0.1:
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
|
||||
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
|
||||
|
||||
emojibase-data@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/emojibase-data/-/emojibase-data-4.0.0.tgz#3feb3e5bb5e5f2b6373b183b0f038c60889a9e29"
|
||||
integrity sha512-Yi4A1IxB7iZ+09Wqr2BEpHSQfugc5I8G+wckDOhCia0F7oOdErf/85jCwbpRQy7xtBbvlyS3xQrYedSeQot5Og==
|
||||
emojibase-data@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/emojibase-data/-/emojibase-data-4.0.1.tgz#7ff28250a9b753f058de313ac4654b37bbf7081b"
|
||||
integrity sha512-U20Xg5TzdJ1pQnfJUT3rf9vqA9jL0GLALP8YsypyNdud2h5CWXUwpRRicRl8y0lOnABQbheLv3ohwt1+Mn8iTw==
|
||||
|
||||
emojibase-regex@^3.0.0:
|
||||
version "3.0.0"
|
||||
@@ -5293,6 +5305,14 @@ isstream@~0.1.2:
|
||||
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
|
||||
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
|
||||
|
||||
jest-worker@^24.0.0:
|
||||
version "24.6.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3"
|
||||
integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==
|
||||
dependencies:
|
||||
merge-stream "^1.0.1"
|
||||
supports-color "^6.1.0"
|
||||
|
||||
jquery@^3.3.1:
|
||||
version "3.4.1"
|
||||
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2"
|
||||
@@ -5847,10 +5867,10 @@ math-random@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
|
||||
integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==
|
||||
|
||||
matrix-js-sdk@2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-2.2.0.tgz#c96a2caa4c92e5998443027579d7e76d4bcd4d21"
|
||||
integrity sha512-gab7wuscgTKbXY5x136t9qSnDbOuq785ezd++NoFLEau0YjDos0YKolAm0TValUC9LY30CoVqqMfyPJ68CMezQ==
|
||||
matrix-js-sdk@2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-2.3.0.tgz#ed04172add2e31c532dc87e2f38c26c2a63191c6"
|
||||
integrity sha512-jeswie7cWK7+XxcD+pQ7LplWnWkOQDa+x6y7FUUnxCdEvaj38cE5Obo9bPMjFgOln2hISlLdR8fzMNE9F4oUJA==
|
||||
dependencies:
|
||||
another-json "^0.2.0"
|
||||
babel-runtime "^6.26.0"
|
||||
@@ -5871,10 +5891,10 @@ matrix-mock-request@^1.2.3:
|
||||
bluebird "^3.5.0"
|
||||
expect "^1.20.2"
|
||||
|
||||
matrix-react-sdk@1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.4.0.tgz#dd7a6b9f73355174eeba37ce4ae4eb8bba98d57d"
|
||||
integrity sha512-kZIkTU4tYNzOJX0hcWRWiyswuHJBP2svnbDg+GvCXFsDKZM566G3Hg5gU11QFVFAmQokO3DVazpQi6nlKt5dCg==
|
||||
matrix-react-sdk@1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.5.0.tgz#4db5dacd8b7db54b6abcdb115466944f525a7943"
|
||||
integrity sha512-qhQRXCOCYfsqvASVlqhGNLwJWTEWUWh6igSFvMH/0XvurMQukEASzSKTvEeyrI4m+xXCwaA6u4Psd9nSLWwSUQ==
|
||||
dependencies:
|
||||
babel-plugin-syntax-dynamic-import "^6.18.0"
|
||||
babel-runtime "^6.26.0"
|
||||
@@ -5885,7 +5905,9 @@ matrix-react-sdk@1.4.0:
|
||||
classnames "^2.1.2"
|
||||
commonmark "^0.28.1"
|
||||
counterpart "^0.18.0"
|
||||
emojibase-data "^4.0.0"
|
||||
diff-dom "^4.1.3"
|
||||
diff-match-patch "^1.0.4"
|
||||
emojibase-data "^4.0.1"
|
||||
emojibase-regex "^3.0.0"
|
||||
file-saver "^1.3.3"
|
||||
filesize "3.5.6"
|
||||
@@ -5901,7 +5923,7 @@ matrix-react-sdk@1.4.0:
|
||||
linkifyjs "^2.1.6"
|
||||
lodash "^4.17.14"
|
||||
lolex "2.3.2"
|
||||
matrix-js-sdk "2.2.0"
|
||||
matrix-js-sdk "2.3.0"
|
||||
optimist "^0.6.1"
|
||||
pako "^1.0.5"
|
||||
png-chunks-extract "^1.0.0"
|
||||
@@ -5985,6 +6007,13 @@ merge-descriptors@1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
|
||||
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
|
||||
|
||||
merge-stream@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
|
||||
integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=
|
||||
dependencies:
|
||||
readable-stream "^2.0.1"
|
||||
|
||||
merge2@^1.2.3:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5"
|
||||
@@ -7852,6 +7881,16 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
|
||||
hash-base "^3.0.0"
|
||||
inherits "^2.0.1"
|
||||
|
||||
rollup-plugin-terser@^4.0.3:
|
||||
version "4.0.4"
|
||||
resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz#6f661ef284fa7c27963d242601691dc3d23f994e"
|
||||
integrity sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.0.0"
|
||||
jest-worker "^24.0.0"
|
||||
serialize-javascript "^1.6.1"
|
||||
terser "^3.14.1"
|
||||
|
||||
run-async@^2.2.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
|
||||
@@ -8001,7 +8040,7 @@ send@0.17.1:
|
||||
range-parser "~1.2.1"
|
||||
statuses "~1.5.0"
|
||||
|
||||
serialize-javascript@^1.7.0:
|
||||
serialize-javascript@^1.6.1, serialize-javascript@^1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65"
|
||||
integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==
|
||||
@@ -8330,6 +8369,14 @@ source-map-support@^0.5.12, source-map-support@~0.5.12:
|
||||
buffer-from "^1.0.0"
|
||||
source-map "^0.6.0"
|
||||
|
||||
source-map-support@~0.5.10:
|
||||
version "0.5.13"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
|
||||
integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
|
||||
dependencies:
|
||||
buffer-from "^1.0.0"
|
||||
source-map "^0.6.0"
|
||||
|
||||
source-map-url@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
|
||||
@@ -8718,6 +8765,15 @@ terser-webpack-plugin@^1.1.0:
|
||||
webpack-sources "^1.3.0"
|
||||
worker-farm "^1.7.0"
|
||||
|
||||
terser@^3.14.1:
|
||||
version "3.17.0"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2"
|
||||
integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==
|
||||
dependencies:
|
||||
commander "^2.19.0"
|
||||
source-map "~0.6.1"
|
||||
source-map-support "~0.5.10"
|
||||
|
||||
terser@^4.0.0:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391"
|
||||
|
||||
Reference in New Issue
Block a user