* 'develop' of github.com:matrix-org/synapse: (75 commits)
Add instance name to RDATA/POSITION commands (#7364)
Don't relay REMOTE_SERVER_UP cmds to same conn. (#7352)
Fix limit logic for EventsStream (#7358)
Fix fallback value for account_threepid_delegates.email (#7316)
Clean up admin api docs (#7361)
Return total number of users and profile attributes in admin users endpoint (#6881)
Add some replication tests (#7278)
Fix typo 'datbases' in ConfigError
Fix collation for postgres for unit tests (#7359)
Run replication streamers on workers (#7146)
Fix incorrect metrics reporting for renew_attestations (#7344)
Document monitoring workers (#7357)
Add some explanation to application_services.md (#7091)
Don't crash when one of the configuration files is empty (#7341)
Add documentation to the sample config about the templates for SSO. (#7343)
Convert some of the federation handler methods to async/await. (#7338)
changelog
Fix EventsStream raising assertions when it falls behind
1.12.4
Make it clear that the limit for an update_function is a target
...
Add changelog
Save retrieved keys to the db
lint
Fix and de-brittle remote result dict processing
Use query_user_devices instead, assume only master, self_signing key types
Make changelog more useful
Remove very specific exception handling
Wrap get_verify_key_from_cross_signing_key in a try/except
Note that _get_e2e_cross_signing_verify_key can raise a SynapseError
lint
Add comment explaining why this is useful
Only fetch master and self_signing key types
Fix log statements, docstrings
Remove extraneous items from remote query try/except
lint
Factor key retrieval out into a separate function
Send device updates, modeled after SigningKeyEduUpdater._handle_signing_key_updates
Update method docstring
This changes the replication protocol so that the server does not send down `RDATA` for rows that happened before the client connected. Instead, the server will send a `POSITION` and clients then query the database (or master out of band) to get up to date.
* Pull Sentinel out of LoggingContext
... and drop a few unnecessary references to it
* Factor out LoggingContext.current_context
move `current_context` and `set_context` out to top-level functions.
Mostly this means that I can more easily trace what's actually referring to
LoggingContext, but I think it's generally neater.
* move copy-to-parent into `stop`
this really just makes `start` and `stop` more symetric. It also means that it
behaves correctly if you manually `set_log_context` rather than using the
context manager.
* Replace `LoggingContext.alive` with `finished`
Turn `alive` into `finished` and make it a bit better defined.
A lot of the things we log at INFO are now a bit superfluous, so lets
make them DEBUG logs to reduce the amount we log by default.
Co-Authored-By: Brendan Abolivier <babolivier@matrix.org>
Co-authored-by: Brendan Abolivier <github@brendanabolivier.com>
I messed this up a bit in #6805, but fortunately we weren't actually doing
anything with the room_version so it didn't matter that it was a str not a RoomVersion.