Erik Johnston
21db35f77e
Add support for putting fed user query API on workers ( #6873 )
2020-02-07 15:45:39 +00:00
Richard van der Hoff
e1d858984d
Remove unused get_room_stats_state
method. ( #6869 )
2020-02-07 15:30:26 +00:00
Richard van der Hoff
799001f2c0
Add a make_event_from_dict
method ( #6858 )
...
... 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.
2020-02-07 15:30:04 +00:00
Erik Johnston
b08b0a22d5
Add typing to synapse.federation.sender ( #6871 )
2020-02-07 13:56:38 +00:00
Erik Johnston
de2d267375
Allow moving group read APIs to workers ( #6866 )
2020-02-07 11:14:19 +00:00
Dirk Klimpel
56ca93ef59
Admin api to add an email address ( #6789 )
2020-02-07 10:29:36 +00:00
Richard van der Hoff
f4884444c3
remove unused room_version_to_event_format ( #6857 )
2020-02-07 09:26:57 +00:00
Richard van der Hoff
e1b240329e
Merge pull request #6856 from matrix-org/rav/redact_changes/6
...
Pass room_version into `event_from_pdu_json`
2020-02-07 09:22:15 +00:00
Patrick Cloke
7765bf3989
Limit the number of events that can be requested when backfilling events ( #6864 )
...
Limit the maximum number of events requested when backfilling events.
2020-02-06 13:25:24 -05:00
Richard van der Hoff
928edef979
Pass room_version into event_from_pdu_json
...
It's called from all over the shop, so this one's a bit messy.
2020-02-06 16:08:27 +00:00
Richard van der Hoff
b0c8bdd49d
pass room version into FederationClient.send_join ( #6854 )
...
... which allows us to sanity-check the create event.
2020-02-06 15:50:39 +00:00
timfi
bce557175b
Allow empty federation_certificate_verification_whitelist ( #6849 )
2020-02-06 14:45:01 +00:00
PeerD
99fcc96289
Third party event rules Update ( #6781 )
2020-02-06 14:15:29 +00:00
Erik Johnston
ed630ea17c
Reduce amount of logging at INFO level. ( #6862 )
...
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>
2020-02-06 13:31:05 +00:00
Richard van der Hoff
9bcd37146e
Merge pull request #6823 from matrix-org/rav/redact_changes/5
...
pass room versions around
2020-02-06 11:32:33 +00:00
Erik Johnston
2201ef8556
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 ))
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEumuwyPtYLL2OMhYdOtoG7cdT0R4FAl478l8QHGVyaWtAbWF0
cml4Lm9yZwAKCRA62gbtx1PRHmKfD/0ZpBV95gMk0iecfvO6IY8+0KigzDUypgXf
zp1k+k5DBUmH5/83h7+cXWHIJyofv1At1YdIq9J/nNeyqr3V3dcQwPabOKYbI96d
kVD0EZX+2NjuYejAuF9eJNdiwRq5yMLluCfnOXr5jCS0NNdpO1xVb4bWYm50RmcD
WJvBvmfwXwCC3AFyNb4IAipaVUXuVXXx1YhjFs6DsbtpPUG88e4uIhpfvrS4v0t8
GFJZNuVJStOvyKHHTfNRIMkhy4xidj3HRUMSmjNpx07WnPBnbv4LnUOD1boYxgaP
EoODYnoAPshdiKB0AywNNjue3TmFD/Z7vVEzlFP/lNZ4GDU4kN9C/EwFYw0C2Jqq
f9O/E2ZuP9Qqume5O9UwMQQAmhV5lMBaIsYRbixU+9bSB893zRHRffA11HypzD00
ZXj8QDOXpiXp2jpAwN1Rk9e/aZEX3qd+zUAgRmk+kYb0KTC2/gcY956rodNSSO/U
RFYg4DFvoCgCrRSxZ4LQMlFu3YY2E7qWH+p/OHk3WG79jW64VpEFaytvv8fR+GKq
g3EbtWy6mUzlKYqbjZ+ZTUDe5AWdv6ZX8xJqRD/S6cpiwyh6Gp89HHNvBThXoCmK
fxkgw8if7eIITuTlNuDrqunxyWqwd3oVlzd2mi2bg0yRfcqJ9C6OuBV1VTLFZeky
3sjCiU0IRw==
=kcSy
-----END PGP SIGNATURE-----
Merge tag 'v1.10.0rc2' into develop
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 ))
2020-02-06 11:04:03 +00:00
Erik Johnston
6a7e90ad78
1.10.0rc2
2020-02-06 10:40:08 +00:00
Richard van der Hoff
ee0525b2b2
Simplify room_version
handling in FederationClient.send_invite
2020-02-05 17:43:57 +00:00
Richard van der Hoff
f84700fba8
Pass room version object into FederationClient.get_pdu
2020-02-05 17:25:46 +00:00
Richard van der Hoff
577f460369
Merge pull request #6840 from matrix-org/rav/federation_client_async
...
Port much of `synapse.federation.federation_client` to async/await
2020-02-05 16:56:39 +00:00
Richard van der Hoff
6bbd890f05
make FederationClient._do_send_invite async
2020-02-05 15:50:31 +00:00
Richard van der Hoff
146fec0820
Apply suggestions from code review
...
Co-Authored-By: Erik Johnston <erik@matrix.org>
2020-02-05 15:47:00 +00:00
Erik Johnston
a58860e480
Check sender_key matches on inbound encrypted events. ( #6850 )
...
If they don't then the device lists are probably out of sync.
2020-02-05 14:02:39 +00:00
Hubert Chathi
60d0672426
Merge pull request #6844 from matrix-org/uhoreg/cross_signing_fix_device_fed
...
add device signatures to device key query results
2020-02-05 10:54:49 +00:00
Michael Kaye
a831d2e4e3
Reduce performance logging to DEBUG ( #6833 )
...
* Reduce tnx performance logging to DEBUG
* Changelog.d
2020-02-05 08:57:37 +00:00
Richard van der Hoff
d88e0ec080
Database updates to populate rooms.room_version ( #6847 )
...
We're going to need this so that we can figure out how to handle redactions when fetching events from the database.
2020-02-04 21:31:08 +00:00
Erik Johnston
6475382d80
Fix detecting unknown devices from remote encrypted events. ( #6848 )
...
We were looking at the wrong event type (`m.room.encryption` vs
`m.room.encrypted`).
Also fixup the duplicate `EvenTypes` entries.
Introduced in #6776 .
2020-02-04 17:25:54 +00:00
Hubert Chathi
74bf3fdbb9
Merge pull request #6844 from matrix-org/uhoreg/cross_signing_fix_device_fed
...
add device signatures to device key query results
2020-02-04 12:03:54 -05:00
Richard van der Hoff
5ef91b96f1
Merge remote-tracking branch 'origin/develop' into rav/federation_client_async
2020-02-04 12:07:05 +00:00
Richard van der Hoff
c7d6d5c69e
Merge pull request #6837 from matrix-org/rav/federation_async
...
Port much of `synapse.handlers.federation` to async/await.
2020-02-04 12:06:18 +00:00
Hubert Chathi
23d8a55c7a
add device signatures to device key query results
2020-02-04 00:13:12 -05:00
Richard van der Hoff
ea23210b2d
make FederationClient.send_invite async
2020-02-03 22:29:49 +00:00
Richard van der Hoff
6deeefb68c
make FederationClient.get_missing_events async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
abadf44eb2
make FederationClient._do_send_leave async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
e88b90aaeb
make FederationClient.send_leave.send_request async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
638001116d
make FederationClient._do_send_join async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
3960527c2e
make FederationClient.send_join.send_request async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
ad09ee9262
make FederationClient.make_membership_event.send_request async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
1330c311b7
make FederationClient._try_destination_list async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
a46fabf17b
make FederationClient.send_leave async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
8af9f11bea
make FederationClient.send_join async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
3f11cbb404
make FederationClient.make_membership_event async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
24d814ca23
make FederationClient.get_event_auth async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
d73683c363
make FederationClient.get_room_state_ids async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
0cb0c7bcd5
make FederationClient.get_pdu async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
0536d0c9be
make FederationClient.backfill async
2020-02-03 22:28:45 +00:00
Richard van der Hoff
5d17c31596
make FederationHandler.send_invite async
2020-02-03 22:28:11 +00:00
Richard van der Hoff
e81c093974
make FederationHandler.on_get_missing_events async
2020-02-03 19:15:08 +00:00
Erik Johnston
b9391c9575
Add typing to SyncHandler ( #6821 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2020-02-03 18:05:44 +00:00
Erik Johnston
ae5b3104f0
Fix stacktraces when using ObservableDeferred and async/await ( #6836 )
2020-02-03 17:10:54 +00:00
Richard van der Hoff
f64c96662e
make FederationHandler.user_joined_room async
2020-02-03 16:29:30 +00:00
Richard van der Hoff
52642860da
make FederationHandler._clean_room_for_join async
2020-02-03 16:29:30 +00:00
Richard van der Hoff
814cc00cb9
make FederationHandler._notify_persisted_event async
2020-02-03 16:29:30 +00:00
Richard van der Hoff
05299599b6
make FederationHandler.persist_events_and_notify async
2020-02-03 16:29:30 +00:00
Richard van der Hoff
3b7e0e002b
make FederationHandler._make_and_verify_event async
2020-02-03 16:22:30 +00:00
Richard van der Hoff
4286e429a7
make FederationHandler.do_remotely_reject_invite async
2020-02-03 16:19:18 +00:00
Richard van der Hoff
c3f296af32
make FederationHandler._check_for_soft_fail async
2020-02-03 16:16:31 +00:00
Richard van der Hoff
dbdf843012
make FederationHandler._persist_auth_tree async
2020-02-03 16:14:58 +00:00
Richard van der Hoff
ebd6a15af3
make FederationHandler.do_invite_join async
2020-02-03 16:13:13 +00:00
Richard van der Hoff
94f7b4cd54
make FederationHandler.on_event_auth async
2020-02-03 16:06:46 +00:00
Richard van der Hoff
863087d186
make FederationHandler.on_exchange_third_party_invite_request async
2020-02-03 16:02:50 +00:00
Richard van der Hoff
957129f4a7
make FederationHandler.construct_auth_difference async
2020-02-03 16:00:46 +00:00
Richard van der Hoff
0d5f2f4bb0
make FederationHandler._update_context_for_auth_events async
2020-02-03 15:55:35 +00:00
Richard van der Hoff
a25ddf26a3
make FederationHandler._update_auth_events_and_context_for_auth async
2020-02-03 15:53:54 +00:00
Richard van der Hoff
bc9b75c6f0
make FederationHandler.do_auth async
2020-02-03 15:51:24 +00:00
Richard van der Hoff
8033b257a7
make FederationHandler._prep_event async
2020-02-03 15:49:32 +00:00
Richard van der Hoff
1cdc253e0a
make FederationHandler._handle_new_event async
2020-02-03 15:48:33 +00:00
Richard van der Hoff
c556ed9e15
make FederationHandler._handle_new_events async
2020-02-03 15:43:51 +00:00
Richard van der Hoff
6e89ec5e32
make FederationHandler.on_make_leave_request async
2020-02-03 15:40:41 +00:00
Richard van der Hoff
d184cbc031
make FederationHandler.on_send_leave_request async
2020-02-03 15:39:24 +00:00
Richard van der Hoff
98681f90cb
make FederationHandler.on_make_join_request async
2020-02-03 15:38:02 +00:00
Richard van der Hoff
af8ba6b525
make FederationHandler.on_invite_request async
2020-02-03 15:33:42 +00:00
Richard van der Hoff
7571bf86f0
make FederationHandler.on_send_join_request async
2020-02-03 15:32:48 +00:00
Richard van der Hoff
b3e44f0bdf
make FederationHandler.on_query_auth async
2020-02-03 15:30:23 +00:00
Andrew Morgan
370080531e
Allow URL-encoded user IDs on user admin api paths ( #6825 )
2020-02-03 13:18:42 +00:00
Richard van der Hoff
b0d112e78b
Fix room_version
in on_invite_request
flow ( #6827 )
...
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.
2020-02-03 13:15:23 +00:00
Erik Johnston
ac0d45b78b
1.10.0rc1
2020-01-31 15:35:37 +00:00
Erik Johnston
83b0ea047b
Fix deleting of stale marker for device lists ( #6819 )
...
We were in fact only deleting stale marker when we got an incremental
update, rather than when we did a full resync.
2020-01-31 14:04:15 +00:00
Richard van der Hoff
7f93eb1903
pass room_version into compute_event_signature ( #6807 )
2020-01-31 13:47:43 +00:00
Richard van der Hoff
a5afdd15e5
Merge pull request #6806 from matrix-org/rav/redact_changes/3
...
Pass room_version into add_hashes_and_signatures
2020-01-31 10:57:03 +00:00
Richard van der Hoff
160522e32c
Merge pull request #6820 from matrix-org/rav/get_room_version_id
...
Make `get_room_version` return a RoomVersion object
2020-01-31 10:56:42 +00:00
Richard van der Hoff
08f41a6f05
Add get_room_version
method
...
So that we can start factoring out some of this boilerplatey boilerplate.
2020-01-31 10:28:15 +00:00
Richard van der Hoff
d7bf793cc1
s/get_room_version/get_room_version_id/
...
... to make way for a forthcoming get_room_version which returns a RoomVersion
object.
2020-01-31 10:06:21 +00:00
Erik Johnston
7d846e8704
Fix bug with getting missing auth event during join 500'ed ( #6810 )
2020-01-31 09:49:13 +00:00
Richard van der Hoff
2a81393a4b
Pass room_version into add_hashes_and_signatures
2020-01-30 22:15:50 +00:00
Richard van der Hoff
54f3f369bd
Pass room_version into create_local_event_from_event_dict
2020-01-30 22:15:50 +00:00
Richard van der Hoff
ef6bdafb29
Store the room version in EventBuilder
2020-01-30 22:15:50 +00:00
Richard van der Hoff
46a446828d
pass room version into FederationHandler.on_invite_request ( #6805 )
2020-01-30 22:13:02 +00:00
Erik Johnston
e0992fcc5b
Log when we delete room in bg update ( #6816 )
2020-01-30 17:55:34 +00:00
Richard van der Hoff
184303b865
MSC2260: Block direct sends of m.room.aliases events ( #6794 )
...
as per MSC2260
2020-01-30 17:20:55 +00:00
Erik Johnston
57ad702af0
Backgroud update to clean out rooms from current state ( #6802 )
2020-01-30 17:17:44 +00:00
Erik Johnston
b660327056
Resync remote device list when detected as stale. ( #6786 )
2020-01-30 17:06:38 +00:00
Erik Johnston
c3d4ad8afd
Fix sending server up commands from workers ( #6811 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2020-01-30 16:42:11 +00:00
Erik Johnston
a5bab2d058
When server leaves room check for stale device lists. ( #6801 )
...
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.
2020-01-30 16:10:30 +00:00
Erik Johnston
c80a9fe13d
When a client asks for remote keys check if should resync. ( #6797 )
...
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.
2020-01-30 15:06:58 +00:00
Richard van der Hoff
5a246611e3
Type defintions for use in refactoring for redaction changes ( #6803 )
...
* Bump signedjson to 1.1
... so that we can use the type definitions
* Fix breakage caused by upgrade to signedjson 1.1
Thanks, @illicitonion...
2020-01-30 11:25:59 +00:00
Erik Johnston
a855b7c3a8
Remove unused DeviceRow class ( #6800 )
2020-01-29 12:06:31 +00:00
Richard van der Hoff
dcd85b976d
Make /directory/room/<alias> handle restrictive power levels
...
Fixes a bug where the alias would be added, but `PUT /directory/room/<alias>`
would return a 403.
2020-01-29 11:52:52 +00:00
Richard van der Hoff
b36095ae5c
Set the PL for aliases events to 0.
2020-01-29 11:52:52 +00:00
Richard van der Hoff
ee42a5513e
Factor out a copy_power_levels_contents
method
...
I'm going to need another copy (hah!) of this.
2020-01-29 11:52:52 +00:00
Erik Johnston
6b9e1014cf
Fix race in federation sender that delayed device updates. ( #6799 )
...
We were sending device updates down both the federation stream and
device streams. This mean there was a race if the federation sender
worker processed the federation stream first, as when the sender checked
if there were new device updates the slaved ID generator hadn't been
updated with the new stream IDs and so returned nothing.
This situation is correctly handled by events/receipts/etc by not
sending updates down the federation stream and instead having the
federation sender worker listen on the other streams and poke the
transaction queues as appropriate.
2020-01-29 11:23:01 +00:00
Erik Johnston
611215a49c
Delete current state when server leaves a room ( #6792 )
...
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.
2020-01-29 11:01:32 +00:00
Erik Johnston
2cad8baa70
Fix bug when querying remote user keys that require a resync. ( #6796 )
...
We ended up only returning a single device, rather than all of them.
2020-01-29 09:56:41 +00:00
Erik Johnston
fcfb591b31
Fix outbound federation request metrics ( #6795 )
2020-01-28 18:59:48 +00:00
Richard van der Hoff
cc109b79dd
Merge pull request #6787 from matrix-org/rav/msc2260
...
Implement updated auth rules from MSC2260
2020-01-28 15:11:22 +00:00
Richard van der Hoff
a1f307f7d1
fix bad variable ref
2020-01-28 14:55:22 +00:00
Erik Johnston
e17a110661
Detect unknown remote devices and mark cache as stale ( #6776 )
...
We just mark the fact that the cache may be stale in the database for
now.
2020-01-28 14:43:21 +00:00
Richard van der Hoff
49d3bca37b
Implement updated auth rules from MSC2260
2020-01-28 14:20:10 +00:00
Richard van der Hoff
a8ce7aeb43
Pass room version object into event_auth.check and check_redaction ( #6788 )
...
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.
2020-01-28 14:18:29 +00:00
Erik Johnston
02b44db922
Warn if postgres database has non-C locale. ( #6734 )
...
As using non-C locale can cause issues on upgrading OS.
2020-01-28 13:44:21 +00:00
Erik Johnston
33f904835a
Merge branch 'master' into develop
2020-01-28 13:39:39 +00:00
Erik Johnston
77d9357226
1.9.1
2020-01-28 13:09:36 +00:00
Erik Johnston
bdbeeb94ec
Fix setting mau_limit_reserved_threepids
config ( #6793 )
...
Calling the invalidation function during initialisation of the data
stores introduces a circular dependency, causing Synapse to fail to
start.
2020-01-28 13:05:24 +00:00
Erik Johnston
8df862e45d
Add rooms.room_version
column ( #6729 )
...
This is so that we don't have to rely on pulling it out from `current_state_events` table.
2020-01-27 14:30:57 +00:00
Erik Johnston
d5275fc55f
Propagate cache invalidates from workers to other workers. ( #6748 )
...
Currently if a worker invalidates a cache it will be streamed to master, which then didn't forward those to other workers.
2020-01-27 13:47:50 +00:00
Andrew Morgan
9f7aaf90b5
Validate client_secret parameter ( #6767 )
2020-01-24 14:28:40 +00:00
Erik Johnston
fa4d609e20
Make 'event.redacts' never raise. ( #6771 )
...
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.
2020-01-23 15:19:03 +00:00
Brendan Abolivier
51fc3f693e
Merge branch 'master' into develop
2020-01-23 13:45:23 +00:00
Brendan Abolivier
f3eac2b3e9
1.9.0
2020-01-23 12:57:55 +00:00
Richard van der Hoff
6b7462a13f
a bit of debugging for media storage providers ( #6757 )
...
* a bit of debugging for media storage providers
* changelog
2020-01-23 12:11:44 +00:00
Richard van der Hoff
5bd3cb7260
Minor fixes to user admin api ( #6761 )
...
* don't insist on a password (this is valid if you have an SSO login)
* fix reference to undefined `requester`
2020-01-23 12:03:58 +00:00
Andrew Morgan
ce84dd9e20
Remove unnecessary abstractions in admin handler ( #6751 )
2020-01-22 15:09:57 +00:00
Brendan Abolivier
0d0f32bc53
1.9.0rc1
2020-01-22 14:03:46 +00:00
Andrew Morgan
90a28fb475
Admin API to list, filter and sort rooms ( #6720 )
2020-01-22 13:36:43 +00:00
Brendan Abolivier
ed83c3a018
Fix typo in _select_thumbnail
2020-01-22 12:27:42 +00:00
Andrew Morgan
aa9b00fb2f
Fix and add test to deprecated quarantine media admin api ( #6756 )
2020-01-22 11:05:50 +00:00
Neil Johnson
5e52d8563b
Allow monthly active user limiting support for worker mode, fixes #4639 . ( #6742 )
2020-01-22 11:05:14 +00:00
Erik Johnston
5d7a6ad223
Allow streaming cache invalidate all to workers. ( #6749 )
2020-01-22 10:37:00 +00:00
Erik Johnston
0e68760078
Add a DeltaState to track changes to be made to current state ( #6716 )
2020-01-20 18:07:20 +00:00
Erik Johnston
b0a66ab83c
Fixup synapse.rest to pass mypy ( #6732 )
2020-01-20 17:38:21 +00:00
Erik Johnston
74b74462f1
Fix /events/:event_id
deprecated API. ( #6731 )
2020-01-20 17:38:09 +00:00
Erik Johnston
0f6e525be3
Fixup synapse.api to pass mypy ( #6733 )
2020-01-20 17:34:13 +00:00
Erik Johnston
ceecedc68b
Fix changing password via user admin API. ( #6730 )
2020-01-20 17:23:59 +00:00
Andrew Morgan
198d52da3a
Fix empty account_validity config block
2020-01-20 14:05:29 +00:00
Brendan Abolivier
a17f64361c
Add more logging around message retention policies support ( #6717 )
...
So we can debug issues like #6683 more easily
2020-01-17 20:51:44 +00:00
Richard van der Hoff
0b885d62ef
bump version to v1.9.0.dev2
2020-01-17 14:58:58 +00:00
Satsuki Yanagi
722b4f302d
Fix syntax error in run_upgrade for schema 57 ( #6728 )
...
Fix #6727
Related #6655
Co-authored-by: Erik Johnston <erikj@jki.re>
2020-01-17 14:30:35 +00:00
Brendan Abolivier
3b72bb780a
Merge pull request #6714 from matrix-org/babolivier/retention_select_event
...
Fix instantiation of message retention purge jobs
2020-01-17 14:23:51 +00:00
Richard van der Hoff
1dee1e900b
bump version to v1.9.0.dev1
2020-01-17 10:44:12 +00:00
Richard van der Hoff
59dc87c618
Merge pull request #6724 from matrix-org/rav/log_saml_attributes
...
Log saml assertions rather than the whole response
2020-01-17 10:33:24 +00:00
Richard van der Hoff
2b6a77fcde
Delegate remote_user_id mapping to the saml mapping provider ( #6723 )
...
Turns out that figuring out a remote user id for the SAML user isn't quite as obvious as it seems. Factor it out to the SamlMappingProvider so that it's easy to control.
2020-01-17 10:32:47 +00:00
Erik Johnston
a8a50f5b57
Wake up transaction queue when remote server comes back online ( #6706 )
...
This will be used to retry outbound transactions to a remote server if
we think it might have come back up.
2020-01-17 10:27:19 +00:00
Richard van der Hoff
5ce0b17e38
Clarify the account_validity
and email
sections of the sample configuration. ( #6685 )
...
Generally try to make this more comprehensible, and make it match the
conventions.
I've removed the documentation for all the settings which allow you to change
the names of the template files, because I can't really see why they are
useful.
2020-01-17 10:04:15 +00:00
Richard van der Hoff
acc7820574
Log saml assertions rather than the whole response
...
... since the whole response is huge.
We even need to break up the assertions, since kibana otherwise truncates them.
2020-01-16 22:26:34 +00:00
Richard van der Hoff
14d8f342d5
move batch_iter to a separate module
2020-01-16 22:25:32 +00:00
Brendan Abolivier
dac148341b
Fixup diff
2020-01-16 20:25:09 +00:00
Brendan Abolivier
842c2cfbf1
Remove get_room_event_after_stream_ordering entirely
2020-01-16 20:24:17 +00:00
Erik Johnston
d386f2f339
Add StateMap type alias ( #6715 )
2020-01-16 13:31:22 +00:00
Brendan Abolivier
e601f35d3b
Lint
2020-01-16 09:55:11 +00:00
Neil Johnson
38e0e59f42
Add org.matrix.e2e_cross_signing to unstable_features in /versions as per MSC1756 ( #6712 )
2020-01-16 09:46:14 +00:00
Erik Johnston
48c3a96886
Port synapse.replication.tcp to async/await ( #6666 )
...
* Port synapse.replication.tcp to async/await
* Newsfile
* Correctly document type of on_<FOO> functions as async
* Don't be overenthusiastic with the asyncing....
2020-01-16 09:16:12 +00:00
Brendan Abolivier
066b9f52b8
Correctly order when selecting before stream ordering
2020-01-15 19:32:47 +00:00
Brendan Abolivier
8363588237
Fix typo
2020-01-15 19:13:22 +00:00
Brendan Abolivier
855af069a4
Fix instantiation of message retention purge jobs
...
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.
2020-01-15 18:56:18 +00:00
Erik Johnston
19a1aac48c
Fix purge_room admin API ( #6711 )
2020-01-15 18:13:47 +00:00
Andrew Morgan
edc244eec4
Remove duplicate session check in web fallback servlet ( #6702 )
2020-01-15 18:05:18 +00:00
Richard van der Hoff
107f256cd8
Merge branch 'develop' into rav/module_api_extensions
2020-01-15 16:00:24 +00:00
Richard van der Hoff
8f5d7302ac
Implement RedirectException ( #6687 )
...
Allow REST endpoint implemnentations to raise a RedirectException, which will
redirect the user's browser to a given location.
2020-01-15 15:58:55 +00:00
Erik Johnston
28c98e51ff
Add local_current_membership
table ( #6655 )
...
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.
2020-01-15 14:59:33 +00:00
Erik Johnston
b5ce7f5874
Process EDUs in parallel with PDUs. ( #6697 )
...
This means that things like to device messages don't get blocked behind
processing PDUs, which can potentially take *ages*.
2020-01-14 14:08:35 +00:00
Erik Johnston
e8b68a4e4b
Fixup synapse.replication to pass mypy checks ( #6667 )
2020-01-14 14:08:06 +00:00
Andrew Morgan
1177d3f3a3
Quarantine media by ID or user ID ( #6681 )
2020-01-13 18:10:43 +00:00
Richard van der Hoff
326c893d24
Kill off RegistrationError ( #6691 )
...
This is pretty pointless. Let's just use SynapseError.
2020-01-13 12:48:22 +00:00
Richard van der Hoff
2d07c73777
Don't assign numeric IDs for empty usernames ( #6690 )
...
Fix a bug where we would assign a numeric userid if somebody tried registering
with an empty username
2020-01-13 12:47:30 +00:00
Richard van der Hoff
3cfac9593c
Merge pull request #6689 from matrix-org/rav/saml_mapping_provider_updates
...
Updates to the SAML mapping provider API
2020-01-13 12:44:55 +00:00
Richard van der Hoff
8039685051
Allow additional_resources to implement Resource directly ( #6686 )
...
AdditionalResource really doesn't add any value, and it gets in the way for
resources which want to support child resources or the like. So, if the
resource object already implements the IResource interface, don't bother
wrapping it.
2020-01-13 12:42:44 +00:00
Richard van der Hoff
feee819973
Fix exceptions on requests for non-ascii urls ( #6682 )
...
Fixes #6402
2020-01-13 12:41:51 +00:00
Richard van der Hoff
da4e52544e
comment for run_in_background
2020-01-12 21:53:47 +00:00
Richard van der Hoff
dc69a1cf43
Pass client redirect URL into SAML mapping providers
2020-01-12 21:40:49 +00:00
Richard van der Hoff
47e63cc67a
Pass the module_api into the SamlMappingProvider
...
... for consistency with other modules, and because we'll need it sooner or
later and it will be a pain to introduce later.
2020-01-12 21:40:49 +00:00
Richard van der Hoff
01243b98e1
Handle config
not being set for synapse plugin modules
...
Some modules don't need any config, so having to define a `config` property
just to keep the loader happy is a bit annoying.
2020-01-12 21:34:36 +00:00
Richard van der Hoff
473d3801b6
Cleanups and additions to the module API
...
Add some useful things, such as error types and logcontext handling, to the
API.
Make `hs` a private member to dissuade people from using it (hopefully
they aren't already).
Add a couple of new methods (`record_user_external_id` and
`generate_short_term_login_token`).
2020-01-12 21:31:44 +00:00
Richard van der Hoff
bf46821180
Refuse to start if sqlite is older than 3.11.0
2020-01-09 18:11:04 +00:00
Richard van der Hoff
e48ba84e0b
Check postgres version in check_database
...
this saves doing it on each connection, and will allow us to pass extra options
in.
2020-01-09 18:05:59 +00:00
Richard van der Hoff
e97d1cf001
Modify check_database to take a connection rather than a cursor
...
We might not need the cursor at all.
2020-01-09 18:05:50 +00:00
Manuel Stahl
d2906fe666
Allow admin users to create or modify users without a shared secret ( #6495 )
...
Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de>
2020-01-09 13:31:00 +00:00
Erik Johnston
d773290cb1
Merge branch 'master' into develop
2020-01-09 13:25:48 +00:00
Erik Johnston
24b2c940fb
1.8.0
2020-01-09 11:39:29 +00:00
Erik Johnston
7c232bd98b
Merge pull request #6664 from matrix-org/erikj/media_admin_apis
...
Fix media repo admin APIs when using a media worker.
2020-01-08 15:50:06 +00:00
Erik Johnston
d74054afda
Shuffle the code
2020-01-08 14:57:45 +00:00
Erik Johnston
bca3455b38
Comments
2020-01-08 14:27:35 +00:00
Erik Johnston
187dc6ad02
Do not rely on streaming events, as media repo doesn't
2020-01-08 14:24:28 +00:00
Richard van der Hoff
b064a41291
Merge remote-tracking branch 'origin/release-v1.8.0' into develop
2020-01-08 13:27:17 +00:00
Manuel Stahl
7caaa29daa
Fix GET request on /_synapse/admin/v2/users endpoint ( #6563 )
...
Fixes #6552
2020-01-08 13:26:40 +00:00
Erik Johnston
1adf27c82a
Import RoomStore in media worker to fix admin APIs
2020-01-08 13:26:20 +00:00
Erik Johnston
3cf7d6d5b6
Move media admin store functions to worker store
2020-01-08 13:26:20 +00:00
Richard van der Hoff
573fee759c
Back out ill-advised notary server hackery ( #6657 )
...
This was ill-advised. We can't modify verify_keys here, because the response
object has already been signed by the requested key.
Furthermore, it's somewhat unnecessary because existing versions of Synapse
(which get upset that the notary key isn't present in verify_keys) will fall
back to a direct fetch via `/key/v2/server`.
Also: more tests for fetching keys via perspectives: it would be nice if we actually tested when our fetcher can't talk to our notary impl.
2020-01-08 13:24:10 +00:00
Erik Johnston
be29ed7ad8
Correctly proxy remote group HTTP errors. ( #6654 )
...
e.g. if remote returns a 404 then that shouldn't be treated as an error
but should be proxied through.
2020-01-07 15:36:41 +00:00
Brendan Abolivier
2b6b7f482a
Merge pull request #6621 from matrix-org/babolivier/purge_job_config_typo
...
Fix a typo in the purge jobs configuration example
2020-01-07 16:17:40 +01:00
Brendan Abolivier
391fb47791
Reword
2020-01-07 14:54:32 +00:00
Brendan Abolivier
3a86477162
Change the example from 5min to 12h
...
Have a purge job running every 5min is probably not something we want to advise admins to do as a sort-of default.
2020-01-07 14:53:07 +00:00
Erik Johnston
7f0e706ebf
1.8.0rc1
2020-01-07 14:31:13 +00:00
Brendan Abolivier
0ab5853ec9
Merge pull request #6652 from matrix-org/babolivier/depth_missing_events
...
Fix conditions failing if min_depth = 0
2020-01-07 15:22:07 +01:00
Richard van der Hoff
85db7f73be
Add a background update to clear tombstoned rooms from the directory ( #6648 )
...
* Add a background update to clear tombstoned rooms from the directory
* use the ABC metaclass
2020-01-07 14:18:43 +00:00
Richard van der Hoff
9824a39d80
Async/await for background updates ( #6647 )
...
so that bg update routines can be async
2020-01-07 14:12:42 +00:00
Richard van der Hoff
1ff5491117
Merge pull request #6645 from matrix-org/rav/fix_synchrotron_error
...
Fix exceptions in the synchrotron worker log when events are rejected.
2020-01-07 14:02:14 +00:00
Brendan Abolivier
cd428a93e2
Fix conditions failing if min_depth = 0
...
This could result in Synapse not fetching prev_events for new events in the room if it has missed some events.
2020-01-07 12:08:58 +00:00
Richard van der Hoff
1807db5e73
Merge pull request #6629 from matrix-org/rav/kill_event_reference_hashes
...
Remove a bunch of unused code from event creation
2020-01-06 17:46:31 +00:00
Richard van der Hoff
26c5d3d398
Fix exceptions in log when rejected event is replicated
2020-01-06 17:16:28 +00:00
Richard van der Hoff
c74de81bfc
async/await for SyncReplicationHandler.process_and_notify
2020-01-06 17:14:28 +00:00
Richard van der Hoff
bc42da4ab8
Clarify documentation on get_event* methods
...
Make it clearer how they behave in the face of rejected and/or missing events.
2020-01-06 17:12:06 +00:00
Richard van der Hoff
ba897a7590
Fix some test failures when frozen_dicts are enabled ( #6642 )
...
Fixes #4026
2020-01-06 15:22:46 +00:00
Erik Johnston
9f6c1befbb
Add experimental 'databases' config ( #6580 )
2020-01-06 14:44:01 +00:00
Richard van der Hoff
ab4b4ee6a7
Fix an error which was thrown by the PresenceHandler _on_shutdown handler. ( #6640 )
2020-01-06 14:34:02 +00:00
Richard van der Hoff
a7d2e5b37f
Remove unused get_latest_event_ids_and_hashes_in_room
2020-01-06 13:45:33 +00:00
Richard van der Hoff
dc41fbf0dd
Remove unused get_prev_events_and_hashes_for_room
2020-01-06 13:45:33 +00:00
Richard van der Hoff
38e0829a4c
Remove unused hashes and depths from _update_membership params
2020-01-06 13:45:33 +00:00
Richard van der Hoff
3bef62488e
Remove unused hashes and depths from create_event params
2020-01-06 13:45:33 +00:00
Richard van der Hoff
66ca914dc0
Remove unused hashes and depths from create_new_client_event params
2020-01-06 13:45:33 +00:00
Richard van der Hoff
15720092ac
replace get_prev_events_and_hashes_for_room with get_prev_events_for_room in create_new_client_event
2020-01-06 13:45:33 +00:00
Richard van der Hoff
5a04781643
rename get_prev_events_for_room to get_prev_events_and_hashes_for_room
...
... to make way for a new method which just returns the event ids
2020-01-06 13:45:33 +00:00
Richard van der Hoff
4b36b482e0
Fix exception when fetching notary server's old keys ( #6625 )
...
Lift the restriction that *all* the keys used for signing v2 key responses be
present in verify_keys.
Fixes #6596 .
2020-01-06 12:33:56 +00:00
Richard van der Hoff
18674eebb1
Workaround for error when fetching notary's own key ( #6620 )
...
* Kill off redundant SynapseRequestFactory
We already get the Site via the Channel, so there's no need for a dedicated
RequestFactory: we can just use the right constructor.
* Workaround for error when fetching notary's own key
As a notary server, when we return our own keys, include all of our signing
keys in verify_keys.
This is a workaround for #6596 .
2020-01-06 12:28:58 +00:00
Andrew Morgan
01c3c6c929
Fix power levels being incorrectly set in old and new rooms after a room upgrade ( #6633 )
...
Modify a copy of an upgraded room's PL before sending to the new room
2020-01-06 09:53:07 +00:00
Richard van der Hoff
08815566bc
Automate generation of the sample and debian log configs ( #6627 )
2020-01-03 17:14:00 +00:00
Richard van der Hoff
e484101306
Raise an error if someone tries to use the log_file config option ( #6626 )
...
This has caused some confusion for people who didn't notice it going away.
2020-01-03 17:11:29 +00:00
Richard van der Hoff
98247c4a0e
Remove unused, undocumented "content repo" resource ( #6628 )
...
This looks like it got half-killed back in #888 .
Fixes #6567 .
2020-01-03 17:10:52 +00:00
Richard van der Hoff
b6b57ecb4e
Kill off redundant SynapseRequestFactory ( #6619 )
...
We already get the Site via the Channel, so there's no need for a dedicated
RequestFactory: we can just use the right constructor.
2020-01-03 14:19:48 +00:00
Richard van der Hoff
6964ea095b
Reduce the reconnect time when replication fails. ( #6617 )
2020-01-03 14:19:09 +00:00
Brendan Abolivier
4efe1d4d3f
Fix a typo in the purge jobs configuration example
2020-01-03 12:57:24 +01:00
Richard van der Hoff
dc96943d51
Merge branch 'master' into develop
2019-12-31 11:01:06 +00:00
Richard van der Hoff
77661ce81a
1.7.3
2019-12-31 10:45:12 +00:00
Richard van der Hoff
92eac974b9
Hacks to work around #6605 ( #6608 )
...
When we have an event which refers to non-existent auth_events, ignore said events rather than exploding in a ball of fire.
Fixes #6605 .
2019-12-31 10:41:44 +00:00
Richard van der Hoff
56ad230efa
Merge branch 'master' into develop
2019-12-20 11:11:34 +00:00
Richard van der Hoff
29794c6bc8
1.7.2
2019-12-20 10:58:07 +00:00
Erik Johnston
75d8f26ac8
Split state groups into a separate data store ( #6296 )
2019-12-20 10:48:24 +00:00
Richard van der Hoff
4caab0e95e
Backport fixes to sqlite upgrade from develop ( #6578 )
...
Only run prepare_database on connection for in-memory databases.
Fixes #6569 .
2019-12-20 10:46:46 +00:00
Erik Johnston
fa780e9721
Change EventContext to use the Storage class ( #6564 )
2019-12-20 10:32:02 +00:00
Richard van der Hoff
03d3792f3c
Fix exceptions when attempting to backfill ( #6576 )
...
Fixes #6575
2019-12-20 09:55:45 +00:00
Erik Johnston
0b5dbadd96
Explode on duplicate delta file names. ( #6565 )
2019-12-19 15:07:37 +00:00
Erik Johnston
3d46124ad0
Port some admin handlers to async/await ( #6559 )
2019-12-19 15:07:28 +00:00
Richard van der Hoff
bca30cefee
Improve diagnostics on database upgrade failure ( #6570 )
...
`Failed to upgrade database` is not helpful, and it's unlikely that UPGRADE.rst
has anything useful.
2019-12-19 14:53:15 +00:00
Richard van der Hoff
0b794cbd7b
Fix sdnotify with acme enabled ( #6571 )
...
If acme was enabled, the sdnotify startup hook would never be run because we
would try to add it to a hook which had already fired.
There's no need to delay it: we can sdnotify as soon as we've started the
listeners.
2019-12-19 14:52:52 +00:00
Richard van der Hoff
b95b762560
Add an export_signing_key script ( #6546 )
...
I want to do some key rotation, and it is silly that we don't have a way to do
this.
2019-12-19 11:11:14 +00:00
Richard van der Hoff
d6752ce5da
Clean up startup for the pusher ( #6558 )
...
* 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.
2019-12-18 14:26:58 +00:00
Andrew Morgan
7963ca83cb
Add delta file to fix missing default table data ( #6555 )
2019-12-18 11:13:33 +00:00
Erik Johnston
2284eb3a53
Add database config class ( #6513 )
...
This encapsulates config for a given database and is the way to get new
connections.
2019-12-18 10:45:12 +00:00
Richard van der Hoff
91ccfe9f37
Merge branch 'master' into develop
2019-12-18 10:16:39 +00:00
Richard van der Hoff
6e8f8e14f2
Merge release-v1.7.1 into develop
2019-12-18 09:51:51 +00:00
Richard van der Hoff
d656e91fc2
1.7.1
2019-12-18 09:38:08 +00:00
Erik Johnston
5029422530
Fix bug where we added duplicate event IDs as auth_events ( #6560 )
2019-12-17 15:06:08 +00:00
Erik Johnston
02553901ce
Remove unused get_pagination_rows
methods. ( #6557 )
...
Remove unused get_pagination_rows methods
2019-12-17 11:44:32 +00:00
Erik Johnston
5ca2cfadc3
Add auth events as per spec. ( #6556 )
...
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.
2019-12-16 17:05:01 +00:00
Erik Johnston
3fbe5b7ec3
Add auth events as per spec. ( #6556 )
...
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.
2019-12-16 16:59:32 +00:00
Brendan Abolivier
6316530366
Merge pull request #6553 from matrix-org/babolivier/fix-context-filter
...
Use the filtered version of an event when responding to /context requests for that event
2019-12-16 16:24:10 +00:00
Will Hunt
bfb95654c9
Add option to allow profile queries without sharing a room ( #6523 )
2019-12-16 16:11:55 +00:00
Brendan Abolivier
a820069549
Incorporate review
2019-12-16 16:00:18 +00:00
Richard van der Hoff
bbb75ff6ee
Exclude rejected state events when calculating state at backwards extrems ( #6527 )
...
This fixes a weird bug where, if you were determined enough, you could end up with a rejected event forming part of the state at a backwards-extremity. Authing that backwards extrem would then lead to us trying to pull the rejected event from the db (with allow_rejected=False), which would fail with a 404.
2019-12-16 14:07:29 +00:00
Richard van der Hoff
ff773ff724
Persist auth/state events at backwards extremities when we fetch them ( #6526 )
...
The main point here is to make sure that the state returned by _get_state_in_room has been authed before we try to use it as state in the room.
2019-12-16 14:07:11 +00:00
Richard van der Hoff
83895316d4
sanity-checking for events used in state res ( #6531 )
...
When we perform state resolution, check that all of the events involved are in
the right room.
2019-12-16 13:53:53 +00:00
Richard van der Hoff
6577f2d887
Sanity-check room ids in event auth ( #6530 )
...
When we do an event auth operation, check that all of the events involved are
in the right room.
2019-12-16 13:47:34 +00:00
Richard van der Hoff
35bbe4ca79
Check the room_id of events when fetching room state/auth ( #6524 )
...
When we request the state/auth_events to populate a backwards extremity (on
backfill or in the case of missing events in a transaction push), we should
check that the returned events are in the right room rather than blindly using
them in the room state or auth chain.
Given that _get_events_from_store_or_dest takes a room_id, it seems clear that
it should be sanity-checking the room_id of the requested events, so let's do
it there.
2019-12-16 13:47:07 +00:00
Richard van der Hoff
20d5ba16e6
Add include_event_in_state
to _get_state_for_room ( #6521 )
...
Make it return the state *after* the requested event, rather than the one
before it. This is a bit easier and requires fewer calls to
get_events_from_store_or_dest.
2019-12-16 13:26:12 +00:00
Richard van der Hoff
be294d6fde
Move get_state methods into FederationHandler ( #6503 )
...
This is a non-functional refactor as a precursor to some other work.
2019-12-16 13:20:21 +00:00
Richard van der Hoff
4c7b1bb6cc
Refactor get_events_from_store_or_dest to return a dict ( #6501 )
...
There was a bunch of unnecessary conversion back and forth between dict and
list going on here. We can simplify a bunch of the code.
2019-12-16 13:19:32 +00:00
Richard van der Hoff
6920d88892
Exclude rejected state events when calculating state at backwards extrems ( #6527 )
...
This fixes a weird bug where, if you were determined enough, you could end up with a rejected event forming part of the state at a backwards-extremity. Authing that backwards extrem would then lead to us trying to pull the rejected event from the db (with allow_rejected=False), which would fail with a 404.
2019-12-16 13:14:37 +00:00
Richard van der Hoff
bc7de87650
Persist auth/state events at backwards extremities when we fetch them ( #6526 )
...
The main point here is to make sure that the state returned by _get_state_in_room has been authed before we try to use it as state in the room.
2019-12-16 12:26:28 +00:00
Brendan Abolivier
ac87ddb242
Update the documentation of the filtering function
2019-12-16 12:15:37 +00:00
Brendan Abolivier
487f1bb49d
Use the filtered version of an event when responding to /context requests for that event
...
Sometimes the filtering function can return a pruned version of an event (on top of either the event itself or an empty list), if it thinks the user should be able to see that there's an event there but not the content of that event. Therefore, the previous logic of 'if filtered is empty then we can use the event we retrieved from the database' is flawed, and we should use the event returned by the filtering function.
2019-12-16 12:14:12 +00:00
Werner Sembach
9d173b312c
Automatically delete empty groups/communities ( #6453 )
...
Signed-off-by: Werner Sembach <werner.sembach@fau.de>
2019-12-16 12:12:40 +00:00
Richard van der Hoff
1da15f05f5
sanity-checking for events used in state res ( #6531 )
...
When we perform state resolution, check that all of the events involved are in
the right room.
2019-12-13 12:55:32 +00:00
Richard van der Hoff
971a0702b5
Sanity-check room ids in event auth ( #6530 )
...
When we do an event auth operation, check that all of the events involved are
in the right room.
2019-12-13 11:44:41 +00:00
Erik Johnston
5cadbd9ebb
Merge pull request #6537 from matrix-org/erikj/bump_mypy_version
...
Bump mypy version
2019-12-13 11:32:53 +00:00
Erik Johnston
f46e05d053
Merge branch 'master' into develop
2019-12-13 10:55:47 +00:00
Erik Johnston
f5aeea9e89
1.7.0
2019-12-13 10:19:53 +00:00
Erik Johnston
caa52836e4
Merge pull request #6496 from matrix-org/erikj/initial_sync_asnyc
...
Port synapse.handlers.initial_sync to async/await
2019-12-13 10:01:51 +00:00
Hubert Chathi
cb2db17994
look up cross-signing keys from the DB in bulk ( #6486 )
2019-12-12 12:03:28 -05:00
Andrew Morgan
5bfd8855d6
Fix redacted events being returned in search results ordered by "recent" ( #6522 )
2019-12-12 15:53:49 +00:00
Erik Johnston
495005360c
Bump version of mypy
2019-12-12 15:21:12 +00:00
Richard van der Hoff
25f1244329
Check the room_id of events when fetching room state/auth ( #6524 )
...
When we request the state/auth_events to populate a backwards extremity (on
backfill or in the case of missing events in a transaction push), we should
check that the returned events are in the right room rather than blindly using
them in the room state or auth chain.
Given that _get_events_from_store_or_dest takes a room_id, it seems clear that
it should be sanity-checking the room_id of the requested events, so let's do
it there.
2019-12-12 12:57:45 +00:00
Erik Johnston
b8e4b39b69
Merge pull request #6511 from matrix-org/erikj/remove_db_config_from_apps
...
Move database config from apps into HomeServer object
2019-12-12 10:37:56 +00:00
Erik Johnston
cfcfb57e58
Add new config param to docstring and add types
2019-12-11 17:27:46 +00:00
Erik Johnston
6828b47c45
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/initial_sync_asnyc
2019-12-11 17:01:41 +00:00
Richard van der Hoff
2045356517
Add include_event_in_state
to _get_state_for_room ( #6521 )
...
Make it return the state *after* the requested event, rather than the one
before it. This is a bit easier and requires fewer calls to
get_events_from_store_or_dest.
2019-12-11 16:37:51 +00:00
Richard van der Hoff
894d2addac
Merge pull request #6517 from matrix-org/rav/event_auth/13
...
Port some of FederationHandler to async/await
2019-12-11 16:36:06 +00:00
Erik Johnston
31905a518e
Merge pull request #6504 from matrix-org/erikj/account_validity_async_await
...
Port handlers.account_validity to async/await.
2019-12-11 14:49:26 +00:00
Richard van der Hoff
6637d90d77
convert to async: FederationHandler._process_received_pdu
...
also fix user_joined_room to consistently return deferreds
2019-12-11 14:39:26 +00:00
Richard van der Hoff
4db394a4b3
convert to async: FederationHandler._get_state_for_room
...
... and _get_events_from_store_or_dest
2019-12-11 14:39:26 +00:00
Richard van der Hoff
e77237b935
convert to async: FederationHandler.on_receive_pdu
...
and associated functions:
* on_receive_pdu
* handle_queued_pdus
* get_missing_events_for_pdu
2019-12-11 14:39:26 +00:00
Richard van der Hoff
7712e751b8
Convert federation backfill to async
...
PaginationHandler.get_messages is only called by RoomMessageListRestServlet,
which is async.
Chase the code path down from there:
- FederationHandler.maybe_backfill (and nested try_backfill)
- FederationHandler.backfill
2019-12-11 14:39:25 +00:00
Richard van der Hoff
7c429f92d6
Clean up some logging ( #6515 )
...
This just makes some of the logging easier to follow when things start going
wrong.
2019-12-11 14:32:25 +00:00
Erik Johnston
adb3a873fd
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 ))
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEumuwyPtYLL2OMhYdOtoG7cdT0R4FAl3w+RwQHGVyaWtAbWF0
cml4Lm9yZwAKCRA62gbtx1PRHijfD/43EQ58jqKvD+qKZwVFOE6JJ3SCS7UJbi3f
zq9KWDuCB6EAFjAgmJikbBBqHPO5qq2WtNXaCpexx44s8Mk8SZKHg56dP6Fk651C
assAb/Nsh6CAlPUcRkx8I0L/kYXMPDyATlLVBHVOi3pFDJ093mdOQ4q8yP9iUTM+
OPsbT8k/pMhrhCH951bGmB6/SEcju+ubObW+bRFe8o3v1KE9jVYQjUGMhuoXp3pM
z/OB8idZcqOvCc6HMo83tg9FuI613Jy80PMIc1ofyJgvnu+aDBepWuldvFEMnmSR
D862jMor7+WdnDOTeWZrC+DXjl0qCP8F6ahs5rEllRglt/Ep2wEDPA/8YrRoEI3V
RWe9W7XDdFCXdzlvXheOfETqTu9kdsurTwBEeJrWQ0vOLY86hxt9KKKcHVhy5eKq
kNfRtvSVLmRhIssp7hVBcywRwnaxN7R2OoRq/TWnTZz+xEOPzYFU6r0l9kk5dbg6
fqYYxIXbgZlhjihLWNIMNwwZH9ll/eoPiinkRTZNz40THP/VDTR9DM4tQ6jrhrr6
sP0qM7LljvrdiimXtV00tUDyUspNgJl6xDJyGDHWM9uoCB7uorEpMQZSzlZhZe8s
6q+fQPHlfW4JYOejfihPkjrV1ViawvEucqWPaIsD+v26C4RP7qCTtYj3NPiA65of
zhOjomWWcg==
=ABoZ
-----END PGP SIGNATURE-----
Merge tag 'v1.7.0rc2' into develop
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 ))
2019-12-11 14:14:30 +00:00
Erik Johnston
d156912c4c
1.7.0rc2
2019-12-11 13:56:50 +00:00
Andrew Morgan
fc316a4894
Prevent redacted events from appearing in message search ( #6377 )
2019-12-11 13:39:47 +00:00
Andrew Morgan
6676ee9c4a
Add dev script to generate full SQL schema files ( #6394 )
2019-12-11 13:16:01 +00:00
Andrew Morgan
ea0f0ad414
Prevent message search in upgraded rooms we're not in ( #6385 )
2019-12-11 13:07:25 +00:00
Erik Johnston
72acca6a32
Back out change preventing setting null avatar URLs
2019-12-11 11:46:55 +00:00
Brendan Abolivier
54ae52ba96
Merge pull request #6349 from matrix-org/babolivier/msc1802
...
Implement v2 APIs for send_join and send_leave
2019-12-11 11:41:47 +00:00
Erik Johnston
d21577bdcb
Merge branch 'erikj/fix_sqlite_7' of github.com:matrix-org/synapse into release-v1.7.0
2019-12-11 11:34:50 +00:00
Richard van der Hoff
f8bc2ae883
Move get_state methods into FederationHandler ( #6503 )
...
This is a non-functional refactor as a precursor to some other work.
2019-12-10 17:42:46 +00:00
Andrew Morgan
4947de5a14
Allow SAML username provider plugins ( #6411 )
2019-12-10 17:30:16 +00:00
Erik Johnston
b2dcddc413
Merge pull request #6510 from matrix-org/erikj/phone_home_stats_db
...
Phone home stats DB reporting should not assume a single DB.
2019-12-10 16:31:24 +00:00
Richard van der Hoff
40eda84933
Fix race which caused deleted devices to reappear ( #6514 )
...
Stop the `update_client_ips` background job from recreating deleted devices.
2019-12-10 16:22:29 +00:00
Richard van der Hoff
c3dda2874d
Refactor get_events_from_store_or_dest to return a dict ( #6501 )
...
There was a bunch of unnecessary conversion back and forth between dict and
list going on here. We can simplify a bunch of the code.
2019-12-10 16:22:00 +00:00
Richard van der Hoff
424fd58237
Remove redundant code from event authorisation implementation. ( #6502 )
2019-12-10 15:09:45 +00:00
Erik Johnston
257ef2c727
Port handlers.account_validity to async/await.
2019-12-10 14:40:15 +00:00
Erik Johnston
bc5cb8bfe8
Remove database config parsing from apps.
2019-12-10 14:34:17 +00:00
Erik Johnston
35f3c366ef
Merge pull request #6505 from matrix-org/erikj/make_deferred_yiedable
...
Fix `make_deferred_yieldable` to work with coroutines
2019-12-10 14:20:26 +00:00
Erik Johnston
e726e18737
Merge pull request #6499 from matrix-org/erikj/fix_sqlite_7
...
Fix support for SQLite 3.7.
2019-12-10 13:43:52 +00:00
Erik Johnston
663238aeb4
Phone home stats DB reporting should not assume a single DB.
2019-12-10 13:21:04 +00:00
Erik Johnston
ffeafade48
Update comment
2019-12-10 13:17:39 +00:00
Brendan Abolivier
3bd049bbb7
Give the server config to the RoomWorkerStore
2019-12-10 13:05:35 +00:00
Erik Johnston
e3f528c544
Merge pull request #6506 from matrix-org/erikj/remove_snapshot_cache
...
Remove SnapshotCache in favour of ResponseCache
2019-12-10 13:04:50 +00:00
Erik Johnston
52346990c8
Drop unused index
2019-12-10 12:46:14 +00:00
Erik Johnston
31da85e467
Convert _censor_redactions to async since it awaits on coroutines
2019-12-10 12:46:00 +00:00
Brendan Abolivier
2ac78438d8
Make the PusherSlaveStore inherit from the slave RoomStore
...
So that it has access to the get_retention_policy_for_room function which is required by filter_events_for_client.
2019-12-10 12:31:03 +00:00
Erik Johnston
cc5f6eb608
Only start censor background job after indices are created
2019-12-10 11:39:31 +00:00
Erik Johnston
9a2223d4c8
Fix make_deferred_yieldable to work with coroutines
2019-12-10 11:22:12 +00:00
Erik Johnston
353396e3a7
Port handlers.account_data to async/await.
2019-12-10 11:12:56 +00:00
Erik Johnston
4cade96616
Fix support for SQLite 3.7.
...
Partial indices support was added in 3.8.0, so we need to use the
background updates that handles this correctly.
2019-12-09 15:09:16 +00:00
Neil Johnson
0f3614f0f6
Synapse 1.7.0rc1 (2019-12-09)
...
=============================
Features
--------
- Implement per-room message retention policies. ([\#5815](https://github.com/matrix-org/synapse/issues/5815 ), [\#6436](https://github.com/matrix-org/synapse/issues/6436 ))
- Add etag and count fields to key backup endpoints to help clients guess if there are new keys. ([\#5858](https://github.com/matrix-org/synapse/issues/5858 ))
- Add `/admin/v2/users` endpoint with pagination. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#5925](https://github.com/matrix-org/synapse/issues/5925 ))
- Require User-Interactive Authentication for `/account/3pid/add`, meaning the user's password will be required to add a third-party ID to their account. ([\#6119](https://github.com/matrix-org/synapse/issues/6119 ))
- Implement the `/_matrix/federation/unstable/net.atleastfornow/state/<context>` API as drafted in MSC2314. ([\#6176](https://github.com/matrix-org/synapse/issues/6176 ))
- Configure privacy-preserving settings by default for the room directory. ([\#6354](https://github.com/matrix-org/synapse/issues/6354 ))
- Add ephemeral messages support by partially implementing [MSC2228](https://github.com/matrix-org/matrix-doc/pull/2228 ). ([\#6409](https://github.com/matrix-org/synapse/issues/6409 ))
- Add support for [MSC 2367](https://github.com/matrix-org/matrix-doc/pull/2367 ), which allows specifying a reason on all membership events. ([\#6434](https://github.com/matrix-org/synapse/issues/6434 ))
Bugfixes
--------
- Transfer non-standard power levels on room upgrade. ([\#6237](https://github.com/matrix-org/synapse/issues/6237 ))
- Fix error from the Pillow library when uploading RGBA images. ([\#6241](https://github.com/matrix-org/synapse/issues/6241 ))
- Correctly apply the event filter to the `state`, `events_before` and `events_after` fields in the response to `/context` requests. ([\#6329](https://github.com/matrix-org/synapse/issues/6329 ))
- Fix caching devices for remote users when using workers, so that we don't attempt to refetch (and potentially fail) each time a user requests devices. ([\#6332](https://github.com/matrix-org/synapse/issues/6332 ))
- Prevent account data syncs getting lost across TCP replication. ([\#6333](https://github.com/matrix-org/synapse/issues/6333 ))
- Fix bug: TypeError in `register_user()` while using LDAP auth module. ([\#6406](https://github.com/matrix-org/synapse/issues/6406 ))
- Fix an intermittent exception when handling read-receipts. ([\#6408](https://github.com/matrix-org/synapse/issues/6408 ))
- Fix broken guest registration when there are existing blocks of numeric user IDs. ([\#6420](https://github.com/matrix-org/synapse/issues/6420 ))
- Fix startup error when http proxy is defined. ([\#6421](https://github.com/matrix-org/synapse/issues/6421 ))
- Fix error when using synapse_port_db on a vanilla synapse db. ([\#6449](https://github.com/matrix-org/synapse/issues/6449 ))
- Fix uploading multiple cross signing signatures for the same user. ([\#6451](https://github.com/matrix-org/synapse/issues/6451 ))
- Fix bug which lead to exceptions being thrown in a loop when a cross-signed device is deleted. ([\#6462](https://github.com/matrix-org/synapse/issues/6462 ))
- Fix `synapse_port_db` not exiting with a 0 code if something went wrong during the port process. ([\#6470](https://github.com/matrix-org/synapse/issues/6470 ))
- Improve sanity-checking when receiving events over federation. ([\#6472](https://github.com/matrix-org/synapse/issues/6472 ))
- Fix inaccurate per-block Prometheus metrics. ([\#6491](https://github.com/matrix-org/synapse/issues/6491 ))
- Fix small performance regression for sending invites. ([\#6493](https://github.com/matrix-org/synapse/issues/6493 ))
- Back out cross-signing code added in Synapse 1.5.0, which caused a performance regression. ([\#6494](https://github.com/matrix-org/synapse/issues/6494 ))
Improved Documentation
----------------------
- Update documentation and variables in user contributed systemd reference file. ([\#6369](https://github.com/matrix-org/synapse/issues/6369 ), [\#6490](https://github.com/matrix-org/synapse/issues/6490 ))
- Fix link in the user directory documentation. ([\#6388](https://github.com/matrix-org/synapse/issues/6388 ))
- Add build instructions to the docker readme. ([\#6390](https://github.com/matrix-org/synapse/issues/6390 ))
- Switch Ubuntu package install recommendation to use python3 packages in INSTALL.md. ([\#6443](https://github.com/matrix-org/synapse/issues/6443 ))
- Write some docs for the quarantine_media api. ([\#6458](https://github.com/matrix-org/synapse/issues/6458 ))
- Convert CONTRIBUTING.rst to markdown (among other small fixes). ([\#6461](https://github.com/matrix-org/synapse/issues/6461 ))
Deprecations and Removals
-------------------------
- Remove admin/v1/users_paginate endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#5925](https://github.com/matrix-org/synapse/issues/5925 ))
- Remove fallback for federation with old servers which lack the /federation/v1/state_ids API. ([\#6488](https://github.com/matrix-org/synapse/issues/6488 ))
Internal Changes
----------------
- Add benchmarks for structured logging and improve output performance. ([\#6266](https://github.com/matrix-org/synapse/issues/6266 ))
- Improve the performance of outputting structured logging. ([\#6322](https://github.com/matrix-org/synapse/issues/6322 ))
- Refactor some code in the event authentication path for clarity. ([\#6343](https://github.com/matrix-org/synapse/issues/6343 ), [\#6468](https://github.com/matrix-org/synapse/issues/6468 ), [\#6480](https://github.com/matrix-org/synapse/issues/6480 ))
- Clean up some unnecessary quotation marks around the codebase. ([\#6362](https://github.com/matrix-org/synapse/issues/6362 ))
- Complain on startup instead of 500'ing during runtime when `public_baseurl` isn't set when necessary. ([\#6379](https://github.com/matrix-org/synapse/issues/6379 ))
- Add a test scenario to make sure room history purges don't break `/messages` in the future. ([\#6392](https://github.com/matrix-org/synapse/issues/6392 ))
- Clarifications for the email configuration settings. ([\#6423](https://github.com/matrix-org/synapse/issues/6423 ))
- Add more tests to the blacklist when running in worker mode. ([\#6429](https://github.com/matrix-org/synapse/issues/6429 ))
- Refactor data store layer to support multiple databases in the future. ([\#6454](https://github.com/matrix-org/synapse/issues/6454 ), [\#6464](https://github.com/matrix-org/synapse/issues/6464 ), [\#6469](https://github.com/matrix-org/synapse/issues/6469 ), [\#6487](https://github.com/matrix-org/synapse/issues/6487 ))
- Port synapse.rest.client.v1 to async/await. ([\#6482](https://github.com/matrix-org/synapse/issues/6482 ))
- Port synapse.rest.client.v2_alpha to async/await. ([\#6483](https://github.com/matrix-org/synapse/issues/6483 ))
- Port SyncHandler to async/await. ([\#6484](https://github.com/matrix-org/synapse/issues/6484 ))
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEETQ1YthIGLQRddG54CTxDAAxPS/QFAl3uYYkACgkQCTxDAAxP
S/QWMQ/8CKgO5cFl6kMxS6EjZJ6C8rA2QxP0iEcveqMj++yT3pQmdtQ5zzO100tS
ZZYAdQbHkk/HWW8TIUtlxC+pcb9ZL0sZejY6dXzhD0dBVkFfhXQhJeFAkZnlf5lu
CR8/kKTJ9IMgL6WtseOCoZQV/N9ifurWqqb8d0J5H5w1i//CP8opUQTn1a7lUzgm
+1KleBv+A+gfltcm+NuC3+Q0GJNqfmtjcneOGwXXiuS3Ux8r2uLpbQsQfuNMMRkP
ItmLJLy8hkP2yncrM9NE1Jkh0uOwcBJczbmT1OpXDIJiueFl7FxLKFXQM17QrpOT
AqVDnVTlXfTDvWFeFstNz84uceXz98tLKZIl0X0inkN/wo3ZxMmzzxQw2Ob55ZPY
pT6oC1gm0bGNQ/smEonyMM3z0ir7OfAce/tFQigfo59qeA08uzeckWkWpiXTbmy5
xu2lomhpQABBNBhEnVpm4+dMXeXWzz1NtkeC6auBn+eX19JqlWZM9WcuNfv4rC+M
eg5mwv2qERBA+qLsZQLy0dEMUy9fIrjd0GklMl6GUKYiSAsbDIptYMZl504D9Emc
adTY63BT7TTiu64lr+CiQ9BbWQkGJxM1MQ8BoYyaKvgtahmOi+0Y5R0RGmrG6Hju
UhgMdjmt5HnN0wiepBFCth9nJq+XDdyls8xAKGtSzGt129krBP4=
=queo
-----END PGP SIGNATURE-----
Merge tag 'v1.7.0rc1' into develop
Synapse 1.7.0rc1 (2019-12-09)
=============================
Features
--------
- Implement per-room message retention policies. ([\#5815](https://github.com/matrix-org/synapse/issues/5815 ), [\#6436](https://github.com/matrix-org/synapse/issues/6436 ))
- Add etag and count fields to key backup endpoints to help clients guess if there are new keys. ([\#5858](https://github.com/matrix-org/synapse/issues/5858 ))
- Add `/admin/v2/users` endpoint with pagination. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#5925](https://github.com/matrix-org/synapse/issues/5925 ))
- Require User-Interactive Authentication for `/account/3pid/add`, meaning the user's password will be required to add a third-party ID to their account. ([\#6119](https://github.com/matrix-org/synapse/issues/6119 ))
- Implement the `/_matrix/federation/unstable/net.atleastfornow/state/<context>` API as drafted in MSC2314. ([\#6176](https://github.com/matrix-org/synapse/issues/6176 ))
- Configure privacy-preserving settings by default for the room directory. ([\#6354](https://github.com/matrix-org/synapse/issues/6354 ))
- Add ephemeral messages support by partially implementing [MSC2228](https://github.com/matrix-org/matrix-doc/pull/2228 ). ([\#6409](https://github.com/matrix-org/synapse/issues/6409 ))
- Add support for [MSC 2367](https://github.com/matrix-org/matrix-doc/pull/2367 ), which allows specifying a reason on all membership events. ([\#6434](https://github.com/matrix-org/synapse/issues/6434 ))
Bugfixes
--------
- Transfer non-standard power levels on room upgrade. ([\#6237](https://github.com/matrix-org/synapse/issues/6237 ))
- Fix error from the Pillow library when uploading RGBA images. ([\#6241](https://github.com/matrix-org/synapse/issues/6241 ))
- Correctly apply the event filter to the `state`, `events_before` and `events_after` fields in the response to `/context` requests. ([\#6329](https://github.com/matrix-org/synapse/issues/6329 ))
- Fix caching devices for remote users when using workers, so that we don't attempt to refetch (and potentially fail) each time a user requests devices. ([\#6332](https://github.com/matrix-org/synapse/issues/6332 ))
- Prevent account data syncs getting lost across TCP replication. ([\#6333](https://github.com/matrix-org/synapse/issues/6333 ))
- Fix bug: TypeError in `register_user()` while using LDAP auth module. ([\#6406](https://github.com/matrix-org/synapse/issues/6406 ))
- Fix an intermittent exception when handling read-receipts. ([\#6408](https://github.com/matrix-org/synapse/issues/6408 ))
- Fix broken guest registration when there are existing blocks of numeric user IDs. ([\#6420](https://github.com/matrix-org/synapse/issues/6420 ))
- Fix startup error when http proxy is defined. ([\#6421](https://github.com/matrix-org/synapse/issues/6421 ))
- Fix error when using synapse_port_db on a vanilla synapse db. ([\#6449](https://github.com/matrix-org/synapse/issues/6449 ))
- Fix uploading multiple cross signing signatures for the same user. ([\#6451](https://github.com/matrix-org/synapse/issues/6451 ))
- Fix bug which lead to exceptions being thrown in a loop when a cross-signed device is deleted. ([\#6462](https://github.com/matrix-org/synapse/issues/6462 ))
- Fix `synapse_port_db` not exiting with a 0 code if something went wrong during the port process. ([\#6470](https://github.com/matrix-org/synapse/issues/6470 ))
- Improve sanity-checking when receiving events over federation. ([\#6472](https://github.com/matrix-org/synapse/issues/6472 ))
- Fix inaccurate per-block Prometheus metrics. ([\#6491](https://github.com/matrix-org/synapse/issues/6491 ))
- Fix small performance regression for sending invites. ([\#6493](https://github.com/matrix-org/synapse/issues/6493 ))
- Back out cross-signing code added in Synapse 1.5.0, which caused a performance regression. ([\#6494](https://github.com/matrix-org/synapse/issues/6494 ))
Improved Documentation
----------------------
- Update documentation and variables in user contributed systemd reference file. ([\#6369](https://github.com/matrix-org/synapse/issues/6369 ), [\#6490](https://github.com/matrix-org/synapse/issues/6490 ))
- Fix link in the user directory documentation. ([\#6388](https://github.com/matrix-org/synapse/issues/6388 ))
- Add build instructions to the docker readme. ([\#6390](https://github.com/matrix-org/synapse/issues/6390 ))
- Switch Ubuntu package install recommendation to use python3 packages in INSTALL.md. ([\#6443](https://github.com/matrix-org/synapse/issues/6443 ))
- Write some docs for the quarantine_media api. ([\#6458](https://github.com/matrix-org/synapse/issues/6458 ))
- Convert CONTRIBUTING.rst to markdown (among other small fixes). ([\#6461](https://github.com/matrix-org/synapse/issues/6461 ))
Deprecations and Removals
-------------------------
- Remove admin/v1/users_paginate endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#5925](https://github.com/matrix-org/synapse/issues/5925 ))
- Remove fallback for federation with old servers which lack the /federation/v1/state_ids API. ([\#6488](https://github.com/matrix-org/synapse/issues/6488 ))
Internal Changes
----------------
- Add benchmarks for structured logging and improve output performance. ([\#6266](https://github.com/matrix-org/synapse/issues/6266 ))
- Improve the performance of outputting structured logging. ([\#6322](https://github.com/matrix-org/synapse/issues/6322 ))
- Refactor some code in the event authentication path for clarity. ([\#6343](https://github.com/matrix-org/synapse/issues/6343 ), [\#6468](https://github.com/matrix-org/synapse/issues/6468 ), [\#6480](https://github.com/matrix-org/synapse/issues/6480 ))
- Clean up some unnecessary quotation marks around the codebase. ([\#6362](https://github.com/matrix-org/synapse/issues/6362 ))
- Complain on startup instead of 500'ing during runtime when `public_baseurl` isn't set when necessary. ([\#6379](https://github.com/matrix-org/synapse/issues/6379 ))
- Add a test scenario to make sure room history purges don't break `/messages` in the future. ([\#6392](https://github.com/matrix-org/synapse/issues/6392 ))
- Clarifications for the email configuration settings. ([\#6423](https://github.com/matrix-org/synapse/issues/6423 ))
- Add more tests to the blacklist when running in worker mode. ([\#6429](https://github.com/matrix-org/synapse/issues/6429 ))
- Refactor data store layer to support multiple databases in the future. ([\#6454](https://github.com/matrix-org/synapse/issues/6454 ), [\#6464](https://github.com/matrix-org/synapse/issues/6464 ), [\#6469](https://github.com/matrix-org/synapse/issues/6469 ), [\#6487](https://github.com/matrix-org/synapse/issues/6487 ))
- Port synapse.rest.client.v1 to async/await. ([\#6482](https://github.com/matrix-org/synapse/issues/6482 ))
- Port synapse.rest.client.v2_alpha to async/await. ([\#6483](https://github.com/matrix-org/synapse/issues/6483 ))
- Port SyncHandler to async/await. ([\#6484](https://github.com/matrix-org/synapse/issues/6484 ))
2019-12-09 15:04:08 +00:00
Andrew Morgan
5e8abe9013
Better errors regarding changing avatar_url ( #6497 )
2019-12-09 14:54:33 +00:00
Neil Johnson
24da1ffcb6
1.7.0rc1
2019-12-09 14:46:20 +00:00
Neil Johnson
adfdd82b21
Back out perf regression from get_cross_signing_keys_from_cache. ( #6494 )
...
Back out cross-signing code added in Synapse 1.5.0, which caused a performance regression.
2019-12-09 13:59:27 +00:00
Erik Johnston
30e9adf32f
Merge pull request #6487 from matrix-org/erikj/pass_in_db
...
Pass in Database object to data stores.
2019-12-09 13:53:21 +00:00
Erik Johnston
a1f8ea9051
Port synapse.handlers.initial_sync to async/await
2019-12-09 13:46:45 +00:00
Erik Johnston
f166a8d1f5
Remove SnapshotCache in favour of ResponseCache
2019-12-09 13:42:49 +00:00
Erik Johnston
e1544b0af8
Merge pull request #6493 from matrix-org/erikj/invite_state_config
...
Pull out room_invite_state_types config option once.
2019-12-09 12:23:21 +00:00
Erik Johnston
65b37f6729
Fix comment
...
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2019-12-09 11:56:43 +00:00
Richard van der Hoff
18660a34d8
Fix inaccurate per-block metrics ( #6491 )
...
`Measure` incorrectly assumed that it was the only thing being done by the parent `LoggingContext`. For instance, during a "renew group attestations" operation, hundreds of `outbound_request` calls could take place in parallel, all using the same `LoggingContext`. This would mean that any resources used during *any* of those calls would be reported against *all* of them, producing wildly inaccurate results.
Instead, we now give each `Measure` block its own `LoggingContext` (using the parent `LoggingContext` mechanism to ensure that the log lines look correct and that the metrics are ultimately propogated to the top level for reporting against requests/backgrond tasks).
2019-12-09 11:55:30 +00:00
Erik Johnston
8ad8bcbed0
Pull out room_invite_state_types config option once.
...
Pulling things out of config is currently surprisingly expensive.
2019-12-09 11:52:19 +00:00
Richard van der Hoff
e519489fc4
Remove fallback for missing /federation/v1/state_ids API ( #6488 )
...
This API was added way back in 0.17.0; the code here is annoying to maintain
and entirely redundant.
2019-12-09 11:37:26 +00:00
Erik Johnston
a9b393340f
Merge pull request #6484 from matrix-org/erikj/port_sync_handler
...
Port SyncHandler to async/await
2019-12-09 11:32:44 +00:00
Erik Johnston
71ee22c0ba
Fix port db script
2019-12-06 16:41:48 +00:00
Erik Johnston
75f87450d8
Move start up DB checks to main data store.
2019-12-06 16:02:21 +00:00
Erik Johnston
d537be1ebd
Pass Database into the data store
2019-12-06 15:49:44 +00:00
Erik Johnston
d64bb32a73
Move are_all_users_on_domain checks to main data store.
2019-12-06 13:43:40 +00:00
Erik Johnston
9a4fb457cf
Change DataStores to accept 'database' param.
2019-12-06 13:30:06 +00:00
Erik Johnston
2ace775d88
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/make_database_class
2019-12-06 11:33:34 +00:00
Erik Johnston
e216ec381a
Remove unused var
2019-12-06 11:16:37 +00:00
Erik Johnston
b3a4e35ca8
Fixup functions to consistently return deferreds
2019-12-06 10:40:05 +00:00
Brendan Abolivier
e126d83f74
Merge branch 'develop' into babolivier/msc1802
2019-12-05 21:00:43 +00:00
Manuel Stahl
649b6bc088
Replace /admin/v1/users_paginate endpoint with /admin/v2/users ( #5925 )
2019-12-05 18:12:23 +00:00
Erik Johnston
8437e2383e
Port SyncHandler to async/await
2019-12-05 17:58:25 +00:00
Erik Johnston
9c41ba4c5f
Port rest.client.v2
2019-12-05 16:56:23 +00:00
Erik Johnston
1a0997bbd5
Port rest/v1 to async/await
2019-12-05 15:57:28 +00:00
Richard van der Hoff
63d6ad1064
Stronger typing in the federation handler ( #6480 )
...
replace the event_info dict with an attrs thing
2019-12-05 15:02:35 +00:00
Richard van der Hoff
e1f4c83f41
Sanity-check the rooms of auth events before pulling them in. ( #6472 )
2019-12-05 14:14:45 +00:00
Erik Johnston
4a33a6dd19
Move background update handling out of store
2019-12-05 11:11:26 +00:00
Erik Johnston
8863624f78
Comments
2019-12-05 10:46:37 +00:00
Erik Johnston
756d4942f5
Move DB pool and helper functions into dedicated Database class
2019-12-05 10:46:37 +00:00
Erik Johnston
ddbbfc9512
Merge pull request #6464 from matrix-org/erikj/make_public_sql_base
...
Clean up SQLBaseStore private function usage
2019-12-05 10:43:49 +00:00
Brendan Abolivier
fe799f353d
Merge pull request #6470 from matrix-org/babolivier/port_db_ci_failure
...
Make synapse_port_db exit with a non-0 code if something failed
2019-12-04 18:20:36 +00:00
Brendan Abolivier
f8421a1404
Fix background updates for synapse_port_db
2019-12-04 17:57:35 +00:00
Richard van der Hoff
e203874caa
get rid of (most of) have_events from _update_auth_events_and_context_for_auth ( #6468 )
...
have_events was a map from event_id to rejection reason (or None) for events
which are in our local database. It was used as filter on the list of
event_ids being passed into get_events_as_list. However, since
get_events_as_list will ignore any event_ids that are unknown or rejected, we
can equivalently just leave it to get_events_as_list to do the filtering.
That means that we don't have to keep `have_events` up-to-date, and can use
`have_seen_events` instead of `get_seen_events_with_rejection` in the one place
we do need it.
2019-12-04 17:27:32 +00:00
Erik Johnston
ee86abb2d6
Remove underscore from SQLBaseStore functions
2019-12-04 16:23:43 +00:00
Erik Johnston
c2f525a525
Don't call SQLBaseStore methods from outside stores
2019-12-04 16:23:43 +00:00
Erik Johnston
3eb15c01d9
Merge pull request #6454 from matrix-org/erikj/clean_base_Store
...
Move things out of SQLBaseStore
2019-12-04 16:23:19 +00:00
Erik Johnston
9186c105a0
Revert "Move get_user_count_txn out of base store"
...
This reverts commit 00f0d67566
.
Its going to get removed soon, so lets not make merge conflicts.
2019-12-04 15:46:19 +00:00
Erik Johnston
a7f20500ff
_CURRENT_STATE_CACHE_NAME is public
2019-12-04 15:45:42 +00:00
Erik Johnston
b9449012db
Merge pull request #6441 from syamgk/fix-parameter-mismatch
...
Fix issue #6406 parameter mismatch
2019-12-04 15:42:33 +00:00
Brendan Abolivier
c530f9af4d
Merge pull request #6329 from matrix-org/babolivier/context_filters
...
Filter state, events_before and events_after in /context requests
2019-12-04 15:24:16 +00:00
Erik Johnston
00f0d67566
Move get_user_count_txn out of base store
2019-12-04 15:21:14 +00:00
Erik Johnston
1056d6885a
Move cache invalidation to main data store
2019-12-04 15:21:14 +00:00
Erik Johnston
6b2867096b
Move event fetch vars to EventWorkStore
2019-12-04 15:21:14 +00:00
Erik Johnston
ddd48b6851
Move account validity bg updates to registration store
2019-12-04 15:21:14 +00:00
Brendan Abolivier
9dc84b7989
Merge branch 'develop' into babolivier/context_filters
2019-12-04 14:23:44 +00:00
Brendan Abolivier
08a436ecb2
Incorporate review
2019-12-04 14:18:46 +00:00
Erik Johnston
2aa8943809
Merge pull request #6451 from matrix-org/uhoreg/cross_signing_signatures_index
...
make cross signing signature index non-unique
2019-12-04 09:57:09 +00:00
Neil Johnson
cb0aeb147e
privacy by default for room dir ( #6355 )
...
Ensure that the the default settings for the room directory are that the it is hidden from public view by default.
2019-12-04 09:46:16 +00:00
Richard van der Hoff
0120875462
Fix exception when a cross-signed device is deleted ( #6462 )
...
(hopefully)
... and deobfuscate the relevant bit of code.
2019-12-04 07:38:35 +00:00
Syam G Krishnan
ce1c975ebc
Issue #6406 Fix parameter mismatch
...
Signed-off-by: Syam G Krishnan <syamgk01@gmail.com>
2019-12-04 13:03:46 +05:30
Hubert Chathi
418813b205
apply changes from review
2019-12-03 15:27:00 -05:00
Brendan Abolivier
54dd5dc12b
Add ephemeral messages support (MSC2228) ( #6409 )
...
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
2019-12-03 19:19:45 +00:00
Amber Brown
fdec84aa42
Add benchmarks for structured logging performance ( #6266 )
2019-12-03 20:21:25 +11:00
Hubert Chathi
2252680a98
make cross signing signature index non-unique
2019-12-02 17:01:59 -05:00
Andrew Morgan
72078e4be5
Transfer power level state events on room upgrade ( #6237 )
2019-12-02 15:11:32 +00:00
Filip Štědronský
81731c6e75
Fix: Pillow error when uploading RGBA image ( #3325 ) ( #6241 )
...
Signed-Off-By: Filip Štědronský <g@regnarg.cz>
2019-12-02 12:12:55 +00:00
Andrew Morgan
23ea572125
Add User-Interactive Auth to /account/3pid/add ( #6119 )
2019-11-29 13:51:14 +00:00
Erik Johnston
1c3a61529f
Merge pull request #6434 from matrix-org/erikj/msc2367_membership_reasons
...
Implement MSC 2367 - Membership Reasons
2019-11-29 13:30:36 +00:00
Brendan Abolivier
6d8576c4ce
Merge pull request #6436 from matrix-org/babolivier/fix-state-retrieval
...
Discard retention policies when retrieving state
2019-11-29 11:25:11 +00:00
Brendan Abolivier
78ec11c085
Lint
2019-11-28 20:35:22 +00:00
Brendan Abolivier
708cef88cf
Discard retention policies when retrieving state
...
Purge jobs don't delete the latest event in a room in order to keep the forward extremity and not break the room. On the other hand, get_state_events, when given an at_token argument calls filter_events_for_client to know if the user can see the event that matches that (sync) token. That function uses the retention policies of the events it's given to filter out those that are too old from a client's view.
Some clients, such as Riot, when loading a room, request the list of members for the latest sync token it knows about, and get confused to the point of refusing to send any message if the server tells it that it can't get that information. This can happen very easily with the message retention feature turned on and a room with low activity so that the last event sent becomes too old according to the room's retention policy.
An easy and clean fix for that issue is to discard the room's retention policies when retrieving state.
2019-11-28 19:26:26 +00:00
Andrew Morgan
96562131a4
Merge branch 'master' into develop
2019-11-28 12:08:02 +00:00
Erik Johnston
2173785f0d
Propagate reason in remotely rejected invites
2019-11-28 11:31:56 +00:00
Andrew Morgan
e7777f3668
1.6.1
2019-11-28 11:29:50 +00:00
Andrew Morgan
2030193e55
Remove local threepids on account deactivation ( #6426 )
2019-11-28 11:07:45 +00:00
Erik Johnston
69d8fb83c6
MSC2367 Allow reason field on all member events
2019-11-28 11:02:04 +00:00
Andrew Morgan
a9c44d4008
Remove local threepids on account deactivation ( #6426 )
2019-11-28 10:40:42 +00:00
Richard van der Hoff
c48ea98007
Clarifications for the email configuration settings. ( #6423 )
...
Cf #6422
2019-11-28 09:29:18 +00:00
Amber Brown
0f87b912ab
Implementation of MSC2314 ( #6176 )
2019-11-28 08:54:07 +11:00
Hubert Chathi
0d27aba900
add etag and count to key backup endpoints ( #5858 )
2019-11-27 16:14:44 -05:00
Brendan Abolivier
d31f69afa0
Merge pull request #6358 from matrix-org/babolivier/message_retention
...
Implement message retention policies (MSC1763)
2019-11-27 15:04:38 +00:00
Richard van der Hoff
9b9ee75666
Fix startup error when http proxy is defined. ( #6421 )
...
Guess I only tested this on python 2 :/
Fixes #6419 .
2019-11-27 10:29:10 +00:00
Andrew Morgan
ce578031f4
Remove assertion and provide a clear warning on startup for missing public_baseurl ( #6379 )
2019-11-26 18:42:27 +00:00
Richard van der Hoff
651d930f16
Merge pull request #6343 from matrix-org/rav/event_auth/4
...
Refactor _update_auth_events_and_context_for_auth
2019-11-26 18:15:03 +00:00
Richard van der Hoff
ef1a85e773
Fix startup error when http proxy is defined. ( #6421 )
...
Guess I only tested this on python 2 :/
Fixes #6419 .
2019-11-26 18:10:50 +00:00
Brendan Abolivier
9e937c28ee
Merge branch 'develop' into babolivier/message_retention
2019-11-26 17:53:57 +00:00
Erik Johnston
f8f14ba466
Don't construct a set
2019-11-26 16:06:41 +00:00
Erik Johnston
8bb7b15894
Fix find_next_generated_user_id_localpart
2019-11-26 15:54:48 +00:00
Andrew Morgan
9fb350af65
Merge branch 'master' into develop
2019-11-26 14:15:30 +00:00
Andrew Morgan
a8175d0f96
Prevent account_data content from being sent over TCP replication ( #6333 )
2019-11-26 13:58:39 +00:00
Andrew Morgan
b98971e8a4
1.6.0
2019-11-26 13:28:40 +00:00
Erik Johnston
65d54c5e8c
Fix phone home stats ( #6418 )
...
Fix phone home stats
2019-11-26 13:28:40 +00:00
Erik Johnston
f9f1c8acbb
Merge pull request #6332 from matrix-org/erikj/query_devices_fix
...
Fix caching devices for remote servers in worker.
2019-11-26 12:56:05 +00:00
Richard van der Hoff
4d394d6415
remove confusing fixme
2019-11-26 12:32:37 +00:00
Erik Johnston
35f9165e96
Fixup docs
2019-11-26 12:04:48 +00:00
Richard van der Hoff
c01d543584
Make sure that we close cursors before returning from a query ( #6408 )
...
There are lots of words in the comment as to why this is a good idea.
Fixes #6403 .
2019-11-25 21:03:17 +00:00
Richard van der Hoff
07929bd62f
Synapse 1.6.0rc2 (2019-11-25)
...
=============================
Bugfixes
--------
- Fix a bug which could cause the background database update hander for event labels to get stuck in a loop raising exceptions. ([\#6407](https://github.com/matrix-org/synapse/issues/6407 ))
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEv27Axt/F4vrTL/8QOSor00I9eP8FAl3b1yUACgkQOSor00I9
eP/dWQf+ORS/B853qyH5KPZ66o6d7WudSewPmEkFD3747CBevxBsTPETijkqTBlo
WPOmQy9i5OUWpsFYrsrCH+ATpr0JYaIuuoHsIFq/BPFFUx64qrgDwL+X4QEShwAm
kjGNtCMP6VNGjM6MqFepRHSTbIEamCCS665CgVJtqgRYRaAJYI3SQDQ64+ALcbx3
clFZowKV2EtfqhYR7HuBUuxuRjRPGcciNVyjMQFkKq91gKsO4rjPttvE4Bok29ia
/uqFB6T0qty/81T708teZGgB/3/bYK4RtUA4lZCHBNeUejj26bESTI691RfBAEde
to+D7xjA5zaMP3atYNlrvRrqK7Mm3w==
=ucJN
-----END PGP SIGNATURE-----
Merge tag 'v1.6.0rc2' into develop
Synapse 1.6.0rc2 (2019-11-25)
=============================
Bugfixes
--------
- Fix a bug which could cause the background database update hander for event labels to get stuck in a loop raising exceptions. ([\#6407](https://github.com/matrix-org/synapse/issues/6407 ))
2019-11-25 17:51:39 +00:00
Amber Brown
9eebd46048
Improve the performance of structured logging ( #6322 )
2019-11-26 03:45:50 +11:00
Richard van der Hoff
f9c9e1f076
1.6.0rc2
2019-11-25 13:28:12 +00:00
Richard van der Hoff
b7367c339d
Fix exceptions from background database update for event labels. ( #6407 )
...
Add some exception handling here so that events whose json cannot be parsed are
ignored rather than getting us stuck in a loop.
Fixes #6404 .
2019-11-25 13:26:59 +00:00
Andrew Morgan
3916e1b97a
Clean up newline quote marks around the codebase ( #6362 )
2019-11-21 12:00:14 +00:00
Andrew Morgan
41e4566682
1.6.0rc1
2019-11-20 14:12:42 +00:00
Manuel Stahl
4f5ca455bf
Move admin endpoints into separate files ( #6308 )
2019-11-20 11:49:11 +00:00
Brendan Abolivier
83446a18fb
Merge pull request #6335 from matrix-org/erikj/rc_login_cleanups
...
Only do `rc_login` ratelimiting on succesful login.
2019-11-20 09:52:38 +00:00
Brendan Abolivier
271c322d08
Lint
2019-11-20 09:29:48 +00:00
Brendan Abolivier
cdd3cb870d
Fix worker mode
2019-11-19 14:40:21 +00:00
Brendan Abolivier
a6fc6754f8
Fix 3PID invite exchange
2019-11-19 14:07:39 +00:00
Brendan Abolivier
97b863fe32
Lint again
2019-11-19 13:33:58 +00:00
Brendan Abolivier
bf9a11c54d
Lint again
2019-11-19 13:30:04 +00:00
Brendan Abolivier
7c24d0f443
Lint
2019-11-19 13:22:37 +00:00
Erik Johnston
c7376cdfe3
Apply suggestions from code review
...
Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Co-Authored-By: Brendan Abolivier <babolivier@matrix.org>
2019-11-18 17:10:16 +00:00
Richard van der Hoff
870c00e278
Merge remote-tracking branch 'origin/develop' into rav/event_auth/4
2019-11-18 12:05:36 +00:00
Andrew Morgan
657d614f6a
Replace UPDATE with UPSERT on device_max_stream_id table ( #6363 )
2019-11-15 14:02:34 +00:00
Andrew Morgan
745a48625d
Fix guest -> real account upgrade with account validity enabled ( #6359 )
2019-11-14 12:02:05 +00:00
Andrew Morgan
a65a5ea125
Merge branch 'develop' of github.com:matrix-org/synapse into anoa/fix_account_data_sync
...
* 'develop' of github.com:matrix-org/synapse:
Blacklist PurgeRoomTestCase (#6361 )
Set room version default to 5
2019-11-14 10:26:56 +00:00
Andrew Morgan
473acedcdd
Merge branch 'develop' of github.com:matrix-org/synapse into anoa/homeserver_copy
...
* 'develop' of github.com:matrix-org/synapse:
Blacklist PurgeRoomTestCase (#6361 )
Set room version default to 5
2019-11-14 10:26:27 +00:00
Brendan Abolivier
a42567e4a8
Merge pull request #6220 from matrix-org/neilj/set_room_version_default_to_5
...
Set room version default to 5
2019-11-14 10:21:00 +00:00
Andrew Morgan
73d091be48
A couple more instances
2019-11-12 13:12:25 +00:00
Andrew Morgan
bc29a19731
Replace instance variations of homeserver with correct case/spacing
2019-11-12 13:08:12 +00:00
Brendan Abolivier
94cdd6fffe
Lint
2019-11-11 16:56:55 +00:00
Brendan Abolivier
edc4c7d4c5
Lint
2019-11-11 16:51:54 +00:00
Brendan Abolivier
5e18dc7955
Fix prefix for v2/send_leave
2019-11-11 16:46:09 +00:00
Brendan Abolivier
74897de01f
Add server-side support to the v2 API
2019-11-11 16:40:45 +00:00
Brendan Abolivier
1e202a90f1
Implement v2 API for send_leave
2019-11-11 16:26:53 +00:00
Brendan Abolivier
92527d7b21
Add missing yield
2019-11-11 16:20:53 +00:00
Brendan Abolivier
4c131b2c78
Implement v2 API for send_join
2019-11-11 15:47:47 +00:00
Andrew Morgan
cd96b4586f
lint
2019-11-08 15:45:45 +00:00
Andrew Morgan
c4bdf2d785
Remove content from being sent for account data rdata stream
2019-11-08 15:44:02 +00:00
Richard van der Hoff
f41027f746
Use get_events_as_list rather than lots of calls to get_event
...
It's more efficient and clearer.
2019-11-08 12:21:28 +00:00
Richard van der Hoff
f8407975e7
Update some docstrings and comments
2019-11-08 12:18:20 +00:00
Richard van der Hoff
772d414975
Simplify _update_auth_events_and_context_for_auth
...
move event_key calculation into _update_context_for_auth_events, since it's
only used there.
2019-11-08 11:40:11 +00:00
Brendan Abolivier
963ffb60b9
Merge pull request #6340 from matrix-org/babolivier/pagination_query
...
Fix the SQL SELECT query in _paginate_room_events_txn
2019-11-08 11:12:24 +00:00
Brendan Abolivier
b16fa43386
Incorporate review
2019-11-08 10:34:09 +00:00
Erik Johnston
f713c01e2b
Merge pull request #6295 from matrix-org/erikj/split_purge_history
...
Split purge API into events vs state and add PurgeEventsStorage
2019-11-08 10:19:15 +00:00
Erik Johnston
e4ec82ce0f
Move type annotation into docstring
2019-11-08 09:50:48 +00:00
Brendan Abolivier
46e5db9eb2
Merge pull request #6310 from matrix-org/babolivier/msc2326_bg_update
...
MSC2326: Add background update to take previous events into account
2019-11-07 22:54:56 +00:00
Brendan Abolivier
dad8d68c99
Update synapse/storage/data_stores/main/events_bg_updates.py
...
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2019-11-07 17:01:53 +00:00
Brendan Abolivier
6d360f099f
Update synapse/storage/data_stores/main/events_bg_updates.py
...
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2019-11-07 17:01:43 +00:00
Brendan Abolivier
c9b27d0044
Copy results
2019-11-07 16:47:45 +00:00
Brendan Abolivier
cd31201267
Revert "Back to using cursor_to_dict"
...
This reverts commit 1186612d6c
.
2019-11-07 16:47:15 +00:00
Brendan Abolivier
1186612d6c
Back to using cursor_to_dict
2019-11-07 16:46:41 +00:00
Brendan Abolivier
ec2cb9f298
Initialise value before looping
2019-11-07 16:18:40 +00:00
Brendan Abolivier
bb78276bdc
Incorporate review
2019-11-07 15:25:27 +00:00
Brendan Abolivier
b9cba07962
Lint
2019-11-07 14:57:15 +00:00
Brendan Abolivier
70804392ae
Only join on event_labels if we're filtering on labels
2019-11-07 14:55:10 +00:00
Brendan Abolivier
15a1a02e70
Handle lack of filter
2019-11-07 12:04:37 +00:00
Brendan Abolivier
3f9b61ff95
Fix the SQL SELECT query in _paginate_room_events_txn
...
Doing a SELECT DISTINCT when paginating is quite expensive, because it requires the engine to do sorting on the entire events table. However, we only need to run it if we're filtering on 2+ labels, so this PR is changing the request so that DISTINCT is only used then.
2019-11-07 11:51:11 +00:00
Andrew Morgan
e914cf12f6
Merge pull request #6235 from matrix-org/anoa/room_upgrade_groups
2019-11-07 11:12:22 +00:00
V02460
affcc2cc36
Fix LruCache callback deduplication ( #6213 )
2019-11-07 09:43:51 +00:00
Brendan Abolivier
f03c9d3444
Don't apply retention policy based filtering on state events
...
As per MSC1763, 'Retention is only considered for non-state events.', so don't filter out state events based on the room's retention policy.
2019-11-06 18:40:04 +00:00
Brendan Abolivier
eda14737cf
Also filter state events
2019-11-06 18:14:03 +00:00
Andrew Morgan
a6ebef1bfd
Make numeric user_id checker start at @0, and don't ratelimit on checking ( #6338 )
2019-11-06 17:21:20 +00:00
Erik Johnston
5c3363233c
Fix deleting state groups during room purge.
...
And fix the tests to actually test that things got deleted.
2019-11-06 17:02:08 +00:00
Erik Johnston
71f3bd734f
Use correct type annotation
2019-11-06 17:00:18 +00:00
Andrew Morgan
55bc8d531e
raise exception after multiple failures
2019-11-06 16:52:54 +00:00
Andrew Morgan
1fe3cc2c9c
Address review comments
2019-11-06 14:54:24 +00:00
Richard van der Hoff
915903eada
Merge branch 'master' into develop
2019-11-06 13:51:11 +00:00
Andrew Morgan
4059d61e26
Don't forget to ratelimit calls outside of RegistrationHandler
2019-11-06 12:01:54 +00:00
Andrew Morgan
b33c4f7a82
Numeric ID checker now checks @0, don't ratelimit on checking
2019-11-06 11:55:00 +00:00
Erik Johnston
f697b4b4a2
Add failed auth ratelimiting to UIA
2019-11-06 11:08:58 +00:00
Erik Johnston
541f1b92d9
Only do rc_login
ratelimiting on succesful login.
...
We were doing this in a number of places which meant that some login
code paths incremented the counter multiple times.
It was also applying ratelimiting to UIA endpoints, which was probably
not intentional.
In particular, some custom auth modules were calling
`check_user_exists`, which incremented the counters, meaning that people
would fail to login sometimes.
2019-11-06 11:08:58 +00:00
Brendan Abolivier
24a214bd1b
Fix field name
2019-11-06 11:04:19 +00:00
Brendan Abolivier
70d93cafdb
Update insert
2019-11-06 10:59:03 +00:00
Richard van der Hoff
feafd98aca
1.5.1
2019-11-06 10:02:23 +00:00
Richard van der Hoff
807ec3bd99
Fix bug which caused rejected events to be stored with the wrong room state ( #6320 )
...
Fixes a bug where rejected events were persisted with the wrong state group.
Also fixes an occasional internal-server-error when receiving events over
federation which are rejected and (possibly because they are
backwards-extremities) have no prev_group.
Fixes #6289 .
2019-11-06 10:01:39 +00:00
Richard van der Hoff
0e3ab8afdc
Add some checks that we aren't using state from rejected events ( #6330 )
...
* Raise an exception if accessing state for rejected events
Add some sanity checks on accessing state_group etc for
rejected events.
* Skip calculating push actions for rejected events
It didn't actually cause any bugs, because rejected events get filtered out at
various later points, but there's not point in trying to calculate the push
actions for a rejected event.
2019-11-05 22:13:37 +00:00
Erik Johnston
01ba7b38a7
Merge pull request #6336 from matrix-org/erikj/fix_phone_home_stats
...
Fix phone home stats
2019-11-05 18:29:57 +00:00
Erik Johnston
052513958d
Fix phone home stats
2019-11-05 17:44:09 +00:00
Richard van der Hoff
5570d1c93f
Merge pull request #6334 from matrix-org/rav/url_preview_limit_title_2
...
Fix exception when OpenGraph tag values are ints
2019-11-05 17:28:11 +00:00
Richard van der Hoff
81d49cbb07
Fix exception when OpenGraph tag values are ints
2019-11-05 17:22:58 +00:00
Richard van der Hoff
55a7da247a
Merge branch 'develop' into rav/url_preview_limit_title
2019-11-05 17:08:07 +00:00
Richard van der Hoff
e78167c94b
Apply suggestions from code review
...
Co-Authored-By: Brendan Abolivier <babolivier@matrix.org>
Co-Authored-By: Erik Johnston <erik@matrix.org>
2019-11-05 16:46:39 +00:00
Richard van der Hoff
e9bfe719ba
Strip overlong OpenGraph data from url preview
...
... to stop people causing DoSes with malicious web pages
2019-11-05 15:51:18 +00:00
Erik Johnston
c16e192e2f
Fix caching devices for remote servers in worker.
...
When the `/keys/query` API is hit on client_reader worker Synapse may
decide that it needs to resync some remote deivces. Usually this happens
on master, and then gets cached. However, that fails on workers and so
it falls back to fetching devices from remotes directly, which may in
turn fail if the remote is down.
2019-11-05 15:49:43 +00:00
Brendan Abolivier
cb2cbe4d26
Only filter if a filter was provided
2019-11-05 15:28:36 +00:00
Brendan Abolivier
f141af4c79
Update copyright
2019-11-05 14:52:38 +00:00
Brendan Abolivier
8822b33111
Update copyrights
2019-11-05 14:46:35 +00:00
Richard van der Hoff
4086002827
Improve documentation for EventContext fields ( #6319 )
2019-11-05 13:23:25 +00:00
Brendan Abolivier
1dffa78701
Filter events_before and events_after in /context requests
...
While the current version of the spec doesn't say much about how this endpoint uses filters (see https://github.com/matrix-org/matrix-doc/issues/2338 ), the current implementation is that some fields of an EventFilter apply (the ones that are used when running the SQL query) and others don't (the ones that are used by the filter itself) because we don't call event_filter.filter(...). This seems counter-intuitive and probably not what we want so this commit fixes it.
2019-11-05 12:21:59 +00:00
Erik Johnston
ffe595381d
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_purge_history
2019-11-05 10:27:41 +00:00
Andrew Morgan
506a63de67
Merge branch 'develop' of github.com:matrix-org/synapse into anoa/room_upgrade_groups
2019-11-04 18:22:41 +00:00
Andrew Morgan
c2203bea57
Re-add docstring, with caveats detailed
2019-11-04 18:17:11 +00:00
Brendan Abolivier
e252ffadbc
Merge branch 'develop' into babolivier/msc2326_bg_update
2019-11-04 18:09:50 +00:00
Andrew Morgan
0287d033ee
Transfer upgraded rooms on groups
2019-11-04 18:08:50 +00:00
Amber Brown
4e1c7b79fa
Remove the psutil dependency ( #6318 )
...
* remove psutil and replace with resource
2019-11-05 05:05:48 +11:00
Brendan Abolivier
09957ce0e4
Implement per-room message retention policies
2019-11-04 17:09:22 +00:00
Erik Johnston
7134ca7daa
Change to not require a state_groups.room_id index.
...
This does mean that we won't clean up orphaned state groups (i.e. state
groups that were persisted but the associated event wasn't).
2019-11-04 13:36:57 +00:00
Erik Johnston
6a0092d371
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_purge_history
2019-11-04 13:29:35 +00:00
Richard van der Hoff
cc6243b4c0
document the REPLICATE command a bit better ( #6305 )
...
since I found myself wonder how it works
2019-11-04 12:40:18 +00:00
Brendan Abolivier
3b29a73f9f
Print out the actual number of affected rows
2019-11-04 09:56:11 +00:00
Brendan Abolivier
824bba2f78
Correctly order results
2019-11-04 09:56:11 +00:00
Brendan Abolivier
49008e674f
TODO
2019-11-04 09:56:11 +00:00
Brendan Abolivier
1586f2c7e7
Fix exit condition
2019-11-04 09:56:11 +00:00
Brendan Abolivier
1c1268245d
Lint
2019-11-04 09:56:11 +00:00
Brendan Abolivier
911b03ca31
Don't try to process events we already have a label for
2019-11-04 09:56:10 +00:00
Brendan Abolivier
07cb38e965
Use a sensible default value for labels
2019-11-04 09:56:10 +00:00
Brendan Abolivier
a46574281d
Use the right format for rows
2019-11-04 09:56:10 +00:00
Brendan Abolivier
c9a1b80a74
MSC2326: Add background update to take previous events into account
2019-11-04 09:56:04 +00:00
Brendan Abolivier
f496d25877
Merge pull request #6301 from matrix-org/babolivier/msc2326
...
Implement MSC2326 (label based filtering)
2019-11-01 17:04:45 +00:00
Brendan Abolivier
988d8d6507
Incorporate review
2019-11-01 16:22:44 +00:00
Richard van der Hoff
c6516adbe0
Factor out an _AsyncEventContextImpl ( #6298 )
...
The intention here is to make it clearer which fields we can expect to be
populated when: notably, that the _event_type etc aren't used for the
synchronous impl of EventContext.
2019-11-01 16:19:09 +00:00
Brendan Abolivier
5598445655
Update synapse/storage/data_stores/main/schema/delta/56/event_labels.sql
...
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2019-11-01 16:18:34 +00:00
Hubert Chathi
fa7e52caf1
Merge pull request #6313 from matrix-org/uhoreg/cross_signing_fix_sqlite_schema
...
fix hidden field in devices table for older sqlite
2019-11-01 10:52:46 -04:00
Richard van der Hoff
1cb84c6486
Support for routing outbound HTTP requests via a proxy ( #6239 )
...
The `http_proxy` and `HTTPS_PROXY` env vars can be set to a `host[:port]` value which should point to a proxy.
The address of the proxy should be excluded from IP blacklists such as the `url_preview_ip_range_blacklist`.
The proxy will then be used for
* push
* url previews
* phone-home stats
* recaptcha validation
* CAS auth validation
It will *not* be used for:
* Application Services
* Identity servers
* Outbound federation
* In worker configurations, connections from workers to masters
Fixes #4198 .
2019-11-01 14:07:44 +00:00
Andrew Morgan
fe1f2b4520
Remove last usages of deprecated logging.warn method ( #6314 )
2019-11-01 12:03:44 +00:00
Brendan Abolivier
a2c63c619a
Add more data to the event_labels table and fix the indexes
2019-11-01 11:47:28 +00:00
Erik Johnston
669b6cbda3
Fix up comment
2019-11-01 11:32:20 +00:00
Brendan Abolivier
e3689ac6f7
Add unstable feature flag
2019-11-01 10:41:23 +00:00
Brendan Abolivier
57cdb046e4
Lint
2019-11-01 10:39:14 +00:00
Brendan Abolivier
c6dbca2422
Incorporate review
2019-11-01 10:30:51 +00:00
Andrew Morgan
ace947e8da
Depublish a room from the public rooms list when it is upgraded ( #6232 )
2019-11-01 10:28:09 +00:00
Hubert Chathi
c61db13183
fix hidden field in devices table for older sqlite
2019-10-31 22:52:55 -04:00
Hubert Chathi
c3fc176c60
Update synapse/storage/data_stores/main/devices.py
...
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2019-10-31 22:49:48 -04:00
Hubert Chathi
6f4bc6d01d
Merge branch 'develop' into cross-signing_federation
2019-10-31 22:38:21 -04:00
Hubert Chathi
3b4216f961
Merge pull request #6254 from matrix-org/uhoreg/cross_signing_fix_workers_notify
...
make notification of signatures work with workers
2019-10-31 22:35:03 -04:00
Will Hunt
42e707c663
rstrip slashes from url on appservice ( #6306 )
2019-10-31 17:32:25 +00:00
Hubert Chathi
9c94b48bf1
Merge branch 'develop' into uhoreg/cross_signing_fix_workers_notify
2019-10-31 12:32:07 -04:00
Hubert Chathi
f7e4a582ef
clean up code a bit
2019-10-31 12:01:00 -04:00
Erik Johnston
fb1a6914cf
Update log line to lie a little less
2019-10-31 15:45:48 +00:00
Amber Brown
020add5099
Update black to 19.10b0 ( #6304 )
...
* update version of black and also fix the mypy config being overridden
2019-11-01 02:43:24 +11:00
Erik Johnston
61be1a2926
Add state_groups.room_id index
2019-10-31 15:39:26 +00:00
Erik Johnston
f91f2a1f92
Docstrings
2019-10-31 15:26:00 +00:00
Erik Johnston
8f5bbdb987
Fix purge room API
2019-10-31 15:22:08 +00:00
Erik Johnston
cd581338cf
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_purge_history
2019-10-31 15:19:26 +00:00
Erik Johnston
dfe0cd71b6
Merge pull request #6294 from matrix-org/erikj/add_state_storage
...
Add StateGroupStorage interface
2019-10-31 16:17:53 +01:00
Travis Ralston
3a74c03ffb
Expose some homeserver functionality to spam checkers ( #6259 )
...
* Offer the homeserver instance to the spam checker
* Newsfile
* Linting
* Expose a Spam Checker API instead of passing the homeserver object
* Alter changelog
* s/hs/api
2019-10-31 09:16:14 -06:00
Erik Johnston
64f2b8c3d8
Apply suggestions from code review
...
Fix docstring
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2019-10-31 15:44:31 +01:00
Erik Johnston
c6bcd38841
Fix /purge_room API.
...
It fails trying to clean the `topic` table which was recently removed.
2019-10-31 11:17:23 +00:00
Andrew Morgan
54fef094b3
Remove usage of deprecated logger.warn method from codebase ( #6271 )
...
Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated.
2019-10-31 10:23:24 +00:00
Hubert Chathi
998f7fe7d4
make user signatures a separate stream
2019-10-30 17:22:52 -04:00
Hubert Chathi
670972c0e1
Merge branch 'develop' into uhoreg/cross_signing_fix_workers_notify
2019-10-30 16:46:31 -04:00
Hubert Chathi
bb6cec27a5
rename get_devices_by_remote to get_device_updates_by_remote
2019-10-30 14:57:34 -04:00
Richard van der Hoff
0467f33584
fix delete_existing for _persist_events ( #6300 )
...
this is part of _retry_on_integrity_error, so should only be on _persist_events_and_state_updates
2019-10-30 18:05:00 +00:00
Brendan Abolivier
dcc069a2e2
Lint
2019-10-30 18:01:56 +00:00
Brendan Abolivier
fe51d6cacf
Add more integration testing
2019-10-30 17:28:41 +00:00
Brendan Abolivier
e7943f660a
Add unit tests
2019-10-30 16:15:04 +00:00
Brendan Abolivier
233b14ebe1
Add index on label
2019-10-30 15:58:05 +00:00
Brendan Abolivier
acd16ad86a
Implement filtering
2019-10-30 15:56:33 +00:00
Erik Johnston
7c8c97e635
Split purge API into events vs state
2019-10-30 15:23:37 +00:00
Erik Johnston
69f0054ce6
Port to use state storage
2019-10-30 14:46:54 +00:00
Erik Johnston
5db03535d5
Add StateGroupStorage interface
2019-10-30 14:46:49 +00:00
Brendan Abolivier
fa0dcbc8fa
Store labels for new events
2019-10-30 14:27:15 +00:00
Hubert Chathi
7d7eac61be
Merge branch 'develop' into cross-signing_federation
2019-10-30 10:17:10 -04:00
Hubert Chathi
bc32f102cd
black
2019-10-30 10:07:36 -04:00
Hubert Chathi
d78b1e339d
apply changes as a result of PR review
2019-10-30 10:01:53 -04:00
Erik Johnston
ec6de1cc7d
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_out_persistence_store
2019-10-30 13:37:04 +00:00
Erik Johnston
a8d16f6c00
Review comments
2019-10-30 13:36:12 +00:00
Erik Johnston
e5c3a99091
Merge pull request #6291 from matrix-org/erikj/fix_cache_descriptor
...
Make ObservableDeferred.observe() always return deferred.
2019-10-30 14:06:34 +01:00
Erik Johnston
6e677403b7
Clarify docstring
2019-10-30 11:52:04 +00:00
Erik Johnston
326b3dace7
Make ObservableDeferred.observe() always return deferred.
...
This makes it easier to use in an async/await world.
Also fixes a bug where cache descriptors would occaisonally return a raw
value rather than a deferred.
2019-10-30 11:35:46 +00:00
Andrew Morgan
a2276d4d3c
Fix log line that was printing undefined value ( #6278 )
2019-10-30 11:28:48 +00:00
Andrew Morgan
7955abeaac
Fix small typo in comment ( #6269 )
2019-10-30 11:16:19 +00:00
Andrew Morgan
46c12918ad
Fix typo in domain name in account_threepid_delegates config option ( #6273 )
2019-10-30 11:07:42 +00:00
Andrew Morgan
b39ca49db1
Handle FileNotFound error in checking git repository version ( #6284 )
2019-10-30 11:00:15 +00:00
Erik Johnston
770d1ef673
Merge pull request #6280 from matrix-org/erikj/receipts_async_await
...
Port receipt and read markers to async/wait
2019-10-30 11:44:18 +01:00
Erik Johnston
ba4cc5541c
Merge pull request #6274 from matrix-org/erikj/replication_async
...
Port replication http server endpoints to async/await
2019-10-30 11:44:08 +01:00
Erik Johnston
72bc6294ed
Merge pull request #6275 from matrix-org/erikj/port_rest_events
...
Port room rest handlers to async/await
2019-10-30 11:44:02 +01:00
Brendan Abolivier
47f767269c
Add database table for keeping track of labels on events
2019-10-29 16:56:22 +00:00
Erik Johnston
a287f1e804
Don't return coroutines
2019-10-29 16:36:46 +00:00
Erik Johnston
38474707b9
Merge branch 'erikj/federation_server_async_await' of github.com:matrix-org/synapse into erikj/receipts_async_await
2019-10-29 15:53:17 +00:00
Erik Johnston
74c1e16106
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/federation_server_async_await
2019-10-29 15:52:39 +00:00
Erik Johnston
307e313ef4
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/port_rest_events
2019-10-29 15:51:12 +00:00
Erik Johnston
d6e40e7cbd
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/replication_async
2019-10-29 15:42:58 +00:00
Erik Johnston
2c35ffead2
Port receipt and read markers to async/wait
2019-10-29 15:08:22 +00:00
Erik Johnston
09a135b039
Make concurrently_execute work with async/await
2019-10-29 15:02:23 +00:00
Richard van der Hoff
65cb307e19
Merge branch 'master' into develop
2019-10-29 14:40:57 +00:00
Richard van der Hoff
9ffcf0f7ba
1.5.0
2019-10-29 14:28:54 +00:00
Erik Johnston
3f33879be4
Port federation_server to async/await
2019-10-29 14:13:08 +00:00
Erik Johnston
9be41bc121
Port room rest handlers to async/await
2019-10-29 13:09:29 +00:00
Erik Johnston
e577a4b2ad
Port replication http server endpoints to async/await
2019-10-29 13:00:51 +00:00
Erik Johnston
561133c3c5
Merge pull request #6263 from matrix-org/erikj/caches_return_deferreds
...
Quick fix to ensure cache descriptors always return deferreds
2019-10-29 12:53:21 +01:00
Erik Johnston
e6c7e239ef
Update docstring
2019-10-29 11:48:30 +00:00
Erik Johnston
e419c44ba4
Merge branch 'release-v1.5.0' of github.com:matrix-org/synapse into develop
2019-10-29 11:41:27 +00:00
Erik Johnston
342d871d76
Make room directory search case insensitive
2019-10-29 10:24:02 +00:00
Brendan Abolivier
14504ad573
Add CI for synapse_port_db ( #6140 )
...
This adds:
* a test sqlite database
* a configuration file for the sqlite database
* a configuration file for a postgresql database (using the credentials in `.buildkite/docker-compose.pyXX.pgXX.yaml`)
as well as a new script named `.buildkite/scripts/test_synapse_port_db.sh` that:
1. installs Synapse
2. updates the test sqlite database to the latest schema and runs background updates on it
3. creates an empty postgresql database
4. run the `synapse_port_db` script to migrate the test sqlite database to the empty postgresql database (with coverage)
Step `2` is done via a new script located at `scripts-dev/update_database`.
The test sqlite database is extracted from a SyTest run, so that it can be considered as an actual homeserver's database with actual data in it.
2019-10-28 17:45:32 +00:00
Erik Johnston
d0d8a22c13
Quick fix to ensure cache descriptors always return deferreds
2019-10-28 13:33:04 +00:00
Richard van der Hoff
bcfc647e4d
Synapse 1.5.0rc2 (2019-10-28)
...
=============================
Bugfixes
--------
- Update list of boolean columns in `synapse_port_db`. ([\#6247](https://github.com/matrix-org/synapse/issues/6247 ))
- Fix /keys/query API on workers. ([\#6256](https://github.com/matrix-org/synapse/issues/6256 ))
- Improve signature checking on some federation APIs. ([\#6262](https://github.com/matrix-org/synapse/issues/6262 ))
Internal Changes
----------------
- Move schema delta files to the correct data store. ([\#6248](https://github.com/matrix-org/synapse/issues/6248 ))
- Small performance improvement by removing repeated config lookups in room stats calculation. ([\#6255](https://github.com/matrix-org/synapse/issues/6255 ))
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEv27Axt/F4vrTL/8QOSor00I9eP8FAl225VkACgkQOSor00I9
eP/7wwf6AkQE1dGYDPpmS29XYocfD3EbjT8FojaHTz1gbkIt5rEF88QHzwRo4P/x
1S1kQZpEKxKrwmLMDmSbw9STK/76LKGk9k8VycVHfTdy8SICCiL50pVPpSTJ4nXV
905E7nY0zau3wunWJD4gEjqll967W0AtNKwCHO0D6vNP4pcQNhTkSjhnmypXCFGo
bvV9r0wq8mtq/FS1GX0Y2CEwbbV1MoPrvlXW37t/gBPk3P1QB/vPjakxO8LgeuZf
JzAamP5jOYZJpPCpZxwDm6ZNEQ7T4jORdA623wp1gh1nTG88cObCLXJe2jCnpjnJ
QVb1YlJiwcehXkclIoywgIzj13iIsw==
=7ctT
-----END PGP SIGNATURE-----
Merge tag 'v1.5.0rc2' into develop
Synapse 1.5.0rc2 (2019-10-28)
=============================
Bugfixes
--------
- Update list of boolean columns in `synapse_port_db`. ([\#6247](https://github.com/matrix-org/synapse/issues/6247 ))
- Fix /keys/query API on workers. ([\#6256](https://github.com/matrix-org/synapse/issues/6256 ))
- Improve signature checking on some federation APIs. ([\#6262](https://github.com/matrix-org/synapse/issues/6262 ))
Internal Changes
----------------
- Move schema delta files to the correct data store. ([\#6248](https://github.com/matrix-org/synapse/issues/6248 ))
- Small performance improvement by removing repeated config lookups in room stats calculation. ([\#6255](https://github.com/matrix-org/synapse/issues/6255 ))
2019-10-28 12:59:13 +00:00
Richard van der Hoff
c482d45822
1.5.0rc2
2019-10-28 12:48:18 +00:00
Richard van der Hoff
172f264ed3
Improve signature checking on some federation APIs ( #6262 )
...
Make sure that we check that events sent over /send_join, /send_leave, and
/invite, are correctly signed and come from the expected servers.
2019-10-28 12:43:23 +00:00
Richard van der Hoff
9aee28927b
Convert EventContext to attrs ( #6218 )
...
* make EventContext use an attr
2019-10-28 14:29:55 +02:00
Hubert Chathi
da78f61778
Merge pull request #6253 from matrix-org/uhoreg/e2e_backup_delete_keys
...
delete keys when deleting backup versions
2019-10-25 11:28:11 -04:00
Erik Johnston
64c2cfda8a
Merge branch 'release-v1.5.0' of github.com:matrix-org/synapse into develop
2019-10-25 11:34:49 +01:00
Erik Johnston
87259b3a3a
Merge pull request #6255 from matrix-org/erikj/stats_config
...
Remove repeated calls to config.stats_enabled.
2019-10-25 11:34:38 +01:00
Erik Johnston
a71b8c87ec
Merge branch 'release-v1.5.0' of github.com:matrix-org/synapse into develop
2019-10-25 11:32:24 +01:00
Erik Johnston
a411f2b177
Fix /keys/query API on workers.
...
The necessary getters were added only to the master store and not the
worker stores.
2019-10-25 11:08:03 +01:00
Erik Johnston
f666d6f5d7
Remove repeated calls to config.stats_enabled.
...
Turns out that fetching variables from the config object is expensive,
so doing it once at startup avoids unnecessary work.
2019-10-25 10:28:36 +01:00
Erik Johnston
44ab048cfe
Merge pull request #6251 from matrix-org/michaelkaye/debug_guard_logging
...
Reduce debug logging overhead
2019-10-25 10:05:44 +01:00
Hubert Chathi
c40d7244f8
Merge branch 'develop' into cross-signing_federation
2019-10-24 22:31:25 -04:00
Hubert Chathi
8ac766c44a
make notification of signatures work with workers
2019-10-24 22:14:58 -04:00
Hubert Chathi
ff05c9b760
don't error if federation query doesn't have cross-signing keys
2019-10-24 21:46:11 -04:00
Hubert Chathi
848cd388d9
delete keys when deleting backups
2019-10-24 21:21:51 -04:00
Michael Kaye
e4d98188da
Address codestyle concerns
2019-10-24 18:43:13 +01:00
Michael Kaye
8f4a808d9d
Delay printf until logging is required.
...
Using % will cause the string to be generated even if debugging
is off.
2019-10-24 18:31:53 +01:00
Michael Kaye
9eebc1e73b
use %r to __repr__ objects
...
This avoids calculating __repr__ unless we are going to log.
2019-10-24 18:18:56 +01:00
Michael Kaye
f85b9842f0
Don't encode object as UTF-8 string if not needed.
...
I believe that string formatting ~10-15 sized events will
take a proportion of CPU time.
2019-10-24 18:08:45 +01:00
Michael Kaye
39266a9c9f
Make user/room stats log line less verbose.
2019-10-24 17:55:53 +01:00
Erik Johnston
3aa2a90556
Move schema delta files to the correct data store.
...
They were put in the global schema delta directory due to a bad merge.
2019-10-24 16:45:03 +01:00
Andrew Morgan
8831b04a53
1.5.0rc1
2019-10-24 12:47:58 +01:00
Neil Johnson
2794b79052
Option to suppress resource exceeded alerting ( #6173 )
...
The expected use case is to suppress MAU limiting on small instances
2019-10-24 11:48:46 +01:00
Andrew Morgan
92e88a71d3
Cleanup extra quotes from IDEs ( #6236 )
2019-10-23 16:49:05 +01:00
Erik Johnston
3ca4c7c516
Use new EventPersistenceStore
2019-10-23 16:15:03 +01:00
Erik Johnston
73cf63784b
Add DataStores and Storage classes.
2019-10-23 16:15:03 +01:00
Hubert Chathi
dc2cd6f79d
move get_e2e_cross_signing_key to EndToEndKeyWorkerStore so it works with workers
2019-10-23 09:13:47 -04:00
Erik Johnston
22a9847670
Move persist_events out from main data store.
...
This is in preparation for splitting out of state_groups_state from the
main store into it own one, as persisting events depends on calculating
state.
2019-10-23 13:29:44 +01:00
Andrew Morgan
409c62b27b
Add config linting script that checks for bool casing ( #6203 )
...
Add a linting script that enforces all boolean values in the default config be lowercase.
This has annoyed me for a while so I decided to fix it.
2019-10-23 13:22:54 +01:00
Hubert Chathi
480eac30eb
black
2019-10-22 22:37:16 -04:00
Hubert Chathi
404e8c8532
vendor-prefix the EDU name until MSC1756 is merged into the spec
2019-10-22 22:33:23 -04:00
Hubert Chathi
1fabf82d50
update to work with newer code, and fix formatting
2019-10-22 21:44:58 -04:00
Hubert Chathi
41ad35b523
add missing param
2019-10-22 19:06:29 -04:00
Hubert Chathi
cfdb84422d
make black happy
2019-10-22 19:06:06 -04:00
Hubert Chathi
a1aaf3eea6
don't crash if the user doesn't have cross-signing keys
2019-10-22 19:04:37 -04:00
Hubert Chathi
8d3542a64e
implement federation parts of cross-signing
2019-10-22 19:04:35 -04:00
Erik Johnston
c17efdc01c
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/refactor_stores
2019-10-22 18:44:29 +01:00
Erik Johnston
23d62eded2
Clean up prepare_database.py a bit and add comments
2019-10-22 18:43:31 +01:00
Erik Johnston
6cc497f99b
Delete background_update table creation in main data_store
2019-10-22 18:02:50 +01:00
Erik Johnston
1bbc5444a8
Move README into synapse/storage/__init__.py
2019-10-22 17:59:31 +01:00
Hubert Chathi
2761731634
Merge pull request #5726 from matrix-org/uhoreg/e2e_cross-signing2-part2
...
Cross-signing [3/4] -- uploading signatures edition
2019-10-22 17:05:06 +01:00
Erik Johnston
acf47c7698
Add a basic README to synapse.storage
2019-10-22 11:55:46 +01:00
Erik Johnston
bb6264be0b
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/refactor_stores
2019-10-22 10:41:18 +01:00
Erik Johnston
ffd24545bb
Fix schema management to work with multiple data stores.
2019-10-21 16:08:40 +01:00
Erik Johnston
c66a06ac6b
Move storage classes into a main "data store".
...
This is in preparation for having multiple data stores that offer
different functionality, e.g. splitting out state or event storage.
2019-10-21 16:05:06 +01:00
Neil Johnson
82c8799ec7
Set room version default to 5
2019-10-19 09:06:15 +01:00
Richard van der Hoff
93eaeec75a
Remove Auth.check method ( #6217 )
...
This method was somewhat redundant, and confusing.
2019-10-18 19:43:36 +02:00
Hubert Chathi
36adfaedab
Merge branch 'develop' into cross-signing_sig_upload
2019-10-18 18:34:42 +01:00
Hubert Chathi
125eb45e19
fix doc strings
2019-10-18 16:56:16 +01:00
Hubert Chathi
0a9d22808c
Merge branch 'uhoreg/e2e_cross-signing_merged' into develop
2019-10-18 15:57:40 +01:00
Richard van der Hoff
2b22faded7
Merge remote-tracking branch 'origin/develop' into rav/event_auth/1
2019-10-18 12:35:13 +01:00
Richard van der Hoff
560c122267
Fix logging config for the docker image ( #6197 )
...
Turns out that loggers that are instantiated before the config is loaded get
turned off.
Also bring the logging config that is generated by --generate-config into line.
Fixes #6194 .
2019-10-18 13:34:33 +02:00
Hubert Chathi
cfc28325a6
Merge branch 'develop' into uhoreg/e2e_cross-signing_merged
2019-10-18 11:39:40 +01:00
Brendan Abolivier
1ee97cbd01
Merge branch 'master' into develop
2019-10-18 11:00:43 +01:00
Hubert Chathi
f0f6a2b360
use the right function for when we're already in runInteraction
2019-10-18 10:56:54 +01:00
Erik Johnston
d98029ea89
Merge pull request #6196 from matrix-org/erikj/await
...
Move rest/admin to use async/await.
2019-10-18 11:53:02 +02:00
Brendan Abolivier
41b9faed16
1.4.1
2019-10-18 10:15:12 +01:00
Richard van der Hoff
80003dfcd5
Merge remote-tracking branch 'origin/develop' into rav/event_auth/1
2019-10-18 10:11:40 +01:00
Erik Johnston
5859a5c569
Fix presence timeouts when synchrotron restarts. ( #6212 )
...
* Fix presence timeouts when synchrotron restarts.
Handling timeouts would fail if there was an external process that had
timed out, e.g. a synchrotron restarting. This was due to a couple of
variable name typoes.
Fixes #3715 .
2019-10-18 06:42:26 +01:00
Richard van der Hoff
1ba359a11f
rip out some unreachable code
...
The only possible rejection reason is AUTH_ERROR, so all of this is unreachable.
2019-10-17 21:45:59 +01:00
Richard van der Hoff
70d9759cdf
Synapse 1.4.1rc1 (2019-10-17)
...
=============================
Bugfixes
--------
- Fix bug where redacted events were sometimes incorrectly censored in the database, breaking APIs that attempted to fetch such events. ([\#6185](https://github.com/matrix-org/synapse/issues/6185 ), [5b0e9948
](5b0e9948ea
))
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEv27Axt/F4vrTL/8QOSor00I9eP8FAl2oj9sACgkQOSor00I9
eP+ZQQf9GQbjQhq92G1Mt1dI3HxXQnIvelGWaLC9rB++eGcafBkP0EJgCbQZTKda
WntghJib0oWVHVtPbwYKtwF3z365WbME3awO6RpRoMvrFL5PDqJ8Ma5LUgJ6/GuO
yDBfABbZk7PVS5WibftXXqibK8MkSrnId57VN3tc/SUHj3DGe4vk+A7plwjNckBj
2SLUA8DPw5I3Y4Z6peb6VweEA8M59+i3/0cZFAJ+4Ofy2Jad3z8kVXmJ1gTjBOdG
1bjBfnS2SrZLZwD79zJzaUR0zxfIvj62mL/fjrtR66oRmKF2T+9UnM7+9gH9JHWZ
ct3Mk4Nnr4VaBBWOWOcD2btvByckug==
=9lJk
-----END PGP SIGNATURE-----
Merge tag 'v1.4.1rc1' into develop
Synapse 1.4.1rc1 (2019-10-17)
=============================
Bugfixes
--------
- Fix bug where redacted events were sometimes incorrectly censored in the database, breaking APIs that attempted to fetch such events. ([\#6185](https://github.com/matrix-org/synapse/issues/6185 ), [5b0e9948
](5b0e9948ea
))
2019-10-17 17:03:02 +01:00
Richard van der Hoff
71cd3fed66
1.4.1rc1
2019-10-17 16:40:56 +01:00
Erik Johnston
5b0e9948ea
Do the update as a background index
2019-10-17 16:31:42 +01:00
Erik Johnston
a2bb50c2eb
Merge pull request #6185 from matrix-org/erikj/fix_censored_evnets
...
Fix inserting bytes as text in `censor_redactions`
2019-10-17 16:29:07 +01:00
Hubert Chathi
06fc66c81e
Merge pull request #6193 from matrix-org/uhoreg/interpret_device_key_in_storage
...
make storage layer in charge of interpreting the device key data
2019-10-11 15:19:06 -04:00
Hubert Chathi
132b251e29
expand on comment
2019-10-11 14:24:52 -04:00
Erik Johnston
2e97a4c197
Port synapse/rest/client/_base.py to async/await
2019-10-11 15:29:26 +01:00
Erik Johnston
3c2d6c708c
Add maybe_awaitable and fix __init__ bugs
2019-10-11 15:26:09 +01:00
Hubert Chathi
691dd67fcd
Merge pull request #6189 from matrix-org/uhoreg/e2e_backup_optional_version
...
make version optional in body of e2e backup version update
2019-10-11 10:11:59 -04:00
Erik Johnston
6f5c6c8f60
Merge pull request #6195 from matrix-org/erikj/opentracing_preview_url
...
Trace non-JSON APIs, /media, /key etc
2019-10-11 13:23:52 +01:00
Valérian Rousset
be9b55e0d2
cas: support setting display name ( #6114 )
...
Now, the CAS server can return an attribute stating what's the desired displayname, instead of using the username directly.
2019-10-11 12:33:12 +01:00
Erik Johnston
dfbb62c28d
Port synaps/rest/client/users.py to async/await
2019-10-11 12:21:40 +01:00
Erik Johnston
f95325e22a
Port synaps/rest/client/server_notice_servlet.py to async/await
2019-10-11 12:21:40 +01:00
Erik Johnston
281f887090
Port synaps/rest/client/media.py to async/await
2019-10-11 12:21:40 +01:00
Erik Johnston
fca3a541e7
Port rest/admin/__init__.py to async/await
2019-10-11 12:17:52 +01:00
Erik Johnston
f3ceaf4323
Trace non-JSON APIs, /media, /key etc
2019-10-11 11:58:52 +01:00
Neil Johnson
a0d0ba7862
Fix MAU reaping where reserved users are specified. ( #6168 )
2019-10-11 09:38:26 +01:00
Hubert Chathi
7a0dce9259
make sure we actually return something
2019-10-10 20:31:30 -04:00
Hubert Chathi
4908fb3b30
make storage layer in charge of interpreting the device key data
2019-10-10 19:15:30 -04:00
Erik Johnston
83d86106a8
Merge pull request #6156 from matrix-org/erikj/postgres_any
...
Use Postgres ANY for selecting many values.
2019-10-10 16:41:36 +01:00
Erik Johnston
b54b1e759a
Fix SQLite take 2
2019-10-10 16:19:40 +01:00
Erik Johnston
afb6d9d53b
Fix SQLite
2019-10-10 15:55:41 +01:00
Erik Johnston
3bc687508f
Remove add_in_list_sql_clause
2019-10-10 15:35:46 +01:00
Erik Johnston
ca3e01e50d
Fix store_url_cache using bytes
2019-10-10 14:52:29 +01:00
Erik Johnston
9d06fb9cb1
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/postgres_any
2019-10-10 14:38:21 +01:00
Erik Johnston
8bc529c04d
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/disable_sql_bytes
2019-10-10 14:30:51 +01:00
Erik Johnston
933034e2fe
Merge pull request #6127 from matrix-org/erikj/patch_inner
...
Add more log context checks when patching inlineCallbacks
2019-10-10 13:47:50 +01:00
Erik Johnston
fe1c1e6c28
Fixup comments
...
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2019-10-10 13:17:19 +01:00
Erik Johnston
b161786c14
Replace IN usage with helper funcs
2019-10-10 13:15:49 +01:00
Erik Johnston
b4fbf71187
Add helper funcs to use postgres ANY
...
This means that we can write queries with `col = ANY(?)`, which helps
postgres.
2019-10-10 13:15:24 +01:00
Erik Johnston
91f43dca39
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/disable_sql_bytes
2019-10-10 13:10:57 +01:00
werner291
b5b03b7079
Add domain validation when creating room with list of invitees ( #6121 )
2019-10-10 13:05:48 +01:00
Michael Telatynski
9a84d74417
before fulfilling a group invite,check if user is already joined/invited ( #3436 )
...
Fixes vector-im/riot-web#5645
2019-10-10 13:03:44 +01:00
krombel
2efd050c9d
send 404 as http-status when filter-id is unknown to the server ( #2380 )
...
This fixed the weirdness of 400 vs 404 as http status code in the case
the filter id is not known by the server.
As e.g. matrix-js-sdk expects 404 to catch this situation this leads
to unwanted behaviour.
2019-10-10 12:59:55 +01:00
Erik Johnston
59e0ed8306
Fix py3.5
2019-10-10 12:47:07 +01:00
Erik Johnston
c349e3ebaf
Fix py3.5
2019-10-10 12:29:38 +01:00
Erik Johnston
f735aeec65
sort
2019-10-10 12:20:29 +01:00
Erik Johnston
941edad583
Appease mypy
2019-10-10 12:15:17 +01:00
Erik Johnston
791a8c559b
Add coments
2019-10-10 11:53:57 +01:00
Erik Johnston
9970f955ce
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/patch_inner
2019-10-10 11:51:50 +01:00
Richard van der Hoff
a139420a3c
Fix races in room stats (and other) updates. ( #6187 )
...
Hopefully this will fix the occasional failures we were seeing in the room directory.
The problem was that events are not necessarily persisted (and `current_state_delta_stream` updated) in the same order as their stream_id. So for instance current_state_delta 9 might be persisted *before* current_state_delta 8. Then, when the room stats saw stream_id 9, it assumed it had done everything up to 9, and never came back to do stream_id 8.
We can solve this easily by only processing up to the stream_id where we know all events have been persisted.
2019-10-10 11:29:01 +01:00
Richard van der Hoff
562b4e51dd
Rewrite the user_filter migration again ( #6184 )
...
you can't plausibly ALTER TABLE in sqlite, so we create the new table with the
right schema to start with.
2019-10-10 11:28:23 +01:00
Erik Johnston
128d5948c4
Fix packaging
2019-10-10 11:16:26 +01:00
Erik Johnston
ec0596f2ab
Log correct context
2019-10-10 11:11:38 +01:00
Erik Johnston
3e4272961a
Test for sentinel commit
2019-10-10 10:58:32 +01:00
Erik Johnston
1d6dd1c294
Move patch_inline_callbacks into synapse/
2019-10-10 10:53:06 +01:00
Andrew Morgan
da815c1f69
Move tag/push rules room upgrade checking ealier ( #6155 )
...
It turns out that _local_membership_update doesn't run when you join a new, remote room. It only runs if you're joining a room that your server already knows about. This would explain #4703 and #5295 and why the transfer would work in testing and some rooms, but not others. This would especially hit single-user homeservers.
The check has been moved to right after the room has been joined, and works much more reliably. (Though it may still be a bit awkward of a place).
2019-10-10 10:06:45 +01:00
Amber Brown
f743108a94
Refactor HomeserverConfig so it can be typechecked ( #6137 )
2019-10-10 09:39:35 +01:00
Hubert Chathi
4535a07f4a
make version optional in body of e2e backup version update
...
to agree with latest version of the MSC
2019-10-09 17:54:03 -04:00
Erik Johnston
5c1f886c75
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/patch_inner
2019-10-09 16:52:21 +01:00
Erik Johnston
7f18b3d526
Do the update as a background index
2019-10-09 16:03:24 +01:00
Erik Johnston
def5413480
Merge pull request #6185 from matrix-org/erikj/fix_censored_evnets
...
Fix inserting bytes as text in `censor_redactions`
2019-10-09 15:39:13 +01:00
Brendan Abolivier
59d6290ed9
Merge pull request #6178 from matrix-org/babolivier/factor_out_bg_updates
...
Factor out backgroung updates
2019-10-09 12:29:01 +01:00
Erik Johnston
1d3858371e
Disable bytes usage with postgres
...
More often than not passing bytes to `txn.execute` is a bug (where we
meant to pass a string) that just happens to work if `BYTEA_OUTPUT` is
set to `ESCAPE`. However, this is a bit of a footgun so we want to
instead error when this happens, and force using `bytearray` if we
actually want to use bytes.
2019-10-08 16:28:57 +01:00
Erik Johnston
e7631d84e6
Fix existing hex encoded json values in DB
2019-10-08 16:18:43 +01:00
Erik Johnston
ced4784592
Fix inserting bytes as text
2019-10-08 16:18:43 +01:00
Brendan Abolivier
c69324ffb5
Fix RegistrationStore
2019-10-08 14:48:33 +01:00
Brendan Abolivier
b1c0a4ceb3
Cleanup client_ips
2019-10-08 14:38:14 +01:00
Brendan Abolivier
8f1b385acc
Don't end up with 4 classes in registration
2019-10-08 14:36:33 +01:00
Anshul Angaria
474abf1eb6
add M_TOO_LARGE error code for uploading a too large file ( #6151 )
...
Fixes #6109
2019-10-08 13:55:16 +01:00
Andrew Morgan
ea7d938bca
Remove unused public room list timeout param ( #6179 )
...
* Remove unused public room list timeout param
* Add changelog
2019-10-08 13:51:25 +01:00
Richard van der Hoff
b94a401852
Fix /federation/v1/state for recent room versions ( #6170 )
...
* Fix /federation/v1/state for recent room versions
Turns out this endpoint was completely broken for v3 rooms. Hopefully this
re-signing code is irrelevant nowadays anyway.
2019-10-08 09:35:37 +01:00