- Oct 14, 2020
-
-
Brendan Abolivier authored
* Make sure a retention policy is a state event * Changelog
-
Aaron authored
Fixes #8029
-
- Oct 13, 2020
-
-
Patrick Cloke authored
-
Erik Johnston authored
Should fix #3365.
-
Andrew Morgan authored
* master: 1.21.1 Explicitly install test dependencies when building deb packages (#8523)
-
- Oct 12, 2020
-
-
Christopher May-Townsend authored
Signed-off-by:
Christopher May-Townsend <(chris@maytownsend.co.uk)>
-
Andrew Morgan authored
After https://github.com/matrix-org/synapse/pull/8377, the deb packages no longer indirectly installed the `"test"` dependencies, causing debian packages to fail to build while carrying out the unit tests. This PR installs `test` dependencies explicitly when building debian packages.
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Erik Johnston authored
Currently background proccesses stream the events stream use the "minimum persisted position" (i.e. `get_current_token()`) rather than the vector clock style tokens. This is broadly fine as it doesn't matter if the background processes lag a small amount. However, in extreme cases (i.e. SyTests) where we only write to one event persister the background processes will never make progress. This PR changes it so that the `MultiWriterIDGenerator` keeps the current position of a given instance as up to date as possible (i.e using the latest token it sees if its not in the process of persisting anything), and then periodically announces that over replication. This then allows the "minimum persisted position" to advance, albeit with a small lag.
-
Andrew Morgan authored
-
- Oct 11, 2020
-
-
Samuel Philipp authored
-
- Oct 09, 2020
-
-
Patrick Cloke authored
-
Richard van der Hoff authored
This could, very occasionally, cause: ``` tests.test_visibility.FilterEventsForServerTestCase.test_large_room =============================================================================== [ERROR] Traceback (most recent call last): File "/src/tests/rest/media/v1/test_media_storage.py", line 86, in test_ensure_media_is_in_local_cache self.wait_on_thread(x) File "/src/tests/unittest.py", line 296, in wait_on_thread self.reactor.advance(0.01) File "/src/.tox/py35/lib/python3.5/site-packages/twisted/internet/task.py", line 826, in advance self._sortCalls() File "/src/.tox/py35/lib/python3.5/site-packages/twisted/internet/task.py", line 787, in _sortCalls self.calls.sort(key=lambda a: a.getTime()) builtins.ValueError: list modified during sort tests.rest.media.v1.test_media_storage.MediaStorageTests.test_ensure_media_is_in_local_cache ```
-
Mateusz Przybyłowicz authored
Signed-off-by:
Mateusz Przybyłowicz <uamfhq@gmail.com>
-
Patrick Cloke authored
-
Andrew Morgan authored
This PR allows Synapse modules making use of the `ModuleApi` to create and send non-membership events into a room. This can useful to have modules send messages, or change power levels in a room etc. Note that they must send event through a user that's already in the room. The non-membership event limitation is currently arbitrary, as it's another chunk of work and not necessary at the moment.
-
Erik Johnston authored
When pulling events out of the DB to send over replication we were not filtering by instance name, and so we were sending events for other instances.
-
Patrick Cloke authored
-
Patrick Cloke authored
All handlers now available via get_*_handler() methods on the HomeServer.
-
Patrick Cloke authored
-
- Oct 08, 2020
-
-
Hubert Chathi authored
-
Erik Johnston authored
Synapse 1.21.0rc3 (2020-10-08) ============================== Bugfixes -------- - Fix duplication of events on high traffic servers, caused by PostgreSQL `could not serialize access due to concurrent update` errors. ([\#8456](https://github.com/matrix-org/synapse/issues/8456)) Internal Changes ---------------- - Add Groovy Gorilla to the list of distributions we build `.deb`s for. ([\#8475](https://github.com/matrix-org/synapse/issues/8475))
-
Erik Johnston authored
-
Mateusz Przybyłowicz authored
Added shields directing to synapse-dev room, showing license, latest version on PyPi and supported Python versions. I've moved substitution definitions to the bottom to improve readability. Signed-off-by:
Mateusz Przybyłowicz <uamfhq@gmail.com>
-
Richard van der Hoff authored
This turns: Failed to parse config for 'myplugin': Exception('error message') into: Failed to parse config for 'myplugin': error message.
-
- Oct 07, 2020
-
-
Erik Johnston authored
-
Erik Johnston authored
We call `_update_stream_positions_table_txn` a lot, which is an UPSERT that can conflict in `REPEATABLE READ` isolation level. Instead of doing a transaction consisting of a single query we may as well run it outside of a transaction.
-
Patrick Cloke authored
-
Patrick Cloke authored
By reporting the log level of the synapse logger as a string.
-
Erik Johnston authored
We call `_update_stream_positions_table_txn` a lot, which is an UPSERT that can conflict in `REPEATABLE READ` isolation level. Instead of doing a transaction consisting of a single query we may as well run it outside of a transaction.
-
Erik Johnston authored
Currently when using multiple event persisters we (in the worst case) don't tell clients about events until all event persisters have persisted new events after the original event. This is a suboptimal, especially if one of the event persisters goes down. To handle this, we encode the position of each event persister in the room tokens so that we can send events to clients immediately. To reduce the size of the token we do two things: 1. We create a unique immutable persistent mapping between instance names and a generated small integer ID, which we can encode in the tokens instead of the instance name; and 2. We encode the "persisted upto position" of the room token and then only explicitly include instances that have positions strictly greater than that. The new tokens look something like: `m3478~1.3488~2.3489`, where the first number is the min position, and the subsequent `-` separated pairs are the instance ID to positions map. (We use `.` and `~` as separators as they're URL safe and not already used by `StreamToken`).
-
Patrick Cloke authored
-
Erik Johnston authored
-
Patrick Cloke authored
-
Richard van der Hoff authored
It seems most of these blacklisted tests do actually pass most of the time. I'm of the opinion that having them blacklisted here means there is very little incentive for us to deflake any flaky tests, and meanwhile any value in those tests is completely lost.
-
Hubert Chathi authored
This allows a user to store an offline device on the server and then restore it at a subsequent login.
-