* 'develop' of github.com:matrix-org/synapse: (76 commits)
1.12.4
Revert "Revert "Merge pull request #7315 from matrix-org/babolivier/request_token""
Revert "Merge pull request #7315 from matrix-org/babolivier/request_token"
Stop the master relaying USER_SYNC for other workers (#7318)
Config option to inhibit 3PID errors on /requestToken
Fix replication metrics when using redis (#7325)
formatting for the changelog
Another go at fixing one-word commands (#7326)
1.12.4rc1
1.12.4rc1
fix changelog name
Extend StreamChangeCache to support multiple entities per stream ID (#7303)
Extend room admin api with additional attributes (#7225)
Add ability to run replication protocol over redis. (#7040)
Do not treat display names as globs for push rules. (#7271)
Reduce logging verbosity of URL cache cleanup. (#7295)
Query missing cross-signing keys on local sig upload (#7289)
import urllib.parse when using urllib.parse.quote (#7319)
Reduce federation logging on success (#7321)
Fix changelog file
...
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.
* 'develop' of github.com:matrix-org/synapse: (199 commits)
Extend web_client_location to handle absolute URLs (#7006)
Add some benchmarks for LruCache (#6446)
Convert http.HTTPStatus objects to their int equivalent (#7188)
Reduce the number of calls to `resource.getrusage` (#7183)
Remove some `run_in_background` calls in replication code (#7203)
Revert "Revert "Merge pull request #7153 from matrix-org/babolivier/sso_whitelist_login_fallback""
Revert "Revert "Improve the UX of the login fallback when using SSO (#7152)""
Revert "Merge pull request #7153 from matrix-org/babolivier/sso_whitelist_login_fallback"
Revert "Improve the UX of the login fallback when using SSO (#7152)"
tweak changelog
1.12.3
Update docstring per review comments
Fix device list update stream ids going backward (#7158)
Fix the debian build in a better way. (#7212)
Fix changelog wording
1.12.2
Pin Pillow>=4.3.0,<7.1.0 to fix dep issue
1.12.1
review comment
1.12.1
...
... and set it everywhere it's called.
while we're here, rename it for consistency with `check_user_in_room` (and to
help check that I haven't missed any instances)
We were looking at the wrong event type (`m.room.encryption` vs
`m.room.encrypted`).
Also fixup the duplicate `EvenTypes` entries.
Introduced in #6776.
These are easier to work with than the strings and we normally have one around.
This fixes `FederationHander._persist_auth_tree` which was passing a
RoomVersion object into event_auth.check instead of a string.
Previously we tried to be clever and filter out some unnecessary event
IDs to keep the auth chain small, but that had some annoying
interactions with state res v2 so we stop doing that for now.
Implement part [MSC2228](https://github.com/matrix-org/matrix-doc/pull/2228). The parts that differ are:
* the feature is hidden behind a configuration flag (`enable_ephemeral_messages`)
* self-destruction doesn't happen for state events
* only implement support for the `m.self_destruct_after` field (not the `m.self_destruct` one)
* doesn't send synthetic redactions to clients because for this specific case we consider the clients to be able to destroy an event themselves, instead we just censor it (by pruning its JSON) in the database