Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | _handle_to_device -> _get_to_device_messages | Andrew Morgan | 2021-11-19 | 1 | -3/+7 |
| | |||||
* | Deduplicate ephemeral events to send conditional | Andrew Morgan | 2021-11-19 | 1 | -12/+3 |
| | | | | | | Test cases needed to be updated, as we now always call submit_ephemeral_events_for_as, it may just be with an empty events list. | ||||
* | Broaden type hints; update comment | Andrew Morgan | 2021-11-19 | 1 | -1/+1 |
| | |||||
* | Move stream filter back into AppserviceHandler | Andrew Morgan | 2021-11-19 | 1 | -0/+10 |
| | |||||
* | Make msc2409_to_device_messages_enabled private; remove unnecessary check | Andrew Morgan | 2021-11-19 | 1 | -6/+3 |
| | | | | | The second check for self._msc2409_to_device_messages_enabled was not necessary. It's already checked in notify_interested_services_ephemeral earlier. | ||||
* | Add a new ephemeral AS handler for to_device message edus | Andrew Morgan | 2021-11-16 | 1 | -6/+97 |
| | | | | | | | | | | | | | | | Here we add the ability for the application service ephemeral message processor to handle new events on the "to_device" stream. We keep track of a stream id (token) per application service, and every time a new to-device message comes in, for each appservice we pull the messages between the last-recorded and current stream id and check whether any of the messages are for a user in that appservice's user namespace. get_new_messages is implemented in the next commit. since we rebased off latest develop. | ||||
* | Add experimental config option to send to-device messages to AS's | Andrew Morgan | 2021-11-16 | 1 | -0/+3 |
| | |||||
* | Clarifications and small fixes to to-device related code (#11247) | Andrew Morgan | 2021-11-09 | 1 | -4/+20 |
| | | | Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> | ||||
* | Add a linearizer on (appservice, stream) when handling ephemeral events. ↵ | Nick Barrett | 2021-11-03 | 1 | -18/+51 |
| | | | | | (#11207) Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> | ||||
* | Fix providing a `RoomStreamToken` instance to ↵ | Andrew Morgan | 2021-11-02 | 1 | -5/+17 |
| | | | | | `_notify_app_services_ephemeral` (#11137) Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | ||||
* | Improve docstrings for methods related to sending EDUs to application ↵ | Andrew Morgan | 2021-10-21 | 1 | -12/+82 |
| | | | | services (#11138) | ||||
* | Use direct references for some configuration variables (part 3) (#10885) | Patrick Cloke | 2021-09-23 | 1 | -1/+1 |
| | | | | | | | | This avoids the overhead of searching through the various configuration classes by directly referencing the class that the attributes are in. It also improves type hints since mypy can now resolve the types of the configuration variables. | ||||
* | Add type hints for event streams. (#10856) | Patrick Cloke | 2021-09-21 | 1 | -3/+3 |
| | |||||
* | Require type hints in the handlers module. (#10831) | Patrick Cloke | 2021-09-20 | 1 | -9/+9 |
| | | | | | | | Adds missing type hints to methods in the synapse.handlers module and requires all methods to have type hints there. This also removes the unused construct_auth_difference method from the FederationHandler. | ||||
* | Add types to synapse.util. (#10601) | reivilibre | 2021-09-10 | 1 | -0/+3 |
| | |||||
* | Only return an appservice protocol if it has a service providing it. (#10532) | Will Hunt | 2021-08-05 | 1 | -4/+3 |
| | | | | | | If there are no services providing a protocol, omit it completely instead of returning an empty dictionary. This fixes a long-standing spec compliance bug. | ||||
* | Use inline type hints in `handlers/` and `rest/`. (#10382) | Jonathan de Jong | 2021-07-16 | 1 | -3/+3 |
| | |||||
* | Always update AS last_pos, even on no events (#10107) | 14mRh4X0r | 2021-06-07 | 1 | -13/+12 |
| | | | | | | | | | | Fixes #1834. `get_new_events_for_appservice` internally calls `get_events_as_list`, which will filter out any rejected events. If all returned events are filtered out, `_notify_interested_services` will return without updating the last handled stream position. If there are 100 consecutive such events, processing will halt altogether. Breaking the loop is now done by checking whether we're up-to-date with `current_max` in the loop condition, instead of relying on an empty `events` list. Signed-off-by: Willem Mulder <14mRh4X0r@gmail.com> | ||||
* | Remove `synapse.types.Collection` (#9856) | Richard van der Hoff | 2021-04-22 | 1 | -2/+2 |
| | | | This is no longer required, since we have dropped support for Python 3.5. | ||||
* | 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>` | ||||
* | Bugbear: Add Mutable Parameter fixes (#9682) | Jonathan de Jong | 2021-04-08 | 1 | -2/+2 |
| | | | | | | | 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> | ||||
* | Import HomeServer from the proper module. (#9665) | Patrick Cloke | 2021-03-23 | 1 | -1/+1 |
| | |||||
* | Update black, and run auto formatting over the codebase (#9381) | Eric Eastwood | 2021-02-16 | 1 | -1/+3 |
| | | | | | | | - 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 | ||||
* | Improve appservice handler to send only the most recent read receipts when ↵ | Will Hunt | 2020-11-18 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | no stream_id is stored. (#8744) * Make this line debug (it's noisy) * Don't include from_key for presence if we are at 0 * Limit read receipts for all rooms to 100 * changelog.d/8744.bugfix * Allow from_key to be None * Update 8744.bugfix * The from_key is superflous * Update comment | ||||
* | Add type hints to application services. (#8655) | Patrick Cloke | 2020-10-28 | 1 | -34/+41 |
| | |||||
* | Merge branch 'release-v1.22.0' into develop | Erik Johnston | 2020-10-26 | 1 | -3/+4 |
|\ | |||||
| * | Fix get|set_type_stream_id_for_appservice store functions (#8648) | Will Hunt | 2020-10-26 | 1 | -6/+6 |
| | | |||||
| * | Properly handle presence events for application services. (#8656) | Patrick Cloke | 2020-10-26 | 1 | -4/+5 |
| | | |||||
* | | Fix get|set_type_stream_id_for_appservice store functions (#8648) | Will Hunt | 2020-10-26 | 1 | -6/+6 |
| | | |||||
* | | Start fewer opentracing spans (#8640) | Erik Johnston | 2020-10-26 | 1 | -7/+43 |
|/ | | | | | | | #8567 started a span for every background process. This is good as it means all Synapse code that gets run should be in a span (unless in the sentinel logging context), but it means we generate about 15x the number of spans as we did previously. This PR attempts to reduce that number by a) not starting one for send commands to Redis, and b) deferring starting background processes until after we're sure they're necessary. I don't really know how much this will help. | ||||
* | Send some ephemeral events to appservices (#8437) | Will Hunt | 2020-10-15 | 1 | -3/+106 |
| | | | Optionally sends typing, presence, and read receipt information to appservices. | ||||
* | Fix not sending events over federation when using sharded event persisters ↵ | Erik Johnston | 2020-10-14 | 1 | -4/+7 |
| | | | | | | | | | | | | | | | | | (#8536) * Fix outbound federaion with multiple event persisters. We incorrectly notified federation senders that the minimum persisted stream position had advanced when we got an `RDATA` from an event persister. Notifying of federation senders already correctly happens in the notifier, so we just delete the offending line. * Change some interfaces to use RoomStreamToken. By enforcing use of `RoomStreamTokens` we make it less likely that people pass in random ints that they got from somewhere random. | ||||
* | Stop sub-classing object (#8249) | Patrick Cloke | 2020-09-04 | 1 | -1/+1 |
| | |||||
* | Convert run_as_background_process inner function to async. (#8032) | Patrick Cloke | 2020-08-06 | 1 | -1/+1 |
| | |||||
* | Convert appservice to async. (#7973) | Patrick Cloke | 2020-07-30 | 1 | -5/+5 |
| | |||||
* | Convert the appservice handler to async/await. (#7775) | Patrick Cloke | 2020-07-06 | 1 | -42/+32 |
| | |||||
* | Fix new metric where we used ms instead of seconds (#7771) | Erik Johnston | 2020-07-01 | 1 | -1/+1 |
| | | | | Introduced in #7755, not yet released. | ||||
* | Add some metrics for inbound and outbound federation processing times (#7755) | Erik Johnston | 2020-06-30 | 1 | -0/+6 |
| | |||||
* | Replace iteritems/itervalues/iterkeys with native versions. (#7692) | Patrick Cloke | 2020-06-15 | 1 | -3/+1 |
| | |||||
* | Update black to 19.10b0 (#6304) | Amber Brown | 2019-11-01 | 1 | -1/+4 |
| | | | * update version of black and also fix the mypy config being overridden | ||||
* | Remove double return statements (#5962) | Andrew Morgan | 2019-09-03 | 1 | -2/+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. | ||||
* | Replace returnValue with return (#5736) | Amber Brown | 2019-07-23 | 1 | -11/+11 |
| | |||||
* | 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 | 1 | -38/+36 |
| | |||||
* | Remove unnecessary extra function call layer | Erik Johnston | 2018-10-08 | 1 | -15/+3 |
| | |||||
* | Use errback pattern and catch async failures | Erik Johnston | 2018-10-08 | 1 | -1/+6 |
| | |||||
* | more metrics for the federation and appservice senders | Richard van der Hoff | 2018-08-07 | 1 | -0/+10 |
| | |||||
* | another couple of logcontext leaks | Richard van der Hoff | 2018-07-24 | 1 | -1/+4 |
| | |||||
* | run isort | Amber Brown | 2018-07-09 | 1 | -7/+6 |
| | |||||
* | Consistently use six's iteritems and wrap lazy keys/values in list() if ↵ | Amber Brown | 2018-05-31 | 1 | -1/+3 |
| | | | | they're not meant to be lazy (#3307) | ||||
* | cleanup | Amber Brown | 2018-05-22 | 1 | -3/+6 |
| | |||||
* | replacing portions | Amber Brown | 2018-05-21 | 1 | -13/+6 |
| | |||||
* | Merge pull request #3143 from matrix-org/rav/remove_redundant_preserve_fn | Richard van der Hoff | 2018-04-30 | 1 | -4/+2 |
|\ | | | | | Remove redundant call to preserve_fn | ||||
| * | Remove redundant call to preserve_fn | Richard van der Hoff | 2018-04-30 | 1 | -4/+2 |
| | | | | | | | | submit_event_for_as doesn't return a deferred anyway, so this is pointless. | ||||
* | | Merge pull request #3150 from NotAFile/py3-listcomp-yield | Richard van der Hoff | 2018-04-30 | 1 | -5/+9 |
|\ \ | |/ |/| | Don't yield in list comprehensions | ||||
| * | Don't yield in list comprehensions | Adrian Tschira | 2018-04-28 | 1 | -5/+9 |
| | | | | | | | | | | | | I've tried to grep for more of this with no success. Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | Use run_in_background in preference to preserve_fn | Richard van der Hoff | 2018-04-27 | 1 | -1/+4 |
|/ | | | | | | 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. | ||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-04-12 | 1 | -2/+19 |
|\ | | | | | | | erikj/processed_event_lag | ||||
| * | Send events to ASes concurrently | Erik Johnston | 2018-04-11 | 1 | -2/+19 |
| | | |||||
* | | Set all metrics at the same time | Erik Johnston | 2018-04-12 | 1 | -4/+4 |
| | | |||||
* | | Track last processed event received_ts | Erik Johnston | 2018-04-11 | 1 | -0/+10 |
| | | |||||
* | | Track where event stream processing have gotten up to | Erik Johnston | 2018-04-11 | 1 | -0/+4 |
|/ | |||||
* | Metrics for events processed in appservice and fed sender | Richard van der Hoff | 2018-01-15 | 1 | -0/+7 |
| | | | | More metrics I wished I'd had | ||||
* | Remove preserve_context_over_{fn, deferred} | Richard van der Hoff | 2017-11-14 | 1 | -2/+2 |
| | | | | | Both of these functions ae known to leak logcontexts. Replace the remaining calls to them and kill them off. | ||||
* | Remove useless assignment in notify_interested_services | Ilya Zhuravlev | 2017-11-07 | 1 | -1/+0 |
| | |||||
* | Fix appservices being backlogged and not receiving new events due to a bug ↵ | Ilya Zhuravlev | 2017-11-02 | 1 | -4/+1 |
| | | | | in notify_interested_services | ||||
* | storage/appservice: make appservice methods only relying on the cache ↵ | Patrik Oldsberg | 2016-10-06 | 1 | -11/+9 |
| | | | | synchronous | ||||
* | Reject malformed 3PE query metadata results earlier in AS API handling code | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -9/+5 |
| | |||||
* | Minor fixes from PR comments | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -2/+2 |
| | |||||
* | Efficiency fix for lookups of a single protocol | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -1/+4 |
| | |||||
* | Don't corrupt shared cache on subsequent protocol requests | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -0/+2 |
| | |||||
* | Collect up all the "instances" lists of individual AS protocol results into ↵ | Paul "LeoNerd" Evans | 2016-09-08 | 1 | -1/+29 |
| | | | | one combined answer to the client | ||||
* | Merge pull request #1041 from matrix-org/paul/third-party-lookup | Paul Evans | 2016-08-25 | 1 | -0/+10 |
|\ | | | | | Extend 3PE lookup APIs for metadata query | ||||
| * | Don't need toplevel cache on 3PE lookup metadata any more | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -8/+0 |
| | | |||||
| * | Actually query over AS API for 3PE lookup metadata | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -13/+1 |
| | | |||||
| * | Move static knowledge of protocol metadata into AS handler; cache the result | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -2/+24 |
| | | |||||
| * | Initial hack at the 3PN protocols metadata lookup API | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -0/+8 |
| | | |||||
* | | Preserve some logcontexts | Erik Johnston | 2016-08-24 | 1 | -4/+4 |
|/ | |||||
* | Merge pull request #1026 from matrix-org/paul/thirdpartylookup | Paul Evans | 2016-08-18 | 1 | -0/+24 |
|\ | | | | | 3rd party entity lookup | ||||
| * | Move validation logic for AS 3PE query response into ApplicationServiceApi ↵ | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -44/+2 |
| | | | | | | | | class, to keep the handler logic neater | ||||
| * | More warnings about invalid results from AS 3PE query | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -2/+7 |
| | | |||||
| * | Avoid so much copypasta between 3PU and 3PL query by unifying around a ↵ | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -26/+9 |
| | | | | | | | | ThirdPartyEntityKind enumeration | ||||
| * | Minor syntax neatenings | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -14/+8 |
| | | |||||
| * | Appease pep8 | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -0/+2 |
| | | |||||
| * | Copypasta the 3PU support code to also do 3PL | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -3/+30 |
| | | |||||
| * | Log a warning if an AS yields an invalid 3PU lookup result | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -1/+6 |
| | | |||||
| * | Scattergather the call out to ASes; validate received results | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -7/+34 |
| | | |||||
| * | Filter 3PU lookups by only ASes that declare knowledge of that protocol | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -2/+4 |
| | | |||||
| * | Merge remote-tracking branch 'origin/develop' into paul/thirdpartylookup | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -44/+55 |
| |\ | |||||
| * | | Extend individual list results into the main return list, don't append | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -1/+1 |
| | | | |||||
| * | | Thread 3PU lookup through as far as the AS API object; which currently noöps it | Paul "LeoNerd" Evans | 2016-08-17 | 1 | -0/+21 |
| | | | |||||
* | | | Add appservice worker | Erik Johnston | 2016-08-18 | 1 | -38/+51 |
| |/ |/| | |||||
* | | Make AppserviceHandler stream events from database | Erik Johnston | 2016-08-18 | 1 | -21/+44 |
| | | | | | | | | | | | | | | | | | | This is for two reasons: 1. Suppresses duplicates correctly, as the notifier doesn't do any duplicate suppression. 2. Makes it easier to connect the AppserviceHandler to the replication stream. | ||||
* | | Make notify_interested_services faster | Erik Johnston | 2016-08-17 | 1 | -23/+8 |
| | | |||||
* | | Measure notify_interested_services | Erik Johnston | 2016-08-17 | 1 | -19/+22 |
|/ | |||||
* | Move the AS handler out of the Handlers object. | Mark Haines | 2016-05-31 | 1 | -10/+5 |
| | | | | | | Access it directly from the homeserver itself. It already wasn't inheriting from BaseHandler storing it on the Handlers object was already somewhat dubious. | ||||
* | copyrights | Matthew Hodgson | 2016-01-07 | 1 | -1/+1 |
| | |||||
* | Fix bug where synapse was sending AS user queries incorrectly. | Kegan Dougal | 2015-06-17 | 1 | -1/+1 |
| | | | | | | Bug introduced in 92b20713d7c6346aeb20dc09963081e472752bb5 which reversed the comparison when checking if a user existed in the users table. Added UTs to prevent this happening again. | ||||
* | Remove unused import | Mark Haines | 2015-05-22 | 1 | -1/+1 |
| | |||||
* | Make the appservice use 'users_in_room' rather than get_room_members since ↵ | Mark Haines | 2015-05-22 | 1 | -4/+1 |
| | | | | it is cached | ||||
* | More missed get_user_by_id API changes | David Baker | 2015-05-01 | 1 | -1/+1 |
| | |||||
* | Fix more AS sender ID thinkos. | Kegan Dougal | 2015-04-01 | 1 | -1/+8 |
| | | | | | | 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. | ||||
* | Remove more reg/unreg methods. Read config not database for cache. | Kegan Dougal | 2015-03-31 | 1 | -37/+0 |
| | |||||
* | Set the service ID as soon as it is known. | Kegan Dougal | 2015-03-16 | 1 | -1/+1 |
| | |||||
* | Minor PR comment tweaks. | Kegan Dougal | 2015-03-16 | 1 | -2/+8 |
| | |||||
* | Use seconds; start gluing in the AS scheduler into the AS handler. | Kegan Dougal | 2015-03-09 | 1 | -3/+14 |
| | |||||
* | Notify ASes for events sent by other users in a room which an AS user is a ↵ | Kegan Dougal | 2015-02-11 | 1 | -5/+16 |
| | | | | 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/+7 |
| | | | | column to AS table. | ||||
* | Dependency inject ApplicationServiceApi when creating ↵ | Kegan Dougal | 2015-02-05 | 1 | -3/+2 |
| | | | | ApplicationServicesHandler. | ||||
* | Fix user query checks. HS>AS pushing now works. | Kegan Dougal | 2015-02-05 | 1 | -13/+31 |
| | |||||
* | Glue AS work to general event notifications. Add more exception handling ↵ | Kegan Dougal | 2015-02-05 | 1 | -14/+25 |
| | | | | when poking ASes. | ||||
* | Add unknown room alias check. Call it from directory_handler.get_association | Kegan Dougal | 2015-02-05 | 1 | -43/+54 |
| | |||||
* | Add unknown user ID check. Use store.get_aliases_for_room(room_id) when ↵ | Kegan Dougal | 2015-02-05 | 1 | -5/+19 |
| | | | | searching for services by alias. | ||||
* | Add hs_token column and generate a different token f.e application service. | Kegan Dougal | 2015-02-05 | 1 | -3/+6 |
| | |||||
* | Impl push_bulk function | Kegan Dougal | 2015-02-05 | 1 | -1/+1 |
| | |||||
* | Add query_user/alias APIs. | Kegan Dougal | 2015-02-04 | 1 | -10/+16 |
| | |||||
* | Begin to add unit tests for appservice glue and regex testing. | Kegan Dougal | 2015-02-04 | 1 | -2/+6 |
| | |||||
* | Add stub ApplicationServiceApi and glue it with the handler. | Kegan Dougal | 2015-02-04 | 1 | -3/+15 |
| | |||||
* | Add appservice package and move ApplicationService into it. | Kegan Dougal | 2015-02-03 | 1 | -1/+3 |
| | |||||
* | Implement restricted namespace checks. Begin fleshing out the main hook for ↵ | Kegan Dougal | 2015-02-03 | 1 | -0/+19 |
| | | | | notifying application services. | ||||
* | Add namespace constants. Add restrict_to option to limit namespace checks. | Kegan Dougal | 2015-02-03 | 1 | -10/+15 |
| | |||||
* | Implement regex checks for app services. | Kegan Dougal | 2015-02-03 | 1 | -2/+23 |
| | | | | | Expose handler.get_services_for_event which manages the checks for all services. | ||||
* | Implement txns for AS (un)registration. | Kegan Dougal | 2015-02-02 | 1 | -1/+2 |
| | |||||
* | Add basic application_services SQL, and hook up parts of the appservice ↵ | Kegan Dougal | 2015-01-28 | 1 | -3/+4 |
| | | | | store to read from it. | ||||
* | Log when ASes are registered/unregistered. | Kegan Dougal | 2015-01-27 | 1 | -0/+2 |
| | |||||
* | Use ApplicationService when registering. | Kegan Dougal | 2015-01-27 | 1 | -8/+5 |
| | |||||
* | Add stub methods, TODOs and docstrings for application services. | Kegan Dougal | 2015-01-27 | 1 | -3/+22 |
| | |||||
* | Add appservice handler and store. Glue together rest > handler > store. | Kegan Dougal | 2015-01-27 | 1 | -0/+49 |