mirror of https://github.com/vector-im/riot-web
Merge branch 'release-v0.9.6'
commit
3023ea5335
|
@ -3,4 +3,5 @@ node_js:
|
||||||
- 6 # node v6, to match jenkins
|
- 6 # node v6, to match jenkins
|
||||||
install:
|
install:
|
||||||
- npm install
|
- npm install
|
||||||
|
- (cd node_modules/matrix-js-sdk && npm install)
|
||||||
- (cd node_modules/matrix-react-sdk && npm run build)
|
- (cd node_modules/matrix-react-sdk && npm run build)
|
||||||
|
|
29
CHANGELOG.md
29
CHANGELOG.md
|
@ -1,3 +1,32 @@
|
||||||
|
Changes in [0.9.6](https://github.com/vector-im/riot-web/releases/tag/v0.9.6) (2017-01-16)
|
||||||
|
==========================================================================================
|
||||||
|
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.6-rc.1...v0.9.6)
|
||||||
|
|
||||||
|
* Update to matrix-js-sdk 0.9.6 for video calling fix
|
||||||
|
|
||||||
|
Changes in [0.9.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.6-rc.1) (2017-01-13)
|
||||||
|
====================================================================================================
|
||||||
|
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.5...v0.9.6-rc.1)
|
||||||
|
|
||||||
|
* Build the js-sdk in the CI script
|
||||||
|
[\#2920](https://github.com/vector-im/riot-web/pull/2920)
|
||||||
|
* Hopefully fix Windows shortcuts
|
||||||
|
[\#2917](https://github.com/vector-im/riot-web/pull/2917)
|
||||||
|
* Update README now the js-sdk has a transpile step
|
||||||
|
[\#2921](https://github.com/vector-im/riot-web/pull/2921)
|
||||||
|
* Use the role for 'toggle dev tools'
|
||||||
|
[\#2915](https://github.com/vector-im/riot-web/pull/2915)
|
||||||
|
* Enable screen sharing easter-egg in desktop app
|
||||||
|
[\#2909](https://github.com/vector-im/riot-web/pull/2909)
|
||||||
|
* make electron send email validation URLs with a nextlink of riot.im
|
||||||
|
[\#2808](https://github.com/vector-im/riot-web/pull/2808)
|
||||||
|
* add Debian Stretch install steps to readme
|
||||||
|
[\#2809](https://github.com/vector-im/riot-web/pull/2809)
|
||||||
|
* Update desktop build instructions fixes #2792
|
||||||
|
[\#2793](https://github.com/vector-im/riot-web/pull/2793)
|
||||||
|
* CSS for the delete threepid button
|
||||||
|
[\#2784](https://github.com/vector-im/riot-web/pull/2784)
|
||||||
|
|
||||||
Changes in [0.9.5](https://github.com/vector-im/riot-web/releases/tag/v0.9.5) (2016-12-24)
|
Changes in [0.9.5](https://github.com/vector-im/riot-web/releases/tag/v0.9.5) (2016-12-24)
|
||||||
==========================================================================================
|
==========================================================================================
|
||||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.4...v0.9.5)
|
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.4...v0.9.5)
|
||||||
|
|
28
README.md
28
README.md
|
@ -25,6 +25,14 @@ 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
|
over http (except localhost), so for working VoIP you will need to serve Riot
|
||||||
over https.
|
over https.
|
||||||
|
|
||||||
|
### Installation Steps 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`
|
||||||
|
|
||||||
Important Security Note
|
Important Security Note
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
|
@ -48,10 +56,14 @@ to build.
|
||||||
1. Clone the repo: `git clone https://github.com/vector-im/riot-web.git`
|
1. Clone the repo: `git clone https://github.com/vector-im/riot-web.git`
|
||||||
1. Switch to the riot-web directory: `cd riot-web`
|
1. Switch to the riot-web directory: `cd riot-web`
|
||||||
1. Install the prerequisites: `npm install`
|
1. Install the prerequisites: `npm install`
|
||||||
1. If you are using the `develop` branch of riot-web, you will probably need
|
1. If you are using the `develop` branch of vector-web, you will probably need
|
||||||
to rebuild one of the dependencies, due to
|
to rebuild some of the dependencies, due to
|
||||||
https://github.com/npm/npm/issues/3055: `(cd node_modules/matrix-react-sdk
|
https://github.com/npm/npm/issues/3055:
|
||||||
&& npm install)`
|
|
||||||
|
```
|
||||||
|
(cd node_modules/matrix-js-sdk && npm install)
|
||||||
|
(cd node_modules/matrix-react-sdk && npm install)
|
||||||
|
```
|
||||||
1. Configure the app by copying `config.sample.json` to `config.json` and
|
1. Configure the app by copying `config.sample.json` to `config.json` and
|
||||||
modifying it (see below for details)
|
modifying it (see below for details)
|
||||||
1. `npm run dist` to build a tarball to deploy. Untaring this file will give
|
1. `npm run dist` to build a tarball to deploy. Untaring this file will give
|
||||||
|
@ -233,10 +245,10 @@ Finally, build and start Riot itself:
|
||||||
disables caching, so do NOT use it in production.
|
disables caching, so do NOT use it in production.
|
||||||
1. Open http://127.0.0.1:8080/ in your browser to see your newly built Riot.
|
1. Open http://127.0.0.1:8080/ in your browser to see your newly built Riot.
|
||||||
|
|
||||||
When you make changes to `matrix-react-sdk`, you will need to run `npm run
|
When you make changes to `matrix-react-sdk` or `matrix-js-sdk`, you will need
|
||||||
build` in the relevant directory. You can do this automatically by instead
|
to run `npm run build` in the relevant directory. You can do this automatically
|
||||||
running `npm start` in the directory, to start a development builder which
|
by instead running `npm start` in the directory, to start a development builder
|
||||||
will watch for changes to the files and rebuild automatically.
|
which will watch for changes to the files and rebuild automatically.
|
||||||
|
|
||||||
If you add or remove any components from the Riot skin, you will need to rebuild
|
If you add or remove any components from the Riot skin, you will need to rebuild
|
||||||
the skin's index by running, `npm run reskindex`.
|
the skin's index by running, `npm run reskindex`.
|
||||||
|
|
|
@ -148,6 +148,8 @@ process.on('uncaughtException', function (error) {
|
||||||
|
|
||||||
electron.ipcMain.on('install_update', installUpdate);
|
electron.ipcMain.on('install_update', installUpdate);
|
||||||
|
|
||||||
|
electron.app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
|
||||||
|
|
||||||
electron.app.on('ready', () => {
|
electron.app.on('ready', () => {
|
||||||
if (vectorConfig.update_base_url) {
|
if (vectorConfig.update_base_url) {
|
||||||
console.log("Starting auto update with base URL: " + vectorConfig.update_base_url);
|
console.log("Starting auto update with base URL: " + vectorConfig.update_base_url);
|
||||||
|
|
|
@ -3,7 +3,12 @@ const spawn = require('child_process').spawn;
|
||||||
const app = require('electron').app;
|
const app = require('electron').app;
|
||||||
|
|
||||||
function run_update_exe(args, done) {
|
function run_update_exe(args, done) {
|
||||||
const updateExe = path.resolve(path.dirname(process.execPath), 'Update.exe');
|
// Invokes Squirrel's Update.exe which will do things for us like create shortcuts
|
||||||
|
// Note that there's an Update.exe in the app-x.x.x directory and one in the parent
|
||||||
|
// directory: we need to run the one in the parent directory, because it discovers
|
||||||
|
// information about the app by inspecting the directory it's run from.
|
||||||
|
const updateExe = path.resolve(path.dirname(process.execPath), '..', 'Update.exe');
|
||||||
|
console.log('Spawning `%s` with args `%s`', updateExe, args);
|
||||||
spawn(updateExe, args, {
|
spawn(updateExe, args, {
|
||||||
detached: true
|
detached: true
|
||||||
}).on('close', done);
|
}).on('close', done);
|
||||||
|
|
|
@ -72,11 +72,7 @@ const template = [
|
||||||
role: 'togglefullscreen'
|
role: 'togglefullscreen'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Toggle Developer Tools',
|
role: 'toggledevtools'
|
||||||
accelerator: process.platform == 'darwin' ? 'Alt+Command+I' : 'Ctrl+Shift+I',
|
|
||||||
click: function(item, focusedWindow) {
|
|
||||||
if (focusedWindow) focusedWindow.toggleDevTools();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
32
package.json
32
package.json
|
@ -2,7 +2,7 @@
|
||||||
"name": "riot-web",
|
"name": "riot-web",
|
||||||
"productName": "Riot",
|
"productName": "Riot",
|
||||||
"main": "electron/src/electron-main.js",
|
"main": "electron/src/electron-main.js",
|
||||||
"version": "0.9.5",
|
"version": "0.9.6",
|
||||||
"description": "A feature-rich client for Matrix.org",
|
"description": "A feature-rich client for Matrix.org",
|
||||||
"author": "Vector Creations Ltd.",
|
"author": "Vector Creations Ltd.",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
@ -27,26 +27,22 @@
|
||||||
"matrix-react-parent": "matrix-react-sdk",
|
"matrix-react-parent": "matrix-react-sdk",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"reskindex": "reskindex -h src/header",
|
"reskindex": "reskindex -h src/header",
|
||||||
"build:res": "cpx \"{src/skins/vector/fonts,src/skins/vector/img}/**\" webapp/ && cpx \"{res/media,res/vector-icons}/**\" webapp/",
|
"build:res": "node scripts/copy-res.js",
|
||||||
"build:config": "cpx config.json webapp/",
|
|
||||||
"build:emojione": "cpx \"node_modules/emojione/assets/svg/*\" webapp/emojione/svg/",
|
|
||||||
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
||||||
"build:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css --no-watch",
|
"build:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css --no-watch",
|
||||||
"build:compile": "babel --source-maps -d lib src",
|
"build:compile": "babel --source-maps -d lib src",
|
||||||
"build:bundle": "NODE_ENV=production webpack -p --progress",
|
"build:bundle": "NODE_ENV=production webpack -p --progress",
|
||||||
"build:bundle:dev": "webpack --optimize-occurence-order --progress",
|
"build:bundle:dev": "webpack --optimize-occurence-order --progress",
|
||||||
"build:electron": "npm run clean && npm run build && build -wml --ia32 --x64",
|
"build:electron": "npm run clean && npm run build && build -wml --ia32 --x64",
|
||||||
"build": "node scripts/babelcheck.js && npm run build:res && npm run build:config && npm run build:emojione && npm run build:css && npm run build:bundle",
|
"build": "node scripts/babelcheck.js && npm run build:res && npm run build:css && npm run build:bundle",
|
||||||
"build:dev": "node scripts/babelcheck.js && npm run build:res && npm run build:config && npm run build:emojione && npm run build:css && npm run build:bundle:dev",
|
"build:dev": "node scripts/babelcheck.js && npm run build:res && npm run build:css && npm run build:bundle:dev",
|
||||||
"dist": "scripts/package.sh",
|
"dist": "scripts/package.sh",
|
||||||
"start:res": "parallelshell \"cpx -w \\\"{src/skins/vector/fonts,src/skins/vector/img}/**\\\" webapp/\" \"cpx -w \\\"{res/media,res/vector-icons}/**\\\" webapp/\"",
|
"start:res": "node scripts/copy-res.js -w",
|
||||||
"start:config": "cpx -w config.json webapp/",
|
|
||||||
"start:emojione": "cpx \"node_modules/emojione/assets/svg/*\" webapp/emojione/svg/ -w",
|
|
||||||
"start:js": "webpack-dev-server -w --progress",
|
"start:js": "webpack-dev-server -w --progress",
|
||||||
"start:js:prod": "NODE_ENV=production webpack-dev-server -w --progress",
|
"start:js:prod": "NODE_ENV=production webpack-dev-server -w --progress",
|
||||||
"start:skins:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css",
|
"start:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css",
|
||||||
"start": "node scripts/babelcheck.js && parallelshell \"npm run start:emojione\" \"npm run start:res\" \"npm run start:config\" \"npm run start:js\" \"npm run start:skins:css\"",
|
"start": "node scripts/babelcheck.js && parallelshell \"npm run start:res\" \"npm run start:js\" \"npm run start:css\"",
|
||||||
"start:prod": "parallelshell \"npm run start:emojione\" \"npm run start:js:prod\" \"npm run start:skins:css\"",
|
"start:prod": "parallelshell \"npm run start:res\" \"npm run start:js:prod\" \"npm run start:css\"",
|
||||||
"clean": "rimraf build lib webapp electron/dist",
|
"clean": "rimraf build lib webapp electron/dist",
|
||||||
"prepublish": "npm run build:compile",
|
"prepublish": "npm run build:compile",
|
||||||
"test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
|
"test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
|
||||||
|
@ -66,8 +62,13 @@
|
||||||
"gfm.css": "^1.1.1",
|
"gfm.css": "^1.1.1",
|
||||||
"highlight.js": "^9.0.0",
|
"highlight.js": "^9.0.0",
|
||||||
"linkifyjs": "^2.1.3",
|
"linkifyjs": "^2.1.3",
|
||||||
|
<<<<<<< HEAD
|
||||||
"matrix-js-sdk": "0.7.2",
|
"matrix-js-sdk": "0.7.2",
|
||||||
"matrix-react-sdk": "0.8.4",
|
"matrix-react-sdk": "0.8.4",
|
||||||
|
=======
|
||||||
|
"matrix-js-sdk": "0.7.4",
|
||||||
|
"matrix-react-sdk": "0.8.5",
|
||||||
|
>>>>>>> release-v0.9.6
|
||||||
"modernizr": "^3.1.0",
|
"modernizr": "^3.1.0",
|
||||||
"q": "^1.4.1",
|
"q": "^1.4.1",
|
||||||
"react": "^15.4.0",
|
"react": "^15.4.0",
|
||||||
|
@ -95,9 +96,11 @@
|
||||||
"babel-preset-react": "^6.16.0",
|
"babel-preset-react": "^6.16.0",
|
||||||
"babel-preset-stage-2": "^6.17.0",
|
"babel-preset-stage-2": "^6.17.0",
|
||||||
"catw": "^1.0.1",
|
"catw": "^1.0.1",
|
||||||
|
"chokidar": "^1.6.1",
|
||||||
"cpx": "^1.3.2",
|
"cpx": "^1.3.2",
|
||||||
"css-raw-loader": "^0.1.1",
|
"css-raw-loader": "^0.1.1",
|
||||||
"electron-builder": "^10.4.1",
|
"electron-builder": "^11.2.4",
|
||||||
|
"electron-builder-squirrel-windows": "^11.2.1",
|
||||||
"emojione": "^2.2.3",
|
"emojione": "^2.2.3",
|
||||||
"expect": "^1.16.0",
|
"expect": "^1.16.0",
|
||||||
"fs-extra": "^0.30.0",
|
"fs-extra": "^0.30.0",
|
||||||
|
@ -111,6 +114,7 @@
|
||||||
"karma-phantomjs-launcher": "^1.0.0",
|
"karma-phantomjs-launcher": "^1.0.0",
|
||||||
"karma-sourcemap-loader": "^0.3.7",
|
"karma-sourcemap-loader": "^0.3.7",
|
||||||
"karma-webpack": "^1.7.0",
|
"karma-webpack": "^1.7.0",
|
||||||
|
"minimist": "^1.2.0",
|
||||||
"mkdirp": "^0.5.1",
|
"mkdirp": "^0.5.1",
|
||||||
"mocha": "^2.4.5",
|
"mocha": "^2.4.5",
|
||||||
"parallelshell": "^1.2.0",
|
"parallelshell": "^1.2.0",
|
||||||
|
@ -128,7 +132,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"appId": "im.riot.app",
|
"appId": "im.riot.app",
|
||||||
"category": "Network",
|
"category": "Network",
|
||||||
"electronVersion": "1.4.11",
|
"electronVersion": "1.4.14",
|
||||||
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
|
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
|
||||||
"asar": false,
|
"asar": false,
|
||||||
"dereference": true,
|
"dereference": true,
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
// copies the resources into the webapp directory.
|
||||||
|
//
|
||||||
|
|
||||||
|
// cpx includes globbed parts of the filename in the destination, but excludes
|
||||||
|
// common parents. Hence, "res/{a,b}/**": the output will be "dest/a/..." and
|
||||||
|
// "dest/b/...".
|
||||||
|
const COPY_LIST = [
|
||||||
|
["res/{media,vector-icons}/**", "webapp"],
|
||||||
|
["src/skins/vector/{fonts,img}/**", "webapp"],
|
||||||
|
["node_modules/emojione/assets/svg/*", "webapp/emojione/svg/"],
|
||||||
|
["./config.json", "webapp", {directwatch: 1}],
|
||||||
|
];
|
||||||
|
|
||||||
|
const parseArgs = require('minimist');
|
||||||
|
const Cpx = require('cpx');
|
||||||
|
const chokidar = require('chokidar');
|
||||||
|
|
||||||
|
const argv = parseArgs(
|
||||||
|
process.argv.slice(2), {}
|
||||||
|
);
|
||||||
|
|
||||||
|
var watch = argv.w;
|
||||||
|
var verbose = argv.v;
|
||||||
|
|
||||||
|
function errCheck(err) {
|
||||||
|
if (err) {
|
||||||
|
console.error(err.message);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function next(i, err) {
|
||||||
|
errCheck(err);
|
||||||
|
|
||||||
|
if (i >= COPY_LIST.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const ent = COPY_LIST[i];
|
||||||
|
const source = ent[0];
|
||||||
|
const dest = ent[1];
|
||||||
|
const opts = ent[2] || {};
|
||||||
|
|
||||||
|
const cpx = new Cpx.Cpx(source, dest);
|
||||||
|
|
||||||
|
if (verbose) {
|
||||||
|
cpx.on("copy", (event) => {
|
||||||
|
console.log(`Copied: ${event.srcPath} --> ${event.dstPath}`);
|
||||||
|
});
|
||||||
|
cpx.on("remove", (event) => {
|
||||||
|
console.log(`Removed: ${event.path}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const cb = (err) => {next(i+1, err)};
|
||||||
|
|
||||||
|
if (watch) {
|
||||||
|
if (opts.directwatch) {
|
||||||
|
// cpx -w creates a watcher for the parent of any files specified,
|
||||||
|
// which in the case of config.json is '.', which inevitably takes
|
||||||
|
// ages to crawl. So we create our own watcher on the files
|
||||||
|
// instead.
|
||||||
|
const copy = () => {cpx.copy(errCheck)};
|
||||||
|
chokidar.watch(source)
|
||||||
|
.on('add', copy)
|
||||||
|
.on('change', copy)
|
||||||
|
.on('ready', cb)
|
||||||
|
.on('error', errCheck);
|
||||||
|
} else {
|
||||||
|
cpx.on('watch-ready', cb);
|
||||||
|
cpx.on("watch-error", cb);
|
||||||
|
cpx.watch();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cpx.copy(cb);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
next(0);
|
|
@ -19,7 +19,8 @@ tar -C olm -xz < olm/olm-*.tgz
|
||||||
rm -r node_modules/olm
|
rm -r node_modules/olm
|
||||||
cp -r olm/package node_modules/olm
|
cp -r olm/package node_modules/olm
|
||||||
|
|
||||||
# we may be using a dev branch of react-sdk, in which case we need to build it
|
# we may be using dev branches of js-sdk and react-sdk, in which case we need to build them
|
||||||
|
(cd node_modules/matrix-js-sdk && npm run build)
|
||||||
(cd node_modules/matrix-react-sdk && npm run build)
|
(cd node_modules/matrix-react-sdk && npm run build)
|
||||||
|
|
||||||
# run the mocha tests
|
# run the mocha tests
|
||||||
|
|
|
@ -45,10 +45,8 @@ module.exports = React.createClass({
|
||||||
available or experimental in your current browser.
|
available or experimental in your current browser.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Please install <a href="https://www.google.com/chrome">Chrome</a> or
|
Please install <a href="https://www.google.com/chrome">Chrome</a> or <a href="https://getfirefox.com">Firefox</a> for
|
||||||
<a href="https://getfirefox.com">Firefox</a> for the best experience.
|
the best experience. <a href="http://apple.com/safari">Safari</a> and <a href="http://opera.com">Opera</a> work too.
|
||||||
<a href="http://apple.com/safari">Safari</a> and
|
|
||||||
<a href="http://opera.com">Opera</a> work too.
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
With your current browser, the look and feel of the application may
|
With your current browser, the look and feel of the application may
|
||||||
|
|
|
@ -174,7 +174,7 @@ limitations under the License.
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx_UserSettings_addThreepid {
|
.mx_UserSettings_threepidButton {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
padding-left: 0.5em;
|
padding-left: 0.5em;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
|
@ -127,4 +127,8 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
getDefaultDeviceDisplayName() {
|
getDefaultDeviceDisplayName() {
|
||||||
return "Riot Desktop on " + platformFriendlyName();
|
return "Riot Desktop on " + platformFriendlyName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
screenCaptureErrorString() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -196,4 +196,12 @@ export default class WebPlatform extends VectorBasePlatform {
|
||||||
return app_name + " via " + ua.getBrowser().name +
|
return app_name + " via " + ua.getBrowser().name +
|
||||||
" on " + ua.getOS().name;
|
" on " + ua.getOS().name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
screenCaptureErrorString() {
|
||||||
|
// it won't work at all if you're not on HTTPS so whine whine whine
|
||||||
|
if (!global.window || global.window.location.protocol !== "https:") {
|
||||||
|
return "You need to be using HTTPS to place a screen-sharing call.";
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue