summary refs log tree commit diff
path: root/synapse/push/__init__.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Make cleaning up pushers depend on the device_id instead of the token_id ↵Quentin Gliech2023-03-241-1/+6
| | | | | | | | | | | | | | (#15280) This makes it so that we rely on the `device_id` to delete pushers on logout, instead of relying on the `access_token_id`. This ensures we're not removing pushers on token refresh, and prepares for a world without access token IDs (also known as the OIDC). This actually runs the `set_device_id_for_pushers` background update, which was forgotten in #13831. Note that for backwards compatibility it still deletes pushers based on the `access_token` until the background update finishes.
* Track device IDs for pushers (#13831)Brendan Abolivier2022-09-211-0/+2
| | | Second half of the MSC3881 implementation
* Support enabling/disabling pushers (from MSC3881) (#13799)Brendan Abolivier2022-09-211-0/+2
| | | Partial implementation of MSC3881
* Remove unneeded `ActionGenerator` class. (#12691)Patrick Cloke2022-05-111-5/+0
| | | | It simply passes through to `BulkPushRuleEvaluator`, which can be called directly instead.
* Add class-diagrams and notes for push. (#12676)Patrick Cloke2022-05-101-0/+79
|
* Remove `HomeServer.get_datastore()` (#12031)Richard van der Hoff2022-02-231-1/+1
| | | | | | | The presence of this method was confusing, and mostly present for backwards compatibility. Let's get rid of it. Part of #11733
* Use auto_attribs/native type hints for attrs classes. (#11692)Patrick Cloke2022-01-131-19/+19
|
* disallow-untyped-defs for synapse.push (#11023)David Robertson2021-10-111-1/+1
|
* Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong2021-04-141-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 Cloke2021-03-231-1/+1
|
* Fix-up assertions about last stream token in push (#9020)Patrick Cloke2021-01-051-1/+1
| | | The last stream token is always known and we do not need to handle none.
* Convert internal pusher dicts to attrs classes. (#8940)Patrick Cloke2020-12-161-7/+53
| | | This improves type hinting and should use less memory.
* Fix handling of stream tokens for push. (#8943)Patrick Cloke2020-12-151-5/+14
| | | | Removes faulty assertions and fixes the logic to ensure the max stream token is always set.
* Add type hints for HTTP and email pushers. (#8880)Patrick Cloke2020-12-071-0/+50
|
* Add additional validation to pusher URLs. (#8865)Patrick Cloke2020-12-041-2/+1
| | | | Pusher URLs now must end in `/_matrix/push/v1/notify` per the specification.
* 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
* Remove code that's now been obsoleted or moved elsewhereDavid Baker2016-04-071-327/+0
|
* Make get_invites return RoomsForUserErik Johnston2016-03-231-1/+1
|
* Fix relative imports so they work in both py3 and py27Mark Haines2016-03-081-2/+2
|
* Remove dead code for setting device specific rules.Mark Haines2016-02-181-4/+3
| | | | | | It wasn't possible to hit the code from the API because of a typo in parsing the request path. Since no-one was using the feature we might as well remove the dead code.
* Revert to putting it around the entire blockErik Johnston2016-02-091-124/+124
|
* Don't measure across event stream call, as it lasts for a long time.Erik Johnston2016-02-091-124/+124
|
* Fix up logcontextsErik Johnston2016-02-081-1/+1
|
* Add metrics to pushersErik Johnston2016-02-081-31/+53
|
* Change event_push_actions_rm_tokens schemaErik Johnston2016-02-031-1/+1
|
* Push: Use storage apis that are cachedErik Johnston2016-01-251-17/+13
|
* Only fetch events for rooms and receiptsErik Johnston2016-01-211-1/+2
|
* Only compute badge count when necessary.Erik Johnston2016-01-211-4/+15
| | | | This reverts commit d7265977376eb391007cde55c4b2d9b8f54d452b.
* Add storage function to get all receipts for a user. Also add some cache ↵David Baker2016-01-201-22/+6
| | | | invalidation to the receipts storage because there wasn't any, and remove a method that was unused.
* Inline membership specifierDavid Baker2016-01-201-3/+1
|
* Simplify badge updating code by just updating it every time we get woken up ↵David Baker2016-01-201-15/+4
| | | | and it's not an event
* Merge branch 'develop' into push_badge_countsDavid Baker2016-01-191-23/+23
|\
| * Rename 'user_name' to 'user_id' in push to make it consistent with the rest ↵Mark Haines2016-01-131-18/+18
| | | | | | | | of the code
* | Use the unread notification count to send accurate badge counts in push ↵David Baker2016-01-131-23/+79
|/ | | | notifications.
* Merge pull request #456 from matrix-org/store_event_actionsDavid Baker2016-01-081-15/+6
|\ | | | | Send unread notification counts
| * Rename event-actions to event_push_actions as per PR requestDavid Baker2016-01-041-1/+1
| |
| * pep8 & unused variableDavid Baker2015-12-221-0/+1
| |
| * Add some comments to areas that could be optimised.David Baker2015-12-221-1/+3
| |
| * Store nothing instead of ['dont_notify'] for events with no notification ↵David Baker2015-12-101-15/+3
| | | | | | | | required: much as it would be nice to be able to tell between the event not having been processed and there being no notification for it, this isn't worth filling up the table with ['dont_notify'] I think. Consequently treat the empty actions array as dont_notify and filter dont_notify out of the result.
* | copyrightsMatthew Hodgson2016-01-071-1/+1
|/
* pep8David Baker2015-12-091-4/+4
|
* Split out the push rule evaluator into a separate file so it can be more ↵David Baker2015-12-091-185/+10
| | | | readily reused. Should be functionally identical.
* Use raw string for regex here, otherwise \b is the backspace character. ↵David Baker2015-10-081-1/+1
| | | | Fixes displayname matching.
* Don't make pushers handle presence/typing eventsErik Johnston2015-08-241-3/+5
|
* Store the 'last_token' in the db, even if we processed no eventsErik Johnston2015-08-191-0/+6
|
* Block on storing the current last_tokensErik Johnston2015-08-191-5/+5
|
* Catch any exceptions in the pusher loop. Use a lower timeout for pushers so ↵David Baker2015-06-051-112/+133
| | | | we can see if they're actually still running.
* Take a dict of the rule, not the rule listMark Haines2015-05-261-1/+1
|
* SYN-390: Don't modify the dictionary returned from the database here eitherMark Haines2015-05-261-4/+7
|
* Don't try to use a txn when not in one, remove spurious debug loggingMark Haines2015-05-211-2/+0
|
* Add caches for things requested by the pushersMark Haines2015-05-211-15/+10
|
* Add a cache for get_current_state with state_keyMark Haines2015-05-211-0/+4
|
* Allow multiple pushers for a single app ID & pushkey, honouring the 'append' ↵David Baker2015-03-251-2/+8
| | | | flag in the API.
* More sacrifices to the pep8 gods.David Baker2015-03-121-2/+8
|
* Log the matching push rule.David Baker2015-03-111-2/+4
|
* Again, underscore, not hyphenDavid Baker2015-03-111-1/+1
|
* Add the master push rule for the break-my-push button. Allow server default ↵David Baker2015-03-101-1/+5
| | | | rules to be disabled by default.
* Add more server default rules so we have default rules for whether you get ↵David Baker2015-03-061-4/+4
| | | | notifs for invites / random member events
* Comment typoDavid Baker2015-03-061-1/+1
|
* s/user_name/user/ as per mjark's commentDavid Baker2015-03-021-2/+2
|
* SYN-267 Add a fallback rule as an explicit server default rule and make the ↵David Baker2015-02-261-1/+1
| | | | default dont-notify so you effectively have a "notify for everything else" switch you can turn on and off.
* Add enable/disable overlay for push rules (REST API not yet hooked up)David Baker2015-02-251-0/+4
|
* Update pushers by app id and pushkey, not user id and pushkeyDavid Baker2015-02-131-6/+6
|
* Blunty replace json with simplejsonErik Johnston2015-02-111-1/+1
|
* Code-style fixesMark Haines2015-02-101-3/+5
|
* Need to use re.search if looking for matches not at the start of the string. ↵David Baker2015-02-091-3/+3
| | | | Also comparisons with None should be 'is'.
* only do word-boundary patches on bodies for nowMatthew Hodgson2015-02-091-1/+4
|
* glob *s should probably be non-greedyMatthew Hodgson2015-02-081-1/+1
|
* oopsMatthew Hodgson2015-02-081-1/+1
|
* kill off fnmatch in favour of word-boundary based push alerts (untested)Matthew Hodgson2015-02-081-12/+20
|
* Server default rules now of all kinds rather than all being at lowest prio.David Baker2015-02-051-4/+4
|
* s/instance_handle/profile_tag/David Baker2015-02-031-4/+4
|
* Use set_tweak instead of set_soundDavid Baker2015-02-031-2/+2
|
* Again, don't assume all member events have displayname.David Baker2015-01-301-1/+1
|
* Don't assume all member events have a display nme.David Baker2015-01-301-4/+5
|
* Add glob asterisks when running rules.David Baker2015-01-301-0/+5
| | | | | | Means that now you can't do exact matches even in override rules, but I think we can live with that. Advantage is that you'll now always get back what was put in to the API.
* Add room member count condition and default rule to make a noise on rooms of ↵David Baker2015-01-301-5/+45
| | | | only 2 people.
* Change 'from' in notification pokes to 'sender' to match client API v2. Send ↵David Baker2015-01-291-0/+10
| | | | sender display names where they exist.
* Add default push rules including setting a sound for messages mentioning ↵David Baker2015-01-291-8/+39
| | | | your username / display name
* Code style fixes.Mark Haines2015-01-291-8/+7
|
* Only send a badge-reset if the user actually has unread notifications.David Baker2015-01-291-2/+7
|
* doc style fixDavid Baker2015-01-281-1/+1
|
* Oops, bad merge: needed to change the base class of the rest servlets too.David Baker2015-01-281-2/+3
|
* More code style thingsDavid Baker2015-01-281-3/+4
|
* Brackets rather than slashes at endDavid Baker2015-01-281-3/+3
|
* Redundant bracketing & missed spaceDavid Baker2015-01-281-2/+2
|
* Update copyrightDavid Baker2015-01-281-1/+1
|
* Reset badge count to zero when last active time is bumpedDavid Baker2015-01-281-0/+19
|
* Support membership events and more camelcase/underscoresDavid Baker2015-01-261-0/+4
|
* Pushers should only try & look for rejected devices in something that's a ↵David Baker2015-01-261-1/+1
| | | | list or tuple.
* Use push settings!David Baker2015-01-231-8/+83
|
* more pep8 suggestionsDavid Baker2015-01-231-2/+1
|
* add instance_handles to pushers so we have a way to refer to them even if ↵David Baker2015-01-201-1/+2
| | | | the push token changes.
* Send room name and first alias in notification poke.David Baker2015-01-151-0/+13
|
* Don't make the pushers' event streams cause people to appear onlineDavid Baker2015-01-151-1/+3
|
* Honour the 'rejected' return from push gatewaysDavid Baker2015-01-131-3/+34
| | | | | | | Add a timestamp to push tokens so we know the last time they we got them from the device. Send it to the push gateways so it can determine whether its failure is more recent than the token. Stop and remove pushers that have been rejected.
* Split out function to decide whether to notify or a given eventDavid Baker2015-01-131-2/+17
|
* If we didn't get any events, advance the token or we'll just keep not ↵David Baker2014-12-181-0/+1
| | | | getting the same events again.
* after a few rethinks, a working implementation of pushers.David Baker2014-12-181-3/+9
|
* Update to app_id / app_instance_id (partially) and mangle to be PEP8 compliant.David Baker2014-12-031-30/+67
|
* More work on pushers. Attempt to do HTTP pokes. Not sure if the actual HTTP ↵David Baker2014-11-211-10/+48
| | | | pokes work or not yet but the retry semantics are pretty good.
* Start creating a module to do generic notifications (just prints them to ↵David Baker2014-11-191-0/+76
stdout currently!)