Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add support for claiming multiple OTKs at once. (#15468) | Patrick Cloke | 2023-04-27 | 1 | -9/+22 |
| | | | | | | | MSC3983 provides a way to request multiple OTKs at once from appservices, this extends this concept to the Client-Server API. Note that this will likely be spit out into a separate MSC, but is currently part of MSC3983. | ||||
* | Call appservices on modern paths, falling back to legacy paths. (#15317) | Patrick Cloke | 2023-04-03 | 1 | -40/+93 |
| | | | | | This uses the specced /_matrix/app/v1/... paths instead of the "legacy" paths. If the homeserver receives an error it will retry using the legacy path. | ||||
* | Implement MSC3984 to proxy /keys/query requests to appservices. (#15321) | Patrick Cloke | 2023-03-30 | 1 | -4/+50 |
| | | | | | If enabled, for users which are exclusively owned by an application service then the appservice will be queried for devices in addition to any information stored in the Synapse database. | ||||
* | Implement MSC3983 to proxy /keys/claim queries to appservices. (#15314) | Patrick Cloke | 2023-03-28 | 1 | -0/+56 |
| | | | | | | Experimental support for MSC3983 is behind a configuration flag. If enabled, for users which are exclusively owned by an application service then the appservice will be queried for one-time keys *if* there are none uploaded to Synapse. | ||||
* | Implement MSC2659: application service ping endpoint (#15249) | Tulir Asokan | 2023-03-16 | 1 | -0/+13 |
| | | | Signed-off-by: Tulir Asokan <tulir@maunium.net> | ||||
* | Type hints for tests.appservice (#14990) | David Robertson | 2023-02-06 | 3 | -5/+16 |
| | | | | | | | | | | | | | | | | | | | | * Accept a Sequence of events in synapse.appservice This avoids some casts/ignores in the tests I'm about to fixup. It seems that `List[Mock]` is not a subtype of `List[EventBase]`, but `Sequence[Mock]` is a subtype of `Sequence[EventBase]`. So presumably `Mock` is considered a subtype of anything, much like `Any`. * make tests.appservice.test_scheduler pass mypy * Extra hints in tests.appservice.test_scheduler * Extra hints in tests.appservice.test_api * Extra hints in tests.appservice.test_appservice * Disallow untyped defs * Changelog | ||||
* | Fix missing cache invalidation in application service code (#14670) | Sean Quah | 2022-12-12 | 1 | -2/+6 |
| | | | | | | | | | | | | #11915 introduced the `@cached` `is_interested_in_room` method in Synapse 1.55.0, which depends upon `get_aliases_for_room`. Add a missing cache invalidation callback so that the `is_interested_in_room` cache is invalidated when `get_aliases_for_room` is invalidated. #13787 made `get_rooms_for_user` `@cached`. Add a missing cache invalidation callback so that the `is_interested_in_presence` cache is invalidated when `get_rooms_for_user` is invalidated. Signed-off-by: Sean Quah <seanq@matrix.org> | ||||
* | Use `device_one_time_keys_count` to match MSC3202 (#14565) | Andrew Ferrazzutti | 2022-11-28 | 3 | -17/+20 |
| | | | | | | | | | | | | | | | | | | | * Use `device_one_time_keys_count` to match MSC3202 Rename the `device_one_time_key_counts` key in responses to `device_one_time_keys_count` to match the name specified by MSC3202. Also change related variable/class names for consistency. Signed-off-by: Andrew Ferrazzutti <andrewf@element.io> * Update changelog.d/14565.misc * Revert name change for `one_time_key_counts` key as this is a different key altogether from `device_one_time_keys_count`, which is used for `/sync` instead of appservice transactions. Signed-off-by: Andrew Ferrazzutti <andrewf@element.io> | ||||
* | Merge branch 'master' into develop | Olivier Wilkinson (reivilibre) | 2022-10-28 | 1 | -5/+7 |
|\ | |||||
| * | Fix incorrectly sending authentication tokens to application service as ↵ | David Robertson | 2022-10-26 | 1 | -5/+7 |
| | | | | | | | | headers (#14301) | ||||
* | | Check appservice user interest against the local users instead of all users ↵ | Eric Eastwood | 2022-10-27 | 1 | -2/+14 |
|/ | | | | (`get_users_in_room` mis-use) (#13958) | ||||
* | Send the appservice access token as a header. (#13996) | Patrick Cloke | 2022-10-04 | 1 | -4/+19 |
| | | | | | | | | | Implements MSC2832 by sending application service access tokens in the Authorization header. The access token is also still sent as a query parameter until the application service ecosystem has fully migrated to using headers. In the future this could be made opt-in, or removed completely. | ||||
* | Add prometheus counters for content types other than events (#13175) | Brad Murray | 2022-07-13 | 1 | -0/+14 |
| | |||||
* | Fix to-device messages not being sent to MSC3202-enabled appservices (#13235) | Travis Ralston | 2022-07-11 | 1 | -2/+3 |
| | | | | The field name was simply incorrect, leading to errors. | ||||
* | Fix appservice EDUs failing to send if the EDU doesn't have a room ID (#13236) | Travis Ralston | 2022-07-11 | 1 | -1/+3 |
| | | | | | | | | | | | * Fix appservice EDUs failing to send if the EDU doesn't have a room ID As is in the case of presence. * changelog * linter * fix linter again | ||||
* | Remove remaining bits of groups code. (#12936) | Patrick Cloke | 2022-06-01 | 1 | -2/+0 |
| | | | | | | * Update worker docs to remove group endpoints. * Removes an unused parameter to `ApplicationService`. * Break dependency between media repo and groups. * Avoid copying `m.room.related_groups` state events during room upgrades. | ||||
* | Remove backing code for groups/communities (#12558) | Patrick Cloke | 2022-05-26 | 1 | -41/+2 |
| | | | | Including handlers, configuration code, appservice support, and the GroupID construct. | ||||
* | Don't create empty AS txns when the AS is down (#12869) | Nick Mills-Barrett | 2022-05-25 | 1 | -1/+5 |
| | |||||
* | Add authentication to thirdparty bridge APIs (#12746) | Will Hunt | 2022-05-24 | 1 | -3/+12 |
| | | | Co-authored-by: Brendan Abolivier <babolivier@matrix.org> | ||||
* | Update mypy to 0.950 and fix complaints (#12650) | David Robertson | 2022-05-06 | 1 | -1/+2 |
| | |||||
* | MSC3202: Fix device_unused_fallback_keys -> device_unused_fallback_key_types ↵ | Will Hunt | 2022-04-22 | 2 | -2/+2 |
| | | | | | | | (#12520) * Fix device_unused_fallback_keys -> device_unused_fallback_key_types * changelog | ||||
* | Send device list updates to application services (MSC3202) - part 1 (#11881) | Andrew Morgan | 2022-03-30 | 3 | -5/+70 |
| | | | Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> | ||||
* | Bump `black` and `click` versions (#12320) | David Robertson | 2022-03-29 | 1 | -1/+1 |
| | |||||
* | Rename various ApplicationServices interested methods (#11915) | Andrew Morgan | 2022-03-03 | 1 | -42/+91 |
| | |||||
* | Use the proper serialization format when bundling aggregations. (#12090) | Patrick Cloke | 2022-03-03 | 1 | -11/+13 |
| | | | | This ensures that the `latest_event` field of the bundled aggregation for threads uses the same format as the other events in the response. | ||||
* | Add support for MSC3202: sending one-time key counts and fallback key usage ↵ | reivilibre | 2022-02-24 | 3 | -6/+128 |
| | | | | | states to Application Services. (#11617) Co-authored-by: Erik Johnston <erik@matrix.org> | ||||
* | 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 | ||||
* | Remove optional state of `ApplicationService.is_interested`'s `store` ↵ | Andrew Morgan | 2022-02-07 | 1 | -18/+5 |
| | | | | parameter (#11911) | ||||
* | Send to-device messages to application services (#11215) | Andrew Morgan | 2022-02-01 | 3 | -28/+101 |
| | | | Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | ||||
* | Add missing type hints to `synapse.appservice` (#11360) | Patrick Cloke | 2021-12-14 | 3 | -83/+140 |
| | |||||
* | Add type annotations to `tests.storage.test_appservice`. (#11488) | reivilibre | 2021-12-02 | 1 | -1/+2 |
| | |||||
* | Prevent historical state from being pushed to an application service via ↵ | Eric Eastwood | 2021-11-18 | 1 | -2/+21 |
| | | | | | | | | | `/transactions` (MSC2716) (#11265) Mark historical state from the MSC2716 `/batch_send` endpoint as `historical` which makes it `backfilled` and have a negative `stream_ordering` so it doesn't get queried by `/transactions`. Fix https://github.com/matrix-org/synapse/issues/11241 Complement tests: https://github.com/matrix-org/complement/pull/221 | ||||
* | Add type hints for most `HomeServer` parameters (#11095) | Sean Quah | 2021-10-22 | 1 | -1/+2 |
| | |||||
* | Use inline type hints in various other places (in `synapse/`) (#10380) | Jonathan de Jong | 2021-07-15 | 1 | -2/+2 |
| | |||||
* | Implement knock feature (#6739) | Sorunome | 2021-06-09 | 1 | -3/+8 |
| | | | | | | 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 | ||||
* | Remove redundant "coding: utf-8" lines (#9786) | Jonathan de Jong | 2021-04-14 | 3 | -3/+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>` | ||||
* | Bugbear: Add Mutable Parameter fixes (#9682) | Jonathan de Jong | 2021-04-08 | 1 | -3/+3 |
| | | | | | | | 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> | ||||
* | Add ResponseCache tests. (#9458) | Jonathan de Jong | 2021-03-08 | 1 | -1/+1 |
| | |||||
* | Update black, and run auto formatting over the codebase (#9381) | Eric Eastwood | 2021-02-16 | 3 | -3/+8 |
| | | | | | | | - Update black version to the latest - Run black auto formatting over the codebase - Run autoformatting according to [`docs/code_style.md `](https://github.com/matrix-org/synapse/blob/80d6dc9783aa80886a133756028984dbf8920168/docs/code_style.md) - Update `code_style.md` docs around installing black to use the correct version | ||||
* | Remove unneeded type constraints on 3rd party protocol lookup responses | Brendan Abolivier | 2021-02-09 | 1 | -3/+0 |
| | |||||
* | Tie together matches_user_in_member_list and get_users_in_room caches (#8676) | Will Hunt | 2020-10-29 | 1 | -4/+6 |
| | | | | | | | | | | | | | * Tie together matches_user_in_member_list and get_users_in_room * changelog * Remove type to fix mypy * Add `on_invalidate` to the function signature in the hopes that may make things work well * Remove **kwargs * Update 8676.bugfix | ||||
* | Add ability for access tokens to belong to one user but grant access to ↵ | Erik Johnston | 2020-10-29 | 1 | -2/+2 |
| | | | | | | | | | | another user. (#8616) We do it this way round so that only the "owner" can delete the access token (i.e. `/logout/all` by the "owner" also deletes that token, but `/logout/all` by the "target user" doesn't). A future PR will add an API for creating such a token. When the target user and authenticated entity are different the `Processed request` log line will be logged with a: `{@admin:server as @bob:server} ...`. I'm not convinced by that format (especially since it adds spaces in there, making it harder to use `cut -d ' '` to chop off the start of log lines). Suggestions welcome. | ||||
* | Limit AS transactions to 100 events (#8606) | Will Hunt | 2020-10-21 | 1 | -2/+16 |
| | | | | | | | | | | | | | * Limit AS transactions to 100 events * Update changelog.d/8606.feature Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> * Add tests * Update synapse/appservice/scheduler.py Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> | ||||
* | Send some ephemeral events to appservices (#8437) | Will Hunt | 2020-10-15 | 3 | -83/+172 |
| | | | Optionally sends typing, presence, and read receipt information to appservices. | ||||
* | Add type hints to response cache. (#8507) | Patrick Cloke | 2020-10-09 | 1 | -2/+2 |
| | |||||
* | Add type annotations to SimpleHttpClient (#8372) | Richard van der Hoff | 2020-09-24 | 1 | -1/+1 |
| | |||||
* | 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 | ||||
* | Stop sub-classing object (#8249) | Patrick Cloke | 2020-09-04 | 2 | -7/+7 |
| | |||||
* | Convert appservice code to async/await. (#8207) | Patrick Cloke | 2020-09-01 | 1 | -8/+11 |
| | |||||
* | Convert additional database code to async/await. (#8195) | Patrick Cloke | 2020-08-28 | 1 | -8/+11 |
| | |||||
* | Convert the SimpleHttpClient to async. (#8016) | Patrick Cloke | 2020-08-04 | 1 | -1/+1 |
| | |||||
* | Convert appservice to async. (#7973) | Patrick Cloke | 2020-07-30 | 3 | -60/+41 |
| | |||||
* | Include room states on invite events sent to ASes (#6455) | Sorunome | 2020-07-10 | 1 | -4/+16 |
| | |||||
* | Convert the appservice handler to async/await. (#7775) | Patrick Cloke | 2020-07-06 | 1 | -1/+0 |
| | |||||
* | Replace all remaining six usage with native Python 3 equivalents (#7704) | Dagfinn Ilmari Mannsåker | 2020-06-16 | 2 | -5/+2 |
| | |||||
* | Fix a couple of small typos | Andrew Morgan | 2020-05-15 | 1 | -1/+1 |
| | |||||
* | Clean up newline quote marks around the codebase (#6362) | Andrew Morgan | 2019-11-21 | 1 | -1/+1 |
| | |||||
* | rstrip slashes from url on appservice (#6306) | Will Hunt | 2019-10-31 | 1 | -1/+3 |
| | |||||
* | Remove double return statements (#5962) | Andrew Morgan | 2019-09-03 | 1 | -3/+0 |
| | | | | | | | | | | Remove all the "double return" statements which were a result of us removing all the instances of ``` defer.returnValue(...) return ``` statements when we switched to python3 fully. | ||||
* | Refactor the Appservice scheduler code (#5886) | Richard van der Hoff | 2019-08-20 | 1 | -45/+65 |
|\ | | | | | | | | | | | | | Get rid of the labyrinthine `recoverer_fn` code, and clean up the startup code (it seemed to be previously inexplicably split between `ApplicationServiceScheduler.start` and `_Recoverer.start`). Add some docstrings too. | ||||
| * | Refactor the Appservice scheduler code | Richard van der Hoff | 2019-08-20 | 1 | -45/+65 |
| | | | | | | | | | | | | | | | | Get rid of the labyrinthine `recoverer_fn` code, and clean up the startup code (it seemed to be previously inexplicably split between `ApplicationServiceScheduler.start` and `_Recoverer.start`). Add some docstrings too. | ||||
* | | Avoid deep recursion in appservice recovery (#5885) | Richard van der Hoff | 2019-08-20 | 1 | -18/+25 |
|/ | | | | | | | | | | Hopefully, this will fix a stack overflow when recovering an appservice. The recursion here leads to a huge chain of deferred callbacks, which then overflows the stack when the chain completes. `inlineCallbacks` makes a better job of this if we use iteration instead. Clean up the code a bit too, while we're there. | ||||
* | Replace returnValue with return (#5736) | Amber Brown | 2019-07-23 | 3 | -35/+35 |
| | |||||
* | Move logging utilities out of the side drawer of util/ and into logging/ (#5606) | Amber Brown | 2019-07-04 | 1 | -1/+1 |
| | |||||
* | Run Black. (#5482) | Amber Brown | 2019-06-20 | 3 | -88/+67 |
| | |||||
* | Run the AS senders as background processes (#4189) | Richard van der Hoff | 2018-12-04 | 1 | -12/+24 |
| | | | | This should fix some "Starting db connection from sentinel context" warnings, and will mean we get metrics for these processes. | ||||
* | Port http/ to Python 3 (#3771) | Amber Brown | 2018-09-06 | 1 | -6/+7 |
| | |||||
* | run isort | Amber Brown | 2018-07-09 | 3 | -15/+15 |
| | |||||
* | add ip_range_whitelist parameter to limit where ASes can connect from | Matthew Hodgson | 2018-06-28 | 1 | -1/+3 |
| | |||||
* | Merge pull request #3344 from Half-Shot/hs/as-metrics | Will Hunt | 2018-06-07 | 1 | -0/+22 |
|\ | | | | | Add metrics to track appservice transactions | ||||
| * | Let's try labels instead of label, that might work | Will Hunt | 2018-06-05 | 1 | -3/+3 |
| | | |||||
| * | Add metrics to track appservice transactions | Will Hunt | 2018-06-05 | 1 | -0/+22 |
| | | |||||
* | | also redact __str__ of ApplicationService used for logging | Michael Telatynski | 2018-06-06 | 1 | -1/+5 |
|/ | |||||
* | Merge remote-tracking branch 'origin/develop' into rav/use_run_in_background | Richard van der Hoff | 2018-04-27 | 1 | -11/+14 |
|\ | |||||
| * | Improve exception handling for background processes | Richard van der Hoff | 2018-04-27 | 1 | -11/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were a bunch of places where we fire off a process to happen in the background, but don't have any exception handling on it - instead relying on the unhandled error being logged when the relevent deferred gets garbage-collected. This is unsatisfactory for a number of reasons: - logging on garbage collection is best-effort and may happen some time after the error, if at all - it can be hard to figure out where the error actually happened. - it is logged as a scary CRITICAL error which (a) I always forget to grep for and (b) it's not really CRITICAL if a background process we don't care about fails. So this is an attempt to add exception handling to everything we fire off into the background. | ||||
* | | Use run_in_background in preference to preserve_fn | Richard van der Hoff | 2018-04-27 | 1 | -6/+6 |
|/ | | | | | | While I was going through uses of preserve_fn for other PRs, I converted places which only use the wrapped function once to use run_in_background, to avoid creating the function object. | ||||
* | Refactor ResponseCache usage | Richard van der Hoff | 2018-04-12 | 1 | -7/+1 |
| | | | | | | | | | | | | | | | Adds a `.wrap` method to ResponseCache which wraps up the boilerplate of a (get, set) pair, and then use it throughout the codebase. This will be largely non-functional, but does include the following functional changes: * federation_server.on_context_state_request: drops use of _server_linearizer which looked redundant and could cause incorrect cache misses by yielding between the get and the set. * RoomListHandler.get_remote_public_room_list(): fixes logcontext leaks * the wrap function includes some logging. I'm hoping this won't be too noisy on production. | ||||
* | Add metrics for ResponseCache | Richard van der Hoff | 2018-04-10 | 1 | -1/+2 |
| | |||||
* | Replace some type checks with six type checks | Adrian Tschira | 2018-04-07 | 1 | -1/+3 |
| | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | Extract group_id from the dict for multiple use | Luke Barnard | 2017-11-16 | 1 | -4/+5 |
| | |||||
* | Remove unused GROUP_ID_REGEX | Luke Barnard | 2017-11-16 | 1 | -2/+0 |
| | |||||
* | Document get_groups_for_user | Luke Barnard | 2017-11-16 | 1 | -0/+6 |
| | |||||
* | Flake8 | Luke Barnard | 2017-11-16 | 1 | -1/+1 |
| | |||||
* | Use a generator instead of a list | Luke Barnard | 2017-11-16 | 1 | -2/+2 |
| | |||||
* | Check group_id belongs to this domain | Luke Barnard | 2017-11-16 | 1 | -3/+11 |
| | |||||
* | Add automagical AS Publicised Group(s) | Luke Barnard | 2017-11-16 | 1 | -0/+22 |
| | | | | | | | | | | | | | | | | via registration file "users" namespace: ```YAML ... namespaces: users: - exclusive: true regex: '.*luke.*' group_id: '+all_the_lukes:hsdomain' ... ``` This is part of giving App Services their own groups for matching users. With this, ghost users will be given the appeareance that they are in a group and that they have publicised the fact, but _only_ from the perspective of the `get_publicised_groups_for_user` API. | ||||
* | Do logcontexts outside ResponseCache | Erik Johnston | 2017-10-25 | 1 | -3/+7 |
| | |||||
* | replace 'except:' with 'except Exception:' | Richard van der Hoff | 2017-10-23 | 1 | -1/+1 |
| | | | | what could possibly go wrong | ||||
* | Make get_if_app_services_interested_in_user faster | Erik Johnston | 2017-05-18 | 1 | -0/+10 |
| | |||||
* | Add comment | Erik Johnston | 2017-03-29 | 1 | -1/+1 |
| | |||||
* | Cache whether an AS is interested based on members | Erik Johnston | 2017-03-28 | 1 | -1/+9 |
| | |||||
* | Remove param and cast at call site | Erik Johnston | 2017-03-28 | 1 | -8/+6 |
| | |||||
* | Compile the regex's used in ASes | Erik Johnston | 2017-03-28 | 1 | -9/+5 |
| | |||||
* | Rename network_id to instance_id on client side | Erik Johnston | 2016-12-12 | 1 | -1/+1 |
| | |||||
* | Don't include appservice id | Erik Johnston | 2016-12-06 | 1 | -1/+0 |
| | |||||
* | Add new API appservice specific public room list | Erik Johnston | 2016-12-06 | 2 | -0/+12 |
| | |||||
* | Allow Configurable Rate Limiting Per AS | Luke Barnard | 2016-10-18 | 1 | -1/+6 |
| | | | | This adds a flag loaded from the registration file of an AS that will determine whether or not its users are rate limited (by ratelimit in _base.py). Needed for IRC bridge reasons - see https://github.com/matrix-org/matrix-appservice-irc/issues/240. | ||||
* | Log if rejecting 3PE query metadata result due to type check | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -4/+11 |
| | |||||
* | Reject malformed 3PE query metadata results earlier in AS API handling code | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -2/+10 |
| | |||||
* | Use None instead of the empty string | Kegan Dougal | 2016-08-30 | 1 | -5/+5 |
| | | | | Change how we validate the 'url' field as a result. | ||||
* | Flake8 | Kegan Dougal | 2016-08-30 | 1 | -0/+1 |
| | |||||
* | Allow application services to have an optional 'url' | Kegan Dougal | 2016-08-30 | 1 | -0/+11 |
| | | | | | | If 'url' is not specified, they will not be pushed for events or queries. This is useful for bots who simply wish to reserve large chunks of user/alias namespace, and don't care about being pushed for events. | ||||
* | Just sprintf the 'kind' argument into uri directly | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -3/+1 |
| | |||||
* | Move ThirdPartyEntityKind into api.constants so the expectation becomes that ↵ | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -1/+1 |
| | | | | the value is significant | ||||
* | Root the 3PE lookup API within /_matrix/app/unstable instead of at toplevel | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -3/+16 |
| | |||||
* | Merge pull request #1041 from matrix-org/paul/third-party-lookup | Paul Evans | 2016-08-25 | 2 | -2/+26 |
|\ | | | | | Extend 3PE lookup APIs for metadata query | ||||
| * | appease pep8 | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -3/+2 |
| | | |||||
| * | Implement a ResponseCache around 3PE lookup metadata lookups | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -11/+21 |
| | | |||||
| * | Kill PROTOCOL_META since I'm not using it any more | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -7/+0 |
| | | |||||
| * | Actually query over AS API for 3PE lookup metadata | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -0/+20 |
| | | |||||
| * | Initial hack at the 3PN protocols metadata lookup API | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -0/+2 |
| | | |||||
| * | Move 3PU/3PL lookup APIs into /thirdparty containing entity | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -2/+2 |
| | | |||||
* | | Preserve some logcontexts | Erik Johnston | 2016-08-24 | 1 | -3/+3 |
|/ | |||||
* | Move validation logic for AS 3PE query response into ApplicationServiceApi ↵ | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -1/+42 |
| | | | | class, to keep the handler logic neater | ||||
* | Avoid so much copypasta between 3PU and 3PL query by unifying around a ↵ | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -14/+11 |
| | | | | ThirdPartyEntityKind enumeration | ||||
* | Minor syntax neatenings | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -2/+2 |
| | |||||
* | Copypasta the 3PU support code to also do 3PL | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -0/+11 |
| | |||||
* | Filter 3PU lookups by only ASes that declare knowledge of that protocol | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -1/+8 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into paul/thirdpartylookup | Paul "LeoNerd" Evans | 2016-08-18 | 2 | -70/+72 |
|\ | |||||
| * | Make notify_interested_services faster | Erik Johnston | 2016-08-17 | 1 | -39/+42 |
| | | |||||
| * | Change name of metric | Matrix | 2016-08-17 | 1 | -1/+1 |
| | | |||||
| * | Move Measure block inside loop | Erik Johnston | 2016-08-17 | 1 | -9/+9 |
| | | |||||
| * | Clean up _ServiceQueuer | Erik Johnston | 2016-08-17 | 1 | -31/+30 |
| | | |||||
* | | Since empty lookups now return 200/empty list not 404, we can safely log ↵ | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -3/+2 |
| | | | | | | | | failures as exceptions | ||||
* | | Don't catch the return-value-as-exception that @defer.inlineCallbacks will use | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -1/+1 |
| | | |||||
* | | Actually make 3PU lookup calls out to ASes | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -1/+10 |
| | | |||||
* | | Thread 3PU lookup through as far as the AS API object; which currently noöps it | Paul "LeoNerd" Evans | 2016-08-17 | 1 | -0/+3 |
|/ | |||||
* | Move the AS handler out of the Handlers object. | Mark Haines | 2016-05-31 | 1 | -7/+7 |
| | | | | | | Access it directly from the homeserver itself. It already wasn't inheriting from BaseHandler storing it on the Handlers object was already somewhat dubious. | ||||
* | Remove some unused functions (#711) | Mark Haines | 2016-04-08 | 1 | -5/+0 |
| | | | | | | | | * Remove some unused functions * get_room_events_stream is only used in tests * is_exclusive_room might actually be something we want | ||||
* | Fix flake8 warnings for new flake8 | Daniel Wagner-Hall | 2016-02-02 | 1 | -1/+1 |
| | |||||
* | copyrights | Matthew Hodgson | 2016-01-07 | 3 | -3/+3 |
| | |||||
* | Cap the time to retry txns to appservices to 8.5 minutes | Kegan Dougal | 2015-10-21 | 1 | -2/+2 |
| | | | | | | | | | | | There's been numerous issues with people playing around with their application service and then not receiving events from their HS for ages due to backoff timers reaching crazy heights (albeit capped at < 1 day). Reduce the max time between pokes to be 8.5 minutes (2^9 secs) which is quick enough for people to wait it out (avg wait time being 4.25 min) but long enough to actually give the AS breathing room if it needs it. | ||||
* | Make the appservice use 'users_in_room' rather than get_room_members since ↵ | Mark Haines | 2015-05-22 | 1 | -3/+3 |
| | | | | it is cached | ||||
* | Fix more AS sender ID thinkos. | Kegan Dougal | 2015-04-01 | 1 | -1/+4 |
| | | | | | | Specifically, the ASes own user ID wasn't being treated as 'exclusive' so a human could nab it. Also, the HS would needlessly send user queries to the AS for its own user ID. | ||||
* | Merge branch 'develop' into application-services-registration-script | Kegan Dougal | 2015-04-01 | 1 | -1/+4 |
|\ | |||||
| * | Fix thinko whereby events *for the AS specifically* were not passed on. | Kegan Dougal | 2015-03-31 | 1 | -1/+4 |
| | | | | | | | | | | This was caused by not explicitly checking the service.sender field. This has now been fixed and a regression test has been added. | ||||
* | | Fix tests and missing returns on deferreds. | Kegan Dougal | 2015-03-31 | 1 | -1/+1 |
|/ | |||||
* | Fixes from PR comments | Kegan Dougal | 2015-03-26 | 1 | -1/+2 |
| | |||||
* | Implement ServiceQueuer with tests. | Kegan Dougal | 2015-03-16 | 1 | -16/+30 |
| | |||||
* | Replace EventGrouper for ServiceQueuer to move to push-based txns. Fix tests ↵ | Kegan Dougal | 2015-03-16 | 1 | -28/+33 |
| | | | | and add stub tests for ServiceQueuer. | ||||
* | Wrap polling/retry blocks in try/excepts to avoid sending to other ASes ↵ | Kegan Dougal | 2015-03-16 | 1 | -29/+39 |
| | | | | breaking permanently should an error occur. | ||||
* | Minor PR comment tweaks. | Kegan Dougal | 2015-03-16 | 1 | -2/+2 |
| | |||||
* | Fix remaining scheduler bugs. Add more informative logging. | Kegan Dougal | 2015-03-10 | 2 | -35/+25 |
| | |||||
* | Bug fixes whilst putting it all together | Kegan Dougal | 2015-03-09 | 2 | -1/+4 |
| | |||||
* | Use seconds; start gluing in the AS scheduler into the AS handler. | Kegan Dougal | 2015-03-09 | 1 | -2/+2 |
| | |||||
* | Assign the AS ID from the database; replace old placeholder txn id. | Kegan Dougal | 2015-03-06 | 1 | -2/+2 |
| | |||||
* | Upper bound the backoff. | Kegan Dougal | 2015-03-06 | 1 | -1/+3 |
| | |||||
* | Apply clarity and docstrings | Kegan Dougal | 2015-03-06 | 1 | -1/+1 |
| | |||||
* | Finish synapse.appservice.scheduler implementation. | Kegan Dougal | 2015-03-06 | 2 | -51/+51 |
| | | | | | With tests to assert behaviour. Not hooked up yet. Stub datastore methods not implemented yet. | ||||
* | Add some loggers | Kegan Dougal | 2015-03-06 | 1 | -0/+10 |
| | |||||
* | Flesh out more stub functions. | Kegan Dougal | 2015-03-06 | 2 | -8/+34 |
| | |||||
* | Add stub ApplicationServiceTransactionStore. Bootstrap Recoverers. Fill in ↵ | Kegan Dougal | 2015-03-06 | 1 | -7/+43 |
| | | | | stub Transaction functions. | ||||
* | Add more tests; fix bugs. | Kegan Dougal | 2015-03-06 | 1 | -2/+2 |
| | |||||
* | Start adding some tests | Kegan Dougal | 2015-03-06 | 1 | -10/+13 |
| | |||||
* | Rejig structure given the appservice_handler already filters the correct ↵ | Kegan Dougal | 2015-03-06 | 1 | -59/+85 |
| | | | | ASes to use. | ||||
* | Minor tweaks | Kegan Dougal | 2015-03-05 | 1 | -7/+9 |
| | |||||
* | Add stub architecture for txn reliability. | Kegan Dougal | 2015-03-05 | 1 | -10/+111 |
| | |||||
* | Add stub scheduler module for txn reliability | Kegan Dougal | 2015-03-05 | 1 | -0/+68 |
| | |||||
* | Add txn_id kwarg to push methods | Kegan Dougal | 2015-03-05 | 1 | -4/+9 |
| | |||||
* | Add functions to return whether an AS has exclusively claimed a matching ↵ | Kegan Dougal | 2015-02-27 | 1 | -3/+20 |
| | | | | namespace. | ||||
* | Convert expected format for AS regex to include exclusivity. | Kegan Dougal | 2015-02-27 | 1 | -7/+19 |
| | | | | | Previously you just specified the regex as a string, now it expects a JSON object with a 'regex' key and an 'exclusive' boolean, as per spec. | ||||
* | Minor tweaks based on PR feedback. | Kegan Dougal | 2015-02-11 | 1 | -3/+3 |
| | |||||
* | PEP8-ify | Kegan Dougal | 2015-02-11 | 1 | -2/+0 |
| | |||||
* | Notify ASes for events sent by other users in a room which an AS user is a ↵ | Kegan Dougal | 2015-02-11 | 1 | -4/+13 |
| | | | | part of. | ||||
* | Fix bugs so lazy room joining works as intended. | Kegan Dougal | 2015-02-09 | 1 | -3/+3 |
| | |||||
* | Register a user account for the AS when the AS registers. Add 'sender' ↵ | Kegan Dougal | 2015-02-09 | 1 | -1/+2 |
| | | | | column to AS table. | ||||
* | Fix user query checks. HS>AS pushing now works. | Kegan Dougal | 2015-02-05 | 1 | -8/+13 |
| | |||||
* | Serialize events before sending to ASes | Kegan Dougal | 2015-02-05 | 1 | -0/+10 |
| | |||||
* | Glue AS work to general event notifications. Add more exception handling ↵ | Kegan Dougal | 2015-02-05 | 2 | -2/+11 |
| | | | | when poking ASes. | ||||
* | Add hs_token column and generate a different token f.e application service. | Kegan Dougal | 2015-02-05 | 2 | -6/+8 |
| | |||||
* | Impl push_bulk function | Kegan Dougal | 2015-02-05 | 1 | -1/+18 |
| | |||||
* | Update user/alias query APIs to use new format of SimpleHttpClient.get_json | Kegan Dougal | 2015-02-04 | 1 | -8/+7 |
| | |||||
* | Add query_user/alias APIs. | Kegan Dougal | 2015-02-04 | 1 | -4/+43 |
| | |||||
* | Begin to add unit tests for appservice glue and regex testing. | Kegan Dougal | 2015-02-04 | 1 | -2/+12 |
| | |||||
* | Add stub ApplicationServiceApi and glue it with the handler. | Kegan Dougal | 2015-02-04 | 2 | -1/+23 |
| | |||||
* | Add appservice package and move ApplicationService into it. | Kegan Dougal | 2015-02-03 | 2 | -0/+134 |