- Jun 07, 2024
-
-
Shay authored
-
reivilibre authored
Add debug logging for when room keys are uploaded, including whether they are replacing other room keys. (#17266) Fixes: #17013 Add logging for whether room keys are replaced This is motivated by the Crypto team who need to diagnose crypto issues. The existing opentracing logging is not enough because it is not enabled for all users.
-
- Jun 06, 2024
-
-
Eric Eastwood authored
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": {} } ```
-
Erik Johnston authored
And fallback keys uploads. Only device keys need handling on master
-
Erik Johnston authored
It's just a waste of time if we won't even query the remote host as its marked as down.
-
Erik Johnston authored
Broke in https://github.com/element-hq/synapse/pull/17215
-
- Jun 05, 2024
-
-
Shay authored
-
Erik Johnston authored
c.f. #16675
-
- Jun 04, 2024
-
-
Eric Eastwood authored
Use fully-qualified `PersistedEventPosition` (`instance_name` and `stream_ordering`) when returning `RoomsForUser` to facilitate proper comparisons and `RoomStreamToken` generation. Spawning from https://github.com/element-hq/synapse/pull/17187 where we want to utilize this change
-
Andrew Morgan authored
-
dependabot[bot] authored
-
Andrew Morgan authored
-
- Jun 03, 2024
-
-
dependabot[bot] authored
Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- May 31, 2024
-
-
Erik Johnston authored
This can happen on restarts of the service, due to old rooms being pruned.
-
Erik Johnston authored
-
Erik Johnston authored
This was broken by the sentry 2.0 upgrade Broke in v1.108.0
-
- May 30, 2024
-
-
Erik Johnston authored
Otherwise things will get confused. An alternative would be to make sure that for lagging stream we don't return anything (and make sure the returned next_batch token doesn't go backwards). But that is a faff.
-
Erik Johnston authored
We try and deduplicate in two places: 1) really early on, and 2) just before we persist the event. The first case was broken due to it occuring before the profile information was added, and so it thought the event contents were different. The second case did catch it and handle it correctly, however doing so creates a redundant state group leading to bloat. Fixes #3791
-
Erik Johnston authored
Replaces all usages of `StreamIdGenerator` with `MultiWriterIdGenerator`, which is safer.
-
Erik Johnston authored
We started ensuring we only insert valid destinations: https://github.com/element-hq/synapse/pull/17240
-
Erik Johnston authored
Fixes up #17239 We need to keep the spam check within the `try/except` block. Also makes it so that we don't enter the top span twice. Also also ensures that we get the right thumbnail length.
-
- May 29, 2024
-
-
Erik Johnston authored
There is a problem with `StreamIdGenerator` where it can go backwards over restarts when a stream ID is requested but then not inserted into the DB. This is problematic if we want to land #17215, and is generally a potential cause for all sorts of nastiness. Instead of trying to fix `StreamIdGenerator`, we may as well move to `MultiWriterIdGenerator` that does not suffer from this problem (the latest positions are stored in `stream_positions` table). This involves adding SQLite support to the class. This only changes id generators that were already using `MultiWriterIdGenerator` under postgres, a separate PR will move the rest of the uses of `StreamIdGenerator` over.
-
Erik Johnston authored
This is a tree cache already, so may as well move the room ID to the front and use that
-
Erik Johnston authored
We relax this as there are use cases where this is safe, though it is still highly recommended that people avoid using it.
-
Erik Johnston authored
Currently sending a to-device message to a user ID with a dodgy destination is accepted, but then ends up spamming the logs when we try and send to the destination. An alternative would be to reject the request, but I'm slightly nervous that could break things.
-
Erik Johnston authored
Currently this causes one of then to 500.
-
Erik Johnston authored
When a module rejects a piece of media we end up trying to close the same logging context twice. Instead of fixing the existing code we refactor to use an async context manager, which is easier to write correctly.
-
- May 28, 2024
-
-
Olivier 'reivilibre authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
- May 24, 2024
-
-
Shay authored
[MSC3916](https://github.com/matrix-org/matrix-spec-proposals/blob/rav/authentication-for-media/proposals/3916-authentication-for-media.md) adds new media endpoints under `_matrix/client`. This PR adds the `/preview_url`, `/config`, and `/thumbnail` endpoints. `/download` will be added in a follow-up PR once the work for the federation `/download` endpoint is complete (see https://github.com/element-hq/synapse/pull/17172). Should be reviewable commit-by-commit.
-
- May 23, 2024
-
-
Eric Eastwood authored
This is being introduced as part of Sliding Sync but doesn't have any sliding window component. It's just a way to get E2EE events without having to sit through a big initial sync (`/sync` v2). And we can avoid encryption events being backed up by the main sync response or vice-versa. Part of some Sliding Sync simplification/experimentation. See [this discussion](https://github.com/element-hq/synapse/pull/17167#discussion_r1610495866) for why it may not be as useful as we thought. Based on: - https://github.com/matrix-org/matrix-spec-proposals/pull/3575 - https://github.com/matrix-org/matrix-spec-proposals/pull/3885 - https://github.com/matrix-org/matrix-spec-proposals/pull/3884
-
- May 22, 2024
-
-
reivilibre authored
Log exceptions when failing to auto-join new user according to the `auto_join_rooms` option. (#17176) Would have been useful for tracking down #16878. Signed-off-by:
Olivier 'reivilibre <oliverw@matrix.org>
-