- Jul 26, 2021
-
-
Patrick Cloke authored
-
- Apr 14, 2021
-
-
Jonathan de Jong authored
Part of #9744 Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now. `Signed-off-by:
Jonathan de Jong <jonathan@automatia.nl>`>
-
- Feb 16, 2021
-
-
Eric Eastwood authored
- Update black version to the latest - Run black auto formatting over the codebase - Run autoformatting according to [`docs/code_style.md `](https://github.com/matrix-org/synapse/blob/80d6dc9783aa80886a133756028984dbf8920168/docs/code_style.md) - Update `code_style.md` docs around installing black to use the correct version
-
- Dec 18, 2020
-
-
Erik Johnston authored
This had two effects 1) it'd give the wrong answer and b) would iterate *all* power levels in the auth chain of each event. The latter of which can be *very* expensive for certain types of IRC bridge rooms that have large numbers of power level changes.
-
- Dec 04, 2020
-
-
Erik Johnston authored
This is so that we can choose which algorithm to use based on the room ID.
-
- Dec 02, 2020
-
-
Erik Johnston authored
We do state res with unpersisted events when calculating the new current state of the room, so that should be the only thing impacted. I don't think this is tooooo big of a deal as: 1. the next time a state event happens in the room the current state should correct itself; 2. in the common case all the unpersisted events' auth events will be pulled in by other state, so will still return the correct result (or one which is sufficiently close to not affect the result); and 3. we mostly use the state at an event to do important operations, which isn't affected by this.
-
- Sep 04, 2020
-
-
Patrick Cloke authored
-
- Jul 24, 2020
-
-
Patrick Cloke authored
-
- Jun 24, 2020
-
-
Erik Johnston authored
State res v2 across large data sets can be very CPU intensive, and if all the relevant events are in the cache the algorithm will run from start to finish within a single reactor tick. This can result in blocking the reactor tick for several seconds, which can have major repercussions on other requests. To fix this we simply add the occaisonal `sleep(0)` during iterations to yield execution until the next reactor tick. The aim is to only do this for large data sets so that we don't impact otherwise quick resolutions.=
-
- Jun 16, 2020
-
-
Dagfinn Ilmari Mannsåker authored
-
- Mar 18, 2020
-
-
Erik Johnston authored
It was originally implemented by pulling the full auth chain of all state sets out of the database and doing set comparison. However, that can take a lot work if the state and auth chains are large. Instead, lets try and fetch the auth chains at the same time and calculate the difference on the fly, allowing us to bail early if all the auth chains converge. Assuming that the auth chains do converge more often than not, this should improve performance. Hopefully.
-
- Feb 19, 2020
-
-
Erik Johnston authored
The state res v2 algorithm only cares about the difference between auth chains, so we can pass in the known common state to the `get_auth_chain` storage function so that it can ignore those events.
-
- Feb 07, 2020
-
-
Richard van der Hoff authored
... and use it in places where it's trivial to do so. This will make it easier to pass room versions into the FrozenEvent constructors.
-
- Dec 16, 2019
-
-
Richard van der Hoff authored
When we perform state resolution, check that all of the events involved are in the right room.
-
- Dec 13, 2019
-
-
Richard van der Hoff authored
When we perform state resolution, check that all of the events involved are in the right room.
-
- Jun 20, 2019
-
-
Amber Brown authored
-
- May 10, 2019
-
-
Amber Brown authored
-
- Apr 01, 2019
-
-
Richard van der Hoff authored
Collect all the things that make room-versions different to one another into one place, so that it's easier to define new room versions.
-
- Jan 25, 2019
-
-
Erik Johnston authored
-
- Nov 05, 2018
-
-
Erik Johnston authored
* Add helpers for getting prev and auth events This is in preparation for allowing the event format to change between room versions.
-
- Nov 02, 2018
-
-
Erik Johnston authored
-
- Oct 24, 2018
-
-
Erik Johnston authored
-
Erik Johnston authored
-
- Oct 16, 2018
-
-
Erik Johnston authored
-