summary refs log tree commit diff
path: root/synapse/push (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Mime part is binary so encode it first.David Baker2016-04-221-1/+1
| | | | Doesn't get character enocind right yet but makes it not error.
* No inlineCallbacks necessary on thisDavid Baker2016-04-221-1/+0
|
* Flesh out email templatingDavid Baker2016-04-212-3/+65
| | | | Mostly WIP porting the room name calculation logic from the web client so our room names in the email mirror the clients.
* Generate mails from a templateDavid Baker2016-04-202-21/+21
|
* more pep8David Baker2016-04-201-1/+1
|
* Send a rather basic email notifDavid Baker2016-04-202-9/+71
| | | | Also pep8 fixes
* Add single instance & logging stuffDavid Baker2016-04-191-8/+39
| | | | Copy the stuff over from http pusher that prevents multiple instances of process running at once and sets up logging and measure blocks.
* First bits of emailpusherDavid Baker2016-04-192-1/+217
| | | | Mostly logic of when to send an email
* Measure push action generatorErik Johnston2016-04-141-11/+15
|
* Merge pull request #725 from matrix-org/dbkr/push_only_joinedErik Johnston2016-04-141-1/+13
|\ | | | | Don't push for everyone who ever sent an RR to the room
| * Don't push for everyone who ever sent an RR to the roomDavid Baker2016-04-141-1/+13
| |
* | Add missing yieldErik Johnston2016-04-141-1/+1
| |
* | Rename log contextErik Johnston2016-04-141-1/+1
| |
* | Make send_badge privateErik Johnston2016-04-141-2/+2
| |
* | Add necessary logging contextsErik Johnston2016-04-141-24/+25
| |
* | Add extra MeasureErik Johnston2016-04-141-14/+16
|/
* Unused member variableDavid Baker2016-04-121-1/+0
|
* Fix the rule_id for .m.rule.invite_for_me (#715)Mark Haines2016-04-111-1/+1
|
* Run unsafe proces in a loop until we've caught upDavid Baker2016-04-111-4/+11
| | | | and wrap unsafe process in a try block
* Actually check if we;re processingDavid Baker2016-04-081-0/+2
|
* Fix invite pushesDavid Baker2016-04-083-39/+51
| | | | | | * If the event is an invite event, add the invitee to list of user we run push rules for (if they have a pusher etc) * Move invite_for_me to be higher prio than member events otherwise member events matches them * Spell override right
* Make sure max stream ordering only increasesDavid Baker2016-04-081-1/+1
|
* Unsafe process should call itself if the max has changedDavid Baker2016-04-081-0/+3
|
* Comment why unsafe process is unsafeDavid Baker2016-04-081-0/+5
|
* Only pass in what we needDavid Baker2016-04-072-11/+13
|
* Wrap process in a flag so we don't process whist already processing.David Baker2016-04-071-0/+9
|
* indentingDavid Baker2016-04-071-1/+1
|
* defer.gatherResults rather than doing all the pokes in seriesDavid Baker2016-04-071-2/+16
|
* Add measure blocksDavid Baker2016-04-071-5/+10
|
* Add comments on min_stream_idDavid Baker2016-04-071-0/+2
| | | | saying that the min stream id won't be completely accurate all the time
* Remove code that's now been obsoleted or moved elsewhereDavid Baker2016-04-073-454/+9
|
* Send badge count pushes.David Baker2016-04-072-17/+48
| | | | Also fix bugs with retrying.
* Make pushers use the event_push_actions table instead of listening on an ↵David Baker2016-04-065-79/+301
| | | | | | | event stream & running the rules again. Sytest passes, but remaining to do: * Make badges work again * Remove old, unused code
* Use google style doc strings.Mark Haines2016-04-011-3/+5
| | | | | | | pycharm supports them so there is no need to use the other format. Might as well convert the existing strings to reduce the risk of people accidentally cargo culting the wrong doc string format.
* Don't ignore the obey overlay if the rule has an enabled attribute of FalseDavid Baker2016-03-311-2/+3
| | | | Fixes https://github.com/vector-im/vector-web/issues/1244
* Never notify for member events. This fixes ↵David Baker2016-03-241-20/+21
| | | | https://github.com/vector-im/vector-web/issues/828
* Make get_invites return RoomsForUserErik Johnston2016-03-231-1/+1
|
* Use get_users_in_room to count the number of room members rather than using ↵Mark Haines2016-03-221-1/+3
| | | | read_receipts
* Make select more sensible when dseleting access tokens, rename pusher ↵David Baker2016-03-111-1/+1
| | | | deletion to match access token deletion and make exception arg optional.
* Fix cache invalidation so deleting access tokens (which we did when changing ↵David Baker2016-03-111-4/+4
| | | | password) actually takes effect without HS restart. Reinstate the code to avoid logging out the session that changed the password, removed in 415c2f05491ce65a4fc34326519754cd1edd9c54
* Fix relative imports so they work in both py3 and py27Mark Haines2016-03-085-10/+10
|
* Move the code for formatting push rules into a separate functionMark Haines2016-03-031-0/+112
|
* Add support for changing the actions for default rulesMark Haines2016-02-261-7/+50
| | | | | | See matrix-org/matrix-doc#283 Works by adding dummy rules to the push rules table with a negative priority class and then using those rules to clobber the default rule actions when adding the default rules in ``list_with_base_rules``
* Merge branch 'develop' into rav/guest_access_after_room_joinRichard van der Hoff2016-02-196-46/+31
|\
| * Remove dead code for setting device specific rules.Mark Haines2016-02-186-46/+31
| | | | | | | | | | | | 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.
* | Allow guest users access to messages in rooms they have joinedRichard van der Hoff2016-02-191-1/+1
|/ | | | | | | There should be no difference between guest users and non-guest users in terms of access to messages. Define the semantics of the is_peeking argument to filter_events_for_clients (slightly) better; interpret it appropriately, and set it correctly from /sync.
* Atomically persit push actions when we persist the eventErik Johnston2016-02-091-15/+5
|
* Pass in current state to push action handlerErik Johnston2016-02-092-9/+7
|
* 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-082-5/+6
|
* Add metrics to pushersErik Johnston2016-02-081-31/+53
|
* Change event_push_actions_rm_tokens schemaErik Johnston2016-02-031-1/+1
|
* Fix flake8 warnings for new flake8Daniel Wagner-Hall2016-02-021-1/+1
|
* Only notify for messages in one to one rooms, not every eventDavid Baker2016-01-261-0/+6
| | | | Fixes the fact that candidate events and hangups generated notifications.
* Push: Use storage apis that are cachedErik Johnston2016-01-251-17/+13
|
* Merge pull request #523 from matrix-org/dbkr/no_push_unless_notifyDavid Baker2016-01-221-9/+1
|\ | | | | Better fix for actions with both dont_notify and tweaks
| * Better fix for actions with both dont_notify and tweaksDavid Baker2016-01-221-1/+1
| |
| * Revert b4a41aa542203c03bb8a6c93097b94bc5d167265 as it's just broken.David Baker2016-01-221-9/+1
| |
* | Merge pull request #522 from matrix-org/dbkr/no_push_unless_notifyDavid Baker2016-01-221-1/+9
|\| | | | | Don't add notifications to the table unless there's actually a 'notify' action
| * Don't add notifications to the table unless there's actually a 'notify' actionDavid Baker2016-01-221-1/+9
| |
* | Don't mutate cached valuesErik Johnston2016-01-221-2/+6
|/
* Don't crash if a user has no push rule enabled entriesDavid Baker2016-01-221-0/+3
|
* Overlay the push_rules_enabled map for users, otherwise they won't be able ↵David Baker2016-01-221-0/+14
| | | | to disable server default rules.
* 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.
* Remove member event rule as per SYN-607David Baker2016-01-211-17/+19
|
* 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-201-1/+1
|\
| * 'filtered' is a list of zero or 1David Baker2016-01-201-1/+1
| |
* | Merge remote-tracking branch 'origin/develop' into push_badge_countsDavid Baker2016-01-201-0/+3
|\|
| * Don't generate push actions for our own eventsDavid Baker2016-01-201-0/+3
| |
* | Merge branch 'develop' into push_badge_countsDavid Baker2016-01-197-393/+509
|\|
| * Change regex cache size to 5000Erik Johnston2016-01-191-1/+1
| |
| * Add regex cache. Only caculate push actions for users that have sent read ↵Erik Johnston2016-01-193-11/+31
| | | | | | | | receipts, and are on that server
| * Handle glob -> regex errorsErik Johnston2016-01-191-29/+33
| |
| * Return don't breakErik Johnston2016-01-191-1/+1
| |
| * Except truthy valuesErik Johnston2016-01-191-1/+1
| |
| * Merge branch 'develop' of github.com:matrix-org/synapse into default_notifyErik Johnston2016-01-196-385/+478
| |\
| | * Update _idErik Johnston2016-01-191-2/+3
| | |
| | * Preserve truthinessErik Johnston2016-01-181-1/+2
| | |
| | * You need to escape backslashesErik Johnston2016-01-181-2/+2
| | |
| | * Fix branch didn't check word_boundaryErik Johnston2016-01-181-3/+9
| | |
| | * Don't split at word boundaries, actually use regexErik Johnston2016-01-182-63/+48
| | |
| | * Drop log levelsErik Johnston2016-01-181-2/+2
| | |
| | * Add comments and remove dead codeErik Johnston2016-01-181-12/+11
| | |
| | * Do for loop once at startErik Johnston2016-01-181-8/+17
| | |
| | * Use static for const dictsErik Johnston2016-01-183-197/+202
| | |
| | * Don't edit rulesetErik Johnston2016-01-181-5/+4
| | |
| | * Re-enable urnead notificationsErik Johnston2016-01-181-3/+0
| | |
| | * Make notifications go quickerErik Johnston2016-01-182-127/+215
| | |
| | * Temporarily disable notification branchErik Johnston2016-01-131-0/+3
| | |
| | * Rename 'user_name' to 'user_id' in push to make it consistent with the rest ↵Mark Haines2016-01-135-54/+54
| | | | | | | | | | | | of the code
| * | Change default pushrules back to notifying for all messages.David Baker2016-01-131-1/+0
| |/
* / Use the unread notification count to send accurate badge counts in push ↵David Baker2016-01-133-45/+86
|/ | | | notifications.
* Merge pull request #456 from matrix-org/store_event_actionsDavid Baker2016-01-084-22/+200
|\ | | | | Send unread notification counts
| * more commasDavid Baker2016-01-071-1/+1
| |
| * Delete notifications for redacted eventsDavid Baker2016-01-061-0/+7
| |
| * Add is_guest flag to users db to track whether a user is a guest user or ↵David Baker2016-01-062-8/+25
| | | | | | | | not. Use this so we can run _filter_events_for_client when calculating event_push_actions.
| * comment typoDavid Baker2016-01-051-1/+1
| |
| * Rename event-actions to event_push_actions as per PR requestDavid Baker2016-01-042-2/+2
| |
| * Address minor PR issuesDavid Baker2016-01-042-5/+4
| |
| * pep8 & unused variableDavid Baker2015-12-223-4/+3
| |
| * Add some comments to areas that could be optimised.David Baker2015-12-222-1/+11
| |
| * Insert push actions in a single db query rather than one per user/profile_tagDavid Baker2015-12-221-4/+6
| |
| * Add bulk push rule evaluator which actually still evaluates rules one by ↵David Baker2015-12-223-22/+118
| | | | | | | | one, but does far fewer db queries to fetch the rules
| * Only run pushers for users on this hs!David Baker2015-12-211-1/+7
| |
| * still very WIP, but now sends unread_notifications_count in the room object ↵David Baker2015-12-161-1/+1
| | | | | | | | on sync (only actually corrrect in a full sync: hardcoded to 0 in incremental syncs).
| * Store nothing instead of ['dont_notify'] for events with no notification ↵David Baker2015-12-103-21/+14
| | | | | | | | 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.
| * Save event actions to the dbDavid Baker2015-12-101-2/+4
| |
| * Very first cut of calculating actions for events as they come in. Doesn't ↵David Baker2015-12-101-0/+47
| | | | | | | | store them yet. Not very efficient.
* | copyrightsMatthew Hodgson2016-01-076-6/+6
|/
* pep8David Baker2015-12-091-4/+4
|
* Split out the push rule evaluator into a separate file so it can be more ↵David Baker2015-12-092-185/+234
| | | | readily reused. Should be functionally identical.
* Merge pull request #413 from matrix-org/markjh/reuse_http_clientMark Haines2015-12-021-4/+3
|\ | | | | Reuse a single http client, rather than creating new ones
| * Reuse a single http client, rather than creating new onesMark Haines2015-12-021-4/+3
| |
* | Change the m.room.message rule to be disabled by default so we only notify ↵David Baker2015-12-021-0/+1
|/ | | | for 1:1 rooms / highlights out-of-the-box
* 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
|
* Simplify LoginHander and AuthHandlerDaniel Wagner-Hall2015-08-121-7/+4
| | | | | | | | | * Merge LoginHandler -> AuthHandler * Add a bunch of documentation * Improve some naming * Remove unused branches I will start merging the actual logic of the two handlers shortly
* Oops: underride rule had an identifier with override in it.David Baker2015-06-231-1/+1
|
* 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
|
* Also log when we've started pushersErik Johnston2015-04-291-0/+2
|
* Only start pushers when synapse has fully startedErik Johnston2015-04-291-3/+0
|
* Start pushers on reactor threadErik Johnston2015-04-291-0/+3
|
* Decode the data json in the storage layer (was moved but this part was missed)David Baker2015-04-291-1/+5
|
* Merge branch 'develop' of github.com:matrix-org/synapse into postgresErik Johnston2015-04-282-17/+69
|\
| * Merge pull request #126 from matrix-org/csauthMark Haines2015-04-282-18/+69
| |\ | | | | | | Client / Server Auth Refactor
| | * pep8David Baker2015-03-261-2/+4
| | |
| | * Delete pushers when changing passwordDavid Baker2015-03-261-2/+18
| | |
| | * pep8 blank linesDavid Baker2015-03-251-1/+0
| | |
| | * Allow multiple pushers for a single app ID & pushkey, honouring the 'append' ↵David Baker2015-03-252-12/+45
| | | | | | | | | | | | flag in the API.
| | * 1) Pushers are now associated with an access tokenDavid Baker2015-03-241-4/+5
| | | | | | | | | | | | 2) Change places where we mean unauthenticated to 401, not 403, in C/S v2: hack so it stays as 403 in v1 because web client relies on it.
* | | Merge branch 'develop' of github.com:matrix-org/synapse into postgresErik Johnston2015-04-272-21/+49
|\| |
| * | Make one-to-one rule an underride otherwise bings don't work in one-to-one ↵David Baker2015-04-241-21/+21
| | | | | | | | | | | | wrooms. Likewise a couple of other rules.
| * | Copyright noticesMark Haines2015-04-242-0/+28
| |/
* / Move encoding and decoding of JSON into storage layerErik Johnston2015-04-161-7/+1
|/
* 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
|
* 'false' is not FalseDavid Baker2015-03-111-5/+5
|
* PEP8 blank linesDavid Baker2015-03-111-0/+1
|
* Add the master push rule for the break-my-push button. Allow server default ↵David Baker2015-03-102-10/+54
| | | | rules to be disabled by default.
* D'oh: underscore, not hyphenDavid Baker2015-03-091-1/+1
|
* Call notifications should be override else they'll get clobbered by ↵David Baker2015-03-061-21/+21
| | | | sender/room rules.
* Dial down logging for failed pushersDavid Baker2015-03-061-1/+1
|
* Specify when we don't want to highlightDavid Baker2015-03-061-2/+17
|
* Remove the fallback rule - we probably don't want to be notifying for ↵David Baker2015-03-061-9/+1
| | | | everything even if we don't know what it is.
* Add attribute so push gateways can tell if a member event is about the user ↵David Baker2015-03-061-0/+1
| | | | in question
* Add more server default rules so we have default rules for whether you get ↵David Baker2015-03-062-6/+76
| | | | notifs for invites / random member events
* Comment typoDavid Baker2015-03-061-1/+1
|
* Suppress notices should trump content/room/sender rules.David Baker2015-03-061-13/+13
|
* Add the highlight tweak where messages should be highlighted a different ↵David Baker2015-03-061-0/+4
| | | | colour in appropriate clients.
* Add default rule to suppress notices.David Baker2015-03-041-0/+13
|
* s/user_name/user/ as per mjark's commentDavid Baker2015-03-021-2/+2
|
* Rename the room-with-two-people rule to be more compatible if we have actual ↵David Baker2015-03-021-1/+1
| | | | one to one rooms.
* SYN-267 Add a fallback rule as an explicit server default rule and make the ↵David Baker2015-02-262-1/+16
| | | | default dont-notify so you effectively have a "notify for everything else" switch you can turn on and off.
* Add API for getting/setting enabled-ness of push rules.David Baker2015-02-261-4/+4
|
* Add enable/disable overlay for push rules (REST API not yet hooked up)David Baker2015-02-252-0/+7
|
* Send room ID in http notifications so clients know which room to go to if ↵David Baker2015-02-191-0/+1
| | | | the user responds to the notification.
* Update pushers by app id and pushkey, not user id and pushkeyDavid Baker2015-02-131-6/+6
|
* Use encode_canonical_json for pushesErik Johnston2015-02-111-1/+3
|
* Blunty replace json with simplejsonErik Johnston2015-02-112-2/+2
|
* Code-style fixesMark Haines2015-02-103-14/+17
|
* 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
|
* Fix server default rule injection (downwards, not upwards!)David Baker2015-02-091-6/+6
|
* 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
|
* Give server default rules the 'default' attribute and fix various brokenness.David Baker2015-02-051-0/+1
|
* Server default rules now of all kinds rather than all being at lowest prio.David Baker2015-02-053-12/+66
|
* s/instance_handle/profile_tag/David Baker2015-02-033-12/+12
|
* Use set_tweak instead of set_soundDavid Baker2015-02-032-3/+4
|
* Ignore empty strings for display names & room names in notificationsDavid Baker2015-01-311-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
|
* Spit out server default rules too.David Baker2015-01-301-6/+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-302-5/+59
| | | | only 2 people.
* Include content in notification pokesDavid Baker2015-01-291-0/+2
|
* Change 'from' in notification pokes to 'sender' to match client API v2. Send ↵David Baker2015-01-292-5/+14
| | | | sender display names where they exist.
* Add default push rules including setting a sound for messages mentioning ↵David Baker2015-01-292-8/+74
| | | | your username / display name
* Code style fixes.Mark Haines2015-01-293-13/+12
|
* Only send a badge-reset if the user actually has unread notifications.David Baker2015-01-291-2/+7
|
* Easy on the newlinesDavid Baker2015-01-281-1/+0
|
* 2015David Baker2015-01-281-1/+1
|
* doc style fixDavid Baker2015-01-281-1/+1
|
* It is 2015David 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
|
* Unused importDavid Baker2015-01-281-1/+0
|
* Reset badge count to zero when last active time is bumpedDavid Baker2015-01-283-3/+71
|
* Support membership events and more camelcase/underscoresDavid Baker2015-01-262-4/+8
|
* 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-232-12/+88
|
* more pep8 suggestionsDavid Baker2015-01-231-2/+1
|
* use underscores everywhere, not camelcase.David Baker2015-01-201-3/+3
|
* add instance_handles to pushers so we have a way to refer to them even if ↵David Baker2015-01-203-5/+10
| | | | the push token changes.
* Require device language when adding a pusher.David Baker2015-01-161-3/+5
| | | | | Because this seems like it might be useful to do sooner rather than later.
* Send room name and first alias in notification poke.David Baker2015-01-152-3/+26
|
* 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-133-8/+56
| | | | | | | 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-183-36/+48
|
* Update to app_id / app_instance_id (partially) and mangle to be PEP8 compliant.David Baker2014-12-033-92/+155
|
* More work on pushers. Attempt to do HTTP pokes. Not sure if the actual HTTP ↵David Baker2014-11-213-16/+105
| | | | pokes work or not yet but the retry semantics are pretty good.
* remove random half-lineDavid Baker2014-11-191-1/+0
|
* Start creating a module to do generic notifications (just prints them to ↵David Baker2014-11-193-0/+210
stdout currently!)