86cf6a3a17 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove references to unstable identifiers from MSC3440. ( #12382 )  
							
							... 
							
							
							
							Removes references to unstable thread relation, unstable
identifiers for filtering parameters, and the experimental
config flag. 
							
						 
						
							2022-04-12 08:42:03 -04:00  
				
					
						
							
							
								 
						
							
							
								ea27528b5d 
								
									
								
							
								 
							
						 
						
							
							
								
								Support stable identifiers for MSC3440: Threading ( #12151 )  
							
							... 
							
							
							
							The unstable identifiers are still supported if the experimental configuration
flag is enabled. The unstable identifiers will be removed in a future release. 
							
						 
						
							2022-03-10 15:36:13 +00:00  
				
					
						
							
							
								 
						
							
							
								6c0b44a3d7 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix `PushRuleEvaluator` and `Filter` to work on frozendicts ( #12100 )  
							
							... 
							
							
							
							* Fix `PushRuleEvaluator` to work on frozendicts
frozendicts do not (necessarily) inherit from dict, so this needs to handle
them correctly.
* Fix event filtering for frozen events
Looks like this one was introduced by #11194 . 
							
						 
						
							2022-02-28 17:40:24 +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  
				
					
						
							
							
								 
						
							
							
								cbd82d0b2d 
								
									
								
							
								 
							
						 
						
							
							
								
								Convert all namedtuples to attrs. ( #11665 )  
							
							... 
							
							
							
							To improve type hints throughout the code. 
							
						 
						
							2021-12-30 18:47:12 +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  
				
					
						
							
							
								 
						
							
							
								19d5dc6931 
								
									
								
							
								 
							
						 
						
							
							
								
								Refactor `Filter` to handle fields according to data being filtered. ( #11194 )  
							
							... 
							
							
							
							This avoids filtering against fields which cannot exist on an
event source. E.g. presence updates don't have a room. 
							
						 
						
							2021-10-27 11:26:30 -04:00  
				
					
						
							
							
								 
						
							
							
								3ab55d43bd 
								
									
								
							
								 
							
						 
						
							
							
								
								Add missing type hints to synapse.api. ( #11109 )  
							
							... 
							
							
							
							* Convert UserPresenceState to attrs.
* Remove args/kwargs from error classes and explicitly pass msg/errorcode. 
							
						 
						
							2021-10-18 15:01:10 -04:00  
				
					
						
							
							
								 
						
							
							
								7e440520c9 
								
									
								
							
								 
							
						 
						
							
							
								
								Add type hints to filtering classes. ( #10958 )  
							
							
							
						 
						
							2021-10-01 07:02:32 -04:00  
				
					
						
							
							
								 
						
							
							
								bf72d10dbf 
								
									
								
							
								 
							
						 
						
							
							
								
								Use inline type hints in various other places (in `synapse/`) ( #10380 )  
							
							
							
						 
						
							2021-07-15 11:02:43 +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  
				
					
						
							
							
								 
						
							
							
								8a4a4186de 
								
									
								
							
								 
							
						 
						
							
							
								
								Simplify super() calls to Python 3 syntax. ( #8344 )  
							
							... 
							
							
							
							This converts calls like super(Foo, self) -> super().
Generated with:
    sed -i "" -Ee 's/super\([^\(]+\)/super()/g' **/*.py 
							
						 
						
							2020-09-18 09:56:44 -04:00  
				
					
						
							
							
								 
						
							
							
								72bec36d50 
								
									
								
							
								 
							
						 
						
							
							
								
								Directly import json from the standard library. ( #8259 )  
							
							... 
							
							
							
							By importing from canonicaljson the simplejson module was still being used
in some situations. After this change the std lib json is consistenty used
throughout Synapse. 
							
						 
						
							2020-09-08 07:33:48 -04:00  
				
					
						
							
							
								 
						
							
							
								c619253db8 
								
									
								
							
								 
							
						 
						
							
							
								
								Stop sub-classing object ( #8249 )  
							
							
							
						 
						
							2020-09-04 06:54:56 -04:00  
				
					
						
							
							
								 
						
							
							
								ad6190c925 
								
									
								
							
								 
							
						 
						
							
							
								
								Convert stream database to async/await. ( #8074 )  
							
							
							
						 
						
							2020-08-17 07:24:46 -04:00  
				
					
						
							
							
								 
						
							
							
								d4a7829b12 
								
									
								
							
								 
							
						 
						
							
							
								
								Convert synapse.api to async/await ( #8031 )  
							
							
							
						 
						
							2020-08-06 08:30:06 -04:00  
				
					
						
							
							
								 
						
							
							
								a3f11567d9 
								
									
								
							
								 
							
						 
						
							
							
								
								Replace all remaining six usage with native Python 3 equivalents ( #7704 )  
							
							
							
						 
						
							2020-06-16 08:51:47 -04:00  
				
					
						
							
							
								 
						
							
							
								0f6e525be3 
								
									
								
							
								 
							
						 
						
							
							
								
								Fixup synapse.api to pass mypy ( #6733 )  
							
							
							
						 
						
							2020-01-20 17:34:13 +00:00  
				
					
						
							
							
								 
						
							
							
								8822b33111 
								
									
								
							
								 
							
						 
						
							
							
								
								Update copyrights  
							
							
							
						 
						
							2019-11-05 14:46:35 +00:00  
				
					
						
							
							
								 
						
							
							
								988d8d6507 
								
									
								
							
								 
							
						 
						
							
							
								
								Incorporate review  
							
							
							
						 
						
							2019-11-01 16:22:44 +00:00  
				
					
						
							
							
								 
						
							
							
								c6dbca2422 
								
									
								
							
								 
							
						 
						
							
							
								
								Incorporate review  
							
							
							
						 
						
							2019-11-01 10:30:51 +00:00  
				
					
						
							
							
								 
						
							
							
								e7943f660a 
								
									
								
							
								 
							
						 
						
							
							
								
								Add unit tests  
							
							
							
						 
						
							2019-10-30 16:15:04 +00:00  
				
					
						
							
							
								 
						
							
							
								acd16ad86a 
								
									
								
							
								 
							
						 
						
							
							
								
								Implement filtering  
							
							
							
						 
						
							2019-10-30 15:56:33 +00:00  
				
					
						
							
							
								 
						
							
							
								4806651744 
								
									
								
							
								 
							
						 
						
							
							
								
								Replace returnValue with return ( #5736 )  
							
							
							
						 
						
							2019-07-23 23:00:55 +10:00  
				
					
						
							
							
								 
						
							
							
								32e7c9e7f2 
								
									
								
							
								 
							
						 
						
							
							
								
								Run Black. ( #5482 )  
							
							
							
						 
						
							2019-06-20 19:32:02 +10:00  
				
					
						
							
							
								 
						
							
							
								8ea509a935 
								
									
								
							
								 
							
						 
						
							
							
								
								Update synapse/api/filtering.py  
							
							... 
							
							
							
							Co-Authored-By: anoadragon453 <1342360+anoadragon453@users.noreply.github.com> 
							
						 
						
							2019-01-24 17:21:35 +00:00  
				
					
						
							
							
								 
						
							
							
								c433f61091 
								
							
								 
							
						 
						
							
							
								
								Ensure new filter is actually created  
							
							
							
						 
						
							2019-01-22 12:06:36 +00:00  
				
					
						
							
							
								 
						
							
							
								c9bfb058d8 
								
							
								 
							
						 
						
							
							
								
								Fix a bug with single-room search searching all rooms  
							
							... 
							
							
							
							* Create a new method for getting predecessor rooms
* Remove formatting change 
							
						 
						
							2019-01-22 12:00:41 +00:00  
				
					
						
							
							
								 
						
							
							
								df3a661e4a 
								
							
								 
							
						 
						
							
							
								
								Search for messages across predecessor rooms  
							
							... 
							
							
							
							Signed-off-by: Andrew Morgan <andrew@amorgan.xyz> 
							
						 
						
							2019-01-18 11:19:20 +00:00  
				
					
						
							
							
								 
						
							
							
								a27e501b09 
								
							
								 
							
						 
						
							
							
								
								fix the check for whether `is_url` to match all the other ones in codebase ( #3405 )  
							
							... 
							
							
							
							Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> 
							
						 
						
							2019-01-06 21:43:25 +00:00  
				
					
						
							
							
								 
						
							
							
								7e07d25ed6 
								
							
								 
							
						 
						
							
							
								
								Allow backslashes in event field filters  
							
							... 
							
							
							
							Fixes a bug introduced in https://github.com/matrix-org/synapse/pull/1783  which
meant that single backslashes were not allowed in event field filters.
The intention here is to allow single-backslashes, but disallow
double-backslashes. 
							
						 
						
							2018-10-24 11:11:24 +01:00  
				
					
						
							
							
								 
						
							
							
								dc5db01ff2 
								
							
								 
							
						 
						
							
							
								
								Replaced all occurences of e.message with str(e)  
							
							... 
							
							
							
							Signed-off-by: Schnuffle  <schnuffle@github.com> 
							
						 
						
							2018-09-27 13:38:50 +02:00  
				
					
						
							
							
								 
						
							
							
								87c18d12ee 
								
							
								 
							
						 
						
							
							
								
								Implement 'event_format' filter param in /sync  
							
							... 
							
							
							
							This has been specced and part-implemented; let's implement it for /sync (but
no other endpoints yet :/). 
							
						 
						
							2018-09-04 15:20:09 +01:00  
				
					
						
							
							
								 
						
							
							
								a75231b507 
								
									
								
							
								 
							
						 
						
							
							
								
								Deduplicate redundant lazy-loaded members ( #3331 )  
							
							... 
							
							
							
							* attempt at deduplicating lazy-loaded members
as per the proposal; we can deduplicate redundant lazy-loaded members
which are sent in the same sync sequence. we do this heuristically
rather than requiring the client to somehow tell us which members it
has chosen to cache, by instead caching the last N members sent to
a client, and not sending them again.  For now we hardcode N to 100.
Each cache for a given (user,device) tuple is in turn cached for up to
X minutes (to avoid the caches building up).  For now we hardcode X to 30.
* add include_redundant_members filter option & make it work
* remove stale todo
* add tests for _get_some_state_from_cache
* incorporate review 
							
						 
						
							2018-07-26 22:51:30 +01:00  
				
					
						
							
							
								 
						
							
							
								be3adfc331 
								
							
								 
							
						 
						
							
							
								
								merge develop pydoc for _get_state_for_groups  
							
							
							
						 
						
							2018-07-19 11:26:04 +01:00  
				
					
						
							
							
								 
						
							
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
				
					
						
							
							
								 
						
							
							
								6350bf925e 
								
									
								
							
								 
							
						 
						
							
							
								
								Attempt to be more performant on PyPy ( #3462 )  
							
							
							
						 
						
							2018-06-28 14:49:57 +01:00  
				
					
						
							
							
								 
						
							
							
								28f09fcdd5 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' into matthew/filter_members  
							
							
							
						 
						
							2018-06-04 00:09:17 +03:00  
				
					
						
							
							
								 
						
							
							
								c936a52a9e 
								
									
								
							
								 
							
						 
						
							
							
								
								Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy ( #3307 )  
							
							
							
						 
						
							2018-05-31 19:03:47 +10:00  
				
					
						
							
							
								 
						
							
							
								9bbb9f5556 
								
							
								 
							
						 
						
							
							
								
								add lazy_load_members to the filter json schema  
							
							
							
						 
						
							2018-05-29 04:26:10 +01:00  
				
					
						
							
							
								 
						
							
							
								7a6df013cc 
								
							
								 
							
						 
						
							
							
								
								merge develop  
							
							
							
						 
						
							2018-05-29 00:25:22 +01:00  
				
					
						
							
							
								 
						
							
							
								b2f2282947 
								
							
								 
							
						 
						
							
							
								
								make lazy_load_members configurable in filters  
							
							
							
						 
						
							2018-03-19 01:15:13 +00:00  
				
					
						
							
							
								 
						
							
							
								926ba76e23 
								
							
								 
							
						 
						
							
							
								
								Replace ujson with simplejson  
							
							
							
						 
						
							2018-03-15 23:43:31 +00:00  
				
					
						
							
							
								 
						
							
							
								566641a0b5 
								
							
								 
							
						 
						
							
							
								
								use jsonschema.FormatChecker for RoomID and UserID strings  
							
							... 
							
							
							
							* use a valid filter in rest/client/v2_alpha test
Signed-off-by: pik <alexander.maznev@gmail.com> 
							
						 
						
							2017-03-23 11:42:41 -03:00  
				
					
						
							
							
								 
						
							
							
								acafcf1c5b 
								
							
								 
							
						 
						
							
							
								
								Add valid filter tests, flake8, fix typo  
							
							... 
							
							
							
							Signed-off-by: pik <alexander.maznev@gmail.com> 
							
						 
						
							2017-03-23 11:42:10 -03:00  
				
					
						
							
							
								 
						
							
							
								e56c79c114 
								
							
								 
							
						 
						
							
							
								
								check_valid_filter using JSONSchema  
							
							... 
							
							
							
							* add invalid filter tests
Signed-off-by: pik <alexander.maznev@gmail.com> 
							
						 
						
							2017-03-23 11:42:07 -03:00  
				
					
						
							
							
								 
						
							
							
								a8f96c63aa 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							
							
						 
						
							2017-03-15 16:01:01 +00:00  
				
					
						
							
							
								 
						
							
							
								e892457a03 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							
							
						 
						
							2017-03-15 15:01:39 +00:00  
				
					
						
							
							
								 
						
							
							
								6c82de5100 
								
							
								 
							
						 
						
							
							
								
								Format presence events on the edges instead of reformatting them multiple times  
							
							
							
						 
						
							2017-03-15 14:27:34 +00:00  
				
					
						
							
							
								 
						
							
							
								83bcdcee61 
								
							
								 
							
						 
						
							
							
								
								Return early on /sync code paths if a '*' filter is used  
							
							... 
							
							
							
							This is currently very conservative in that it only does this if there is no
`since` token. This limits the risk to clients likely to be doing one-off
syncs (like bridges), but does mean that normal human clients won't benefit
from the time savings here. If the savings are large enough, I would consider
generalising this to just check the filter. 
							
						 
						
							2016-11-22 16:38:35 +00:00