Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add support for MSC4115 (#17104) | Richard van der Hoff | 2024-04-29 | 1 | -4/+16 |
| | | | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> | ||||
* | Correctly mention previous copyright (#16820) | Erik Johnston | 2024-01-23 | 1 | -0/+1 |
| | | | | | During the migration the automated script to update the copyright headers accidentally got rid of some of the existing copyright lines. Reinstate them. | ||||
* | Update license headers | Patrick Cloke | 2023-11-21 | 1 | -10/+16 |
| | |||||
* | Add new module API for adding custom fields to events `unsigned` section ↵ | Erik Johnston | 2023-10-27 | 1 | -4/+4 |
| | | | | (#16549) | ||||
* | Pass the requester during event serialization. (#15174) | Quentin Gliech | 2023-03-06 | 1 | -15/+28 |
| | | | | This allows Synapse to properly include the transaction ID in the unsigned data of events. | ||||
* | Use StrCollection in place of Collection[str] in (most) handlers code. (#14922) | Patrick Cloke | 2023-01-26 | 1 | -4/+4 |
| | | | | Due to the increased safety of StrCollection over Collection[str] and Sequence[str]. | ||||
* | Improve /sync performance of when passing filters with empty arrays. (#14786) | Patrick Cloke | 2023-01-09 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | This has two related changes: * It enables fast-path processing for an empty filter (`[]`) which was previously only used for wildcard not-filters (`["*"]`). * It special cases a `/sync` filter with no-rooms to skip all room processing, previously we would partially skip processing, but would generally still calculate intermediate values for each room which were then unused. Future changes might consider further optimizations: * Skip calculating per-room account data when all rooms are filtered (currently this is thrown away). * Make similar improvements to other endpoints which support filters. | ||||
* | Move `StateFilter` to `synapse.types` (#14668) | David Robertson | 2022-12-12 | 1 | -1/+1 |
| | | | | | * Move `StateFilter` to `synapse.types` * Changelog | ||||
* | Reduce the amount of state we pull from the DB (#12811) | Erik Johnston | 2022-06-06 | 1 | -1/+1 |
| | |||||
* | Rename storage classes (#12913) | Erik Johnston | 2022-05-31 | 1 | -7/+7 |
| | |||||
* | Fix up `state_store` naming (#12871) | Erik Johnston | 2022-05-25 | 1 | -2/+2 |
| | |||||
* | Add `StreamKeyType` class and replace string literals with constants (#12567) | Andrew Morgan | 2022-05-16 | 1 | -5/+5 |
| | |||||
* | Remove unused `# type: ignore`s (#12531) | David Robertson | 2022-04-27 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | | | | | | | | Over time we've begun to use newer versions of mypy, typeshed, stub packages---and of course we've improved our own annotations. This makes some type ignore comments no longer necessary. I have removed them. There was one exception: a module that imports `select.epoll`. The ignore is redundant on Linux, but I've kept it ignored for those of us who work on the source tree using not-Linux. (#11771) I'm more interested in the config line which enforces this. I want unused ignores to be reported, because I think it's useful feedback when annotating to know when you've fixed a problem you had to previously ignore. * Installing extras before typechecking Lacking an easy way to install all extras generically, let's bite the bullet and make install the hand-maintained `all` extra before typechecking. Now that https://github.com/matrix-org/backend-meta/pull/6 is merged to the release/v1 branch. | ||||
* | Remove experimental configuration flag for MSC3666. (#12436) | Patrick Cloke | 2022-04-11 | 1 | -17/+13 |
| | |||||
* | Move get_bundled_aggregations to relations handler. (#12237) | Patrick Cloke | 2022-03-18 | 1 | -1/+2 |
| | | | | | 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. | ||||
* | Remove `HomeServer.get_datastore()` (#12031) | Richard van der Hoff | 2022-02-23 | 1 | -1/+1 |
| | | | | | | | The presence of this method was confusing, and mostly present for backwards compatibility. Let's get rid of it. Part of #11733 | ||||
* | Upgrade mypy to version 0.931 (#12030) | Sean Quah | 2022-02-18 | 1 | -1/+1 |
| | | | Upgrade mypy to 0.931, mypy-zope to 0.3.5 and fix new complaints. | ||||
* | Refactor search code to reduce function size. (#11991) | Patrick Cloke | 2022-02-15 | 1 | -219/+424 |
| | | | | | | | | | 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. | ||||
* | Experimental support to include bundled aggregations in search results ↵ | Patrick Cloke | 2022-02-08 | 1 | -5/+24 |
| | | | | (MSC3666) (#11837) | ||||
* | Improvements to bundling aggregations. (#11815) | Patrick Cloke | 2022-01-26 | 1 | -22/+23 |
| | | | | | | | | | | | 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). | ||||
* | Bundle aggregations outside of the serialization method. (#11612) | Patrick Cloke | 2022-01-07 | 1 | -6/+4 |
| | | | | | | | | 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. | ||||
* | Support filtering by relations per MSC3440 (#11236) | Patrick Cloke | 2021-11-09 | 1 | -3/+5 |
| | | | | Adds experimental support for `relation_types` and `relation_senders` fields for filters. | ||||
* | Refactor `Filter` to handle fields according to data being filtered. (#11194) | Patrick Cloke | 2021-10-27 | 1 | -6/+6 |
| | | | | This avoids filtering against fields which cannot exist on an event source. E.g. presence updates don't have a room. | ||||
* | Remove the deprecated BaseHandler. (#11005) | Patrick Cloke | 2021-10-08 | 1 | -4/+5 |
| | | | | | | | | 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. | ||||
* | Use direct references for configuration variables (part 6). (#10916) | Patrick Cloke | 2021-09-29 | 1 | -1/+1 |
| | |||||
* | Use inline type hints in `handlers/` and `rest/`. (#10382) | Jonathan de Jong | 2021-07-16 | 1 | -4/+4 |
| | |||||
* | Remove redundant "coding: utf-8" lines (#9786) | Jonathan de Jong | 2021-04-14 | 1 | -1/+0 |
| | | | | | | | 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>` | ||||
* | Import HomeServer from the proper module. (#9665) | Patrick Cloke | 2021-03-23 | 1 | -1/+1 |
| | |||||
* | Add type hints to various handlers. (#9223) | Patrick Cloke | 2021-01-26 | 1 | -16/+22 |
| | | | | With this change all handlers except the e2e_* ones have type hints enabled. | ||||
* | Fix typos and spelling errors. (#8639) | Patrick Cloke | 2020-10-23 | 1 | -1/+1 |
| | |||||
* | Make token serializing/deserializing async (#8427) | Erik Johnston | 2020-09-30 | 1 | -4/+4 |
| | | | 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). | ||||
* | Simplify super() calls to Python 3 syntax. (#8344) | Patrick Cloke | 2020-09-18 | 1 | -1/+1 |
| | | | | | | | This converts calls like super(Foo, self) -> super(). Generated with: sed -i "" -Ee 's/super\([^\(]+\)/super()/g' **/*.py | ||||
* | Convert streams to async. (#8014) | Patrick Cloke | 2020-08-04 | 1 | -1/+1 |
| | |||||
* | Fix up types and comments that refer to Deferreds. (#7945) | Patrick Cloke | 2020-07-24 | 1 | -3/+4 |
| | |||||
* | Convert search code to async/await. (#7460) | Patrick Cloke | 2020-05-11 | 1 | -24/+20 |
| | |||||
* | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) | Patrick Cloke | 2020-02-21 | 1 | -4/+4 |
| | | | | Ensure good comprehension hygiene using flake8-comprehensions. | ||||
* | Add `local_current_membership` table (#6655) | Erik Johnston | 2020-01-15 | 1 | -1/+1 |
| | | | | | | | 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. | ||||
* | Prevent message search in upgraded rooms we're not in (#6385) | Andrew Morgan | 2019-12-11 | 1 | -9/+25 |
| | |||||
* | Update black to 19.10b0 (#6304) | Amber Brown | 2019-11-01 | 1 | -8/+4 |
| | | | * update version of black and also fix the mypy config being overridden | ||||
* | Port to use state storage | Erik Johnston | 2019-10-30 | 1 | -5/+7 |
| | |||||
* | Replace returnValue with return (#5736) | Amber Brown | 2019-07-23 | 1 | -8/+6 |
| | |||||
* | Run Black. (#5482) | Amber Brown | 2019-06-20 | 1 | -67/+62 |
| | |||||
* | Allow client event serialization to be async | Erik Johnston | 2019-05-14 | 1 | -19/+23 |
| | |||||
* | Apply suggestions from code review | Richard van der Hoff | 2019-01-24 | 1 | -1/+1 |
| | | | Co-Authored-By: anoadragon453 <1342360+anoadragon453@users.noreply.github.com> | ||||
* | Fix a bug with single-room search searching all rooms | Andrew Morgan | 2019-01-22 | 1 | -32/+10 |
| | | | | | * Create a new method for getting predecessor rooms * Remove formatting change | ||||
* | Search for messages across predecessor rooms | Andrew Morgan | 2019-01-18 | 1 | -0/+69 |
| | | | | Signed-off-by: Andrew Morgan <andrew@amorgan.xyz> | ||||
* | Add an option to disable search for homeservers which may not be interested ↵ | Travis Ralston | 2018-12-04 | 1 | -0/+3 |
| | | | | | | in it (#4230) This is useful for homeservers not intended for users, such as bot-only homeservers or ones that only process IoT data. | ||||
* | Fix search 500ing (#4122) | Amber Brown | 2018-10-31 | 1 | -2/+6 |
| | |||||
* | Port handlers/ to Python 3 (#3803) | Amber Brown | 2018-09-07 | 1 | -7/+7 |
| | |||||
* | make /context lazyload & filter aware (#3567) | Matthew Hodgson | 2018-07-27 | 1 | -1/+1 |
| | | | make /context lazyload & filter aware. | ||||
* | run isort | Amber Brown | 2018-07-09 | 1 | -9/+8 |
| | |||||
* | Also log number of events for serach context | Erik Johnston | 2018-06-22 | 1 | -0/+5 |
| | |||||
* | Add some logging to search queries | Erik Johnston | 2018-06-22 | 1 | -0/+9 |
| | |||||
* | Consistently use six's iteritems and wrap lazy keys/values in list() if ↵ | Amber Brown | 2018-05-31 | 1 | -1/+1 |
| | | | | they're not meant to be lazy (#3307) | ||||
* | replace 'except:' with 'except Exception:' | Richard van der Hoff | 2017-10-23 | 1 | -1/+1 |
| | | | | what could possibly go wrong | ||||
* | move filter_events_for_client out of base handler | Mark Haines | 2016-05-11 | 1 | -8/+9 |
| | |||||
* | Run filter_events_for_client | David Baker | 2016-04-27 | 1 | -4/+4 |
| | | | | so we don't accidentally mail out events people shouldn't see | ||||
* | copyrights | Matthew Hodgson | 2016-01-07 | 1 | -1/+1 |
| | |||||
* | Include approximate count of search results | Erik Johnston | 2015-12-11 | 1 | -1/+7 |
| | |||||
* | Merge pull request #405 from matrix-org/erikj/search-ts | Erik Johnston | 2015-12-08 | 1 | -6/+4 |
|\ | | | | | Change the result dict to be a list in /search response | ||||
| * | Change the result tict to be a list | Erik Johnston | 2015-12-01 | 1 | -6/+4 |
| | | |||||
* | | Search: Don't disregard grouping info in pagination tokens | Erik Johnston | 2015-12-01 | 1 | -3/+12 |
|/ | |||||
* | Tidy up a bit | Erik Johnston | 2015-12-01 | 1 | -8/+9 |
| | |||||
* | Allow paginating search ordered by recents | Erik Johnston | 2015-11-30 | 1 | -68/+60 |
| | |||||
* | Return words to highlight in search results | Erik Johnston | 2015-11-27 | 1 | -3/+16 |
| | |||||
* | Add option to include the current room state | Erik Johnston | 2015-11-20 | 1 | -0/+24 |
| | |||||
* | Optionally include historic profile info | Erik Johnston | 2015-11-20 | 1 | -1/+30 |
| | |||||
* | Be explicit about what we're doing | Erik Johnston | 2015-11-05 | 1 | -1/+1 |
| | |||||
* | Remove redundant test | Erik Johnston | 2015-11-05 | 1 | -1/+0 |
| | |||||
* | Increment by one, not five | Erik Johnston | 2015-11-05 | 1 | -1/+1 |
| | |||||
* | COMMENTS | Erik Johnston | 2015-11-05 | 1 | -4/+26 |
| | |||||
* | Implement basic pagination for search results | Erik Johnston | 2015-11-05 | 1 | -13/+65 |
| | |||||
* | Implement order and group by | Erik Johnston | 2015-11-04 | 1 | -17/+109 |
| | |||||
* | Make search API honour limit set in filter | Erik Johnston | 2015-10-29 | 1 | -0/+3 |
| | |||||
* | Optionally return event contexts with search results | Erik Johnston | 2015-10-28 | 1 | -1/+52 |
| | |||||
* | Rename | Erik Johnston | 2015-10-22 | 1 | -3/+3 |
| | |||||
* | Use namedtuple as return value | Erik Johnston | 2015-10-22 | 1 | -1/+3 |
| | |||||
* | Filter room ids before hitting the database | Erik Johnston | 2015-10-21 | 1 | -1/+1 |
| | |||||
* | Filter search results | Erik Johnston | 2015-10-21 | 1 | -2/+7 |
| | |||||
* | Remove unused import | Erik Johnston | 2015-10-16 | 1 | -3/+1 |
| | |||||
* | Remove duplicate _filter_events_for_client | Erik Johnston | 2015-10-16 | 1 | -46/+0 |
| | |||||
* | docstring | Erik Johnston | 2015-10-16 | 1 | -0/+10 |
| | |||||
* | Make 'keys' optional | Erik Johnston | 2015-10-14 | 1 | -1/+3 |
| | |||||
* | More TODO markers | Erik Johnston | 2015-10-14 | 1 | -0/+3 |
| | |||||
* | Add TODO markers | Erik Johnston | 2015-10-14 | 1 | -1/+4 |
| | |||||
* | Remove constraints in preperation of using filters | Erik Johnston | 2015-10-13 | 1 | -51/+10 |
| | |||||
* | Search left rooms too | Erik Johnston | 2015-10-13 | 1 | -5/+2 |
| | |||||
* | Filter events to only thsoe that the user is allowed to see | Erik Johnston | 2015-10-12 | 1 | -6/+10 |
| | |||||
* | Remove unused room_id parameter | Erik Johnston | 2015-10-12 | 1 | -1/+49 |
| | |||||
* | PEP8 | Erik Johnston | 2015-10-12 | 1 | -2/+9 |
| | |||||
* | Keep FTS indexes up to date. Only search through rooms currently joined | Erik Johnston | 2015-10-12 | 1 | -9/+22 |
| | |||||
* | Add basic full text search impl. | Erik Johnston | 2015-10-09 | 1 | -0/+95 |