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  
				
					
						
							
							
								 
						
							
							
								cea4e4e7b2 
								
							
								 
							
						 
						
							
							
								
								Glue only_event_fields into the sync rest servlet  
							
							
							
						 
						
							2016-11-22 10:14:05 +00:00  
				
					
						
							
							
								 
						
							
							
								f97511a1f3 
								
							
								 
							
						 
						
							
							
								
								Move event_fields filtering to serialize_event  
							
							... 
							
							
							
							Also make it an inclusive not exclusive filter, as the spec demands. 
							
						 
						
							2016-11-21 17:42:16 +00:00  
				
					
						
							
							
								 
						
							
							
								e90fcd9edd 
								
							
								 
							
						 
						
							
							
								
								Add filter_event_fields and filter_field to FilterCollection  
							
							
							
						 
						
							2016-11-21 15:18:18 +00:00  
				
					
						
							
							
								 
						
							
							
								e5142f65a6 
								
							
								 
							
						 
						
							
							
								
								Add 'contains_url' to filter  
							
							
							
						 
						
							2016-07-14 15:35:48 +01:00  
				
					
						
							
							
								 
						
							
							
								a438a6d2bc 
								
							
								 
							
						 
						
							
							
								
								Implement basic ignore user  
							
							
							
						 
						
							2016-05-04 10:16:46 +01:00  
				
					
						
							
							
								 
						
							
							
								536f949a1a 
								
							
								 
							
						 
						
							
							
								
								api/filtering: don't assume that event content will always be a dict  
							
							... 
							
							
							
							Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com> 
							
						 
						
							2016-02-17 12:59:41 +01:00  
				
					
						
							
							
								 
						
							
							
								35981c8b71 
								
							
								 
							
						 
						
							
							
								
								Fix test  
							
							
							
						 
						
							2016-01-28 17:20:05 +00:00  
				
					
						
							
							
								 
						
							
							
								8c6012a4af 
								
							
								 
							
						 
						
							
							
								
								Fix tests  
							
							
							
						 
						
							2016-01-25 13:12:35 +00:00  
				
					
						
							
							
								 
						
							
							
								4021f95261 
								
							
								 
							
						 
						
							
							
								
								Move logic from rest/ to handlers/  
							
							
							
						 
						
							2016-01-25 10:10:44 +00:00  
				
					
						
							
							
								 
						
							
							
								975903ae17 
								
							
								 
							
						 
						
							
							
								
								Sanitize filters  
							
							
							
						 
						
							2016-01-22 10:41:30 +00:00  
				
					
						
							
							
								 
						
							
							
								6c28ac260c 
								
							
								 
							
						 
						
							
							
								
								copyrights  
							
							
							
						 
						
							2016-01-07 04:26:29 +00:00  
				
					
						
							
							
								 
						
							
							
								392773ccb2 
								
							
								 
							
						 
						
							
							
								
								Guest users must be joined to a room to see it in /sync  
							
							
							
						 
						
							2016-01-06 16:44:13 +00:00  
				
					
						
							
							
								 
						
							
							
								c058625959 
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'origin/develop' into markjh/guest_access  
							
							... 
							
							
							
							Conflicts:
	synapse/api/filtering.py 
							
						 
						
							2015-12-22 13:58:18 +00:00  
				
					
						
							
							
								 
						
							
							
								b9b4466d0d 
								
							
								 
							
						 
						
							
							
								
								Add top level filters for filtering by room id  
							
							... 
							
							
							
							Documented by matrix-org/matrix-doc#246  
							
						 
						
							2015-12-22 11:40:32 +00:00  
				
					
						
							
							
								 
						
							
							
								45a9e0ae0c 
								
							
								 
							
						 
						
							
							
								
								Allow guest access if the user provides a list of rooms in the filter  
							
							
							
						 
						
							2015-12-22 10:25:46 +00:00  
				
					
						
							
							
								 
						
							
							
								489a4cd1cf 
								
							
								 
							
						 
						
							
							
								
								Add top level filtering by room id  
							
							
							
						 
						
							2015-12-21 21:10:41 +00:00  
				
					
						
							
							
								 
						
							
							
								660dee94af 
								
							
								 
							
						 
						
							
							
								
								Only include the archived rooms if a include_leave flag in set in the filter  
							
							
							
						 
						
							2015-12-04 17:32:09 +00:00  
				
					
						
							
							
								 
						
							
							
								95f30ecd1f 
								
							
								 
							
						 
						
							
							
								
								Add API for setting account_data globaly or on a per room basis  
							
							
							
						 
						
							2015-12-01 18:41:32 +00:00  
				
					
						
							
							
								 
						
							
							
								1c960fbb80 
								
							
								 
							
						 
						
							
							
								
								s/private_user_data/account_data/  
							
							
							
						 
						
							2015-11-18 15:31:04 +00:00  
				
					
						
							
							
								 
						
							
							
								285d056629 
								
							
								 
							
						 
						
							
							
								
								Remove fields that are both unspecified and unused from the filter checks, check the right top level definitions in the filter  
							
							
							
						 
						
							2015-11-04 15:47:19 +00:00  
				
					
						
							
							
								 
						
							
							
								57be722c46 
								
							
								 
							
						 
						
							
							
								
								Include room tags in v2 /sync  
							
							
							
						 
						
							2015-11-02 16:23:15 +00:00  
				
					
						
							
							
								 
						
							
							
								b051781ddb 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #325  from matrix-org/markjh/filter_dicts  
							
							... 
							
							
							
							Support filtering events represented as dicts. 
							
						 
						
							2015-10-22 17:14:52 +01:00  
				
					
						
							
							
								 
						
							
							
								4e05aab4f7 
								
							
								 
							
						 
						
							
							
								
								Don't assume that the event has a room_id or sender  
							
							
							
						 
						
							2015-10-22 17:08:59 +01:00  
				
					
						
							
							
								 
						
							
							
								9b6f3bc742 
								
							
								 
							
						 
						
							
							
								
								Support filtering events represented as dicts.  
							
							... 
							
							
							
							This is useful because the emphemeral events such as presence and
