From d34cb80b687caa8347211878c498e55e3083a6c7 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 21 Dec 2016 18:50:35 +0000 Subject: [PATCH 01/26] CSS for the delete threepid button --- .../vector/css/matrix-react-sdk/structures/UserSettings.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/skins/vector/css/matrix-react-sdk/structures/UserSettings.css b/src/skins/vector/css/matrix-react-sdk/structures/UserSettings.css index f48a88a9f1..427369a5c7 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/UserSettings.css +++ b/src/skins/vector/css/matrix-react-sdk/structures/UserSettings.css @@ -174,7 +174,7 @@ limitations under the License. font-size: 16px; } -.mx_UserSettings_addThreepid { +.mx_UserSettings_threepidButton { display: table-cell; padding-left: 0.5em; position: relative; From ed35a90cfb2749439a98d5963ab1cf1598fbed97 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 22 Dec 2016 14:36:05 +0000 Subject: [PATCH 02/26] Back to develop js & react sdk --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 26f939df60..3bf4c8688d 100644 --- a/package.json +++ b/package.json @@ -66,8 +66,8 @@ "gfm.css": "^1.1.1", "highlight.js": "^9.0.0", "linkifyjs": "^2.1.3", - "matrix-js-sdk": "0.7.2", - "matrix-react-sdk": "0.8.3", + "matrix-js-sdk": "matrix-org/matrix-js-sdk#develop", + "matrix-react-sdk": "matrix-org/matrix-react-sdk#develop", "modernizr": "^3.1.0", "q": "^1.4.1", "react": "^15.4.0", From ab8420f5a94ca81e89023020b7fc3433cfdd3590 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 22 Dec 2016 16:30:14 +0000 Subject: [PATCH 03/26] Bump to olm 2.1.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3bf4c8688d..7a9a82bb82 100644 --- a/package.json +++ b/package.json @@ -123,7 +123,7 @@ "webpack-dev-server": "^1.16.2" }, "optionalDependencies": { - "olm": "https://matrix.org/packages/npm/olm/olm-2.0.0.tgz" + "olm": "https://matrix.org/packages/npm/olm/olm-2.1.0.tgz" }, "build": { "appId": "im.riot.app", From bb28903c8e6370ce65e86365926df7da63e943c0 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 24 Dec 2016 01:36:00 +0000 Subject: [PATCH 04/26] fix warning page --- src/components/structures/CompatibilityPage.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/components/structures/CompatibilityPage.js b/src/components/structures/CompatibilityPage.js index dd139e6563..bae33803aa 100644 --- a/src/components/structures/CompatibilityPage.js +++ b/src/components/structures/CompatibilityPage.js @@ -45,10 +45,8 @@ module.exports = React.createClass({ available or experimental in your current browser.

- Please install Chrome or - Firefox for the best experience. - Safari and - Opera work too. + Please install Chrome or Firefox for + the best experience. Safari and Opera work too.

With your current browser, the look and feel of the application may From 9a861f46d028d4194666e65ba16633a3505a015f Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 24 Dec 2016 03:18:12 +0000 Subject: [PATCH 05/26] make electron send email validation URLs with a nextlink of riot.im rather than file:/// --- src/vector/index.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/vector/index.js b/src/vector/index.js index b791783b98..8231950b49 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -136,11 +136,20 @@ var onNewScreen = function(screen) { // click back to the client having registered. // It's up to us to recognise if we're loaded with // this URL and tell MatrixClient to resume registration. +// +// If we're in electron, we should never pass through a file:// URL otherwise +// the identity server will try to 302 the browser to it, which breaks horribly. +// so in that instance, hardcode to use riot.im/app for now instead. var makeRegistrationUrl = function() { - return window.location.protocol + '//' + - window.location.host + - window.location.pathname + - '#/register'; + if (window.location.protocol === "file:") { + return 'https://riot.im/app/#/register'; + } + else { + return window.location.protocol + '//' + + window.location.host + + window.location.pathname + + '#/register'; + } } window.addEventListener('hashchange', onHashChange); From 2b70cb436eb52f450a063a36dbb2b98d22d9d733 Mon Sep 17 00:00:00 2001 From: Kevin McDonald Date: Fri, 23 Dec 2016 22:32:16 -0700 Subject: [PATCH 06/26] add Debian Stretch install steps to readme --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index a468955bf4..f99afca1cb 100644 --- a/README.md +++ b/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 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 ======================= From f2afcc0bc89cebe9b2220fc75a537f2f91bf91bc Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 24 Dec 2016 18:13:20 +0000 Subject: [PATCH 07/26] add gnu-tar to debian electron build deps --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 50a8ff041e..54709e08b1 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,7 @@ The only platform that can build packages for all three platforms is macOS: ``` brew install wine --without-x11 brew install mono +brew install gnu-tar npm install npm run build:electron ``` From 79d164309f7926cb1c24008e464a516d7a872325 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 24 Dec 2016 18:13:33 +0000 Subject: [PATCH 08/26] empirically fix win32 shortcut in start menu --- electron/src/squirrelhooks.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron/src/squirrelhooks.js b/electron/src/squirrelhooks.js index 10fb8d9ec5..295ef5cfda 100644 --- a/electron/src/squirrelhooks.js +++ b/electron/src/squirrelhooks.js @@ -3,7 +3,7 @@ const spawn = require('child_process').spawn; const app = require('electron').app; function run_update_exe(args, done) { - const updateExe = path.resolve(path.dirname(process.execPath), '..', 'Update.exe'); + const updateExe = path.resolve(path.dirname(process.execPath), 'Update.exe'); spawn(updateExe, args, { detached: true }).on('close', done); From b0319ec0f10f870a778dccb3fe71e18cb686ac43 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 24 Dec 2016 19:32:29 +0000 Subject: [PATCH 09/26] merge --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5427b8dcfe..265cbe80fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +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) + + * make electron send email validation URLs with a nextlink of riot.im rather than file:/// + * add gnu-tar to debian electron build deps + * fix win32 shortcut in start menu + Changes in [0.9.4](https://github.com/vector-im/riot-web/releases/tag/v0.9.4) (2016-12-22) ========================================================================================== [Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.3...v0.9.4) diff --git a/package.json b/package.json index 456874a770..3f9f46e238 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "electron/src/electron-main.js", - "version": "0.9.4", + "version": "0.9.5", "description": "A feature-rich client for Matrix.org", "author": "Vector Creations Ltd.", "repository": { From 6a1af891b77f1b0c63bd1df32d0ac8c87b59dff7 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 6 Jan 2017 10:43:13 +0000 Subject: [PATCH 10/26] Use a custom script to copy resources (#2893) All of those cpx invocations were getting unwieldy, and I suspect the exotic quoting needed to run them under parallelshell was breaking things on windows. Replace the unwieldy cpx invocations with an unwieldy custom script. --- package.json | 20 +++++------ scripts/copy-res.js | 81 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 11 deletions(-) create mode 100755 scripts/copy-res.js diff --git a/package.json b/package.json index 3f9f46e238..52cc41be32 100644 --- a/package.json +++ b/package.json @@ -27,26 +27,22 @@ "matrix-react-parent": "matrix-react-sdk", "scripts": { "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:config": "cpx config.json webapp/", - "build:emojione": "cpx \"node_modules/emojione/assets/svg/*\" webapp/emojione/svg/", + "build:res": "node scripts/copy-res.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:compile": "babel --source-maps -d lib src", "build:bundle": "NODE_ENV=production webpack -p --progress", "build:bundle:dev": "webpack --optimize-occurence-order --progress", "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: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": "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:css && npm run build:bundle:dev", "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:config": "cpx -w config.json webapp/", - "start:emojione": "cpx \"node_modules/emojione/assets/svg/*\" webapp/emojione/svg/ -w", + "start:res": "node scripts/copy-res.js -w", "start:js": "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": "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:prod": "parallelshell \"npm run start:emojione\" \"npm run start:js:prod\" \"npm run start:skins:css\"", + "start:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.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:res\" \"npm run start:js:prod\" \"npm run start:css\"", "clean": "rimraf build lib webapp electron/dist", "prepublish": "npm run build:compile", "test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false", @@ -95,6 +91,7 @@ "babel-preset-react": "^6.16.0", "babel-preset-stage-2": "^6.17.0", "catw": "^1.0.1", + "chokidar": "^1.6.1", "cpx": "^1.3.2", "css-raw-loader": "^0.1.1", "electron-builder": "^10.4.1", @@ -111,6 +108,7 @@ "karma-phantomjs-launcher": "^1.0.0", "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "^1.7.0", + "minimist": "^1.2.0", "mkdirp": "^0.5.1", "mocha": "^2.4.5", "parallelshell": "^1.2.0", diff --git a/scripts/copy-res.js b/scripts/copy-res.js new file mode 100755 index 0000000000..826d9a96b3 --- /dev/null +++ b/scripts/copy-res.js @@ -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); From c5459a2f19607a5d87a783b75cabcdfa4c0abd1d Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 10 Jan 2017 18:39:21 +0000 Subject: [PATCH 11/26] Enable screen sharing easter-egg in desktop app --- electron/src/electron-main.js | 2 ++ src/vector/platform/ElectronPlatform.js | 4 ++++ src/vector/platform/WebPlatform.js | 8 ++++++++ 3 files changed, 14 insertions(+) diff --git a/electron/src/electron-main.js b/electron/src/electron-main.js index 2b135a03ed..675640a520 100644 --- a/electron/src/electron-main.js +++ b/electron/src/electron-main.js @@ -148,6 +148,8 @@ process.on('uncaughtException', function (error) { electron.ipcMain.on('install_update', installUpdate); +electron.app.commandLine.appendSwitch('--enable-usermedia-screen-capturing'); + electron.app.on('ready', () => { if (vectorConfig.update_base_url) { console.log("Starting auto update with base URL: " + vectorConfig.update_base_url); diff --git a/src/vector/platform/ElectronPlatform.js b/src/vector/platform/ElectronPlatform.js index 3b41822bda..68df88b096 100644 --- a/src/vector/platform/ElectronPlatform.js +++ b/src/vector/platform/ElectronPlatform.js @@ -127,4 +127,8 @@ export default class ElectronPlatform extends VectorBasePlatform { getDefaultDeviceDisplayName() { return "Riot Desktop on " + platformFriendlyName(); } + + screenCaptureErrorString() { + return null; + } } diff --git a/src/vector/platform/WebPlatform.js b/src/vector/platform/WebPlatform.js index c4ed4d5550..2029822b61 100644 --- a/src/vector/platform/WebPlatform.js +++ b/src/vector/platform/WebPlatform.js @@ -196,4 +196,12 @@ export default class WebPlatform extends VectorBasePlatform { return app_name + " via " + ua.getBrowser().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; + } } From b71f96e4e5de520f1bbc7166b2bbd0ba1ffae4af Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Jan 2017 10:28:04 +0000 Subject: [PATCH 12/26] Use the role for 'toggle dev tools' Let electron handle it rather than doing it ourselves --- electron/src/vectormenu.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/electron/src/vectormenu.js b/electron/src/vectormenu.js index f4d55c15a7..70ed3ac33c 100644 --- a/electron/src/vectormenu.js +++ b/electron/src/vectormenu.js @@ -72,11 +72,7 @@ const template = [ role: 'togglefullscreen' }, { - label: 'Toggle Developer Tools', - accelerator: process.platform == 'darwin' ? 'Alt+Command+I' : 'Ctrl+Shift+I', - click: function(item, focusedWindow) { - if (focusedWindow) focusedWindow.toggleDevTools(); - } + role: 'toggledevtools' } ] }, From 06718c580e49e4f506f01a1cf938889aaa6b371d Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Jan 2017 16:27:40 +0000 Subject: [PATCH 13/26] Hopefully fix Windows shortcuts * Revert https://github.com/vector-im/riot-web/commit/79d164309f7926cb1c24008e464a516d7a872325 as it seems to break shortcuts altogether * Update electron-builder (and add the squirrel windows package that the newer version now requires: it's been split out). This uses a newer version of squirrel which has some fixes for shortcuts. I'm unsure exactly what was going wrong originally in https://github.com/vector-im/riot-web/issues/2775 but #79d1643 seems to break shortcut creation as far as I can see. --- electron/src/squirrelhooks.js | 7 ++++++- package.json | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/electron/src/squirrelhooks.js b/electron/src/squirrelhooks.js index 295ef5cfda..ca0983b66e 100644 --- a/electron/src/squirrelhooks.js +++ b/electron/src/squirrelhooks.js @@ -3,7 +3,12 @@ const spawn = require('child_process').spawn; const app = require('electron').app; 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, { detached: true }).on('close', done); diff --git a/package.json b/package.json index 52cc41be32..b110b2aff6 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,8 @@ "chokidar": "^1.6.1", "cpx": "^1.3.2", "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", "expect": "^1.16.0", "fs-extra": "^0.30.0", From 97fc92b1bb01758294f304bc5ef687b307eec2ca Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Jan 2017 16:50:09 +0000 Subject: [PATCH 14/26] Update to electron 1.4.14 This pulls in the chrome change that broke geotrust ssl when the build hit 10 weeks old, so let's get this one out before we hit more disasters. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 52cc41be32..59dfe1e8dd 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "build": { "appId": "im.riot.app", "category": "Network", - "electronVersion": "1.4.11", + "electronVersion": "1.4.14", "//asar=false": "https://github.com/electron-userland/electron-builder/issues/675", "asar": false, "dereference": true, From 10f0631487589f7c0841cf049be719024150b43e Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Jan 2017 17:20:27 +0000 Subject: [PATCH 15/26] Build the js-sdk in the CI script now it's transpiled --- scripts/jenkins.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/jenkins.sh b/scripts/jenkins.sh index be8d8deebe..bd27d6e3b1 100755 --- a/scripts/jenkins.sh +++ b/scripts/jenkins.sh @@ -19,7 +19,8 @@ tar -C olm -xz < olm/olm-*.tgz rm -r 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) # run the mocha tests From 5258bf9c8455e97ce59e82150c51e31c0c681a44 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Jan 2017 17:25:58 +0000 Subject: [PATCH 16/26] Update README now the js-sdk has a transpile step --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f775434825..57cfd5cb4f 100644 --- a/README.md +++ b/README.md @@ -58,8 +58,11 @@ to build. 1. Install the prerequisites: `npm install` 1. If you are using the `develop` branch of vector-web, you will probably need to rebuild one of the dependencies, due to - https://github.com/npm/npm/issues/3055: `(cd node_modules/matrix-react-sdk - && npm install)` + https://github.com/npm/npm/issues/3055: + ``` + (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 modifying it (see below for details) 1. `npm run dist` to build a tarball to deploy. Untaring this file will give @@ -241,10 +244,10 @@ Finally, build and start Riot itself: 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. -When you make changes to `matrix-react-sdk`, you will need to run `npm run -build` in the relevant directory. You can do this automatically by instead -running `npm start` in the directory, to start a development builder which -will watch for changes to the files and rebuild automatically. +When you make changes to `matrix-react-sdk` or `matrix-js-sdk`, you will need +to run `npm run build` in the relevant directory. You can do this automatically +by instead running `npm start` in the directory, to start a development builder +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 the skin's index by running, `npm run reskindex`. From 27e311f7e8dccb0f8e3774d77b612df3beb80529 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Jan 2017 18:15:06 +0000 Subject: [PATCH 17/26] Address PR comments --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 57cfd5cb4f..ba59ea2690 100644 --- a/README.md +++ b/README.md @@ -57,8 +57,9 @@ to build. 1. Switch to the vector-web directory: `cd vector-web` 1. Install the prerequisites: `npm install` 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-js-sdk && npm install) (cd node_modules/matrix-react-sdk && npm install) From f17f103d1287ce4390505a31abc13fd1484abf42 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Jan 2017 18:19:44 +0000 Subject: [PATCH 18/26] s/build/compile/ for js sdk --- scripts/jenkins.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/jenkins.sh b/scripts/jenkins.sh index bd27d6e3b1..6ba384e1e4 100755 --- a/scripts/jenkins.sh +++ b/scripts/jenkins.sh @@ -20,7 +20,7 @@ rm -r node_modules/olm cp -r olm/package node_modules/olm # 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-js-sdk && npm run compile) (cd node_modules/matrix-react-sdk && npm run build) # run the mocha tests From 70f48343ee905f09be867207f5d8eed53f3d896d Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 11 Jan 2017 19:03:52 +0000 Subject: [PATCH 19/26] It's now just build --- scripts/jenkins.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/jenkins.sh b/scripts/jenkins.sh index 6ba384e1e4..bd27d6e3b1 100755 --- a/scripts/jenkins.sh +++ b/scripts/jenkins.sh @@ -20,7 +20,7 @@ rm -r node_modules/olm cp -r olm/package node_modules/olm # 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 compile) +(cd node_modules/matrix-js-sdk && npm run build) (cd node_modules/matrix-react-sdk && npm run build) # run the mocha tests From 0d05e607f067ccc0d6d6a6740bb004262a1ff727 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 12 Jan 2017 17:24:28 +0000 Subject: [PATCH 20/26] install js-sdk in travis too --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 1fbc4dccb7..af738bb429 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,4 +3,5 @@ node_js: - 6 # node v6, to match jenkins install: - npm install + - (cd node_modules/matrix-js-sdk && npm install) - (cd node_modules/matrix-react-sdk && npm run build) From 40545bd48e45fa8f0b40841b89e6f20c1afa9599 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 13 Jan 2017 11:15:55 +0000 Subject: [PATCH 21/26] Released react-sdk & js-sdk --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index fd7c3b12ee..823dd04d5a 100644 --- a/package.json +++ b/package.json @@ -62,8 +62,8 @@ "gfm.css": "^1.1.1", "highlight.js": "^9.0.0", "linkifyjs": "^2.1.3", - "matrix-js-sdk": "matrix-org/matrix-js-sdk#develop", - "matrix-react-sdk": "matrix-org/matrix-react-sdk#develop", + "matrix-js-sdk": "0.7.4-rc.1", + "matrix-react-sdk": "0.8.5-rc.1", "modernizr": "^3.1.0", "q": "^1.4.1", "react": "^15.4.0", From 9471c30f89ded93656ac5bd3f29a296b77a8d894 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 13 Jan 2017 11:21:08 +0000 Subject: [PATCH 22/26] Prepare changelog for v0.9.6-rc.1 --- CHANGELOG.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 265cbe80fd..0077205511 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ +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) ========================================================================================== [Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.4...v0.9.5) From e1c1937855967e0a1da57d00728b091d9dbfdec0 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 13 Jan 2017 11:21:08 +0000 Subject: [PATCH 23/26] v0.9.6-rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 823dd04d5a..ab9e36c553 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "electron/src/electron-main.js", - "version": "0.9.5", + "version": "0.9.6-rc.1", "description": "A feature-rich client for Matrix.org", "author": "Vector Creations Ltd.", "repository": { From 231306ea7ce629fe0e58cab62f038d2b6e271dc7 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 16 Jan 2017 13:24:44 +0000 Subject: [PATCH 24/26] Update js-sdk & react-sdk --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index ab9e36c553..7b2916e00b 100644 --- a/package.json +++ b/package.json @@ -62,8 +62,8 @@ "gfm.css": "^1.1.1", "highlight.js": "^9.0.0", "linkifyjs": "^2.1.3", - "matrix-js-sdk": "0.7.4-rc.1", - "matrix-react-sdk": "0.8.5-rc.1", + "matrix-js-sdk": "0.7.4", + "matrix-react-sdk": "0.8.5", "modernizr": "^3.1.0", "q": "^1.4.1", "react": "^15.4.0", From 3f3a31e475598237d0a44bd53746a06a48965bda Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 16 Jan 2017 13:26:21 +0000 Subject: [PATCH 25/26] Prepare changelog for v0.9.6 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0077205511..ee745baa1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +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) From 22060ac5a44b9d4fa66b8ffd74690588ca252297 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 16 Jan 2017 13:26:22 +0000 Subject: [PATCH 26/26] v0.9.6 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7b2916e00b..f169cf9b2f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "electron/src/electron-main.js", - "version": "0.9.6-rc.1", + "version": "0.9.6", "description": "A feature-rich client for Matrix.org", "author": "Vector Creations Ltd.", "repository": {