- Oct 26, 2020
-
-
Dirk Klimpel authored
-
Erik Johnston authored
#8567 started a span for every background process. This is good as it means all Synapse code that gets run should be in a span (unless in the sentinel logging context), but it means we generate about 15x the number of spans as we did previously. This PR attempts to reduce that number by a) not starting one for send commands to Redis, and b) deferring starting background processes until after we're sure they're necessary. I don't really know how much this will help.
-
- Oct 23, 2020
-
-
Erik Johnston authored
-
Erik Johnston authored
This can happen if e.g. the room invited into is no longer on the server (or if all users left the room).
-
- Oct 22, 2020
-
-
Erik Johnston authored
-
- Oct 21, 2020
-
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Will Hunt authored
* Limit AS transactions to 100 events * Update changelog.d/8606.feature Co-authored-by:
Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> * Add tests * Update synapse/appservice/scheduler.py Co-authored-by:
Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
-
Patrick Cloke authored
This should (theoretically) allow for using the TCP code with a different output type and make it easier to use the JSON code with files / console.
-
- Oct 20, 2020
-
-
Andrew Morgan authored
-
- Oct 19, 2020
-
-
Richard van der Hoff authored
We need to make sure we are readu for the `set_cache_factor` callback.
-
Richard van der Hoff authored
* Add `DeferredCache.get_immediate` method A bunch of things that are currently calling `DeferredCache.get` are only really interested in the result if it's completed. We can optimise and simplify this case. * Remove unused 'default' parameter to DeferredCache.get() * another get_immediate instance
-
Patrick Cloke authored
-
- Oct 16, 2020
-
-
Richard van der Hoff authored
rather than have everything that instantiates an LruCache manage metrics separately, have LruCache do it itself.
-
- Oct 15, 2020
-
-
Jonathan de Jong authored
This implements a more standard API for instantiating a homeserver and moves some of the dependency injection into the test suite. More concretely this stops using `setattr` on all `kwargs` passed to `HomeServer`.
-
Will Hunt authored
Optionally sends typing, presence, and read receipt information to appservices.
-
- Oct 14, 2020
-
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Erik Johnston authored
These are tests for #8439
-
Erik Johnston authored
* Fix outbound federaion with multiple event persisters. We incorrectly notified federation senders that the minimum persisted stream position had advanced when we got an `RDATA` from an event persister. Notifying of federation senders already correctly happens in the notifier, so we just delete the offending line. * Change some interfaces to use RoomStreamToken. By enforcing use of `RoomStreamTokens` we make it less likely that people pass in random ints that they got from somewhere random.
-
- Oct 13, 2020
-
-
Richard van der Hoff authored
Update `EventCreationHandler.create_event` to accept an auth_events param, and use it in `_locally_reject_invite` instead of reinventing the wheel.
-
Richard van der Hoff authored
-
Richard van der Hoff authored
Support returning a new event dict from `check_event_allowed`.
-
Richard van der Hoff authored
this is always the same as requester.access_token_id.
-
Patrick Cloke authored
-
Erik Johnston authored
Should fix #3365.
-
- Oct 12, 2020
-
-
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.
-
- 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 ```
-
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.
-
Patrick Cloke authored
All handlers now available via get_*_handler() methods on the HomeServer.
-
- Oct 08, 2020
-
-
Hubert Chathi authored
-
- Oct 07, 2020
-
-
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
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.
-
Hubert Chathi authored
This allows a user to store an offline device on the server and then restore it at a subsequent login.
-
Richard van der Hoff authored
Lots of different module apis is not easy to maintain. Rather than adding yet another ModuleApi(hs, hs.get_auth_handler()) incantation, first add an hs.get_module_api() method and use it where possible.
-
- Oct 06, 2020
-
-
Hubert Chathi authored
-
Richard van der Hoff authored
* Optimise and test state fetching for 3p event rules Getting all the events at once is much more efficient than getting them individually * Test that 3p event rules can modify events
-