diff --git a/README.md b/README.md index bfd7370..6c79e93 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,41 @@ the messages from a Matrix homeserver. Re-using Hydrogen gets us pretty and native(to Element) looking styles and keeps the maintenance burden of supporting more event types in Hydrogen. -## Prerequisites +## Setup + +### Prerequisites - Node.js v16 - We only need v16 because it includes [`require('crypto').webcrypto.subtle`](https://nodejs.org/docs/latest-v16.x/api/webcrypto.html#cryptosubtle) for [Matrix encryption (olm) which can't be disabled in Hydrogen](https://github.com/vector-im/hydrogen-web/issues/579) yet. + +### Get the app running + +```sh +# We need to use a draft branch of Hydrogen to get the custom changes needed for +# `matrix-public-archive` to run. Hopefully soon, we can get all of the custom +# changes mainlined so this isn't necessary. +$ git clone git@github.com:vector-im/hydrogen-web.git +$ cd hydrogen-web +$ git checkout madlittlemods/matrix-public-archive-scratch-changes +$ yarn install +$ yarn build:sdk +$ cd target/ && npm link && cd .. +$ cd .. + +# Now clone and install the `matrix-public-archive` project +$ git clone git@github.com:matrix-org/matrix-public-archive.git +$ cd matrix-public-archive +$ npm install +$ npm link hydrogen-view-sdk +# If you just want to run the tests,you can skip to the "Running tests" section at this point +$ cp config/config.default.json config/config.user-overrides.json +# Edit config/config.user-overrides.json so that it points to your homeserver +# and has an access token + +# Now we can finally start the app +$ npm start-dev +``` + +## Running tests + +See the [testing readme](./test/README.md). diff --git a/test/README.md b/test/README.md index 27f329e..0040cec 100644 --- a/test/README.md +++ b/test/README.md @@ -1,12 +1,32 @@ +# Testing + +## Setup + +If you haven't setup `matrix-public-archive` yet, see the [_Setup_ section in the root `README.md`](../README.md#setup) + +Sorry, this isn't automated yet when you run the tests 🙇 + ```sh $ docker pull matrixdotorg/synapse:latest $ docker build -t matrix-public-archive-test-homeserver -f test/dockerfiles/Synapse.Dockerfile test/dockerfiles/ -``` -```sh $ docker-compose --project-name matrix_public_archive_test -f test/docker-compose.yml up -d --no-recreate ``` +## Running the tests + +```sh +$ npm run test +``` + +Or if you want to keep `matrix-public-archive` server running after the tests run and explore the output from the interactive URL's printed on the screen, use: + +```sh +$ npm run test-interactive +``` + +### Developer utility + ```sh $ docker ps --all | grep test_hs $ docker logs -f --tail 10 matrix_public_archive_test_hs1_1