summary refs log tree commit diff
path: root/synapse/appservice (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Revert accidental fast-forward merge from v1.49.0rc1Sean Quah2021-12-071-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert "Sort internal changes in changelog" Revert "Update CHANGES.md" Revert "1.49.0rc1" Revert "Revert "Move `glob_to_regex` and `re_word_boundary` to `matrix-python-common` (#11505) (#11527)" Revert "Refactors in `_generate_sync_entry_for_rooms` (#11515)" Revert "Correctly register shutdown handler for presence workers (#11518)" Revert "Fix `ModuleApi.looping_background_call` for non-async functions (#11524)" Revert "Fix 'delete room' admin api to work on incomplete rooms (#11523)" Revert "Correctly ignore invites from ignored users (#11511)" Revert "Fix the test breakage introduced by #11435 as a result of concurrent PRs (#11522)" Revert "Stabilise support for MSC2918 refresh tokens as they have now been merged into the Matrix specification. (#11435)" Revert "Save the OIDC session ID (sid) with the device on login (#11482)" Revert "Add admin API to get some information about federation status (#11407)" Revert "Include bundled aggregations in /sync and related fixes (#11478)" Revert "Move `glob_to_regex` and `re_word_boundary` to `matrix-python-common` (#11505)" Revert "Update backward extremity docs to make it clear that it does not indicate whether we have fetched an events' `prev_events` (#11469)" Revert "Support configuring the lifetime of non-refreshable access tokens separately to refreshable access tokens. (#11445)" Revert "Add type hints to `synapse/tests/rest/admin` (#11501)" Revert "Revert accidental commits to develop." Revert "Newsfile" Revert "Give `tests.server.setup_test_homeserver` (nominally!) the same behaviour" Revert "Move `tests.utils.setup_test_homeserver` to `tests.server`" Revert "Convert one of the `setup_test_homeserver`s to `make_test_homeserver_synchronous`" Revert "Disambiguate queries on `state_key` (#11497)" Revert "Comments on the /sync tentacles (#11494)" Revert "Clean up tests.storage.test_appservice (#11492)" Revert "Clean up `tests.storage.test_main` to remove use of legacy code. (#11493)" Revert "Clean up `tests.test_visibility` to remove legacy code. (#11495)" Revert "Minor cleanup on recently ported doc pages (#11466)" Revert "Add most of the missing type hints to `synapse.federation`. (#11483)" Revert "Avoid waiting for zombie processes in `synctl stop` (#11490)" Revert "Fix media repository failing when media store path contains symlinks (#11446)" Revert "Add type annotations to `tests.storage.test_appservice`. (#11488)" Revert "`scripts-dev/sign_json`: support for signing events (#11486)" Revert "Add MSC3030 experimental client and federation API endpoints to get the closest event to a given timestamp (#9445)" Revert "Port wiki pages to documentation website (#11402)" Revert "Add a license header and comment. (#11479)" Revert "Clean-up get_version_string (#11468)" Revert "Link background update controller docs to summary (#11475)" Revert "Additional type hints for config module. (#11465)" Revert "Register the login redirect endpoint for v3. (#11451)" Revert "Update openid.md" Revert "Remove mention of OIDC certification from Dex (#11470)" Revert "Add a note about huge pages to our Postgres doc (#11467)" Revert "Don't start Synapse master process if `worker_app` is set (#11416)" Revert "Expose worker & homeserver as entrypoints in `setup.py` (#11449)" Revert "Bundle relations of relations into the `/relations` result. (#11284)" Revert "Fix `LruCache` corruption bug with a `size_callback` that can return 0 (#11454)" Revert "Eliminate a few `Any`s in `LruCache` type hints (#11453)" Revert "Remove unnecessary `json.dumps` from `tests.rest.admin` (#11461)" Revert "Merge branch 'master' into develop" This reverts commit 26b5d2320f62b5eb6262c7614fbdfc364a4dfc02. This reverts commit bce4220f387bf5448387f0ed7d14ed1e41e40747. This reverts commit 966b5d0fa0893c3b628c942dfc232e285417f46d. This reverts commit 088d748f2cb51f03f3bcacc0fb3af1e0f9607737. This reverts commit 14d593f72d10b4d8cb67e3288bb3131ee30ccf59. This reverts commit 2a3ec6facf79f6aae011d9fb6f9ed5e43c7b6bec. This reverts commit eccc49d7554d1fab001e1fefb0fda8ffb254b630. This reverts commit b1ecd19c5d19815b69e425d80f442bf2877cab76. This reverts commit 9c55dedc8c4484e6269451a8c3c10b3e314aeb4a. This reverts commit 2d42e586a8c54be1a83643148358b1651c1ca666. This reverts commit 2f053f3f82ca174cc1c858c75afffae51af8ce0d. This reverts commit a15a893df8428395df7cb95b729431575001c38a. This reverts commit 8b4b153c9e86c04c7db8c74fde4b6a04becbc461. This reverts commit 494ebd7347ba52d702802fba4c3bb13e7bfbc2cf. This reverts commit a77c36989785c0d5565ab9a1169f4f88e512ce8a. This reverts commit 4eb77965cd016181d2111f37d93526e9bb0434f0. This reverts commit 637df95de63196033a6da4a6e286e1d58ea517b6. This reverts commit e5f426cd54609e7f05f8241d845e6e36c5f10d9a. This reverts commit 8cd68b8102eeab1b525712097c1b2e9679c11896. This reverts commit 6cae125e20865c52d770b24278bb7ab8fde5bc0d. This reverts commit 7be88fbf48156b36b6daefb228e1258e7d48cae4. This reverts commit b3fd99b74a3f6f42a9afd1b19ee4c60e38e8e91a. This reverts commit f7ec6e7d9e0dc360d9fb41f3a1afd7bdba1475c7. This reverts commit 5640992d176a499204a0756b1677c9b1575b0a49. This reverts commit d26808dd854006bd26a2366c675428ce0737238c. This reverts commit f91624a5950e14ba9007eed9bfa1c828676d4745. This reverts commit 16d39a5490ce74c901c7a8dbb990c6e83c379207. This reverts commit 8a4c2969874c0b7d72003f2523883eba8a348e83. This reverts commit 49e1356ee3d5d72929c91f778b3a231726c1413c. This reverts commit d2279f471ba8f44d9f578e62b286897a338d8aa1. This reverts commit b50e39df578adc3f86c5efa16bee9035cfdab61b. This reverts commit 858d80bf0f9f656a03992794874081b806e49222. This reverts commit 435f04480728c5d982e1a63c1b2777784bf9cd26. This reverts commit f61462e1be36a51dbf571076afa8e1930cb182f4. This reverts commit a6f1a3abecf8e8fd3e1bff439a06b853df18f194. This reverts commit 84dc50e160a2ec6590813374b5a1e58b97f7a18d. This reverts commit ed635d32853ee0a3e5ec1078679b27e7844a4ac7. This reverts commit 7b62791e001d6a4f8897ed48b3232d7f8fe6aa48. This reverts commit 153194c7717d8016b0eb974c81b1baee7dc1917d. This reverts commit f44d729d4ccae61bc0cdd5774acb3233eb5f7c13. This reverts commit a265fbd397ae72b2d3ea4c9310591ff1d0f3e05c. This reverts commit b9fef1a7cdfcc128fa589a32160e6aa7ed8964d7. This reverts commit b0eb64ff7bf6bde42046e091f8bdea9b7aab5f04. This reverts commit f1795463bf503a6fca909d77f598f641f9349f56. This reverts commit 70cbb1a5e311f609b624e3fae1a1712db639c51e. This reverts commit 42bf0204635213e2c75188b19ee66dc7e7d8a35e. This reverts commit 379f2650cf875f50c59524147ec0e33cfd5ef60c. This reverts commit 7ff22d6da41cd5ca80db95c18b409aea38e49fcd. This reverts commit 5a0b652d36ae4b6d423498c1f2c82c97a49c6f75. This reverts commit 432a174bc192740ac7a0a755009f6099b8363ad9. This reverts commit b14f8a1baf6f500997ae4c1d6a6d72094ce14270, reversing changes made to e713855dca17a7605bae99ea8d71bc7f8657e4b8.
* Add type annotations to `tests.storage.test_appservice`. (#11488)reivilibre2021-12-021-1/+2
|
* Prevent historical state from being pushed to an application service via ↵Eric Eastwood2021-11-181-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 Quah2021-10-221-1/+2
|
* Use inline type hints in various other places (in `synapse/`) (#10380)Jonathan de Jong2021-07-151-2/+2
|
* Implement knock feature (#6739)Sorunome2021-06-091-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 Jong2021-04-143-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 Jong2021-04-081-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 Jong2021-03-081-1/+1
|
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-163-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 responsesBrendan Abolivier2021-02-091-3/+0
|
* Tie together matches_user_in_member_list and get_users_in_room caches (#8676)Will Hunt2020-10-291-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 Johnston2020-10-291-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 Hunt2020-10-211-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 Hunt2020-10-153-83/+172
| | | Optionally sends typing, presence, and read receipt information to appservices.
* Add type hints to response cache. (#8507)Patrick Cloke2020-10-091-2/+2
|
* Add type annotations to SimpleHttpClient (#8372)Richard van der Hoff2020-09-241-1/+1
|
* Simplify super() calls to Python 3 syntax. (#8344)Patrick Cloke2020-09-181-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 Cloke2020-09-042-7/+7
|
* Convert appservice code to async/await. (#8207)Patrick Cloke2020-09-011-8/+11
|
* Convert additional database code to async/await. (#8195)Patrick Cloke2020-08-281-8/+11
|
* Convert the SimpleHttpClient to async. (#8016)Patrick Cloke2020-08-041-1/+1
|
* Convert appservice to async. (#7973)Patrick Cloke2020-07-303-60/+41
|
* Include room states on invite events sent to ASes (#6455)Sorunome2020-07-101-4/+16
|
* Convert the appservice handler to async/await. (#7775)Patrick Cloke2020-07-061-1/+0
|
* Replace all remaining six usage with native Python 3 equivalents (#7704)Dagfinn Ilmari Mannsåker2020-06-162-5/+2
|
* Fix a couple of small typosAndrew Morgan2020-05-151-1/+1
|
* Clean up newline quote marks around the codebase (#6362)Andrew Morgan2019-11-211-1/+1
|
* rstrip slashes from url on appservice (#6306)Will Hunt2019-10-311-1/+3
|
* Remove double return statements (#5962)Andrew Morgan2019-09-031-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 Hoff2019-08-201-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 codeRichard van der Hoff2019-08-201-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 Hoff2019-08-201-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 Brown2019-07-233-35/+35
|
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-041-1/+1
|
* Run Black. (#5482)Amber Brown2019-06-203-88/+67
|
* Run the AS senders as background processes (#4189)Richard van der Hoff2018-12-041-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 Brown2018-09-061-6/+7
|
* run isortAmber Brown2018-07-093-15/+15
|
* add ip_range_whitelist parameter to limit where ASes can connect fromMatthew Hodgson2018-06-281-1/+3
|
* Merge pull request #3344 from Half-Shot/hs/as-metricsWill Hunt2018-06-071-0/+22
|\ | | | | Add metrics to track appservice transactions
| * Let's try labels instead of label, that might workWill Hunt2018-06-051-3/+3
| |
| * Add metrics to track appservice transactionsWill Hunt2018-06-051-0/+22
| |
* | also redact __str__ of ApplicationService used for loggingMichael Telatynski2018-06-061-1/+5
|/
* Merge remote-tracking branch 'origin/develop' into rav/use_run_in_backgroundRichard van der Hoff2018-04-271-11/+14
|\
| * Improve exception handling for background processesRichard van der Hoff2018-04-271-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_fnRichard van der Hoff2018-04-271-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 usageRichard van der Hoff2018-04-121-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 ResponseCacheRichard van der Hoff2018-04-101-1/+2
|
* Replace some type checks with six type checksAdrian Tschira2018-04-071-1/+3
| | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* Extract group_id from the dict for multiple useLuke Barnard2017-11-161-4/+5
|
* Remove unused GROUP_ID_REGEXLuke Barnard2017-11-161-2/+0
|
* Document get_groups_for_userLuke Barnard2017-11-161-0/+6
|
* Flake8Luke Barnard2017-11-161-1/+1
|
* Use a generator instead of a listLuke Barnard2017-11-161-2/+2
|
* Check group_id belongs to this domainLuke Barnard2017-11-161-3/+11
|
* Add automagical AS Publicised Group(s)Luke Barnard2017-11-161-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 ResponseCacheErik Johnston2017-10-251-3/+7
|
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-1/+1
| | | | what could possibly go wrong
* Make get_if_app_services_interested_in_user fasterErik Johnston2017-05-181-0/+10
|
* Add commentErik Johnston2017-03-291-1/+1
|
* Cache whether an AS is interested based on membersErik Johnston2017-03-281-1/+9
|
* Remove param and cast at call siteErik Johnston2017-03-281-8/+6
|
* Compile the regex's used in ASesErik Johnston2017-03-281-9/+5
|
* Rename network_id to instance_id on client sideErik Johnston2016-12-121-1/+1
|
* Don't include appservice idErik Johnston2016-12-061-1/+0
|
* Add new API appservice specific public room listErik Johnston2016-12-062-0/+12
|
* Allow Configurable Rate Limiting Per ASLuke Barnard2016-10-181-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 checkPaul "LeoNerd" Evans2016-09-091-4/+11
|
* Reject malformed 3PE query metadata results earlier in AS API handling codePaul "LeoNerd" Evans2016-09-091-2/+10
|
* Use None instead of the empty stringKegan Dougal2016-08-301-5/+5
| | | | Change how we validate the 'url' field as a result.
* Flake8Kegan Dougal2016-08-301-0/+1
|
* Allow application services to have an optional 'url'Kegan Dougal2016-08-301-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 directlyPaul "LeoNerd" Evans2016-08-251-3/+1
|
* Move ThirdPartyEntityKind into api.constants so the expectation becomes that ↵Paul "LeoNerd" Evans2016-08-251-1/+1
| | | | the value is significant
* Root the 3PE lookup API within /_matrix/app/unstable instead of at toplevelPaul "LeoNerd" Evans2016-08-251-3/+16
|
* Merge pull request #1041 from matrix-org/paul/third-party-lookupPaul Evans2016-08-252-2/+26
|\ | | | | Extend 3PE lookup APIs for metadata query
| * appease pep8Paul "LeoNerd" Evans2016-08-251-3/+2
| |
| * Implement a ResponseCache around 3PE lookup metadata lookupsPaul "LeoNerd" Evans2016-08-251-11/+21
| |
| * Kill PROTOCOL_META since I'm not using it any morePaul "LeoNerd" Evans2016-08-251-7/+0
| |
| * Actually query over AS API for 3PE lookup metadataPaul "LeoNerd" Evans2016-08-251-0/+20
| |
| * Initial hack at the 3PN protocols metadata lookup APIPaul "LeoNerd" Evans2016-08-241-0/+2
| |
| * Move 3PU/3PL lookup APIs into /thirdparty containing entityPaul "LeoNerd" Evans2016-08-241-2/+2
| |
* | Preserve some logcontextsErik Johnston2016-08-241-3/+3
|/
* Move validation logic for AS 3PE query response into ApplicationServiceApi ↵Paul "LeoNerd" Evans2016-08-181-1/+42
| | | | class, to keep the handler logic neater
* Avoid so much copypasta between 3PU and 3PL query by unifying around a ↵Paul "LeoNerd" Evans2016-08-181-14/+11
| | | | ThirdPartyEntityKind enumeration
* Minor syntax neateningsPaul "LeoNerd" Evans2016-08-181-2/+2
|
* Copypasta the 3PU support code to also do 3PLPaul "LeoNerd" Evans2016-08-181-0/+11
|
* Filter 3PU lookups by only ASes that declare knowledge of that protocolPaul "LeoNerd" Evans2016-08-181-1/+8
|
* Merge remote-tracking branch 'origin/develop' into paul/thirdpartylookupPaul "LeoNerd" Evans2016-08-182-70/+72
|\
| * Make notify_interested_services fasterErik Johnston2016-08-171-39/+42
| |
| * Change name of metricMatrix2016-08-171-1/+1
| |
| * Move Measure block inside loopErik Johnston2016-08-171-9/+9
| |
| * Clean up _ServiceQueuerErik Johnston2016-08-171-31/+30
| |
* | Since empty lookups now return 200/empty list not 404, we can safely log ↵Paul "LeoNerd" Evans2016-08-181-3/+2
| | | | | | | | failures as exceptions
* | Don't catch the return-value-as-exception that @defer.inlineCallbacks will usePaul "LeoNerd" Evans2016-08-181-1/+1
| |
* | Actually make 3PU lookup calls out to ASesPaul "LeoNerd" Evans2016-08-181-1/+10
| |
* | Thread 3PU lookup through as far as the AS API object; which currently noöps itPaul "LeoNerd" Evans2016-08-171-0/+3
|/
* Move the AS handler out of the Handlers object.Mark Haines2016-05-311-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 Haines2016-04-081-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 flake8Daniel Wagner-Hall2016-02-021-1/+1
|
* copyrightsMatthew Hodgson2016-01-073-3/+3
|
* Cap the time to retry txns to appservices to 8.5 minutesKegan Dougal2015-10-211-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 Haines2015-05-221-3/+3
| | | | it is cached
* Fix more AS sender ID thinkos.Kegan Dougal2015-04-011-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-scriptKegan Dougal2015-04-011-1/+4
|\
| * Fix thinko whereby events *for the AS specifically* were not passed on.Kegan Dougal2015-03-311-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 Dougal2015-03-311-1/+1
|/
* Fixes from PR commentsKegan Dougal2015-03-261-1/+2
|
* Implement ServiceQueuer with tests.Kegan Dougal2015-03-161-16/+30
|
* Replace EventGrouper for ServiceQueuer to move to push-based txns. Fix tests ↵Kegan Dougal2015-03-161-28/+33
| | | | and add stub tests for ServiceQueuer.
* Wrap polling/retry blocks in try/excepts to avoid sending to other ASes ↵Kegan Dougal2015-03-161-29/+39
| | | | breaking permanently should an error occur.
* Minor PR comment tweaks.Kegan Dougal2015-03-161-2/+2
|
* Fix remaining scheduler bugs. Add more informative logging.Kegan Dougal2015-03-102-35/+25
|
* Bug fixes whilst putting it all togetherKegan Dougal2015-03-092-1/+4
|
* Use seconds; start gluing in the AS scheduler into the AS handler.Kegan Dougal2015-03-091-2/+2
|
* Assign the AS ID from the database; replace old placeholder txn id.Kegan Dougal2015-03-061-2/+2
|
* Upper bound the backoff.Kegan Dougal2015-03-061-1/+3
|
* Apply clarity and docstringsKegan Dougal2015-03-061-1/+1
|
* Finish synapse.appservice.scheduler implementation.Kegan Dougal2015-03-062-51/+51
| | | | | With tests to assert behaviour. Not hooked up yet. Stub datastore methods not implemented yet.
* Add some loggersKegan Dougal2015-03-061-0/+10
|
* Flesh out more stub functions.Kegan Dougal2015-03-062-8/+34
|
* Add stub ApplicationServiceTransactionStore. Bootstrap Recoverers. Fill in ↵Kegan Dougal2015-03-061-7/+43
| | | | stub Transaction functions.
* Add more tests; fix bugs.Kegan Dougal2015-03-061-2/+2
|
* Start adding some testsKegan Dougal2015-03-061-10/+13
|
* Rejig structure given the appservice_handler already filters the correct ↵Kegan Dougal2015-03-061-59/+85
| | | | ASes to use.
* Minor tweaksKegan Dougal2015-03-051-7/+9
|
* Add stub architecture for txn reliability.Kegan Dougal2015-03-051-10/+111
|
* Add stub scheduler module for txn reliabilityKegan Dougal2015-03-051-0/+68
|
* Add txn_id kwarg to push methodsKegan Dougal2015-03-051-4/+9
|
* Add functions to return whether an AS has exclusively claimed a matching ↵Kegan Dougal2015-02-271-3/+20
| | | | namespace.
* Convert expected format for AS regex to include exclusivity.Kegan Dougal2015-02-271-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 Dougal2015-02-111-3/+3
|
* PEP8-ifyKegan Dougal2015-02-111-2/+0
|
* Notify ASes for events sent by other users in a room which an AS user is a ↵Kegan Dougal2015-02-111-4/+13
| | | | part of.
* Fix bugs so lazy room joining works as intended.Kegan Dougal2015-02-091-3/+3
|
* Register a user account for the AS when the AS registers. Add 'sender' ↵Kegan Dougal2015-02-091-1/+2
| | | | column to AS table.
* Fix user query checks. HS>AS pushing now works.Kegan Dougal2015-02-051-8/+13
|
* Serialize events before sending to ASesKegan Dougal2015-02-051-0/+10
|
* Glue AS work to general event notifications. Add more exception handling ↵Kegan Dougal2015-02-052-2/+11
| | | | when poking ASes.
* Add hs_token column and generate a different token f.e application service.Kegan Dougal2015-02-052-6/+8
|
* Impl push_bulk functionKegan Dougal2015-02-051-1/+18
|
* Update user/alias query APIs to use new format of SimpleHttpClient.get_jsonKegan Dougal2015-02-041-8/+7
|
* Add query_user/alias APIs.Kegan Dougal2015-02-041-4/+43
|
* Begin to add unit tests for appservice glue and regex testing.Kegan Dougal2015-02-041-2/+12
|
* Add stub ApplicationServiceApi and glue it with the handler.Kegan Dougal2015-02-042-1/+23
|
* Add appservice package and move ApplicationService into it.Kegan Dougal2015-02-032-0/+134