diff --git a/.gitignore b/.gitignore index d2c24c821f..d3ad95583f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /build /cert.pem +/dist /karma-reports /key.pem /lib diff --git a/CHANGELOG.md b/CHANGELOG.md index 76d9d9e46e..be3d87d94e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,51 @@ +Changes in [0.8.4-rc.2](https://github.com/vector-im/vector-web/releases/tag/v0.8.4-rc.2) (2016-11-02) +====================================================================================================== +[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.4-rc.1...v0.8.4-rc.2) + + * Fix the version in the generated distribution package + +Changes in [0.8.4-rc.1](https://github.com/vector-im/vector-web/releases/tag/v0.8.4-rc.1) (2016-11-02) +====================================================================================================== +[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.3...v0.8.4-rc.1) + +Breaking Changes +---------------- + * End-to-end encryption now requires one-time keys to be + signed, so end-to-end encryption will not interoperate + with previous releases of vector-web. End-to-end encryption + remains in beta. + +Other Changes +------------- + * Rename the package script/output dir to 'dist' + [\#2528](https://github.com/vector-im/vector-web/pull/2528) + * Avoid errors if olm is missing + [\#2518](https://github.com/vector-im/vector-web/pull/2518) + * Put a cachebuster in the names of CSS and JS files + [\#2515](https://github.com/vector-im/vector-web/pull/2515) + * Bump to olm 2.0.0 + [\#2517](https://github.com/vector-im/vector-web/pull/2517) + * Don't include the world in the published packages + [\#2516](https://github.com/vector-im/vector-web/pull/2516) + * Use webpack to copy olm.js + [\#2514](https://github.com/vector-im/vector-web/pull/2514) + * Don't include two copies of the CSS in the tarball + [\#2513](https://github.com/vector-im/vector-web/pull/2513) + * Correct text alignment on room directory search + [\#2512](https://github.com/vector-im/vector-web/pull/2512) + * Correct spelling of 'rel' + [\#2510](https://github.com/vector-im/vector-web/pull/2510) + * readme tweaks + [\#2507](https://github.com/vector-im/vector-web/pull/2507) + * s/vector/riot/ in the readme + [\#2491](https://github.com/vector-im/vector-web/pull/2491) + * Switch to babel 6, again + [\#2480](https://github.com/vector-im/vector-web/pull/2480) + * Revert "Switch to babel 6" + [\#2472](https://github.com/vector-im/vector-web/pull/2472) + * Switch to babel 6 + [\#2461](https://github.com/vector-im/vector-web/pull/2461) + Changes in [0.8.3](https://github.com/vector-im/vector-web/releases/tag/v0.8.3) (2016-10-12) ============================================================================================ [Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.2...v0.8.3) diff --git a/README.md b/README.md index 180bcff5ce..9d1fb48c0a 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ https://riot.im/develop for those who like living dangerously. To host your own copy of Riot, the quickest bet is to use a pre-built released version of Riot: -1. Download the latest version from https://vector.im/packages/ +1. Download the latest version from https://github.com/vector-im/vector-web/releases 1. Untar the tarball on your web server 1. Move (or symlink) the vector-x.x.x directory to an appropriate name 1. If desired, copy `config.sample.json` to `config.json` and edit it @@ -54,14 +54,14 @@ to build. && npm install)` 1. Configure the app by copying `config.sample.json` to `config.json` and modifying it (see below for details) -1. `npm run package` 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 a version-specific directory containing all the files that need to go on your web server. -Note that `npm run package` is not supported on Windows, so Windows users can run `npm +Note that `npm run dist` is not supported on Windows, so Windows users can run `npm run build`, which will build all the necessary files into the `vector` directory. The version of Vector will not appear in Settings without -using the package script. You can then mount the vector directory on your +using the dist script. You can then mount the vector directory on your webserver to actually serve up the app, which is entirely static content. config.json @@ -121,10 +121,11 @@ sudo npm install nativefier -g nativefier https://riot.im/app/ ``` -krisa has a dedicated electron project at https://github.com/krisak/vector-electron-desktop -(although you should swap out the 'vector' folder for the latest vector tarball you want to run. -Get a tarball from https://vector.im/packages or build your own - see Building From Source -above). +krisa has a dedicated electron project at +https://github.com/krisak/vector-electron-desktop (although you should swap out +the 'vector' folder for the latest vector tarball you want to run. Get a +tarball from https://github.com/vector-im/vector-web/releases or build your own +- see Building From Source above). There's also a (much) older electron distribution at https://github.com/stevenhammerton/vector-desktop diff --git a/package.json b/package.json index eb8c8f5e90..7f407d4410 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "vector-web", "productName": "Riot", "main": "electron/src/electron-main.js", - "version": "0.8.3", + "version": "0.8.4-rc.2", "description": "A feature-rich client for Matrix.org", "author": "Vector Creations Ltd.", "repository": { @@ -36,7 +36,7 @@ "build:electron": "build -lwm", "build": "node scripts/babelcheck.js && npm run build:emojione && npm run build:css && npm run build:bundle", "build:dev": "npm run build:emojione && npm run build:css && npm run build:bundle:dev", - "package": "scripts/package.sh", + "dist": "scripts/package.sh", "start:emojione": "cpx \"node_modules/emojione/assets/svg/*\" vector/emojione/svg/ -w", "start:js": "webpack -w --progress --no-cache-buster", "start:js:prod": "NODE_ENV=production webpack -w --progress --no-cache-buster", diff --git a/scripts/package.sh b/scripts/package.sh index 73a1c51107..64d555533c 100755 --- a/scripts/package.sh +++ b/scripts/package.sh @@ -2,14 +2,18 @@ set -e -version=`git describe --dirty --tags || echo unknown` +if [ $# -eq 1 ]; then + version=$1 +else + version=`git describe --dirty --tags || echo unknown` +fi npm run build -mkdir -p packages +mkdir -p dist cp -r vector vector-$version echo $version > vector-$version/version -tar chvzf packages/vector-$version.tar.gz vector-$version +tar chvzf dist/vector-$version.tar.gz vector-$version rm -r vector-$version echo -echo "Packaged packages/vector-$version.tar.gz" +echo "Packaged dist/vector-$version.tar.gz" diff --git a/webpack.config.js b/webpack.config.js index ddaf0a8eba..e6a5c96c3f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -105,3 +105,12 @@ module.exports = { ], devtool: 'source-map' }; + +// olm is an optional dependency. Ignore it if it's not installed, to avoid a +// scary-looking error. +try { + require('olm'); +} catch (e) { + console.log("Olm is not installed; not shipping it"); + delete(module.exports.entry["olm"]); +}