summary refs log tree commit diff
path: root/synapse/storage (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | typosMatthew Hodgson2020-04-111-1/+1
| | |
| * | bg update to clear out duplicate outbound_device_list_pokes (#7193)Richard van der Hoff2020-04-074-13/+181
| | | | | | | | | | | | We seem to have some duplicates, which could do with being cleared out.
| * | Convert delete_url_cache_media to async/await. (#7241)Patrick Cloke2020-04-071-2/+2
| | |
| * | Remove sent outbound device list pokes from the database (#7192)Richard van der Hoff2020-04-072-2/+23
| | | | | | | | | They just get in the way.
| * | Fix race in replication (#7226)Erik Johnston2020-04-071-20/+20
| | | | | | | | | | | | Fixes a race between handling `POSITION` and `RDATA` commands. We do this by simply linearizing handling of them.
| * | Remove stream before/after debug log lines (#7207)Andrew Morgan2020-04-061-2/+0
| | |
| * | Merge pull request #7190 from matrix-org/rav/one_bg_update_at_a_timeRichard van der Hoff2020-04-033-59/+76
| |\ \ | | | | | | | | Only run one background update at a time
| | * | Update docstring per review commentsRichard van der Hoff2020-04-031-1/+1
| | | |
| | * | review commentRichard van der Hoff2020-04-021-1/+1
| | | |
| | * | Only run one background update at a timeRichard van der Hoff2020-03-313-27/+68
| | | |
| | * | Make do_next_background_update return a boolRichard van der Hoff2020-03-311-7/+5
| | | | | | | | | | | | | | | | returning a None or an int that we don't use is confusing.
| | * | Make `has_completed_background_updates` asyncRichard van der Hoff2020-03-311-4/+3
| | | | | | | | | | | | | | | | (Almost) everywhere that uses it is happy with an awaitable.
| | * | Remove unused `start_background_update`Richard van der Hoff2020-03-311-21/+0
| | | | | | | | | | | | | | | | This was only used in a unit test, so let's just inline it in the test.
| * | | Fix device list update stream ids going backward (#7158)Richard van der Hoff2020-04-031-2/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Occasionally we could get a federation device list update transaction which looked like: ``` [ {'edu_type': 'm.device_list_update', 'content': {'user_id': '@user:test', 'device_id': 'D2', 'prev_id': [], 'stream_id': 12, 'deleted': True}}, {'edu_type': 'm.device_list_update', 'content': {'user_id': '@user:test', 'device_id': 'D1', 'prev_id': [12], 'stream_id': 11, 'deleted': True}}, {'edu_type': 'm.device_list_update', 'content': {'user_id': '@user:test', 'device_id': 'D3', 'prev_id': [11], 'stream_id': 13, 'deleted': True}} ] ``` Having `stream_ids` which are lower than `prev_ids` looks odd. It might work (I'm not actually sure), but in any case it doesn't seem like a reasonable thing to expect other implementations to support.
| * | Fill in the 'default' field for user-defined push rules (#6639)Karlinde2020-03-311-0/+1
| | | | | | | | | Signed-off-by: Karl Linderhed <git@karlinde.se>
| * | Only setdefault for signatures if device has key_json (#7177)Andrew Morgan2020-03-311-10/+14
| | |
| * | Fix use of async/await in media code (#7184)Patrick Cloke2020-03-311-2/+2
| | |
| * | Rewrite prune_old_outbound_device_pokes for efficiency (#7159)Richard van der Hoff2020-03-301-13/+58
| | | | | | | | | | | | make sure we clear out all but one update for the user
| * | Transfer alias mappings when joining an upgraded room (#6946)Andrew Morgan2020-03-301-3/+23
| | |
| * | Ensure is_verified on /_matrix/client/r0/room_keys/keys is a boolean (#7150)Andrew Morgan2020-03-271-1/+2
| | |
| * | Only import sqlite3 when type checking (#7155)David Vo2020-03-271-2/+5
| | | | | | | | | | | | Fixes: #7127 Signed-off-by: David Vo <david@vovo.id.au>
| * | Move catchup of replication streams to worker. (#7024)Erik Johnston2020-03-255-199/+201
| | | | | | | | | 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.
| * | Clean up some LoggingContext stuff (#7120)Richard van der Hoff2020-03-242-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | Remove concept of a non-limited stream. (#7011)Erik Johnston2020-03-203-16/+31
| | |
| * | Change device list streams to have one row per ID (#7010)Erik Johnston2020-03-192-65/+72
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add 'device_lists_outbound_pokes' as extra table. This makes sure we check all the relevant tables to get the current max stream ID. Currently not doing so isn't problematic as the max stream ID in `device_lists_outbound_pokes` is the same as in `device_lists_stream`, however that will change. * Change device lists stream to have one row per id. This will make it possible to process the streams more incrementally, avoiding having to process large chunks at once. * Change device list replication to match new semantics. Instead of sending down batches of user ID/host tuples, send down a row per entity (user ID or host). * Newsfile * Remove handling of multiple rows per ID * Fix worker handling * Comments from review
| | * | Comments from reviewErik Johnston2020-03-181-8/+19
| | | |
| | * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2020-03-021-1/+3
| | |\ \ | | | | | | | | | | | | | | | erikj/fixup_devices_stream
| | * | | Remove handling of multiple rows per IDErik Johnston2020-02-281-34/+1
| | | | |
| | * | | Change device list replication to match new semantics.Erik Johnston2020-02-281-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Instead of sending down batches of user ID/host tuples, send down a row per entity (user ID or host).
| | * | | Change device lists stream to have one row per id.Erik Johnston2020-02-281-18/+41
| | | | | | | | | | | | | | | | | | | | | | | | | This will make it possible to process the streams more incrementally, avoiding having to process large chunks at once.
| | * | | Add 'device_lists_outbound_pokes' as extra table.Erik Johnston2020-02-281-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure we check all the relevant tables to get the current max stream ID. Currently not doing so isn't problematic as the max stream ID in `device_lists_outbound_pokes` is the same as in `device_lists_stream`, however that will change.
* | | | | Move sql schema delta files to their new locationAndrew Morgan2020-05-284-0/+0
| | | | |
* | | | | Fix sytest CIAndrew Morgan2020-05-281-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Switch sytest-synapse to sytest-dinsic * Be sure to invalidate our caches properly! * Remove duplicate encryption state key definition * Remove old config option name in comment * Make dinsic the default in merge_base_branch
* | | | | Only import sqlite3 when type checkingDavid Vo2020-05-281-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #7127 Signed-off-by: David Vo <david@vovo.id.au>
* | | | | Fix another instanceAndrew Morgan2020-05-281-5/+7
| | | | |
* | | | | Only setdefault for signatures if device has key_jsonAndrew Morgan2020-05-281-5/+7
| | | | |
* | | | | apply lintingAndrew Morgan2020-05-141-2/+0
| | | | |
* | | | | Add caches for get_profile_{displayname,avatar_url}Andrew Morgan2020-05-011-0/+3
| | | | |
* | | | | Improve get auth chain difference algorithm. (#7095)Andrew Morgan2020-03-241-1/+149
|\| | | | | | | | | | | | | | | | | | | | | | | | * commit '4a17a647a': Improve get auth chain difference algorithm. (#7095)
| * | | | Improve get auth chain difference algorithm. (#7095)Erik Johnston2020-03-181-1/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge commit '6a3504636' into dinsic-release-v1.12.xAndrew Morgan2020-03-242-0/+62
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6a3504636': (29 commits) Revert "Add options to disable setting profile info for prevent changes. (#7053)" Populate the room version from state events (#7070) Fix buggy condition in account validity handler (#7074) Use innerText instead of innerHTML Add type annotations and comments to auth handler (#7063) Lint Put the file in the templates directory Update wording and config Changelog Move the default SAML2 error HTML to a dedicated file Refactor a bit Also don't fail on aliases events in this case Lint Changelog Also don't filter out events sent by ignored users when checking state visibility Fix condition Don't filter out dummy events when we're checking the visibility of state Update sample_config.yaml Update synapse/config/registration.py lint, fix tests ...
| * | | | Populate the room version from state events (#7070)Brendan Abolivier2020-03-162-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes #7065 This is basically the same as https://github.com/matrix-org/synapse/pull/6847 except it tries to populate events from `state_events` rather than `current_state_events`, since the latter might have been cleared from the state of some rooms too early, leaving them with a `NULL` room version.
* | | | | Merge pull request #7058 from matrix-org/babolivier/saml_error_htmlAndrew Morgan2020-03-241-2/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6640460d0': Rephrase default message Hopefully mypy is happy now Attempt at appeasing the gods of mypy Lint Changelog Update sample config SAML2: render a comprehensible error page if something goes wrong
| * | | | Hopefully mypy is happy nowBrendan Abolivier2020-03-101-2/+8
| | | | |
* | | | | Merge pull request #7055 from ↵Andrew Morgan2020-03-241-17/+17
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | matrix-org/babolivier/get_time_of_last_push_action_before * commit '14b2ebe76': Changelog Fix undefined `room_id` in `make_summary_text` Move `get_time_of_last_push_action_before` to the `EventPushActionsWorkerStore`
| * | | | Merge pull request #7055 from ↵Brendan Abolivier2020-03-091-17/+17
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | matrix-org/babolivier/get_time_of_last_push_action_before Move get_time_of_last_push_action_before to the EventPushActionsWorkerStore
| | * | | | Move `get_time_of_last_push_action_before` to the `EventPushActionsWorkerStore`Brendan Abolivier2020-03-091-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #7054 I also had a look at the rest of the functions in `EventPushActionsStore` and in the push notifications send code and it looks to me like there shouldn't be any other method with this issue in this part of the codebase.
* | | | | | Remove special auth and redaction rules for aliases events in experimental ↵Andrew Morgan2020-03-241-2/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | room ver. (#7037) * commit '06eb5cae0': Remove special auth and redaction rules for aliases events in experimental room ver. (#7037)
| * | | | | Remove special auth and redaction rules for aliases events in experimental ↵Patrick Cloke2020-03-091-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | room ver. (#7037)
* | | | | | Break down monthly active users by appservice_id (#7030)Andrew Morgan2020-03-241-1/+31
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1d66dce83': Break down monthly active users by appservice_id (#7030)
| * | | | | Break down monthly active users by appservice_id (#7030)Neil Johnson2020-03-061-1/+31
| |/ / / / | | | | | | | | | | | | | | | | | | | | * Break down monthly active users by appservice_id and emit via prometheus. Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
* | | | | Read the room version from database when fetching events (#6874)Andrew Morgan2020-03-241-16/+68
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '8ef8fb2c1': Read the room version from database when fetching events (#6874) Update debian changelog
| * | | | Read the room version from database when fetching events (#6874)Richard van der Hoff2020-03-041-16/+68
| | |/ / | |/| | | | | | | | | | | | | | This is a precursor to giving EventBase objects the knowledge of which room version they belong to.
* | | | Always return a deferred from `get_current_state_deltas`. (#7019)Andrew Morgan2020-03-241-1/+3
|\| | | | | | | | | | | | | | | | | | | * commit 'b29474e0a': Always return a deferred from `get_current_state_deltas`. (#7019)
| * | | Always return a deferred from `get_current_state_deltas`. (#7019)Erik Johnston2020-03-021-1/+3
| |/ / | | | | | | | | | | | | This currently causes presence notify code to log exceptions when there is no state changes to process. This doesn't actually cause any problems as we'd simply do nothing anyway.
* | | Fixed set a user as an admin with the new API (#6928)Andrew Morgan2020-03-241-6/+10
|\| | | | | | | | | | | | | | * commit '9b06d8f8a': Fixed set a user as an admin with the new API (#6928)
| * | Fixed set a user as an admin with the new API (#6928)Dirk Klimpel2020-02-281-6/+10
| | | | | | | | | Fix #6910
* | | Add some type annotations in `synapse.storage` (#6987)Andrew Morgan2020-03-246-82/+266
|\| | | | | | | | | | | | | | * commit '132b673db': Add some type annotations in `synapse.storage` (#6987)
| * | Add some type annotations in `synapse.storage` (#6987)Richard van der Hoff2020-02-276-82/+266
| | | | | | | | | | | | | | | I cracked, and added some type definitions in synapse.storage.
* | | Store room version on invite (#6983)Andrew Morgan2020-03-241-0/+20
|\| | | | | | | | | | | | | | * commit '3e99528f2': Store room version on invite (#6983)
| * | Store room version on invite (#6983)Richard van der Hoff2020-02-261-0/+20
| | | | | | | | | | | | | | | When we get an invite over federation, store the room version in the rooms table. The general idea here is that, when we pull the invite out again, we'll want to know what room_version it belongs to (so that we can later redact it if need be). So we need to store it somewhere...
* | | Updated warning for incorrect database collation/ctype (#6985)Andrew Morgan2020-03-241-3/+7
|\| | | | | | | | | | | | | | * commit '7728d87fd': Updated warning for incorrect database collation/ctype (#6985)
| * | Updated warning for incorrect database collation/ctype (#6985)Uday Bansal2020-02-261-3/+7
| | | | | | | | | Signed-off-by: Uday Bansal <43824981+udaybansal19@users.noreply.github.com>
* | | Sanity-check database before running upgrades (#6982)Andrew Morgan2020-03-242-17/+32
|\| | | | | | | | | | | | | | * commit 'e66f099ca': Sanity-check database before running upgrades (#6982)
| * | Sanity-check database before running upgrades (#6982)Richard van der Hoff2020-02-252-17/+32
| | | | | | | | | | | | | | | | | | Some of the database deltas rely on `config.server_name` being set correctly, so we should check that it is before running the deltas. Fixes #6870.
* | | Merge worker apps into one. (#6964)Andrew Morgan2020-03-241-78/+78
|\| | | | | | | | | | | | | | * commit 'bbf8886a0': Merge worker apps into one. (#6964)
| * | Merge worker apps into one. (#6964)Erik Johnston2020-02-251-78/+78
| | |
* | | Upsert room version when we join over federation (#6968)Andrew Morgan2020-03-241-0/+17
|\| | | | | | | | | | | | | | * commit 'a301934f4': Upsert room version when we join over federation (#6968)
| * | Upsert room version when we join over federation (#6968)Richard van der Hoff2020-02-241-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | This is intended as a precursor to storing room versions when we receive an invite over federation, but has the happy side-effect of fixing #3374 at last. In short: change the store_room with try/except to a proper upsert which updates the right columns.
* | | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Andrew Morgan2020-03-2419-55/+56
|\| | | | | | | | | | | | | | | | | | | | * commit '509e381af': Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) changelog Increase MAX_EVENTS_BEHIND for replication clients
| * | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Patrick Cloke2020-02-2119-55/+56
| | | | | | | | | | | | Ensure good comprehension hygiene using flake8-comprehensions.
* | | don't insert into the device table for remote cross-signing keys (#6956)Andrew Morgan2020-03-241-15/+18
|\| | | | | | | | | | | | | | * commit 'a90d0dc5c': don't insert into the device table for remote cross-signing keys (#6956)
| * | don't insert into the device table for remote cross-signing keys (#6956)Hubert Chathi2020-02-201-15/+18
| | |
* | | Add some clarifications to README.md in the database schema directory. (#6615)Andrew Morgan2020-03-243-15/+21
|\| | | | | | | | | | | | | | | | | * commit '4fb5f4d0c': Add some clarifications to README.md in the database schema directory. (#6615) Minor perf fixes to `get_auth_chain_ids`.
| * | Add some clarifications to README.md in the database schema directory. (#6615)Ruben Barkow-Kuder2020-02-201-8/+16
| | | | | | | | | Signed-off-by: Ruben Barkow-Kuder <github@r.z11.de>
| * | Minor perf fixes to `get_auth_chain_ids`.Erik Johnston2020-02-192-7/+5
| | |
* | | Reduce auth chains fetched during v2 state res. (#6952)Andrew Morgan2020-03-241-5/+23
|\| | | | | | | | | | | | | | | | | * commit '2b37eabca': Reduce auth chains fetched during v2 state res. (#6952) update changes.md
| * | Reduce auth chains fetched during v2 state res. (#6952)Erik Johnston2020-02-191-5/+23
| | | | | | | | | | | | | | | | | | 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.
* | | Revert `get_auth_chain_ids` changes (#6951)Andrew Morgan2020-03-241-28/+0
|\| | | | | | | | | | | | | | * commit '099c96b89': Revert `get_auth_chain_ids` changes (#6951)
| * | Revert `get_auth_chain_ids` changes (#6951)Erik Johnston2020-02-191-28/+0
| | |
* | | Increase DB/CPU perf of `_is_server_still_joined` check. (#6936)Andrew Morgan2020-03-242-15/+59
|\| | | | | | | | | | | | | | * commit '0d0bc3579': Increase DB/CPU perf of `_is_server_still_joined` check. (#6936)
| * | Increase DB/CPU perf of `_is_server_still_joined` check. (#6936)Erik Johnston2020-02-192-15/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Increase DB/CPU perf of `_is_server_still_joined` check. For rooms with large amount of state a single user leaving could cause us to go and load a lot of membership events and then pull out membership state in a large number of batches. * Newsfile * Update synapse/storage/persist_events.py Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> * Fix adding if too soon * Update docstring * Review comments * Woops typo Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* | | Limit size of get_auth_chain_ids query (#6947)Andrew Morgan2020-03-241-18/+23
|\| | | | | | | | | | | | | | * commit '5a5abd55e': Limit size of get_auth_chain_ids query (#6947)
| * | Limit size of get_auth_chain_ids query (#6947)Erik Johnston2020-02-191-18/+23
| | |
* | | Increase perf of `get_auth_chain_ids` used in state res v2. (#6937)Andrew Morgan2020-03-241-0/+23
|\| | | | | | | | | | | | | | * commit '8a380d0fe': Increase perf of `get_auth_chain_ids` used in state res v2. (#6937)
| * | Increase perf of `get_auth_chain_ids` used in state res v2. (#6937)Erik Johnston2020-02-181-0/+23
| | | | | | | | | We do this by moving the recursive query to be fully in the DB.
* | | wait for current_state_events_membership before ↵Andrew Morgan2020-03-231-2/+5
|\| | | | | | | | | | | | | | | | | | | | delete_old_current_state_events (#6924) * commit '46fa66bbf': wait for current_state_events_membership before delete_old_current_state_events (#6924)
| * | wait for current_state_events_membership before ↵Richard van der Hoff2020-02-171-2/+5
| | | | | | | | | | | | delete_old_current_state_events (#6924)
* | | Remove unused `get_room_stats_state` method. (#6869)Andrew Morgan2020-03-231-25/+0
|\| | | | | | | | | | | | | | * commit 'e1d858984': Remove unused `get_room_stats_state` method. (#6869)
| * | Remove unused `get_room_stats_state` method. (#6869)Richard van der Hoff2020-02-071-25/+0
| | |
* | | Allow moving group read APIs to workers (#6866)Andrew Morgan2020-03-231-359/+361
|\| | | | | | | | | | | | | | * commit 'de2d26737': Allow moving group read APIs to workers (#6866)
| * | Allow moving group read APIs to workers (#6866)Erik Johnston2020-02-071-359/+361
| | |
* | | Reduce amount of logging at INFO level. (#6862)Andrew Morgan2020-03-232-3/+3
|\| | | | | | | | | | | | | | * commit 'ed630ea17': Reduce amount of logging at INFO level. (#6862)
| * | Reduce amount of logging at INFO level. (#6862)Erik Johnston2020-02-062-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Merge tag 'v1.10.0rc2' into developErik Johnston2020-02-061-2/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.10.0rc2 (2020-02-06) ============================== Bugfixes -------- - Fix an issue with cross-signing where device signatures were not sent to remote servers. ([\#6844](https://github.com/matrix-org/synapse/issues/6844)) - Fix to the unknown remote device detection which was introduced in 1.10.rc1. ([\#6848](https://github.com/matrix-org/synapse/issues/6848)) Internal Changes ---------------- - Detect unexpected sender keys on remote encrypted events and resync device lists. ([\#6850](https://github.com/matrix-org/synapse/issues/6850))
| | * | Merge pull request #6844 from matrix-org/uhoreg/cross_signing_fix_device_fedHubert Chathi2020-02-051-0/+10
| | | | | | | | | | | | add device signatures to device key query results
* | | | Reduce performance logging to DEBUG (#6833)Andrew Morgan2020-03-231-1/+1
|\| | | | | | | | | | | | | | | | | | | * commit 'a831d2e4e': Reduce performance logging to DEBUG (#6833)
| * | | Reduce performance logging to DEBUG (#6833)Michael Kaye2020-02-051-1/+1
| | | | | | | | | | | | | | | | | | | | * Reduce tnx performance logging to DEBUG * Changelog.d
* | | | Database updates to populate rooms.room_version (#6847)Andrew Morgan2020-03-232-0/+57
|\| | | | | | | | | | | | | | | | | | | * commit 'd88e0ec08': Database updates to populate rooms.room_version (#6847)
| * | | Database updates to populate rooms.room_version (#6847)Richard van der Hoff2020-02-042-0/+57
| | | | | | | | | | | | We're going to need this so that we can figure out how to handle redactions when fetching events from the database.
* | | | Fix detecting unknown devices from remote encrypted events. (#6848)Andrew Morgan2020-03-231-2/+2
|\ \ \ \ | | |/ / | |/| | | | | | | | | | * commit '6475382d8': Fix detecting unknown devices from remote encrypted events. (#6848)
| * | | Fix detecting unknown devices from remote encrypted events. (#6848)Erik Johnston2020-02-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were looking at the wrong event type (`m.room.encryption` vs `m.room.encrypted`). Also fixup the duplicate `EvenTypes` entries. Introduced in #6776.
* | | | Merge pull request #6844 from matrix-org/uhoreg/cross_signing_fix_device_fedAndrew Morgan2020-03-231-0/+10
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | * commit '74bf3fdbb': add changelog add device signatures to device key query results
| * | | add device signatures to device key query resultsHubert Chathi2020-02-041-0/+10
| |/ /
* | | Fix deleting of stale marker for device lists (#6819)Andrew Morgan2020-03-231-7/+7
|\| | | | | | | | | | | | | | * commit '83b0ea047': Fix deleting of stale marker for device lists (#6819)
| * | Fix deleting of stale marker for device lists (#6819)Erik Johnston2020-01-311-7/+7
| | | | | | | | | | | | We were in fact only deleting stale marker when we got an incremental update, rather than when we did a full resync.
* | | Merge pull request #6820 from matrix-org/rav/get_room_version_idAndrew Morgan2020-03-232-3/+26
|\| | | | | | | | | | | | | | | | | | | | * commit '160522e32': newsfile Add `get_room_version` method s/get_room_version/get_room_version_id/
| * | Add `get_room_version` methodRichard van der Hoff2020-01-311-1/+24
| | | | | | | | | | | | So that we can start factoring out some of this boilerplatey boilerplate.
| * | s/get_room_version/get_room_version_id/Richard van der Hoff2020-01-312-2/+2
| | | | | | | | | | | | | | | ... to make way for a forthcoming get_room_version which returns a RoomVersion object.
* | | Log when we delete room in bg update (#6816)Andrew Morgan2020-03-231-0/+2
|\| | | | | | | | | | | | | | * commit 'e0992fcc5': Log when we delete room in bg update (#6816)
| * | Log when we delete room in bg update (#6816)Erik Johnston2020-01-301-0/+2
| | |
* | | Backgroud update to clean out rooms from current state (#6802)Andrew Morgan2020-03-232-2/+125
|\| | | | | | | | | | | | | | * commit '57ad702af': Backgroud update to clean out rooms from current state (#6802)
| * | Backgroud update to clean out rooms from current state (#6802)Erik Johnston2020-01-302-2/+125
| | |
* | | When server leaves room check for stale device lists. (#6801)Andrew Morgan2020-03-232-6/+82
|\| | | | | | | | | | | | | | * commit 'a5bab2d05': When server leaves room check for stale device lists. (#6801)
| * | When server leaves room check for stale device lists. (#6801)Erik Johnston2020-01-302-6/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | When a server leaves a room it may stop sharing a room with remote users, and thus not get any updates to their device lists. So we need to check for this case and delete those device lists from the cache. We don't need to do this if we stop sharing a room because the remote user leaves the room, because we track that case via looking at membership changes.
* | | When a client asks for remote keys check if should resync. (#6797)Andrew Morgan2020-03-231-3/+29
|\| | | | | | | | | | | | | | * commit 'c80a9fe13': When a client asks for remote keys check if should resync. (#6797)
| * | When a client asks for remote keys check if should resync. (#6797)Erik Johnston2020-01-301-3/+29
| | | | | | | | | | | | | | | | | | If we detect that the remote users' keys may have changed then we should attempt to resync against the remote server rather than using the (potentially) stale local cache.
* | | Delete current state when server leaves a room (#6792)Andrew Morgan2020-03-232-75/+197
|\| | | | | | | | | | | | | | * commit '611215a49': Delete current state when server leaves a room (#6792)
| * | Delete current state when server leaves a room (#6792)Erik Johnston2020-01-292-75/+197
| | | | | | | | | | | | | | | | | | Otherwise its just stale data, which may get deleted later anyway so can't be relied on. It's also a bit of a shotgun if we're trying to get the current state of a room we're not in.
* | | Detect unknown remote devices and mark cache as stale (#6776)Andrew Morgan2020-03-232-5/+49
|\| | | | | | | | | | | | | | * commit 'e17a11066': Detect unknown remote devices and mark cache as stale (#6776)
| * | Detect unknown remote devices and mark cache as stale (#6776)Erik Johnston2020-01-282-5/+49
| | | | | | | | | | | | We just mark the fact that the cache may be stale in the database for now.
* | | Warn if postgres database has non-C locale. (#6734)Andrew Morgan2020-03-233-0/+52
|\| | | | | | | | | | | | | | * commit '02b44db92': Warn if postgres database has non-C locale. (#6734)
| * | Warn if postgres database has non-C locale. (#6734)Erik Johnston2020-01-283-0/+52
| | | | | | | | | As using non-C locale can cause issues on upgrading OS.
| * | Merge branch 'master' into developErik Johnston2020-01-281-1/+7
| |\ \
* | \ \ Fix setting `mau_limit_reserved_threepids` config (#6793)Andrew Morgan2020-03-231-1/+7
|\ \ \ \ | | |/ / | |/| | | | | | | | | | * commit 'bdbeeb94e': Fix setting `mau_limit_reserved_threepids` config (#6793)
| * | | Fix setting `mau_limit_reserved_threepids` config (#6793)Erik Johnston2020-01-281-1/+7
| | | | | | | | | | | | | | | | | | | | Calling the invalidation function during initialisation of the data stores introduces a circular dependency, causing Synapse to fail to start.
* | | | Add `rooms.room_version` column (#6729)Andrew Morgan2020-03-233-18/+134
|\ \ \ \ | | |/ / | |/| | | | | | | | | | * commit '8df862e45': Add `rooms.room_version` column (#6729)
| * | | Add `rooms.room_version` column (#6729)Erik Johnston2020-01-273-18/+134
| | | | | | | | | | | | This is so that we don't have to rely on pulling it out from `current_state_events` table.
* | | | Propagate cache invalidates from workers to other workers. (#6748)Andrew Morgan2020-03-231-1/+21
|\| | | | | | | | | | | | | | | | | | | * commit 'd5275fc55': Propagate cache invalidates from workers to other workers. (#6748)
| * | | Propagate cache invalidates from workers to other workers. (#6748)Erik Johnston2020-01-271-1/+21
| | | | | | | | | | | | Currently if a worker invalidates a cache it will be streamed to master, which then didn't forward those to other workers.
* | | | Make 'event.redacts' never raise. (#6771)Andrew Morgan2020-03-232-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'fa4d609e2': Make 'event.redacts' never raise. (#6771) Fixup changelog Fixup changelog Fixup changelog
| * | | Make 'event.redacts' never raise. (#6771)Erik Johnston2020-01-232-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | There are quite a few places that we assume that a redaction event has a corresponding `redacts` key, which is not always the case. So lets cheekily make it so that event.redacts just returns None instead.
* | | | Remove unnecessary abstractions in admin handler (#6751)Andrew Morgan2020-03-231-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'ce84dd9e2': Remove unnecessary abstractions in admin handler (#6751) Fixup warning about workers changes Add deprecation headers Fixup changelog
| * | | Remove unnecessary abstractions in admin handler (#6751)Andrew Morgan2020-01-221-1/+1
| |/ /
* | | Admin API to list, filter and sort rooms (#6720)Andrew Morgan2020-03-231-1/+124
|\| | | | | | | | | | | | | | * commit '90a28fb47': Admin API to list, filter and sort rooms (#6720)
| * | Admin API to list, filter and sort rooms (#6720)Andrew Morgan2020-01-221-1/+124
| | |
* | | Allow monthly active user limiting support for worker mode, fixes #4639. (#6742)Andrew Morgan2020-03-231-82/+83
|\| | | | | | | | | | | | | | * commit '5e52d8563': Allow monthly active user limiting support for worker mode, fixes #4639. (#6742)
| * | Allow monthly active user limiting support for worker mode, fixes #4639. (#6742)Neil Johnson2020-01-221-82/+83
| | |
* | | Allow streaming cache invalidate all to workers. (#6749)Andrew Morgan2020-03-232-9/+36
|\| | | | | | | | | | | | | | * commit '5d7a6ad22': Allow streaming cache invalidate all to workers. (#6749)
| * | Allow streaming cache invalidate all to workers. (#6749)Erik Johnston2020-01-222-9/+36
| | |
* | | Add a DeltaState to track changes to be made to current state (#6716)Andrew Morgan2020-03-232-99/+111
|\| | | | | | | | | | | | | | * commit '0e6876007': Add a DeltaState to track changes to be made to current state (#6716)
| * | Add a DeltaState to track changes to be made to current state (#6716)Erik Johnston2020-01-202-99/+111
| | |
* | | Fix syntax error in run_upgrade for schema 57 (#6728)Andrew Morgan2020-03-231-3/+4
|\| | | | | | | | | | | | | | * commit '722b4f302': Fix syntax error in run_upgrade for schema 57 (#6728)
| * | Fix syntax error in run_upgrade for schema 57 (#6728)Satsuki Yanagi2020-01-171-3/+4
| | | | | | | | | | | | | | | | | | | | | Fix #6727 Related #6655 Co-authored-by: Erik Johnston <erikj@jki.re>
* | | Merge pull request #6714 from matrix-org/babolivier/retention_select_eventAndrew Morgan2020-03-231-5/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '3b72bb780': bump version to v1.9.0.dev1 Precise changelog Fixup diff Remove get_room_event_after_stream_ordering entirely Lint Rename changelog Changelog Correctly order when selecting before stream ordering Fix typo Fix instantiation of message retention purge jobs
| * | Merge pull request #6714 from matrix-org/babolivier/retention_select_eventBrendan Abolivier2020-01-171-5/+5
| |\ \ | | | | | | | | Fix instantiation of message retention purge jobs
| | * | Fixup diffBrendan Abolivier2020-01-161-6/+7
| | | |
| | * | Remove get_room_event_after_stream_ordering entirelyBrendan Abolivier2020-01-161-57/+12
| | | |
| | * | LintBrendan Abolivier2020-01-161-6/+12
| | | |
| | * | Correctly order when selecting before stream orderingBrendan Abolivier2020-01-151-2/+5
| | | |
| | * | Fix typoBrendan Abolivier2020-01-151-1/+1
| | | |
| | * | Fix instantiation of message retention purge jobsBrendan Abolivier2020-01-151-12/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When figuring out which topological token to start a purge job at, we need to do the following: 1. Figure out a timestamp before which events will be purged 2. Select the first stream ordering after that timestamp 3. Select info about the first event after that stream ordering 4. Build a topological token from that info In some situations (e.g. quiet rooms with a short max_lifetime), there might not be an event after the stream ordering at step 3, therefore we abort the purge with the error `No event found`. To mitigate that, this patch fetches the first event _before_ the stream ordering, instead of after.
* | | | Merge pull request #6724 from matrix-org/rav/log_saml_attributesAndrew Morgan2020-03-236-6/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '59dc87c61': changelog Log saml assertions rather than the whole response move batch_iter to a separate module
| * | | move batch_iter to a separate moduleRichard van der Hoff2020-01-166-6/+6
| | | |
* | | | Add StateMap type alias (#6715)Andrew Morgan2020-03-233-43/+55
|\| | | | | | | | | | | | | | | | | | | * commit 'd386f2f33': Add StateMap type alias (#6715)
| * | | Add StateMap type alias (#6715)Erik Johnston2020-01-163-43/+55
| | | |
* | | | Fix purge_room admin API (#6711)Andrew Morgan2020-03-231-1/+1
|\| | | | | | | | | | | | | | | | | | | * commit '19a1aac48': Fix purge_room admin API (#6711)
| * | | Fix purge_room admin API (#6711)Erik Johnston2020-01-151-1/+1
| | | |
* | | | Add `local_current_membership` table (#6655)Andrew Morgan2020-03-234-80/+238
|\| | | | | | | | | | | | | | | | | | | * commit '28c98e51f': Add `local_current_membership` table (#6655)
| * | | Add `local_current_membership` table (#6655)Erik Johnston2020-01-154-80/+238
| |/ / | | | | | | | | | | | | | | | | | | Currently we rely on `current_state_events` to figure out what rooms a user was in and their last membership event in there. However, if the server leaves the room then the table may be cleaned up and that information is lost. So lets add a table that separately holds that information.
* | | Quarantine media by ID or user ID (#6681)Andrew Morgan2020-03-231-1/+115
|\| | | | | | | | | | | | | | * commit '1177d3f3a': Quarantine media by ID or user ID (#6681)
| * | Quarantine media by ID or user ID (#6681)Andrew Morgan2020-01-131-1/+115
| | |
* | | Merge pull request #6675 from matrix-org/rav/die_sqlite37_die_die_dieAndrew Morgan2020-03-233-20/+23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1d16f5ea0': update install notes for CentOS changelog Refuse to start if sqlite is older than 3.11.0 Check postgres version in check_database Modify check_database to take a connection rather than a cursor
| * | Refuse to start if sqlite is older than 3.11.0Richard van der Hoff2020-01-092-4/+7
| | |
| * | Check postgres version in check_databaseRichard van der Hoff2020-01-091-13/+12
| | | | | | | | | | | | | | | this saves doing it on each connection, and will allow us to pass extra options in.
| * | Modify check_database to take a connection rather than a cursorRichard van der Hoff2020-01-093-10/+11
| | | | | | | | | | | | We might not need the cursor at all.
* | | Allow admin users to create or modify users without a shared secret (#6495)Andrew Morgan2020-03-231-0/+2
|\| | | | | | | | | | | | | | | | | * commit 'd2906fe66': Allow admin users to create or modify users without a shared secret (#6495) Fixup changelog
| * | Allow admin users to create or modify users without a shared secret (#6495)Manuel Stahl2020-01-091-0/+2
| | | | | | | | | Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de>
* | | Merge pull request #6664 from matrix-org/erikj/media_admin_apisAndrew Morgan2020-03-201-120/+128
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7c232bd98': Shuffle the code Comments Do not rely on streaming events, as media repo doesn't Newsfile Import RoomStore in media worker to fix admin APIs Move media admin store functions to worker store
| * | Merge pull request #6664 from matrix-org/erikj/media_admin_apisErik Johnston2020-01-081-120/+128
| |\ \ | | | | | | | | Fix media repo admin APIs when using a media worker.
| | * | Shuffle the codeErik Johnston2020-01-081-25/+16
| | | |
| | * | CommentsErik Johnston2020-01-081-0/+3
| | | |
| | * | Do not rely on streaming events, as media repo doesn'tErik Johnston2020-01-081-12/+26
| | | |
| | * | Move media admin store functions to worker storeErik Johnston2020-01-081-120/+120
| | | |
* | | | Fix GET request on /_synapse/admin/v2/users endpoint (#6563)Andrew Morgan2020-03-201-2/+2
|\| | | | | | | | | | | | | | | | | | | * commit '7caaa29da': Fix GET request on /_synapse/admin/v2/users endpoint (#6563)
| * | | Fix GET request on /_synapse/admin/v2/users endpoint (#6563)Manuel Stahl2020-01-081-2/+2
| |/ / | | | | | | | | | Fixes #6552
* | | Merge pull request #6652 from matrix-org/babolivier/depth_missing_eventsAndrew Morgan2020-03-201-1/+1
|\| | | | | | | | | | | | | | | | | * commit '0ab5853ec': Changelog Fix conditions failing if min_depth = 0
| * | Merge pull request #6652 from matrix-org/babolivier/depth_missing_eventsBrendan Abolivier2020-01-071-1/+1
| |\ \ | | | | | | | | Fix conditions failing if min_depth = 0
| | * | Fix conditions failing if min_depth = 0Brendan Abolivier2020-01-071-1/+1
| | | | | | | | | | | | | | | | This could result in Synapse not fetching prev_events for new events in the room if it has missed some events.
* | | | Add a background update to clear tombstoned rooms from the directory (#6648)Andrew Morgan2020-03-204-1/+100
|\| | | | | | | | | | | | | | | | | | | * commit '85db7f73b': Add a background update to clear tombstoned rooms from the directory (#6648)
| * | | Add a background update to clear tombstoned rooms from the directory (#6648)Richard van der Hoff2020-01-074-1/+100
| | | | | | | | | | | | | | | | | | | | | | | | * Add a background update to clear tombstoned rooms from the directory * use the ABC metaclass
* | | | Async/await for background updates (#6647)Andrew Morgan2020-03-201-16/+20
|\| | | | | | | | | | | | | | | | | | | * commit '9824a39d8': Async/await for background updates (#6647)
| * | | Async/await for background updates (#6647)Richard van der Hoff2020-01-071-16/+20
| | | | | | | | | | | | | | | | so that bg update routines can be async
* | | | port BackgroundUpdateTestCase to HomeserverTestCase (#6653)Andrew Morgan2020-03-201-9/+35
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd20c34654': port BackgroundUpdateTestCase to HomeserverTestCase (#6653) changelog Fix exceptions in log when rejected event is replicated async/await for SyncReplicationHandler.process_and_notify Clarify documentation on get_event* methods
| * | | Merge pull request #6645 from matrix-org/rav/fix_synchrotron_errorRichard van der Hoff2020-01-071-9/+35
| |\ \ \ | | | | | | | | | | Fix exceptions in the synchrotron worker log when events are rejected.
| | * | | Clarify documentation on get_event* methodsRichard van der Hoff2020-01-061-9/+35
| | | | | | | | | | | | | | | | | | | | Make it clearer how they behave in the face of rejected and/or missing events.
* | | | | Merge pull request #6629 from matrix-org/rav/kill_event_reference_hashesAndrew Morgan2020-03-201-53/+17
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1807db5e7': changelog Remove unused get_latest_event_ids_and_hashes_in_room Remove unused get_prev_events_and_hashes_for_room Remove unused hashes and depths from _update_membership params Remove unused hashes and depths from create_event params Remove unused hashes and depths from create_new_client_event params replace get_prev_events_and_hashes_for_room with get_prev_events_for_room in create_new_client_event rename get_prev_events_for_room to get_prev_events_and_hashes_for_room
| * | | | Merge pull request #6629 from matrix-org/rav/kill_event_reference_hashesRichard van der Hoff2020-01-061-53/+17
| |\ \ \ \ | | |/ / / | |/| | | Remove a bunch of unused code from event creation
| | * | | Remove unused get_latest_event_ids_and_hashes_in_roomRichard van der Hoff2020-01-061-42/+0
| | | | |
| | * | | Remove unused get_prev_events_and_hashes_for_roomRichard van der Hoff2020-01-061-30/+0
| | | | |
| | * | | replace get_prev_events_and_hashes_for_room with get_prev_events_for_room in ↵Richard van der Hoff2020-01-061-0/+35
| | | | | | | | | | | | | | | | | | | | create_new_client_event
| | * | | rename get_prev_events_for_room to get_prev_events_and_hashes_for_roomRichard van der Hoff2020-01-061-2/+3
| | |/ / | | | | | | | | | | | | ... to make way for a new method which just returns the event ids
* | | | Fix some test failures when frozen_dicts are enabled (#6642)Andrew Morgan2020-03-201-2/+2
|\| | | | | | | | | | | | | | | | | | | * commit 'ba897a759': Fix some test failures when frozen_dicts are enabled (#6642)
| * | | Fix some test failures when frozen_dicts are enabled (#6642)Richard van der Hoff2020-01-061-2/+2
| | | | | | | | | | | | | | | | Fixes #4026
* | | | Add experimental 'databases' config (#6580)Andrew Morgan2020-03-201-0/+21
|\| | | | | | | | | | | | | | | | | | | * commit '9f6c1befb': Add experimental 'databases' config (#6580)
| * | | Add experimental 'databases' config (#6580)Erik Johnston2020-01-061-0/+21
| |/ /
* | | Update reverse proxy file name (#6590)Andrew Morgan2020-03-201-2/+4
|\| | | | | | | | | | | | | | * commit '7c6b85355': Update reverse proxy file name (#6590)
* | | Split state groups into a separate data store (#6296)Andrew Morgan2020-03-2023-1157/+1147
|\| | | | | | | | | | | | | | * commit '75d8f26ac': Split state groups into a separate data store (#6296)
| * | Split state groups into a separate data store (#6296)Erik Johnston2019-12-2023-1157/+1147
| | |
* | | Backport fixes to sqlite upgrade from develop (#6578)Andrew Morgan2020-03-201-4/+2
|\ \ \ | | | | | | | | | | | | | | | | * commit '4caab0e95': Backport fixes to sqlite upgrade from develop (#6578)
| * | | Backport fixes to sqlite upgrade from develop (#6578)Richard van der Hoff2019-12-201-1/+9
| | | | | | | | | | | | | | | | | | | | Only run prepare_database on connection for in-memory databases. Fixes #6569.
* | | | Change EventContext to use the Storage class (#6564)Andrew Morgan2020-03-202-2/+2
|\ \ \ \ | | |/ / | |/| | | | | | | | | | * commit 'fa780e972': Change EventContext to use the Storage class (#6564)
| * | | Change EventContext to use the Storage class (#6564)Erik Johnston2019-12-202-2/+2
| | | |
* | | | Explode on duplicate delta file names. (#6565)Andrew Morgan2020-03-201-0/+18
|\| | | | | | | | | | | | | | | | | | | * commit '0b5dbadd9': Explode on duplicate delta file names. (#6565)
| * | | Explode on duplicate delta file names. (#6565)Erik Johnston2019-12-191-0/+18
| | | |
* | | | Improve diagnostics on database upgrade failure (#6570)Andrew Morgan2020-03-201-1/+4
|\| | | | | | | | | | | | | | | | | | | * commit 'bca30cefe': Improve diagnostics on database upgrade failure (#6570)
| * | | Improve diagnostics on database upgrade failure (#6570)Richard van der Hoff2019-12-191-1/+4
| | | | | | | | | | | | | | | | `Failed to upgrade database` is not helpful, and it's unlikely that UPGRADE.rst has anything useful.
* | | | Clean up startup for the pusher (#6558)Andrew Morgan2020-03-201-17/+8
|\| | | | | | | | | | | | | | | | | | | * commit 'd6752ce5d': Clean up startup for the pusher (#6558)
| * | | Clean up startup for the pusher (#6558)Richard van der Hoff2019-12-181-17/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove redundant python2 support code `str.decode()` doesn't exist on python3, so presumably this code was doing nothing * Filter out pushers with corrupt data When we get a row with unparsable json, drop the row, rather than returning a row with null `data`, which will then cause an explosion later on. * Improve logging when we can't start a pusher Log the ID to help us understand the problem * Make email pusher setup more robust We know we'll have a `data` member, since that comes from the database. What we *don't* know is if that is a dict, and if that has a `brand` member, and if that member is a string.
* | | | Add delta file to fix missing default table data (#6555)Andrew Morgan2020-03-203-15/+23
|\| | | | | | | | | | | | | | | | | | | * commit '7963ca83c': Add delta file to fix missing default table data (#6555)
| * | | Add delta file to fix missing default table data (#6555)Andrew Morgan2019-12-183-15/+23
| | | |
* | | | Add database config class (#6513)Andrew Morgan2020-03-206-19/+93
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '2284eb3a5': Add database config class (#6513) too many parens
| * | | Add database config class (#6513)Erik Johnston2019-12-186-19/+93
| | | | | | | | | | | | | | | | | | | | This encapsulates config for a given database and is the way to get new connections.
* | | | Automatically delete empty groups/communities (#6453)Andrew Morgan2020-03-191-0/+29
|\| | | | | | | | | | | | | | | | | | | * commit '9d173b312': Automatically delete empty groups/communities (#6453)
| * | | Automatically delete empty groups/communities (#6453)Werner Sembach2019-12-161-0/+29
| | | | | | | | | | | | Signed-off-by: Werner Sembach <werner.sembach@fau.de>
* | | | look up cross-signing keys from the DB in bulk (#6486)Andrew Morgan2020-03-191-4/+213
|\| | | | | | | | | | | | | | | | | | | * commit 'cb2db1799': look up cross-signing keys from the DB in bulk (#6486)
| * | | look up cross-signing keys from the DB in bulk (#6486)Hubert Chathi2019-12-121-4/+213
| | | |
* | | | Fix redacted events being returned in search results ordered by "recent" (#6522)Andrew Morgan2020-03-191-3/+8
|\| | | | | | | | | | | | | | | | | | | * commit '5bfd8855d': Fix redacted events being returned in search results ordered by "recent" (#6522)
| * | | Fix redacted events being returned in search results ordered by "recent" (#6522)Andrew Morgan2019-12-121-3/+8
| | | |
| * | | Merge tag 'v1.7.0rc2' into developErik Johnston2019-12-111-0/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.7.0rc2 (2019-12-11) ============================= Bugfixes -------- - Fix incorrect error message for invalid requests when setting user's avatar URL. ([\#6497](https://github.com/matrix-org/synapse/issues/6497)) - Fix support for SQLite 3.7. ([\#6499](https://github.com/matrix-org/synapse/issues/6499)) - Fix regression where sending email push would not work when using a pusher worker. ([\#6507](https://github.com/matrix-org/synapse/issues/6507), [\#6509](https://github.com/matrix-org/synapse/issues/6509))
| | * | Merge branch 'erikj/fix_sqlite_7' of github.com:matrix-org/synapse into ↵Erik Johnston2019-12-115-11/+41
| | |\ \ | | | | | | | | | | | | | | | release-v1.7.0
* | | | | Prevent redacted events from appearing in message search (#6377)Andrew Morgan2020-03-192-38/+67
|\| | | | | | | | | | | | | | | | | | | | | | | | * commit 'fc316a489': Prevent redacted events from appearing in message search (#6377)
| * | | | Prevent redacted events from appearing in message search (#6377)Andrew Morgan2019-12-112-38/+67
| | | | |
* | | | | Add dev script to generate full SQL schema files (#6394)Andrew Morgan2020-03-192-19/+13
|\| | | | | | | | | | | | | | | | | | | | | | | | * commit '6676ee9c4': Add dev script to generate full SQL schema files (#6394)
| * | | | Add dev script to generate full SQL schema files (#6394)Andrew Morgan2019-12-112-19/+13
| | | | |
* | | | | Prevent message search in upgraded rooms we're not in (#6385)Andrew Morgan2020-03-191-5/+13
|\| | | | | | | | | | | | | | | | | | | | | | | | * commit 'ea0f0ad41': Prevent message search in upgraded rooms we're not in (#6385)
| * | | | Prevent message search in upgraded rooms we're not in (#6385)Andrew Morgan2019-12-111-5/+13
| | | | |
* | | | | Fix race which caused deleted devices to reappear (#6514)Andrew Morgan2020-03-191-3/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | * commit '40eda8493': Fix race which caused deleted devices to reappear (#6514)
| * | | | Fix race which caused deleted devices to reappear (#6514)Richard van der Hoff2019-12-101-3/+5
| | |/ / | |/| | | | | | | | | | Stop the `update_client_ips` background job from recreating deleted devices.
* | | | Merge pull request #6499 from matrix-org/erikj/fix_sqlite_7Andrew Morgan2020-03-195-11/+41
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e726e1873': Drop unused index Convert _censor_redactions to async since it awaits on coroutines Only start censor background job after indices are created Newsfile Fix support for SQLite 3.7.
| * | | Drop unused indexErik Johnston2019-12-104-13/+18
| | | |
| * | | Convert _censor_redactions to async since it awaits on coroutinesErik Johnston2019-12-101-11/+9
| | | |
| * | | Only start censor background job after indices are createdErik Johnston2019-12-102-2/+9
| | | |
| * | | Fix support for SQLite 3.7.Erik Johnston2019-12-093-2/+22
| | | | | | | | | | | | | | | | | | | | Partial indices support was added in 3.8.0, so we need to use the background updates that handles this correctly.
* | | | Merge pull request #6509 from matrix-org/babolivier/fix-room-store-configAndrew Morgan2020-03-191-0/+5
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | * commit 'a964f1888': Changelog Give the server config to the RoomWorkerStore
| * | | Give the server config to the RoomWorkerStoreBrendan Abolivier2019-12-101-0/+5
| |/ /
* | | Systemd documentation (#6490)Andrew Morgan2020-03-191-2/+2
|\| | | | | | | | | | | | | | * commit '96d35f102': Systemd documentation (#6490)
* | | Back out perf regression from get_cross_signing_keys_from_cache. (#6494)Andrew Morgan2020-03-1929-122/+162
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'adfdd82b2': Back out perf regression from get_cross_signing_keys_from_cache. (#6494) Fix comment Fix port db script Newsfile Fixup tests Move start up DB checks to main data store. Pass Database into the data store Move are_all_users_on_domain checks to main data store. Change DataStores to accept 'database' param.
| * | Merge pull request #6487 from matrix-org/erikj/pass_in_dbErik Johnston2019-12-0929-122/+162
| |\ \ | | | | | | | | Pass in Database object to data stores.
| | * | Fix commentErik Johnston2019-12-091-1/+1
| | | | | | | | | | | | | | | | Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
| | * | Fix port db scriptErik Johnston2019-12-061-1/+1
| | | |
| | * | Move start up DB checks to main data store.Erik Johnston2019-12-061-0/+7
| | | |
| | * | Pass Database into the data storeErik Johnston2019-12-064-26/+23
| | | |
| | * | Move are_all_users_on_domain checks to main data store.Erik Johnston2019-12-062-13/+23
| | | |
| | * | Change DataStores to accept 'database' param.Erik Johnston2019-12-0625-82/+108
| | | |
* | | | Merge pull request #6484 from matrix-org/erikj/port_sync_handlerAndrew Morgan2020-03-192-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a9b393340': Fixup functions to consistently return deferreds Newsfile Port SyncHandler to async/await
| * | | Merge pull request #6484 from matrix-org/erikj/port_sync_handlerErik Johnston2019-12-092-3/+3
| |\ \ \ | | |/ / | |/| | Port SyncHandler to async/await
| | * | Fixup functions to consistently return deferredsErik Johnston2019-12-062-3/+3
| | | |
* | | | Merge pull request #6469 from matrix-org/erikj/make_database_classAndrew Morgan2020-03-1945-2356/+2458
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f3ea2f5a0': Remove unused var Fix DB scripts Newsfile Move background update handling out of store Comments Move DB pool and helper functions into dedicated Database class
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-12-063-47/+71
| |\ \ \ | | | | | | | | | | | | | | | erikj/make_database_class