Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2020-06-25 | Add some extra debug logging to state res | Erik Johnston | 1 | -0/+18 | |
2020-06-24 | Yield during large v2 state res. (#7735) | Erik Johnston | 5 | -11/+62 | |
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.= | |||||
2020-06-24 | add org.matrix.login.jwt so that m.login.jwt can be deprecated (#7675) | Sorunome | 3 | -4/+12 | |
2020-06-23 | Set Content-Length for Metrics requests (#7730) | Christian Svensson | 2 | -1/+5 | |
HTTP requires the response to contain a Content-Length header unless chunked encoding is being used. Prometheus metrics endpoint did not set this, causing software such as prometheus-proxy to not be able to scrape synapse for metrics. Signed-off-by: Christian Svensson <blue@cmd.nu> | |||||
2020-06-23 | Sync ignored table names in synapse_port_db to current database schema (#7717) | Patrick Cloke | 2 | -4/+13 | |
2020-06-22 | Allow local media to be marked as safe from being quarantined. (#7718) | Patrick Cloke | 7 | -107/+119 | |
2020-06-22 | Convert directory handler to async/await (#7727) | Patrick Cloke | 3 | -40/+33 | |
2020-06-19 | Speed up state res v2 across large state differences. (#7725) | Erik Johnston | 2 | -1/+3 | |
2020-06-19 | Fixed typo by adding a 'g' to PostgreSQL (#7724) | Jesse Riddle | 2 | -1/+2 | |
2020-06-18 | add a comment | Richard van der Hoff | 1 | -0/+2 | |
2020-06-17 | Convert the typing handler to async/await. (#7679) | Patrick Cloke | 3 | -24/+19 | |
2020-06-17 | Require parameterized package version to be at least 0.7.0. (#7680) | Oleg Girko | 2 | -1/+3 | |
Older versions of `parameterized` package have no `parameterized_class` decorator. This decorator is used in tests. Signed-off-by: Oleg Girko <ol@infoserver.lv> | |||||
2020-06-17 | Fix unread counts in sync | Brendan Abolivier | 3 | -2/+3 | |
* Always return an unread_count in get_unread_event_push_actions_by_room_for_user * Don't always expect unread_count to be there so we don't take out sync entirely if something goes wrong | |||||
2020-06-17 | Ignore the UI Auth sessions when porting from sqlite to postgresql (#7711) | Patrick Cloke | 2 | -7/+13 | |
2020-06-17 | Add support for using rust-python-jaeger-reporter (#7697) | Erik Johnston | 3 | -3/+40 | |
2020-06-17 | Support running multiple media repos. (#7706) | Erik Johnston | 4 | -4/+28 | |
This requires a new config option to specify which media repo should be responsible for running background jobs to e.g. clear out expired URL preview caches. | |||||
2020-06-17 | Fetch from the r0 media path instead of the unspecced v1. (#7714) | Patrick Cloke | 3 | -5/+6 | |
2020-06-16 | fix broken link in sample config (#7712) | Richard van der Hoff | 3 | -2/+3 | |
2020-06-16 | Refactor getting replication updates from database. (#7636) | Erik Johnston | 9 | -72/+251 | |
The aim here is to make it easier to reason about when streams are limited and when they're not, by moving the logic into the database functions themselves. This should mean we can kill of `db_query_to_update_function` function. | |||||
2020-06-16 | Fix "argument of type 'ObservableDeferred' is not iterable" error (#7708) | Patrick Cloke | 3 | -5/+7 | |
2020-06-16 | Add instructions for authing with Keycloak via OpenID (#7659) | hungrymonkey | 2 | -0/+45 | |
2020-06-16 | Include a user agent in federation requests. (#7677) | Patrick Cloke | 5 | -4/+43 | |
2020-06-16 | Replace all remaining six usage with native Python 3 equivalents (#7704) | Dagfinn Ilmari Mannsåker | 73 | -237/+111 | |
2020-06-16 | Convert the device message and pagination handlers to async/await. (#7678) | Patrick Cloke | 3 | -31/+19 | |
2020-06-16 | Create a ListenerConfig object (#7681) | Richard van der Hoff | 13 | -167/+248 | |
This ended up being a bit more invasive than I'd hoped for (not helped by generic_worker duplicating some of the code from homeserver), but hopefully it's an improvement. The idea is that, rather than storing unstructured `dict`s in the config for the listener configurations, we instead parse it into a structured `ListenerConfig` object. | |||||
2020-06-16 | Fix changelog wording v1.15.1 github/release-v1.15.1 release-v1.15.1 | Brendan Abolivier | 1 | -2/+2 | |
2020-06-16 | 1.15.1 | Brendan Abolivier | 5 | -3/+17 | |
2020-06-16 | Wrap register_device coroutine in an ensureDeferred (#7684) | Andrew Morgan | 4 | -5/+62 | |
Fixes https://github.com/matrix-org/synapse/issues/7683 Broke in: #7649 We had a `yield` acting on a coroutine. To be fair this one is a bit difficult to notice as there's a function in the middle that just passes the coroutine along. | |||||
2020-06-15 | Ensure the body is a string before comparing push rules. (#7701) | Patrick Cloke | 3 | -11/+33 | |
2020-06-15 | Ensure etag is a string for GET room_keys/version response (#7691) | Hubert Chathi | 3 | -0/+3 | |
2020-06-15 | Update m.id.phone to use 'phone' instead of 'number' (#7687) | Andrew Morgan | 2 | -2/+11 | |
The spec [states](https://matrix.org/docs/spec/client_server/r0.6.1#phone-number) that `m.id.phone` requires the field `country` and `phone`. In Synapse, we've been enforcing `country` and `number`. I am not currently sure whether this affects any client implementations. This issue was introduced in #1994. | |||||
2020-06-15 | Fix "There was no active span when trying to log." error (#7698) | Erik Johnston | 2 | -0/+2 | |
2020-06-15 | Enable 3PID add/bind/unbind endpoints on r0 routes | Brendan Abolivier | 2 | -3/+4 | |
2020-06-15 | Discard RDATA from already seen positions. (#7648) | Patrick Cloke | 6 | -27/+175 | |
2020-06-15 | Replace iteritems/itervalues/iterkeys with native versions. (#7692) | Patrick Cloke | 47 | -263/+184 | |
2020-06-15 | Incorporate review | Brendan Abolivier | 1 | -15/+11 | |
2020-06-12 | Fix warnings about losing log context during UI auth. (#7688) | Patrick Cloke | 2 | -1/+2 | |
2020-06-12 | Fix a typo when comparing the URI & method during UI Auth. (#7689) | Patrick Cloke | 2 | -1/+2 | |
2020-06-12 | Lint | Brendan Abolivier | 1 | -3/+8 | |
2020-06-12 | Incorporate review bits | Brendan Abolivier | 3 | -22/+20 | |
2020-06-12 | Pre-populate the unread_count column | Brendan Abolivier | 1 | -0/+5 | |
2020-06-12 | Don't update the schema version | Brendan Abolivier | 2 | -1/+1 | |
2020-06-12 | Use attr instead of a dict | Brendan Abolivier | 1 | -21/+31 | |
2020-06-12 | Lint | Brendan Abolivier | 1 | -3/+1 | |
2020-06-12 | Test that a mark_unread action updates the right counter when using a slave ↵ | Brendan Abolivier | 1 | -0/+15 | |
store | |||||
2020-06-12 | Remove debug logging | Brendan Abolivier | 1 | -2/+0 | |
2020-06-12 | Test that a mark_unread action updates the right counter | Brendan Abolivier | 1 | -5/+16 | |
2020-06-12 | Fix summary rotation | Brendan Abolivier | 1 | -12/+35 | |
2020-06-11 | Remove "user_id" from GET /presence. (#7606) | Will Hunt | 2 | -1/+4 | |
2020-06-11 | Log for invalid values of notif | Brendan Abolivier | 1 | -0/+6 | |
2020-06-11 | Fix SQL | Brendan Abolivier | 1 | -3/+3 | |
2020-06-11 | Fix schema update | Brendan Abolivier | 1 | -1/+1 | |
2020-06-11 | Lint | Brendan Abolivier | 1 | -1/+2 | |
2020-06-11 | Save the count of unread messages to event_push_summary | Brendan Abolivier | 3 | -20/+53 | |
2020-06-11 | Actually act on mark_unread | Brendan Abolivier | 1 | -3/+7 | |
2020-06-11 | 1.15.0 v1.15.0 github/release-v1.15.0 release-v1.15.0 | Brendan Abolivier | 3 | -1/+13 | |
2020-06-11 | Increase the default SAML session expirary time to 15 minutes. (#7664) | Patrick Cloke | 3 | -3/+4 | |
2020-06-11 | fix typo in sample_config.yaml (#7652) | wondratsch | 3 | -2/+3 | |
Just a simple typo fix. Signed-off-by: wondratsch 28294257+wondratsch@users.noreply.github.com | |||||
2020-06-10 | Appease mypy | Brendan Abolivier | 1 | -1/+1 | |
2020-06-10 | Lint | Brendan Abolivier | 1 | -3/+3 | |
2020-06-10 | Use temporary prefixes as per the MSC | Brendan Abolivier | 3 | -3/+5 | |
2020-06-10 | Take out a lock before modifying _CACHES (#7663) | Richard van der Hoff | 2 | -5/+16 | |
This should fix #7610. | |||||
2020-06-10 | Changelog | Brendan Abolivier | 2 | -1/+1 | |
2020-06-10 | Fix tests | Brendan Abolivier | 2 | -17/+21 | |
2020-06-10 | Use a more efficient way of calculating counters | Brendan Abolivier | 1 | -23/+20 | |
2020-06-10 | Add option to enable encryption by default for new rooms (#7639) | Andrew Morgan | 11 | -36/+275 | |
Fixes https://github.com/matrix-org/synapse/issues/2431 Adds config option `encryption_enabled_by_default_for_room_type`, which determines whether encryption should be enabled with the default encryption algorithm in private or public rooms upon creation. Whether the room is private or public is decided based upon the room creation preset that is used. Part of this PR is also pulling out all of the individual instances of `m.megolm.v1.aes-sha2` into a constant variable to eliminate typos ala https://github.com/matrix-org/synapse/pull/7637 Based on #7637 | |||||
2020-06-10 | Add a new unread_counter to sync responses | Brendan Abolivier | 3 | -3/+28 | |
2020-06-10 | Clean-up the fallback login code. (#7657) | Patrick Cloke | 4 | -64/+130 | |
2020-06-10 | Rename dont_push into mark_unread | Brendan Abolivier | 2 | -5/+4 | |
2020-06-09 | Fix some attributions | Brendan Abolivier | 1 | -3/+3 | |
2020-06-09 | Update CHANGES.md | Richard van der Hoff | 1 | -1/+1 | |
fix a typo | |||||
2020-06-09 | 1.15.0rc1 v1.15.0rc1 | Brendan Abolivier | 45 | -44/+67 | |
2020-06-09 | Revert "1.15.0rc1" | Brendan Abolivier | 45 | -67/+44 | |
This reverts commit 8587b0426fa4e65992aaa47158e991fa1797d3fb. | |||||
2020-06-09 | 1.15.0rc1 | Brendan Abolivier | 45 | -44/+67 | |
2020-06-09 | Fix bug in account data replication stream. (#7656) | Erik Johnston | 6 | -4/+35 | |
* Ensure account data stream IDs are unique. The account data stream is shared between three tables, and the maximum allocated ID was tracked in a dedicated table. Updating the max ID happened outside the transaction that allocated the ID, leading to a race where if the server was restarted then the same ID could be allocated but the max ID failed to be updated, leading it to be reused. The ID generators have support for tracking across multiple tables, so we may as well use that instead of a dedicated table. * Fix bug in account data replication stream. If the same stream ID was used in both global and room account data then the getting updates for the replication stream would fail due to `heapq.merge(..)` trying to compare a `str` with a `None`. (This is because you'd have two rows like `(534, '!room')` and `(534, None)` from the room and global account data tables). Fix is just to order by stream ID, since we don't rely on the ordering beyond that. The bug where stream IDs can be reused should be fixed now, so this case shouldn't happen going forward. Fixes #7617 | |||||
2020-06-08 | Convert the registration handler to async/await. (#7649) | Patrick Cloke | 3 | -68/+48 | |
2020-06-08 | Accept device information at the login fallback endpoint. (#7629) | Patrick Cloke | 2 | -35/+121 | |
2020-06-05 | Convert user directory handler and related classes to async/await. (#7640) | Patrick Cloke | 6 | -111/+78 | |
2020-06-05 | Add an option to disable autojoin for guest accounts (#6637) | Travis Ralston | 5 | -1/+33 | |
Fixes https://github.com/matrix-org/synapse/issues/3177 | |||||
2020-06-05 | Clarifications to the admin api documentation (#7647) | Richard van der Hoff | 8 | -89/+126 | |
* Clarify how to authenticate * path params are not the same thing as query params * Fix documentation for `/_synapse/admin/v2/users/<user_id>` | |||||
2020-06-05 | Update to the stable SSO prefix for UI Auth. (#7630) | Patrick Cloke | 2 | -1/+2 | |
2020-06-05 | Fix type information on `assert_*_is_admin` methods (#7645) | Richard van der Hoff | 3 | -23/+19 | |
These things don't return Deferreds. | |||||
2020-06-05 | Remove some unused constants. (#7644) | Richard van der Hoff | 2 | -4/+1 | |
2020-06-05 | Typo fixes. | Patrick Cloke | 2 | -2/+2 | |
2020-06-05 | Allow new users to be registered via the admin API even if the monthly ↵ | Dirk Klimpel | 4 | -16/+172 | |
active user limit has been reached (#7263) | |||||
2020-06-05 | Add device management to admin API (#7481) | Dirk Klimpel | 5 | -0/+920 | |
- Admin is able to - change displaynames - delete devices - list devices - get device informations Fixes #7330 | |||||
2020-06-05 | Attempt to fix PhoneHomeStatsTestCase.test_performance_100 being flaky. (#7634) | Patrick Cloke | 2 | -19/+24 | |
2020-06-05 | Support CS API v0.6.0 (#6585) | Andrew Morgan | 2 | -15/+2 | |
2020-06-05 | Add support for webp thumbnailing (#7586) | WGH | 3 | -36/+101 | |
Closes #4382 Signed-off-by: Maxim Plotnikov <wgh@torlan.ru> | |||||
2020-06-05 | Performance improvements and refactor of Ratelimiter (#7595) | Andrew Morgan | 19 | -230/+322 | |
While working on https://github.com/matrix-org/synapse/issues/5665 I found myself digging into the `Ratelimiter` class and seeing that it was both: * Rather undocumented, and * causing a *lot* of config checks This PR attempts to refactor and comment the `Ratelimiter` class, as well as encourage config file accesses to only be done at instantiation. Best to be reviewed commit-by-commit. | |||||
2020-06-04 | Fix encryption algorithm typos in tests/comments (#7637) | Andrew Morgan | 4 | -10/+11 | |
@uhoreg has confirmed these were both typos. They are only in comments and tests though, rather than anything critical. Introduced in: * https://github.com/matrix-org/synapse/pull/7157 * https://github.com/matrix-org/synapse/pull/5726 | |||||
2020-06-04 | Advertise the token login type when OpenID Connect is enabled. (#7631) | Patrick Cloke | 2 | -8/+4 | |
2020-06-03 | Cleanups to the OpenID Connect integration (#7628) | Richard van der Hoff | 8 | -324/+428 | |
docs, default configs, comments. Nothing very significant. | |||||
2020-06-03 | async/await get_user_id_by_threepid (#7620) | Andrew Morgan | 4 | -28/+29 | |
Based on #7619 async's `get_user_id_by_threepid` and its call stack. | |||||
2020-06-03 | Check the changelog number in check-newsfragment (#7623) | Richard van der Hoff | 2 | -4/+17 | |
2020-06-03 | Replace instances of reactor pumping with get_success. (#7619) | Andrew Morgan | 3 | -121/+152 | |
Calls `self.get_success` on all deferred methods instead of abusing `self.pump()`. This has the benefit of working with coroutines, as well as checking that method execution completed successfully. There are also a few small cleanups that I made in the process. | |||||
2020-06-03 | Check if the localpart is reserved for guests earlier in the registration ↵ | Brendan Abolivier | 2 | -9/+10 | |
flow (#7625) This is so the user is warned about the username not being valid as soon as possible, rather than only once they've finished UIA. | |||||
2020-06-03 | Fix exceptions when fetching events from a down host. (#7622) | Erik Johnston | 2 | -1/+2 | |
We already caught some exceptions, but not all. | |||||
2020-06-03 | `synctl restart` should start synapse if it wasn't running (#7624) | Richard van der Hoff | 2 | -1/+2 | |
2020-06-03 | Switch back to upstream dh-virtualenv (#7621) | Richard van der Hoff | 2 | -1/+2 | |
Upstream have merged our changes (https://github.com/spotify/dh-virtualenv/pull/300), so let's switch back to it instead of using our fork. | |||||
2020-06-03 | Fix typo in PR link github/release-v1.14.0 release-v1.14.0 | Richard van der Hoff | 1 | -1/+1 | |
2020-06-03 | Clean up exception handling in SAML2ResponseResource (#7614) | Richard van der Hoff | 7 | -61/+77 | |
* Expose `return_html_error`, and allow it to take a Jinja2 template instead of a raw string * Clean up exception handling in SAML2ResponseResource * use the existing code in `return_html_error` instead of re-implementing it (giving it a jinja2 template rather than inventing a new form of template) * do the exception-catching in the REST layer rather than in the handler layer, to make sure we catch all exceptions. | |||||
2020-06-02 | update grafana dashboard | Richard van der Hoff | 1 | -88/+525 | |
2020-06-01 | Mention #synapse:matrix.org in README troubleshooting (#7603) | Andrew Morgan | 2 | -1/+5 | |
Just in case people head straight to the troubleshooting section and find themselves at a dead end. | |||||
2020-06-01 | Advertise Python 3.8 support in setup.py (#7602) | Andrew Morgan | 2 | -0/+2 | |
Synapse supports Python 3.8. We've been using it in CI for a while now. | |||||
2020-06-01 | Fix a bug in automatic user creation with m.login.jwt. (#7585) | Olof Johansson | 3 | -7/+162 | |
2020-06-01 | Process cross-signing keys when resyncing device lists (#7594) | Brendan Abolivier | 4 | -18/+119 | |
It looks like `user_device_resync` was ignoring cross-signing keys from the results received from the remote server. This patch fixes this, by processing these keys using the same process `_handle_signing_key_updates` does (and effectively factor that part out of that function). | |||||
2020-06-01 | Email notifications for new users when creating via the Admin API. (#7267) | Dirk Klimpel | 3 | -0/+92 | |
2020-06-01 | Improve performance of _get_state_groups_from_groups_txn (#7567) | Dagfinn Ilmari Mannsåker | 2 | -6/+7 | |
The query keeps showing up in my slow query log. This changes the plan under the top-level Sort node from ``` WindowAgg (cost=280335.88..292963.15 rows=561212 width=80) (actual time=138.651..160.562 rows=27112 loops=1) -> Sort (cost=280335.88..281738.91 rows=561212 width=84) (actual time=138.597..140.622 rows=27112 loops=1) Sort Key: state_groups_state.type, state_groups_state.state_key, state_groups_state.state_group Sort Method: quicksort Memory: 4581kB -> Nested Loop (cost=2.83..226745.22 rows=561212 width=84) (actual time=21.548..47.657 rows=27112 loops=1) -> HashAggregate (cost=2.27..3.28 rows=101 width=8) (actual time=21.526..21.535 rows=20 loops=1) Group Key: state.state_group -> CTE Scan on state (cost=0.00..2.02 rows=101 width=8) (actual time=21.280..21.493 rows=20 loops=1) -> Index Scan using state_groups_state_type_idx on state_groups_state (cost=0.56..2189.40 rows=5557 width=84) (actual time=0.005..0.991 rows=1356 loops=20) Index Cond: (state_group = state.state_group) ``` to ``` Nested Loop (cost=2.83..226745.22 rows=561212 width=84) (actual time=24.194..52.834 rows=27112 loops=1) -> HashAggregate (cost=2.27..3.28 rows=101 width=8) (actual time=24.130..24.138 rows=20 loops=1) Group Key: state.state_group -> CTE Scan on state (cost=0.00..2.02 rows=101 width=8) (actual time=23.887..24.113 rows=20 loops=1) -> Index Scan using state_groups_state_type_idx on state_groups_state (cost=0.56..2189.40 rows=5557 width=84) (actual time=0.016..1.159 rows=1356 loops=20) Index Cond: (state_group = state.state_group) ``` This cuts the execution time from ~190ms to ~130ms, i.e. a reduction of ~30%. The full plans are visualised at https://explain.depesz.com/s/WpbT and https://explain.depesz.com/s/KlEk Signed-off-by: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> | |||||
2020-06-01 | Convert groups local and server to async/await. (#7600) | Patrick Cloke | 3 | -190/+150 | |
2020-06-01 | Don't fail all of an iteration of the device list retry loop on error (#7609) | Brendan Abolivier | 2 | -15/+22 | |
Without this patch, if an error happens which isn't caught by `user_device_resync`, then `_maybe_retry_device_resync` would fail, without retrying the next users in the iteration. This patch fixes this so that it now only logs an error in this case. | |||||
2020-06-01 | Use upsert when inserting read receipts (#7607) | Dagfinn Ilmari Mannsåker | 2 | -9/+5 | |
Fixes #7469 Signed-off-by: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> | |||||
2020-05-30 | Update OpenBSD installation instructions (#7587) | hashashini | 2 | -22/+41 | |
Synapse was added to the ports tree in Nov, 2019 by Renaud Allard (https://marc.info/?l=openbsd-ports&m=157417848805329). With the release of OpenBSD 6.7 on May 22, 2020 a pre-compiled binary is available as well. | |||||
2020-05-29 | Fix 'FederationGroupsRoomsServlet' API when group has room server is not in. ↵ | Erik Johnston | 2 | -8/+13 | |
(#7599) | |||||
2020-05-29 |