e3a49f4784 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix missing sync events during historical batch imports  ( #12319 )  
							
							... 
							
							
							
							Discovered after much in-depth investigation in #12281 .
Closes : #12281 
Closes : #3305 
Signed off by: Nick Mills-Barrett nick@beeper.com  
							
						 
						
							2022-04-13 11:38:35 +01:00  
				
					
						
							
							
								 
						
							
							
								7732c4902c 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix rejecting invites over federation ( #12409 )  
							
							... 
							
							
							
							Currently causes future incremental syncs to fail.
Broke by #12191  
							
						 
						
							2022-04-07 15:54:16 +01:00  
				
					
						
							
							
								 
						
							
							
								1a90c1e3af 
								
									
								
							
								 
							
						 
						
							
							
								
								Do not add groups to sync results if disabled. ( #12408 )  
							
							
							
						 
						
							2022-04-07 09:29:56 -04:00  
				
					
						
							
							
								 
						
							
							
								d8d0271977 
								
									
								
							
								 
							
						 
						
							
							
								
								Send device list updates to application services (MSC3202) - part 1 ( #11881 )  
							
							... 
							
							
							
							Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> 
							
						 
						
							2022-03-30 14:39:27 +01:00  
				
					
						
							
							
								 
						
							
							
								437a8ed9ef 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a configuration to exclude rooms from sync response ( #12310 )  
							
							
							
						 
						
							2022-03-30 09:43:04 +00:00  
				
					
						
							
							
								 
						
							
							
								8fe930c215 
								
									
								
							
								 
							
						 
						
							
							
								
								Move get_bundled_aggregations to relations handler. ( #12237 )  
							
							... 
							
							
							
							The get_bundled_aggregations code is fairly high-level and uses
a lot of store methods, we move it into the handler as that seems
like a better fit. 
							
						 
						
							2022-03-18 17:49:32 +00:00  
				
					
						
							
							
								 
						
							
							
								dda9b7fc4d 
								
									
								
							
								 
							
						 
						
							
							
								
								Use the ignored_users table to test event visibility & sync. ( #12225 )  
							
							... 
							
							
							
							Instead of fetching the raw account data and re-parsing it. The
ignored_users table is a denormalised version of the account data
for quick searching. 
							
						 
						
							2022-03-15 14:06:05 -04:00  
				
					
						
							
							
								 
						
							
							
								a711ae78a8 
								
									
								
							
								 
							
						 
						
							
							
								
								Add logging to `/sync` for debugging  #11916  ( #12068 )  
							
							
							
						 
						
							2022-02-23 14:22:22 +00:00  
				
					
						
							
							
								 
						
							
							
								e24ff8ebe3 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove `HomeServer.get_datastore()` ( #12031 )  
							
							... 
							
							
							
							The presence of this method was confusing, and mostly present for backwards
compatibility. Let's get rid of it.
Part of #11733  
							
						 
						
							2022-02-23 11:04:02 +00:00  
				
					
						
							
							
								 
						
							
							
								2b5643b3af 
								
									
								
							
								 
							
						 
						
							
							
								
								Optimise calculating device_list changes in `/sync`.  ( #11974 )  
							
							... 
							
							
							
							For users with large accounts it is inefficient to calculate the set of
users they share a room with (and takes a lot of space in the cache).
Instead we can look at users whose devices have changed since the last
sync and check if they share a room with the syncing user. 
							
						 
						
							2022-02-15 15:01:00 +00:00  
				
					
						
							
							
								 
						
							
							
								64ec45fc1b 
								
									
								
							
								 
							
						 
						
							
							
								
								Send to-device messages to application services ( #11215 )  
							
							... 
							
							
							
							Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> 
							
						 
						
							2022-02-01 14:13:38 +00:00  
				
					
						
							
							
								 
						
							
							
								2897fb6b4f 
								
									
								
							
								 
							
						 
						
							
							
								
								Improvements to bundling aggregations. ( #11815 )  
							
							... 
							
							
							
							This is some odds and ends found during the review of #11791 
and while continuing to work in this code:
* Return attrs classes instead of dictionaries from some methods
  to improve type safety.
* Call `get_bundled_aggregations` fewer times.
* Adds a missing assertion in the tests.
* Do not return empty bundled aggregations for an event (preferring
  to not include the bundle at all, as the docstring states). 
							
						 
						
							2022-01-26 08:27:04 -05:00  
				
					
						
							
							
								 
						
							
							
								4c2096599c 
								
									
								
							
								 
							
						 
						
							
							
								
								Make the `get_global_account_data_by_type_for_user` cache be a tree-cache whose key is prefixed with the user ID ( #11788 )  
							
							
							
						 
						
							2022-01-21 08:38:36 +00:00  
				
					
						
							
							
								 
						
							
							
								68acb0a29d 
								
									
								
							
								 
							
						 
						
							
							
								
								Include whether the requesting user has participated in a thread. ( #11577 )  
							
							... 
							
							
							
							Per updates to MSC3440.
This is implement as a separate method since it needs to be cached
on a per-user basis, instead of a per-thread basis. 
							
						 
						
							2022-01-18 11:38:57 -05:00  
				
					
						
							
							
								 
						
							
							
								0c40c619aa 
								
									
								
							
								 
							
						 
						
							
							
								
								Include bundled aggregations in the sync response cache. ( #11659 )  
							
							
							
						 
						
							2022-01-13 10:45:28 -05:00  
				
					
						
							
							
								 
						
							
							
								c9eb678b73 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove debug logging for  #4422  ( #11693 )  
							
							... 
							
							
							
							as per
https://github.com/matrix-org/synapse/pull/11532#discussion_r769123269  
							
						 
						
							2022-01-06 12:44:36 +00:00  
				
					
						
							
							
								 
						
							
							
								b6102230a7 
								
									
								
							
								 
							
						 
						
							
							
								
								Add type hints to event_push_actions. ( #11594 )  
							
							
							
						 
						
							2021-12-21 13:25:34 +00:00  
				
					
						
							
							
								 
						
							
							
								2215954147 
								
									
								
							
								 
							
						 
						
							
							
								
								Various opentracing enhancements ( #11619 )  
							
							... 
							
							
							
							* Wrap `auth.get_user_by_req` in an opentracing span
give `get_user_by_req` its own opentracing span, since it can result in a
non-trivial number of sub-spans which it is useful to group together.
This requires a bit of reorganisation because it also sets some tags (and may
force tracing) on the servlet span.
* Emit opentracing span for encoding json responses
This can be a significant time sink.
* Rename all sync spans with a prefix
* Write an opentracing span for encoding sync response
* opentracing span to group generate_room_entries
* opentracing spans within sync.encode_response
* changelog
* Use the `trace` decorator instead of context managers 
							
						 
						
							2021-12-21 11:10:36 +00:00  
				
					
						
							
							
								 
						
							
							
								fd2dadb815 
								
									
								
							
								 
							
						 
						
							
							
								
								Adjust _get_rooms_changed comments ( #11550 )  
							
							... 
							
							
							
							C.f. https://github.com/matrix-org/synapse/pull/11494#pullrequestreview-827780886  
							
						 
						
							2021-12-10 19:19:48 +00:00  
				
					
						
							
							
								 
						
							
							
								d93362d87f 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a constant for receipt types (m.read). ( #11531 )  
							
							... 
							
							
							
							And expand some type hints in the receipts storage module. 
							
						 
						
							2021-12-08 12:26:29 -05:00  
				
					
						
							
							
								 
						
							
							
								14d593f72d 
								
									
								
							
								 
							
						 
						
							
							
								
								Refactors in `_generate_sync_entry_for_rooms` ( #11515 )  
							
							... 
							
							
							
							* Move sync_token up to the top
* Pull out _get_ignored_users
* Try to signpost the body of `_generate_sync_entry_for_rooms`
* Pull out _calculate_user_changes
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> 
							
						 
						
							2021-12-07 12:42:05 +00:00  
				
					
						
							
							
								 
						
							
							
								9c55dedc8c 
								
									
								
							
								 
							
						 
						
							
							
								
								Correctly ignore invites from ignored users ( #11511 )  
							
							
							
						 
						
							2021-12-07 11:24:31 +00:00  
				
					
						
							
							
								 
						
							
							
								d26808dd85 
								
									
								
							
								 
							
						 
						
							
							
								
								Comments on the /sync tentacles ( #11494 )  
							
							... 
							
							
							
							This mainly consists of docstrings and inline comments. There are one or two type annotations and variable renames thrown in while I was here.
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> 
							
						 
						
							2021-12-02 20:58:32 +00:00  
				
					
						
							
							
								 
						
							
							
								a19d01c3d9 
								
									
								
							
								 
							
						 
						
							
							
								
								Support filtering by relations per MSC3440 ( #11236 )  
							
							... 
							
							
							
							Adds experimental support for `relation_types` and `relation_senders`
fields for filters. 
							
						 
						
							2021-11-09 08:10:58 -05:00  
				
					
						
							
							
								 
						
							
							
								4054dfa409 
								
									
								
							
								 
							
						 
						
							
							
								
								Add type hints for event streams. ( #10856 )  
							
							
							
						 
						
							2021-09-21 13:34:26 -04:00  
				
					
						
							
							
								 
						
							
							
								b3590614da 
								
									
								
							
								 
							
						 
						
							
							
								
								Require type hints in the handlers module. ( #10831 )  
							
							... 
							
							
							
							Adds missing type hints to methods in the synapse.handlers
module and requires all methods to have type hints there.
This also removes the unused construct_auth_difference method
from the FederationHandler. 
							
						 
						
							2021-09-20 08:56:23 -04:00  
				
					
						
							
							
								 
						
							
							
								b4c1af8cea 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'release-v1.43' into develop  
							
							
							
						 
						
							2021-09-17 12:15:17 +01:00  
				
					
						
							
							
								 
						
							
							
								9a6f4a684f 
								
									
								
							
								 
							
						 
						
							
							
								
								Cleanup opentracing logging for syncs ( #10828 )  
							
							... 
							
							
							
							We added a bunch of spans in #10704 , but this ended up adding a lot of
redundant spans for rooms where nothing changed, so instead we only
start the span if there might be something interesting going on. 
							
						 
						
							2021-09-15 17:14:25 +01:00  
				
					
						
							
							
								 
						
							
							
								8c7a531e27 
								
									
								
							
								 
							
						 
						
							
							
								
								Use direct references for some configuration variables (part 2) ( #10812 )  
							
							
							
						 
						
							2021-09-15 08:34:52 -04:00  
				
					
						
							
							
								 
						
							
							
								f1c6b76418 
								
									
								
							
								 
							
						 
						
							
							
								
								Add logging to help debug  #9424  ( #10704 )  
							
							
							
						 
						
							2021-09-06 16:08:25 +01:00  
				
					
						
							
							
								 
						
							
							
								bd7d398b05 
								
									
								
							
								 
							
						 
						
							
							
								
								Additional type hints for the sync REST servlet. ( #10666 )  
							
							
							
						 
						
							2021-08-23 08:14:42 -04:00  
				
					
						
							
							
								 
						
							
							
								000aa89be6 
								
									
								
							
								 
							
						 
						
							
							
								
								Do not include rooms with an unknown room version in a sync response. ( #10644 )  
							
							... 
							
							
							
							A user will still see this room if it is in a local cache, but it will
not reappear if clearing the cache and reloading. 
							
						 
						
							2021-08-19 11:12:55 -04:00  
				
					
						
							
							
								 
						
							
							
								bec01c0758 
								
									
								
							
								 
							
						 
						
							
							
								
								Convert room member storage tuples to attrs. ( #10629 )  
							
							... 
							
							
							
							Instead of using namedtuples. This helps with asserting type hints
and code completion. 
							
						 
						
							2021-08-18 09:22:07 -04:00  
				
					
						
							
							
								 
						
							
							
								6a5f8fbcda 
								
									
								
							
								 
							
						 
						
							
							
								
								Use auto-attribs for attrs classes for sync. ( #10630 )  
							
							
							
						 
						
							2021-08-18 07:27:32 -04:00  
				
					
						
							
							
								 
						
							
							
								4b10880da3 
								
									
								
							
								 
							
						 
						
							
							
								
								Make sync response cache time configurable. ( #10513 )  
							
							
							
						 
						
							2021-08-03 14:45:04 +01:00  
				
					
						
							
							
								 
						
							
							
								74d09a43d9 
								
									
								
							
								 
							
						 
						
							
							
								
								Always communicate device OTK counts to clients ( #10485 )  
							
							... 
							
							
							
							Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> 
							
						 
						
							2021-07-27 14:36:38 +01:00  
				
					
						
							
							
								 
						
							
							
								95e47b2e78 
								
									
								
							
								 
							
						 
						
							
							
								
								[pyupgrade] `synapse/` ( #10348 )  
							
							... 
							
							
							
							This PR is tantamount to running 
```
pyupgrade --py36-plus --keep-percent-format `find synapse/ -type f -name "*.py"`
```
Part of #9744  
							
						 
						
							2021-07-19 15:28:05 +01:00  
				
					
						
							
							
								 
						
							
							
								98aec1cc9d 
								
									
								
							
								 
							
						 
						
							
							
								
								Use inline type hints in `handlers/` and `rest/`. ( #10382 )  
							
							
							
						 
						
							2021-07-16 18:22:36 +01:00  
				
					
						
							
							
								 
						
							
							
								fcf3c7032b 
								
									
								
							
								 
							
						 
						
							
							
								
								Ensure that we do not cache empty sync responses after a timeout ( #10158 )  
							
							... 
							
							
							
							Fixes  #8518  by telling the ResponseCache not to cache the /sync response if the next_batch param is the same as the since token. 
						
							2021-06-17 16:23:11 +01:00  
				
					
						
							
							
								 
						
							
							
								d936371b69 
								
									
								
							
								 
							
						 
						
							
							
								
								Implement knock feature ( #6739 )  
							
							... 
							
							
							
							This PR aims to implement the knock feature as proposed in https://github.com/matrix-org/matrix-doc/pull/2403 
Signed-off-by: Sorunome mail@sorunome.de 
Signed-off-by: Andrew Morgan andrewm@element.io  
							
						 
						
							2021-06-09 19:39:51 +01:00  
				
					
						
							
							
								 
						
							
							
								fa1db8f156 
								
									
								
							
								 
							
						 
						
							
							
								
								Delete completes to-device messages earlier in /sync ( #10124 )  
							
							... 
							
							
							
							I hope this will improve
https://github.com/matrix-org/synapse/issues/9564 . 
							
						 
						
							2021-06-07 09:19:06 +01:00  
				
					
						
							
							
								 
						
							
							
								4deaebfe00 
								
									
								
							
								 
							
						 
						
							
							
								
								Make /sync do less state res ( #10102 )  
							
							
							
						 
						
							2021-06-02 15:48:17 +01:00  
				
					
						
							
							
								 
						
							
							
								d0aee697ac 
								
									
								
							
								 
							
						 
						
							
							
								
								Use get_current_users_in_room from store and not StateHandler ( #9910 )  
							
							
							
						 
						
							2021-05-05 16:49:34 +01:00  
				
					
						
							
							
								 
						
							
							
								294c675033 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove `synapse.types.Collection` ( #9856 )  
							
							... 
							
							
							
							This is no longer required, since we have dropped support for Python 3.5. 
							
						 
						
							2021-04-22 16:43:50 +01:00  
				
					
						
							
							
								 
						
							
							
								4b965c862d 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove redundant "coding: utf-8" lines ( #9786 )  
							
							... 
							
							
							
							Part of #9744 
Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now.
`Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>` 
							
						 
						
							2021-04-14 15:34:27 +01:00  
				
					
						
							
							
								 
						
							
							
								2ca4e349e9 
								
									
								
							
								 
							
						 
						
							
							
								
								Bugbear: Add Mutable Parameter fixes ( #9682 )  
							
							... 
							
							
							
							Part of #9366 
Adds in fixes for B006 and B008, both relating to mutable parameter lint errors.
Signed-off-by: Jonathan de Jong <jonathan@automatia.nl> 
							
						 
						
							2021-04-08 22:38:54 +01:00  
				
					
						
							
							
								 
						
							
							
								44bb881096 
								
									
								
							
								 
							
						 
						
							
							
								
								Add type hints to expiring cache. ( #9730 )  
							
							
							
						 
						
							2021-04-06 08:58:18 -04:00  
				
					
						
							
							
								 
						
							
							
								33548f37aa 
								
									
								
							
								 
							
						 
						
							
							
								
								Improve tracing for to device messages ( #9686 )  
							
							
							
						 
						
							2021-04-01 17:08:21 +01:00  
				
					
						
							
							
								 
						
							
							
								7e8dc9934e 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a type hints for service notices to the HomeServer object. ( #9675 )  
							
							
							
						 
						
							2021-03-24 06:48:46 -04:00  
				
					
						
							
							
								 
						
							
							
								ad721fc559 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix bad naming of storage function ( #9637 )  
							
							... 
							
							
							
							We had two functions named `get_forward_extremities_for_room` and
`get_forward_extremeties_for_room` that took different paramters. We
rename one of them to avoid confusion. 
							
						 
						
							2021-03-17 13:20:08 +00:00