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  
				
					
						
							
							
								 
						
							
							
								e6acd3cf4f 
								
									
								
							
								 
							
						 
						
							
							
								
								Upgrade mypy to version 0.931 ( #12030 )  
							
							... 
							
							
							
							Upgrade mypy to 0.931, mypy-zope to 0.3.5 and fix new complaints. 
							
						 
						
							2022-02-18 15:57:26 +00:00  
				
					
						
							
							
								 
						
							
							
								e44f91d678 
								
									
								
							
								 
							
						 
						
							
							
								
								Refactor search code to reduce function size. ( #11991 )  
							
							... 
							
							
							
							Splits the search code into a few logical functions instead of a single
unreadable function.
There are also a few additional changes for readability.
After refactoring it was clear to see there were some unused and
unnecessary variables, which were simplified. 
							
						 
						
							2022-02-15 13:47:05 +00:00  
				
					
						
							
							
								 
						
							
							
								8c94b3abe9 
								
									
								
							
								 
							
						 
						
							
							
								
								Experimental support to include bundled aggregations in search results (MSC3666) ( #11837 )  
							
							
							
						 
						
							2022-02-08 09:21:20 -05: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  
				
					
						
							
							
								 
						
							
							
								6bf81a7a61 
								
									
								
							
								 
							
						 
						
							
							
								
								Bundle aggregations outside of the serialization method. ( #11612 )  
							
							... 
							
							
							
							This makes the serialization of events synchronous (and it no
longer access the database), but we must manually calculate and
provide the bundled aggregations.
Overall this should cause no change in behavior, but is prep work
for other improvements. 
							
						 
						
							2022-01-07 09:10:46 -05: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  
				
					
						
							
							
								 
						
							
							
								eb9ddc8c2e 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove the deprecated BaseHandler. ( #11005 )  
							
							... 
							
							
							
							The shared ratelimit function was replaced with a dedicated
RequestRatelimiter class (accessible from the HomeServer
object).
Other properties were copied to each sub-class that inherited
from BaseHandler. 
							
						 
						
							2021-10-08 07:44:43 -04:00  
				
					
						
							
							
								 
						
							
							
								94b620a5ed 
								
									
								
							
								 
							
						 
						
							
							
								
								Use direct references for configuration variables (part 6). ( #10916 )  
							
							
							
						 
						
							2021-09-29 06:44:15 -04:00  
				
					
						
							
							
								 
						
							
							
								98aec1cc9d 
								
									
								
							
								 
							
						 
						
							
							
								
								Use inline type hints in `handlers/` and `rest/`. ( #10382 )  
							
							
							
						 
						
							2021-07-16 18:22:36 +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  
				
					
						
							
							
								 
						
							
							
								b7748d3c00 
								
									
								
							
								 
							
						 
						
							
							
								
								Import HomeServer from the proper module. ( #9665 )  
							
							
							
						 
						
							2021-03-23 07:12:48 -04:00  
				
					
						
							
							
								 
						
							
							
								1baab20352 
								
									
								
							
								 
							
						 
						
							
							
								
								Add type hints to various handlers. ( #9223 )  
							
							... 
							
							
							
							With this change all handlers except the e2e_* ones have
type hints enabled. 
							
						 
						
							2021-01-26 10:50:21 -05:00  
				
					
						
							
							
								 
						
							
							
								34a5696f93 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix typos and spelling errors. ( #8639 )  
							
							
							
						 
						
							2020-10-23 12:38:40 -04:00  
				
					
						
							
							
								 
						
							
							
								7941372ec8 
								
									
								
							
								 
							
						 
						
							
							
								
								Make token serializing/deserializing async ( #8427 )  
							
							... 
							
							
							
							The idea is that in future tokens will encode a mapping of instance to position. However, we don't want to include the full instance name in the string representation, so instead we'll have a mapping between instance name and an immutable integer ID in the DB that we can use instead. We'll then do the lookup when we serialize/deserialize the token (we could alternatively pass around an `Instance` type that includes both the name and ID, but that turns out to be a lot more invasive). 
							
						 
						
							2020-09-30 20:29:19 +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  
				
					
						
							
							
								 
						
							
							
								e19de43eb5 
								
									
								
							
								 
							
						 
						
							
							
								
								Convert streams to async. ( #8014 )  
							
							
							
						 
						
							2020-08-04 07:21:47 -04:00  
				
					
						
							
							
								 
						
							
							
								e739b20588 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix up types and comments that refer to Deferreds. ( #7945 )  
							
							
							
						 
						
							2020-07-24 10:53:25 -04:00  
				
					
						
							
							
								 
						
							
							
								be309d99cf 
								
									
								
							
								 
							
						 
						
							
							
								
								Convert search code to async/await. ( #7460 )  
							
							
							
						 
						
							2020-05-11 15:12:39 -04:00  
				
					
						
							
							
								 
						
							
							
								509e381afa 
								
									
								
							
								 
							
						 
						
							
							
								
								Clarify list/set/dict/tuple comprehensions and enforce via flake8 ( #6957 )  
							
							... 
							
							
							
							Ensure good comprehension hygiene using flake8-comprehensions. 
							
						 
						
							2020-02-21 07:15:07 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								ea0f0ad414 
								
									
								
							
								 
							
						 
						
							
							
								
								Prevent message search in upgraded rooms we're not in ( #6385 )  
							
							
							
						 
						
							2019-12-11 13:07:25 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								69f0054ce6 
								
							
								 
							
						 
						
							
							
								
								Port to use state storage  
							
							
							
						 
						
							2019-10-30 14:46:54 +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  
				
					
						
							
							
								 
						
							
							
								b54b03f9e1 
								
							
								 
							
						 
						
							
							
								
								Allow client event serialization to be async  
							
							
							
						 
						
							2019-05-14 11:58:01 +01:00  
				
					
						
							
							
								 
						
							
							
								03c85335d1 
								
									
								
							
								 
							
						 
						
							
							
								
								Apply suggestions from code review  
							
							... 
							
							
							
							Co-Authored-By: anoadragon453 <1342360+anoadragon453@users.noreply.github.com> 
							
						 
						
							2019-01-24 17:22:09 +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  
				
					
						
							
							
								 
						
							
							
								158ffb92f1 
								
							
								 
							
						 
						
							
							
								
								Add an option to disable search for homeservers which may not be interested in it ( #4230 )  
							
							... 
							
							
							
							This is useful for homeservers not intended for users, such as bot-only homeservers or ones that only process IoT data. 
							
						 
						
							2018-12-04 12:01:02 +01:00  
				
					
						
							
							
								 
						
							
							
								3bade14ec0 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix search 500ing ( #4122 )  
							
							
							
						 
						
							2018-10-31 04:33:41 +11:00  
				
					
						
							
							
								 
						
							
							
								2608ebc04c 
								
									
								
							
								 
							
						 
						
							
							
								
								Port handlers/ to Python 3 ( #3803 )  
							
							
							
						 
						
							2018-09-07 00:22:23 +10:00  
				
					
						
							
							
								 
						
							
							
								e9b2d047f6 
								
									
								
							
								 
							
						 
						
							
							
								
								make /context lazyload & filter aware ( #3567 )  
							
							... 
							
							
							
							make /context lazyload & filter aware. 
							
						 
						
							2018-07-27 15:12:50 +01:00  
				
					
						
							
							
								 
						
							
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
				
					
						
							
							
								 
						
							
							
								28ddc6cfbe 
								
							
								 
							
						 
						
							
							
								
								Also log number of events for serach context  
							
							
							
						 
						
							2018-06-22 15:42:11 +01:00  
				
					
						
							
							
								 
						
							
							
								4b4cec3989 
								
							
								 
							
						 
						
							
							
								
								Add some logging to search queries  
							
							
							
						 
						
							2018-06-22 15:42:11 +01: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  
				
					
						
							
							
								 
						
							
							
								eaaabc6c4f 
								
							
								 
							
						 
						
							
							
								
								replace 'except:' with 'except Exception:'  
							
							... 
							
							
							
							what could possibly go wrong 
							
						 
						
							2017-10-23 15:52:32 +01:00  
				
					
						
							
							
								 
						
							
							
								7e23476814 
								
							
								 
							
						 
						
							
							
								
								move filter_events_for_client out of base handler  
							
							
							
						 
						
							2016-05-11 13:42:37 +01:00  
				
					
						
							
							
								 
						
							
							
								424a7f48f8 
								
							
								 
							
						 
						
							
							
								
								Run filter_events_for_client  
							
							... 
							
							
							
							so we don't accidentally mail out events people shouldn't see 
							
						 
						
							2016-04-27 17:50:49 +01:00  
				
					
						
							
							
								 
						
							
							
								6c28ac260c 
								
							
								 
							
						 
						
							
							
								
								copyrights  
							
							
							
						 
						
							2016-01-07 04:26:29 +00:00  
				
					
						
							
							
								 
						
							
							
								d9a5c56930 
								
							
								 
							
						 
						
							
							
								
								Include approximate count of search results  
							
							
							
						 
						
							2015-12-11 11:40:23 +00:00  
				
					
						
							
							
								 
						
							
							
								7c2ff8c889 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #405  from matrix-org/erikj/search-ts  
							
							... 
							
							
							
							Change the result dict to be a list in /search response 
							
						 
						
							2015-12-08 16:15:27 +00:00  
				
					
						
							
							
								 
						
							
							
								27c5e1b374 
								
							
								 
							
						 
						
							
							
								
								Search: Don't disregard grouping info in pagination tokens  
							
							
							
						 
						
							2015-12-01 16:47:18 +00:00  
				
					
						
							
							
								 
						
							
							
								71578e2bf2 
								
							
								 
							
						 
						
							
							
								
								Change the result tict to be a list  
							
							
							
						 
						
							2015-12-01 14:48:35 +00:00  
				
					
						
							
							
								 
						
							
							
								da7dd58641 
								
							
								 
							
						 
						
							
							
								
								Tidy up a bit  
							
							
							
						 
						
							2015-12-01 11:06:40 +00:00  
				
					
						
							
							
								 
						
							
							
								4dcaa42b6d 
								
							
								 
							
						 
						
							
							
								
								Allow paginating search ordered by recents  
							
							
							
						 
						
							2015-11-30 17:45:31 +00:00  
				
					
						
							
							
								 
						
							
							
								76936f43ae 
								
							
								 
							
						 
						
							
							
								
								Return words to highlight in search results  
							
							
							
						 
						
							2015-11-27 16:40:42 +00:00