typing are represented as dicts inside synapse. 
							
						 
						
							2015-10-22 16:38:03 +01:00  
				
					
						
							
							
								 
						
							
							
								5c41224a89 
								
							
								 
							
						 
						
							
							
								
								Filter room ids before hitting the database  
							
							
							
						 
						
							2015-10-21 10:09:26 +01:00  
				
					
						
							
							
								 
						
							
							
								87deec824a 
								
							
								 
							
						 
						
							
							
								
								Docstring  
							
							
							
						 
						
							2015-10-20 15:47:42 +01:00  
				
					
						
							
							
								 
						
							
							
								45cd2b0233 
								
							
								 
							
						 
						
							
							
								
								Refactor api.filtering to have a Filter API  
							
							
							
						 
						
							2015-10-20 15:33:25 +01:00  
				
					
						
							
							
								 
						
							
							
								2fa9e23e04 
								
							
								 
							
						 
						
							
							
								
								Update the v2 filters to support filtering presence and remove support for public/private user data  
							
							
							
						 
						
							2015-10-13 14:12:43 +01:00  
				
					
						
							
							
								 
						
							
							
								e97f756a05 
								
							
								 
							
						 
						
							
							
								
								Use 'in' to test if the key exists, remove unused _filters_for_user  
							
							
							
						 
						
							2015-01-30 14:54:06 +00:00  
				
					
						
							
							
								 
						
							
							
								c562f237f6 
								
							
								 
							
						 
						
							
							
								
								Unused import  
							
							
							
						 
						
							2015-01-30 11:43:00 +00:00  
				
					
						
							
							
								 
						
							
							
								93ed31dda2 
								
							
								 
							
						 
						
							
							
								
								Create a separate filter object to do the actual filtering, so that we can  
							
							... 
							
							
							
							split the storage and management of filters from the actual filter code
and don't have to load a filter from the db each time we filter an event 
							
						 
						
							2015-01-29 17:45:07 +00:00  
				
					
						
							
							
								 
						
							
							
								9150a0d62e 
								
							
								 
							
						 
						
							
							
								
								Fix code-style  
							
							
							
						 
						
							2015-01-29 16:01:14 +00:00  
				
					
						
							
							
								 
						
							
							
								83172487b0 
								
							
								 
							
						 
						
							
							
								
								Add basic filtering public API unit tests. Use defers in the right places.  
							
							
							
						 
						
							2015-01-29 12:20:59 +00:00  
				
					
						
							
							
								 
						
							
							
								777d9914b5 
								
							
								 
							
						 
						
							
							
								
								Implement filter algorithm. Add basic event type unit tests to assert it works.  
							
							
							
						 
						
							2015-01-29 11:38:06 +00:00  
				
					
						
							
							
								 
						
							
							
								50de1eaad9 
								
							
								 
							
						 
						
							
							
								
								Add filtering public API; outline filtering algorithm.  
							
							
							
						 
						
							2015-01-29 10:24:57 +00:00  
				
					
						
							
							
								 
						
							
							
								2a4fda7b88 
								
							
								 
							
						 
						
							
							
								
								Add filtering.filter_events function, with stub passes_filter function.  
							
							
							
						 
						
							2015-01-29 09:27:16 +00:00  
				
					
						
							
							
								 
						
							
							
								c23e3db544 
								
							
								 
							
						 
						
							
							
								
								Add filter JSON sanity checks.  
							
							
							
						 
						
							2015-01-28 16:45:18 +00:00  
				
					
						
							
							
								 
						
							
							
								54e513b4e6 
								
							
								 
							
						 
						
							
							
								
								Move storage of user filters into real datastore layer; now have to mock it out in the REST-level tests  
							
							
							
						 
						
							2015-01-27 17:48:13 +00:00  
				
					
						
							
							
								 
						
							
							
								059651efa1 
								
							
								 
							
						 
						
							
							
								
								Have the Filtering API return Deferreds, so we can do the Datastore implementation nicely  
							
							
							
						 
						
							2015-01-27 16:17:56 +00:00  
				
					
						
							
							
								 
						
							
							
								05c7cba73a 
								
							
								 
							
						 
						
							
							
								
								Initial trivial implementation of an actual 'Filtering' object; move storage of user filters into there  
							
							
							
						 
						
							2015-01-27 14:28:56 +00:00