matrix-public-archive/test
Eric Eastwood 08254cbb49
Add a way to jump forwards and backwards to more activity in the room (seamless navigation) (#114)
Fix https://github.com/matrix-org/matrix-public-archive/issues/46
Follow-up to https://github.com/matrix-org/matrix-public-archive/pull/71

Summary:

 - Changes the "Jump to next activity in room" to actually continue you to the next 100 messages ahead. Previously, it only jumped you to the single next event in the room which meant a lot of backwards overlap each time.
    - Jumping this direction will also start your scroll position at the top of the timeline to continue reading seamlessly `?continue=top`
 - Adds "Jump to previous activity in room" to the top of the timeline to continue reading the previous part of the conversation.

[1]: There is a caveat with seamless here which is also commented on in the code:

> XXX: This is flawed in the fact that when we go `/messages?dir=b` it could  backfill messages which will fill up the response before we perfectly connect and  continue from the position they were jumping from before. When `/messages?dir=f`  backfills, we won't have this problem anymore because any messages backfilled in  the forwards direction would be picked up the same going backwards.

(need forwards fill MSC)
2022-11-02 04:27:30 -05:00
..
dockerfiles Add homeserver selector to room directory landing page (#87) 2022-10-20 02:06:43 -05:00
fixtures Remove `matrix-bot-sdk` usage in tests (#15) 2022-06-09 20:44:57 -05:00
lib Add a way to jump forwards and backwards to more activity in the room (seamless navigation) (#114) 2022-11-02 04:27:30 -05:00
.eslintrc.json WIP: start of tests 2022-02-22 16:06:29 -06:00
README.md Better explain how to get the project and tests to run at this point (#19) 2022-06-10 18:52:12 -05:00
docker-compose.yml Federated homeservers in Docker for e2e tests 2022-02-22 20:25:24 -06:00
e2e-tests.js Add a way to jump forwards and backwards to more activity in the room (seamless navigation) (#114) 2022-11-02 04:27:30 -05:00

README.md

Testing

Setup

If you haven't setup matrix-public-archive yet, see the Setup section in the root README.md

Sorry, this isn't automated yet when you run the tests 🙇

$ docker pull matrixdotorg/synapse:latest
$ docker build -t matrix-public-archive-test-homeserver -f test/dockerfiles/Synapse.Dockerfile test/dockerfiles/

$ docker-compose --project-name matrix_public_archive_test -f test/docker-compose.yml up -d --no-recreate

Running the tests

$ 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:

$ npm run test-interactive

Developer utility

$ docker ps --all | grep test_hs
$ docker logs -f --tail 10 matrix_public_archive_test_hs1_1
$ docker logs -f --tail 10 matrix_public_archive_test_hs2_1

$ docker stop matrix_public_archive_test_hs1_1 matrix_public_archive_test_hs2_1
$ docker rm matrix_public_archive_test_hs1_1 matrix_public_archive_test_hs2_1