From 1ea1d29d3ee80b49d71f95318907584751bb7725 Mon Sep 17 00:00:00 2001 From: Germain Souquet Date: Mon, 29 Mar 2021 15:59:21 +0100 Subject: [PATCH 1/2] Move native node modules documentation to element-desktop --- docs/native-node-modules.md | 59 +------------------------------------ 1 file changed, 1 insertion(+), 58 deletions(-) diff --git a/docs/native-node-modules.md b/docs/native-node-modules.md index 850573e38..5440628be 100644 --- a/docs/native-node-modules.md +++ b/docs/native-node-modules.md @@ -1,60 +1,3 @@ # Native Node Modules -For some features, the desktop version of Element can make use of native Node -modules. These allow Riot to integrate with the desktop in ways that a browser -cannot. - -While native modules enable powerful new features, they must be complied for -each operating system. For official Element releases, we will always build these -modules from source to ensure we can trust the compiled output. In the future, -we may offer a pre-compiled path for those who want to use these features in a -custom build of Element without installing the various build tools required. - -Do note that compiling a module for a particular operating system -(Linux/macOS/Windows) will need to be done on that operating system. -Cross-compiling from a host OS for a different target OS may be possible, but -we don't support this flow with Element dependencies at this time. - -At the moment, we need to make some changes to the Element release process before -we can support native Node modules at release time, so these features are -currently disabled by default until that is resolved. The following sections -explain the manual steps you can use with a custom build of Element to enable -these features if you'd like to try them out. - -## Adding Seshat for search in E2E encrypted rooms - -Seshat is a native Node module that adds support for local event indexing and -full text search in E2E encrypted rooms. - -Since Seshat is written in Rust, the Rust compiler and related tools need to be -installed before installing Seshat itself. To install Rust please consult the -official Rust [documentation](https://www.rust-lang.org/tools/install). - -Seshat also depends on the SQLCipher library to store its data in encrypted form -on disk. You'll need to install it via your OS package manager. - -After installing the Rust compiler and SQLCipher, Seshat support can be added -using yarn inside the `electron_app/` directory: - - yarn add matrix-seshat - -You will have to rebuild the native libraries against electron's version of -of node rather than your system node, using the `electron-build-env` tool. -This is also needed to when pulling in changes to Seshat using `yarn link`. -Again from the `electron_app/` directory: - - yarn add electron-build-env - -Recompiling Seshat itself can be done like so: - - yarn run electron-build-env -- --electron 6.1.1 -- neon build matrix-seshat --release - -Please make sure to include all the `--` as well as the `--release` command line -switch at the end. Modify your electron version accordingly depending on the -version that is installed on your system. - -After this is done the Electron version of Element can be run from the main folder -as usual using: - - yarn electron - +This documentation moved to the [`element-desktop`](https://github.com/vector-im/element-desktop/blob/develop/docs/native-node-modules.md) repository From a9db513352884f8818f5f2683aae0b0641c08893 Mon Sep 17 00:00:00 2001 From: Germain Date: Mon, 29 Mar 2021 18:07:45 +0100 Subject: [PATCH 2/2] Update docs/native-node-modules.md Co-authored-by: J. Ryan Stinnett --- docs/native-node-modules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/native-node-modules.md b/docs/native-node-modules.md index 5440628be..eaf84ecae 100644 --- a/docs/native-node-modules.md +++ b/docs/native-node-modules.md @@ -1,3 +1,3 @@ # Native Node Modules -This documentation moved to the [`element-desktop`](https://github.com/vector-im/element-desktop/blob/develop/docs/native-node-modules.md) repository +This documentation moved to the [`element-desktop`](https://github.com/vector-im/element-desktop/blob/develop/docs/native-node-modules.md) repository.