mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-04-26 02:01:00 -04:00
* starting with jack-in * starting by flying tui * connecting to real server, showing info * add .env to gitignore * infrastructure for tests * display loading time for syncv2 * minor design updates * initial sync * finalise first edition of sliding sync * directly link to sliding sync and show rooms list * nicer UI, toggle logs * passing through sliding sync homeserver * separate syncs and disable v2 autostart * selecting rooms * nicer view * configurable batches and more default needed events * selecting rooms * calculate and show status info per room * precalculated room stats * restructure code to allow for cancellation of streams * finish up merge updates * fix calculation error in room list len * cleaning up system flow * fixing sync up * new multi-view API * move sliding sync in separate module * fixing format * adding and clearning views * expose filters and timeline limits * renamed * adding room subscriptions to sliding sync * update summary * live fetching and subscriptions in jack-in * subscribe to selected room * starting to switch to tuireal - using example * status bar and first linkup * re-adding rooms * implementing port for customised update event * showing details and timeline * fix formatting * cleaner UI, updating details quickly * make it green * implement other Ops * proper handling of invalidation * saving sliding sync results to db, too * saving new prev_batch field if given * split events and timeline * cleaning up * live updates * upgrading to latest ruma and matrix-sdk * Update tui-logger to fix the broken build * fixing latest ruma sliding-sync-branch updates * feat: first set of ffi sliding sync * expose sliding sync via FFI * implement un-/subscribe * implement view state updates * updating to latest JSON format and ruma update * implementing room selecting for new data model * fixing room selection * fixing feature flag requirements for sliding-sync * fixing style, clippy and docs * style(sliding-sync): fixing rust format styles * fix(ffi): fixing sliding sync merge failure * fix(jack-in): update jack-in to latest ruma * fix(sliding-sync): need to have a version set before polling proxy * expose sliding sync builder over ffi * add SlidingSyncViewBuilder * add forgotten changes on sdk itself * new file logger feature on jack for deeper logging * fix(http-client): log the raw request we are sending out * feat(sliding-sync): better logging * fix(sliding-sync): switch to full-listen after reaching live state in full-sync and make sure we replace the correct entries * feat(ffi): expose sliding sync view ranges * fix(ffi): fixing sliding sync start_sync loop to actually loop * feat(sliding-sync): allow lookup of room data * feat(sliding-sync-ffi): fetching name of room * feat(ffi): expose unread_notifications of rooms * feat(ffi): stoppable spawn for sliding sync * fix(ffi): expose has_unread_notifications on room * feat(sliding-sync): latest room message * fix(sliding-sync): update to latest ruma layout * doc(sliding-sync): adding docs to builder fns * feat(sliding-sync): extra signal on the view to inform about general updates * fix(sync-v4-ffi): expose new callbacks via ffi * fix(sliding-sync): reduce default required states to make things faster * fix(sliding-sync): fix build params * feat(jack-in): extended instrumentation * fix(sliding-sync): unbreak faulty feature-gate * fix(sliding-sync-ffi): mut where mut is due * fix(sdk): allow separate homeserver on every request to unbreak using send on client while in sliding sync on a proxy * fix(jack-in): update to latest dependencies, that work * feat(ffi): helper to patch sliding sync room into regular room * style(jack-in): cargo fmt * fix(sliding-sync): Update to latest ruma changes * fix(sliding-sync): fix missing FFI updates to latest ruma * feat(sliding-sync)!: simplify stream cancellation, cancel ffi sync if already existing * fix: timeline backwards pagination must work without synctoken * fix(sliding-sync): clarify order of messaes in alive TL; pick correct last item * fix: update view delegate api for clarity * style(jack-in): fix cargo warnings * feat(sliding-sync): update room details * fix(sliding-sync): only update room info selectively when given * fix(sliding-sync-ffi): convert and store counts as u32, check against 0 for has notificaitons * style: cargo fmt, file endings and a few other minor style fixes * docs(jack-in): improving CLI and Readme * feat(sliding-sync): allow setting of required event_states on viewbuilder * style(sliding-sync): docs and minor fixes * style(sliding-sync): various clippy fixes * style(jack-in): clippy suggestions applied * fix(sliding-sync): Delegate becomes observer * test(sdk): adding test for request config * docs: Fixing copyright header * style(ffi): Nicer naming of params for observer * fix(ffi): sliding sync is not optional for now * fix(sdk): remove superflusous tracing instrumentation * fix(sdk): use structured logging * fix(jack-in): removed unneded log import * fix(jack-in): use server_name rather than deprecated user_id on ClientBuilder * style: typo and clippy * style(sliding-sync): clippy and formatting * fix(sliding-sync): cleaning up minor syntax issues * fix: remove unneded feature-definition section * fix(sliding-sync): minor fixes as per review * fix(sliding-sync): Make Builders owned * fix(sliding-sync): more minor style improvements * fix(sliding-sync): minor style improvements * fix(sliding-sync): remove homeserver from RequestConfig, use specific internal fn instead Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
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
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 expect environment variables HOMESERVER_URL 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, the default will be fine.
Maintenance
To drop the database of your docker-compose run:
docker-compose -f assets/docker-compose.yml stop
docker volume rm -f assets_marix-rust-sdk-ci-data