Skip to content

Commit

Permalink
Merge pull request #1675 from vector-im/rav/olmify_develop
Browse files Browse the repository at this point in the history
Another go at enabling olm on vector.im/develop
  • Loading branch information
dbkr authored Jun 20, 2016
2 parents 654429d + bb820be commit f4a3e9a
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 28 deletions.
11 changes: 3 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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`
Expand Down Expand Up @@ -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

Expand All @@ -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.
30 changes: 10 additions & 20 deletions webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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: [
Expand Down Expand Up @@ -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: [
Expand All @@ -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$/)
);
}

0 comments on commit f4a3e9a

Please sign in to comment.