From 664f809362916cb53c985db5a351d6deb6a6a9e3 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 20 Jun 2016 10:47:16 +0100 Subject: [PATCH 1/2] webpack: Use `require` to look for olm Since https://github.com/matrix-org/matrix-js-sdk/pull/141, the jenkins build does pull in the olm module, but because it's using npm v2, buries it deep in node_modules. Rather than using the `fs` module to hunt for it, just try to `require` it in the webpack config. --- webpack.config.js | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/webpack.config.js b/webpack.config.js index 297881f33..78282d188 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,8 +2,6 @@ var path = require('path'); var webpack = require('webpack'); var ExtractTextPlugin = require("extract-text-webpack-plugin"); -var olm_path = path.resolve('./node_modules/olm'); - module.exports = { module: { preLoaders: [ @@ -45,11 +43,6 @@ module.exports = { // same goes for js-sdk "matrix-js-sdk": path.resolve('./node_modules/matrix-js-sdk'), - - // matrix-js-sdk will use olm if it is available, - // but does not explicitly depend on it. Pull it - // in from node_modules if it's there. - olm: olm_path, }, }, plugins: [ @@ -65,20 +58,17 @@ module.exports = { // olm.js includes "require 'fs'", which is never // executed in the browser. Ignore it. - new webpack.IgnorePlugin(/^fs$/, /node_modules\/olm$/) + new webpack.IgnorePlugin(/^fs$/, /\/olm$/) ], devtool: 'source-map' }; -// ignore olm.js if it's not installed. -(function() { - var fs = require('fs'); - try { - fs.lstatSync(olm_path); - console.log("Olm is installed; including it in webpack bundle"); - } catch (e) { - module.exports.plugins.push( - new webpack.IgnorePlugin(/^olm$/) - ); - } -}) (); +// ignore olm.js if it's not installed, to avoid a scary-looking error. +try { + require('olm'); + console.log("Olm is installed; including it in webpack bundle"); +} catch (e) { + module.exports.plugins.push( + new webpack.IgnorePlugin(/^olm$/) + ); +} From bb820bebd183bbed0735deb71b7b95fd2bbdc061 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 20 Jun 2016 10:52:56 +0100 Subject: [PATCH 2/2] README: fix some lies Take out a few misleading things from the readme. --- README.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ba8ad940a..cd2ef75df 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Building From Source If you do wish to build vector from source: 1. Install or update `node.js` so that your `npm` is at least at version `2.0.0` -1. Clone the repo: `git clone https://github.com/vector-im/vector-web.git` +1. Clone the repo: `git clone https://github.com/vector-im/vector-web.git` 1. Switch to the vector directory: `cd vector-web` 1. Install the prerequisites: `npm install` 1. If you are using the `develop` branch of vector, you will probably need to @@ -60,8 +60,6 @@ Much of the functionality in Vector is actually in the `matrix-react-sdk` and easy to track the `develop` branches in git and to make local changes without having to manually rebuild each time. -[Be aware that there may be problems with this process under npm version 3.] - First clone and build `matrix-js-sdk`: 1. `git clone git@github.com:matrix-org/matrix-js-sdk.git` @@ -123,10 +121,7 @@ day-to-day use; it is experimental and should be considered only as a proof-of-concept. See https://matrix.org/jira/browse/SPEC-162 for an overview of the current progress. -To build a version of vector with support for end-to-end encryption, install -the olm module with `npm i https://matrix.org/packages/npm/olm/olm-0.1.0.tgz` -before running `npm start`. The olm library will be detected and used if -available. +Vector is built with support for end-to-end encryption by default. To enable encryption for a room, type @@ -142,4 +137,4 @@ Note that historical encrypted messages cannot currently be decoded - history is therefore lost when the page is reloaded. There is currently no visual indication of whether encryption is enabled for a -room, or whether a particular message was encrypted. +room.