mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-07 07:27:45 -04:00
This is needed to prevent the race condition where the invite request finished, the `/sync` one didn't fetch the new membership event yet and we send a message in the room. This message won't be encrypted for the newly invited user and will result in an UTD. I added a new integration test and I can confirm this [complement-crypto test](https://github.com/matrix-org/complement-crypto/pull/98) now passes instead of being skipped. Fixes #3622. --- * fix(sdk): force room member reload after inviting a user This is needed to prevent the race condition where the invite request finished, the `/sync` one didn't fetch the new membership event yet and we send a message in the room. This message won't be encrypted for the newly invited user and will result in an UTD. * Use `room.mark_members_missing()` instead, add integration test * Abort syncing before the test ends * Resolve nit: else after a return * Fix race condition where bob may try to join the room before the invite is received * Remove double sync
Matrix SDK integration test
Requirements
This requires a synapse backend with a ci patched configuration. You can easily get
it up and running with docker compose via:
docker compose -f assets/docker-compose.yml up -d
docker compose -f assets/docker-compose.yml logs --tail 100 -f
Note that this works also with podman compose.
Patches
You can see the patches we do to configuration (namely activate registration and
resetting rate limits), check out what assets/ci-start.sh changes.
Running
The integration tests can be run with cargo test or cargo nextest run.
The integration tests expect the environment variables HOMESERVER_URL to be the HTTP URL to
access the synapse server and HOMESERVER_DOMAIN to be set to the domain configured in
that server. If you are using the provided docker-compose.yml, the default will be fine.
Maintenance
To drop the database of your docker compose run:
docker compose -f assets/docker-compose.yml down --volumes