Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add `is_invite` filtering to Sliding Sync `/sync` (#17335) | Eric Eastwood | 2024-06-24 | 1 | -3/+16 |
| | | | Based on [MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575): Sliding Sync | ||||
* | Add `is_encrypted` filtering to Sliding Sync `/sync` (#17281) | Eric Eastwood | 2024-06-17 | 1 | -3/+23 |
| | | | | Based on [MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575): Sliding Sync | ||||
* | Add `stream_ordering` sort to Sliding Sync `/sync` (#17293) | Eric Eastwood | 2024-06-17 | 1 | -29/+129 |
| | | | Sort is no longer configurable and we always sort rooms by the `stream_ordering` of the last event in the room or the point where the user can see up to in cases of leave/ban/invite/knock. | ||||
* | Add `is_dm` filtering to Sliding Sync `/sync` (#17277) | Eric Eastwood | 2024-06-13 | 1 | -6/+112 |
| | | | Based on [MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575): Sliding Sync | ||||
* | Fix `newly_left` rooms not appearing if we returned early (Sliding Sync) ↵ | Eric Eastwood | 2024-06-13 | 1 | -13/+13 |
| | | | | | | | | | | | (#17301) Fix `newly_left` rooms not appearing if we returned early when `membership_snapshot_token.is_before_or_eq(to_token.room_key)`. Introduced in https://github.com/element-hq/synapse/pull/17187 (part of Sliding Sync) The tests didn't catch it because they had a small typo in it `room_id1` vs `room_id2`. Found while working on https://github.com/element-hq/synapse/pull/17293 | ||||
* | Reorganize Pydantic models and types used in handlers (#17279) | Eric Eastwood | 2024-06-10 | 1 | -172/+3 |
| | | | | | | Spawning from https://github.com/element-hq/synapse/pull/17187#discussion_r1619492779 around wanting to put `SlidingSyncBody` (parse the request in the rest layer), `SlidingSyncConfig` (from the rest layer, pass to the handler), `SlidingSyncResponse` (pass the response from the handler back to the rest layer to respond) somewhere that doesn't contaminate the imports and cause circular import issues. - Moved Pydantic parsing models to `synapse/types/rest` - Moved handler types to `synapse/types/handlers` | ||||
* | Add Sliding Sync `/sync` endpoint (initial implementation) (#17187) | Eric Eastwood | 2024-06-06 | 1 | -0/+610 |
Based on [MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575): Sliding Sync This iteration only focuses on returning the list of room IDs in the sliding window API (without sorting/filtering). Rooms appear in the Sliding sync response based on: - `invite`, `join`, `knock`, `ban` membership events - Kicks (`leave` membership events where `sender` is different from the `user_id`/`state_key`) - `newly_left` (rooms that were left during the given token range, > `from_token` and <= `to_token`) - In order for bans/kicks to not show up, you need to `/forget` those rooms. This doesn't modify the event itself though and only adds the `forgotten` flag to `room_memberships` in Synapse. There isn't a way to tell when a room was forgotten at the moment so we can't factor it into the from/to range. ### Example request `POST http://localhost:8008/_matrix/client/unstable/org.matrix.msc3575/sync` ```json { "lists": { "foo-list": { "ranges": [ [0, 99] ], "sort": [ "by_notification_level", "by_recency", "by_name" ], "required_state": [ ["m.room.join_rules", ""], ["m.room.history_visibility", ""], ["m.space.child", "*"] ], "timeline_limit": 100 } } } ``` Response: ```json { "next_pos": "s58_224_0_13_10_1_1_16_0_1", "lists": { "foo-list": { "count": 1, "ops": [ { "op": "SYNC", "range": [0, 99], "room_ids": [ "!MmgikIyFzsuvtnbvVG:my.synapse.linux.server" ] } ] } }, "rooms": {}, "extensions": {} } ``` |