- May 05, 2020
-
-
Brendan Abolivier authored
-
Patrick Cloke authored
-
Erik Johnston authored
This caused `prev_state_ids` to be incorrect if the state event was not replacing an existing state entry.
-
- May 04, 2020
-
-
Brendan Abolivier authored
An update of check-manifest shone some light on some issues with MANIFEST.in, specifically that we didn't ignore/prune the contrib directory, and that we were using prune instead of exclude for files. This fixes both issues. Fixes #7403
-
Erik Johnston authored
We forgot to set the password on the subscriber connection, as well as not calling super methods for overridden connectionMade/connectionLost functions.
-
- May 01, 2020
-
-
Patrick Cloke authored
-
Patrick Cloke authored
-
Richard van der Hoff authored
populate_stats_process_rooms was added in #5971 / v1.4.0; current_state_events_membership was added in #5706 / v1.3.0. Fixes #7380.
-
Erik Johnston authored
For in memory streams when fetching updates on workers we need to query the source of the stream, which currently is hard coded to be master. This PR threads through the source instance we received via `POSITION` through to the update function in each stream, which can then be passed to the replication client for in memory streams.
-
Erik Johnston authored
We move the processing of typing and federation replication traffic into their handlers so that `Stream.current_token()` points to a valid token. This allows us to remove `get_streams_to_replicate()` and `stream_positions()`.
-
Andrew Morgan authored
-
Andrew Morgan authored
Further improvements to requesting the public rooms list on a homeserver which has it set to private (#7368)
-
Richard van der Hoff authored
Hopefully this is no worse than what we have on master...
-
- Apr 30, 2020
-
-
Patrick Cloke authored
By persisting the user interactive authentication sessions to the database, this fixes situations where a user hits different works throughout their auth session and also allows sessions to persist through restarts of Synapse.
-
Andrew Morgan authored
-
- Apr 29, 2020
-
-
Erik Johnston authored
This is primarily for allowing us to send those commands from workers, but for now simply allows us to ignore echoed RDATA/POSITION commands that we sent (we get echoes of sent commands when using redis). Currently we log a WARNING on the master process every time we receive an echoed RDATA.
-
Erik Johnston authored
For direct TCP connections we need the master to relay REMOTE_SERVER_UP commands to the other connections so that all instances get notified about it. The old implementation just relayed to all connections, assuming that sending back to the original sender of the command was safe. This is not true for redis, where commands sent get echoed back to the sender, which was causing master to effectively infinite loop sending and then re-receiving REMOTE_SERVER_UP commands that it sent. The fix is to ensure that we only relay to *other* connections and not to the connection we received the notification from. Fixes #7334.
-
Richard van der Hoff authored
* Factor out functions for injecting events into database I want to add some more flexibility to the tools for injecting events into the database, and I don't want to clutter up HomeserverTestCase with them, so let's factor them out to a new file. * Rework TestReplicationDataHandler This wasn't very easy to work with: the mock wrapping was largely superfluous, and it's useful to be able to inspect the received rows, and clear out the received list. * Fix AssertionErrors being thrown by EventsStream Part of the problem was that there was an off-by-one error in the assertion, but also the limit logic was too simple. Fix it all up and add some tests.
-
Andrew Morgan authored
-
- Apr 28, 2020
-
-
Andrew Morgan authored
-
Manuel Stahl authored
Signed-off-by:
Manuel Stahl <manuel.stahl@awesome-technologies.de>
-
Erik Johnston authored
Specifically some tests for the typing stream, which means we test streams that fetch missing updates via HTTP (rather than via the DB). We also shuffle things around a bit so that we create two separate `HomeServer` objects, rather than trying to insert a slaved store into places. Note: `test_typing.py` is heavily inspired by `test_receipts.py`
-
Richard van der Hoff authored
When running the UTs against a postgres deatbase, we need to set the collation correctly.
-
Erik Johnston authored
Currently we never write to streams from workers, but that will change soon
-
- Apr 27, 2020
-
-
Richard van der Hoff authored
We need to wait for the renewals to finish, so that the metrics are correctly reported.
-
Brendan Abolivier authored
It doesn't seem to be documented anywhere and means that you suddenly start losing metrics without any obvious reason when you go from monolith to workers (e.g. #7312).
-
lub authored
Signed-off-by:
Simon Körner <git@lubiland.de>
-
Brendan Abolivier authored
If the admin adds a `.yaml` file that's either empty or doesn't parse into a dict to a config directory (e.g. `conf.d` for debs installs), stuff like https://github.com/matrix-org/synapse/issues/7322 would happen. This PR checks that the file is correctly parsed into a dict, or ignores it with a warning if it parses into any other type (including `None` for empty files). Fixes https://github.com/matrix-org/synapse/issues/7322
-
- Apr 24, 2020
-
-
Patrick Cloke authored
-
Patrick Cloke authored
-
Richard van der Hoff authored
-
- Apr 23, 2020
-
-
Brendan Abolivier authored
This reverts commit 1adf6a55.
-
Brendan Abolivier authored
This reverts commit 6f431936, reversing changes made to 0d775fcc.
-
- Apr 22, 2020
-
-
Richard van der Hoff authored
Long story short: if we're handling presence on the current worker, we shouldn't be sending USER_SYNC commands over replication. In an attempt to figure out what is going on here, I ended up refactoring some bits of the presencehandler code, so the first 4 commits here are non-functional refactors to move this code slightly closer to sanity. (There's still plenty to do here :/). Suggest reviewing individual commits. Fixes (I hope) #7257.
-
Brendan Abolivier authored
Adds a request_token_inhibit_errors configuration flag (disabled by default) which, if enabled, change the behaviour of all /requestToken endpoints so that they return a 200 and a fake sid if the 3PID was/was not found associated with an account (depending on the endpoint), instead of an error. Co-Authored-By:
Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
-
Erik Johnston authored
-
Richard van der Hoff authored
I messed this up last time I tried (#7239 / e13c6c7a).
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Richard van der Hoff authored
First some background: StreamChangeCache is used to keep track of what "entities" have changed since a given stream ID. So for example, we might use it to keep track of when the last to-device message for a given user was received [1], and hence whether we need to pull any to-device messages from the database on a sync [2]. Now, it turns out that StreamChangeCache didn't support more than one thing being changed at a given stream_id (this was part of the problem with #7206). However, it's entirely valid to send to-device messages to more than one user at a time. As it turns out, this did in fact work, because *some* methods of StreamChangeCache coped ok with having multiple things changing on the same stream ID, and it seems we never actually use the methods which don't work on the stream change caches where we allow multiple changes at the same stream ID. But that feels horribly fragile, hence: let's update StreamChangeCache to properly support this, and add some typing and some more tests while we're at it. [1]: https://github.com/matrix-org/synapse/blob/release-v1.12.3/synapse/storage/data_stores/main/deviceinbox.py#L301 [2]: https://github.com/matrix-org/synapse/blob/release-v1.12.3/synapse/storage/data_stores/main/deviceinbox.py#L47-L51
-