summary refs log tree commit diff
path: root/synapse/push (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #3138 from matrix-org/rav/catch_unhandled_exceptionsRichard van der Hoff2018-04-272-5/+11
|\ | | | | Improve exception handling for background processes
| * Improve exception handling for background processesRichard van der Hoff2018-04-272-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Add missing consumeErrorsRichard van der Hoff2018-04-271-2/+6
|/ | | | | In general we want defer.gatherResults to consumeErrors, rather than having exceptions hanging around and getting logged as CRITICAL unhandled errors.
* Update commentsErik Johnston2018-02-211-3/+4
|
* Batch inserts into event_push_actions_stagingErik Johnston2018-02-201-6/+9
|
* CommentsErik Johnston2018-02-161-0/+3
|
* Remove context.push_actionsErik Johnston2018-02-152-11/+4
|
* Store push actions in staging areaErik Johnston2018-02-151-0/+3
|
* Better logging when pushes failRichard van der Hoff2018-01-291-2/+8
|
* add appid/device_display_name to to pusher loggingRichard van der Hoff2018-01-291-2/+2
|
* Fix logging and add user_idRichard van der Hoff2018-01-221-2/+3
|
* logging and debug for http pusherRichard van der Hoff2018-01-221-4/+20
|
* Remove pushers when deleting access tokensRichard van der Hoff2017-11-291-9/+15
| | | | | Whenever an access token is invalidated, we should remove the associated pushers.
* Merge pull request #2675 from matrix-org/rav/remove_broken_logcontext_funcsRichard van der Hoff2017-11-151-3/+3
|\ | | | | Remove preserve_context_over_{fn, deferred}
| * Remove preserve_context_over_{fn, deferred}Richard van der Hoff2017-11-141-3/+3
| | | | | | | | | | Both of these functions ae known to leak logcontexts. Replace the remaining calls to them and kill them off.
* | Rename redact_content option to include_contentDavid Baker2017-11-081-1/+2
|/ | | | | | | | | | | | | | | | | | The redact_content option never worked because it read the wrong config section. The PR introducing it (https://github.com/matrix-org/synapse/pull/2301) had feedback suggesting the name be changed to not re-use the term 'redact' but this wasn't incorporated. This reanmes the option to give it a less confusing name, and also means that people who've set the redact_content option won't suddenly see a behaviour change when upgrading synapse, but instead can set include_content if they want to. This PR also updates the wording of the config comment to clarify that this has no effect on event_id_only push. Includes https://github.com/matrix-org/synapse/pull/2422
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-234-8/+8
| | | | what could possibly go wrong
* Omit the *s for @room notificationsDavid Baker2017-10-161-1/+1
| | | | They're just redundant
* pep8David Baker2017-10-102-3/+5
|
* Don't KeyError if no power_levels eventDavid Baker2017-10-101-1/+3
|
* Use notification levels in power_levelsDavid Baker2017-10-103-12/+22
| | | | | | Rather than making the condition directly require a specific power level. This way the level require to notify a room can be configured per room.
* There was already a constant for thisDavid Baker2017-10-101-3/+4
| | | | also update copyright
* More optimisationDavid Baker2017-10-101-6/+9
|
* What year is it!? Who's the president!?David Baker2017-10-101-1/+1
|
* Make be fasterDavid Baker2017-10-051-3/+3
|
* Add fastpath optimisationDavid Baker2017-10-051-3/+9
|
* pep8David Baker2017-10-051-0/+3
|
* They're called roomsDavid Baker2017-10-051-4/+4
|
* Get rule type rightDavid Baker2017-10-051-1/+1
|
* Support for channel notificationsDavid Baker2017-10-053-8/+59
| | | | | Add condition type to check the sender's power level and add a base rule using it for @channel notifications.
* Use better method for word boundary searchingDavid Baker2017-10-051-11/+3
| | | | From https://github.com/matrix-org/matrix-js-sdk/commit/ebc95667b8a5777d13e5d3c679972bedae022fd5
* pep8David Baker2017-10-051-0/+1
|
* Fix notif kws that start/end with non-word charsDavid Baker2017-10-051-2/+21
| | | | | | | Only prepend / append word bounary characters if the search expression starts or ends with a word character, otherwise they don't work because there's no word bounary between whitespace and a non-word char.
* Also include the room_idDavid Baker2017-09-181-0/+1
| | | | as really it's part of the event ID
* Use .get - it's much shorterDavid Baker2017-09-181-1/+1
|
* Add support for event_id_only push formatDavid Baker2017-09-181-0/+19
| | | | | | | Param in the data dict of a pusher that tells an HTTP pusher to send just the event_id of the event it's notifying about and the notification counts. For clients that want to go & fetch the body of the event themselves anyway.
* Increase cache hit ratio for pushErik Johnston2017-07-141-0/+8
| | | | | We don't update the cache in all code paths, which causes subsequent calls to miss the cache
* Add more metrics to push rule evaluationErik Johnston2017-07-131-2/+42
|
* Push: Don't acquire lock unless necessaryErik Johnston2017-07-131-0/+4
|
* Perf: Don't filter events for pushErik Johnston2017-07-071-17/+8
| | | | | We know the users are joined and we can explicitly check for if they are ignoring the user, so lets do that.
* Merge pull request #2332 from matrix-org/rav/fix_pushesRichard van der Hoff2017-07-051-1/+3
|\ | | | | Fix caching error in the push evaluator
| * Fix caching error in the push evaluatorRichard van der Hoff2017-07-051-1/+3
| | | | | | | | | | | | | | | | | | | | Initialising `result` to `{}` in the parameters meant that every call to _flatten_dict used the *same* target dictionary. I'm hopeful this will fix https://github.com/matrix-org/synapse/issues/2270, but I suspect it won't. (This code seems to have been here since forever, unlike the bug, and I don't really think it explains the observed behaviour). Still, it makes it hard to investigate the problem.
* | Fix TravisCI tests for PR #2301Caleb James DeLisle2017-06-231-1/+1
| |
* | Add configuration parameter to allow redaction of content from push messages ↵Caleb James DeLisle2017-06-231-1/+1
|/ | | | for google/apple devices
* Fix typo when getting app nameErik Johnston2017-06-061-1/+1
|
* Fix wrong number of argumentsErik Johnston2017-06-061-1/+1
|
* Only load jinja2 templates onceErik Johnston2017-05-224-60/+105
| | | | | Instead of every time a new email pusher is created, as loading jinja2 templates is slow.
* CommentErik Johnston2017-05-221-0/+2
|
* Remove spurious log level guardsErik Johnston2017-05-221-6/+3
|
* Check if current event is a membership eventErik Johnston2017-05-221-4/+9
|
* Add debug loggingErik Johnston2017-05-221-0/+24
|
* CommentErik Johnston2017-05-221-1/+4
|
* Use tuple unpackingErik Johnston2017-05-221-2/+2
|
* Speed up calculating push rulesErik Johnston2017-05-191-8/+19
|
* Move invalidation cb to its own structureErik Johnston2017-05-191-6/+15
|
* Store ActionGenerator in HomeServerErik Johnston2017-05-192-2/+2
|
* Don't push users who have leftErik Johnston2017-05-181-1/+4
|
* Make get_if_app_services_interested_in_user fasterErik Johnston2017-05-181-3/+1
|
* Remove size of push get_rules cacheErik Johnston2017-05-181-1/+1
|
* Add commentErik Johnston2017-05-181-0/+3
|
* Faster push rule calculation via push specific cacheErik Johnston2017-05-172-45/+246
| | | | | We add a push rule specific cache that ensures that we can reuse calculated push rules appropriately when a user join/leaves.
* Revert "Speed up filtering of a single event in push"Erik Johnston2017-05-081-8/+19
| | | | This reverts commit 421fdf74609439edaaffce117436e6a6df147841.
* Speed up filtering of a single event in pushErik Johnston2017-04-281-19/+8
|
* fix upErik Johnston2017-04-251-1/+2
|
* Don't specify default as dictErik Johnston2017-04-251-1/+1
|
* Reduce size of joined_user cacheErik Johnston2017-04-251-2/+5
| | | | | | | | The _get_joined_users_from_context cache stores a mapping from user_id to avatar_url and display_name. Instead of storing those in a dict, store them in a namedtuple as that uses much less memory. We also try converting the string to ascii to further reduce the size.
* Support authenticated SMTPDaniel Dent2017-04-051-1/+5
| | | | | | Closes (SYN-714) #1385 Signed-off-by: Daniel Dent <matrixcontrib@contactdaniel.net>
* Merge pull request #2075 from matrix-org/erikj/cache_speedErik Johnston2017-03-311-5/+2
|\ | | | | Speed up cached function access
| * Don't convert to deferreds when not necessaryErik Johnston2017-03-301-5/+2
| |
* | Cache glob to regex at a higher level for pushErik Johnston2017-03-291-47/+57
|/
* Don't recreate so many setsErik Johnston2017-03-161-4/+4
|
* Get current state by using current_state_events tableErik Johnston2017-03-101-1/+1
|
* Ensure we pass positive ints to delay functionErik Johnston2017-02-221-1/+2
|
* Fix email push in pusher workerErik Johnston2017-02-021-2/+2
| | | | | | This was broken when device list updates were implemented, as Mailer could no longer instantiate an AuthHandler due to a dependency on federation sending.
* Merge pull request #1811 from aperezdc/unhardcode-riot-urlsDavid Baker2017-01-181-6/+14
|\ | | | | Allow configuring the Riot URL used in notification emails
| * Allow configuring the Riot URL used in notification emailsAdrian Perez de Castro2017-01-131-6/+14
| | | | | | | | | | | | | | | | | | | | The URLs used for notification emails were hardcoded to use either matrix.to or vector.im; but for self-hosted setups where Riot is also self-hosted it may be desirable to allow configuring an alternative Riot URL. Fixes #1809. Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
* | Get state at event rather than for room in pushErik Johnston2017-01-171-1/+1
|/
* Add /room/<room_id>/joined_members APIErik Johnston2016-12-081-6/+6
| | | | | | This returns the currently joined members in the room with their display names and avatar urls. This is more efficient than /members for large rooms where you don't need the full events.
* Fix push notifications for a single unread messageErik Johnston2016-10-181-1/+1
|
* Reduce redundant database work in email pusherErik Johnston2016-10-181-0/+4
| | | | | | | Update the last stream ordering if the `get_unread_push_actions_for_user_in_range_for_email` returns no new push actions. This reduces the range that it needs to check next iteration.
* Fix email push notifs being droppedErik Johnston2016-10-131-14/+25
| | | | | | | | A lot of email push notifications were failing to be sent due to an exception being thrown along one of the (many) paths. This was due to a change where we moved from pulling out the full state for each room, but rather pulled out the event ids for the state and separately loaded the full events when needed.
* _id field must uniquely identify different conditionsErik Johnston2016-09-191-2/+2
|
* proposal for notifying on e2e eventsMatthew Hodgson2016-09-171-0/+49
|
* Ensure we don't mutate the cache of push rulesErik Johnston2016-09-151-9/+1
|
* Make bulk_get_push_rules_for_room use get_joined_users_from_context cacheErik Johnston2016-09-051-1/+1
|
* Merge pull request #1060 from matrix-org/erikj/state_idsErik Johnston2016-09-011-1/+1
|\ | | | | Assign state groups in state handler.
| * Correctly handle the difference between prev and current stateErik Johnston2016-08-311-1/+1
| |
* | Fix email notifs by adding missing paramErik Johnston2016-08-301-1/+1
|/
* Fix push room names for rooms with only an aliasErik Johnston2016-08-301-1/+1
|
* Use state handler instead of get_users_in_room/get_joined_hostsErik Johnston2016-08-261-1/+1
|
* Fix room name in email notifsErik Johnston2016-08-261-19/+20
|
* TypoErik Johnston2016-08-261-1/+0
|
* Fix up push to use get_current_state_idsErik Johnston2016-08-254-20/+226
|
* Replace context.current_state with context.current_state_idsErik Johnston2016-08-252-19/+17
|
* Preserve some logcontextsErik Johnston2016-08-242-9/+12
|
* Move _bulk_get_push_rules_for_room to storage layerErik Johnston2016-08-192-34/+9
|
* Make push Measure finer grainedErik Johnston2016-08-171-4/+5
|
* Merge remote-tracking branch 'origin/develop' into ↵David Baker2016-08-161-4/+4
|\ | | | | | | dbkr/contains_display_name_override
| * Refactor user_delete_access_tokens. Invalidate get_user_by_access_token to ↵Erik Johnston2016-08-151-4/+4
| | | | | | | | slaves.
* | s/underride/override/ in the rule_id tooDavid Baker2016-08-161-1/+1
| |
* | Move display name ruleDavid Baker2016-08-151-16/+20
|/ | | | As per https://github.com/matrix-org/matrix-doc/pull/373 and comment
* Ignore AlreadyCalled errors on timer cancelErik Johnston2016-07-312-3/+16
|
* Create separate methods for getting messages to pushMark Haines2016-07-282-4/+4
| | | | | | | | | | | for the email and http pushers rather than trying to make a single method that will work with their conflicting requirements. The http pusher needs to get the messages in ascending stream order, and doesn't want to miss a message. The email pusher needs to get the messages in descending timestamp order, and doesn't mind if it misses messages.
* TypoDavid Baker2016-07-281-1/+1
|
* even more pep8David Baker2016-06-241-0/+1
|
* Use similar naming we use in email notifs for pushDavid Baker2016-06-242-20/+22
| | | | Fixes https://github.com/vector-im/vector-web/issues/1654
* Fix ``KeyError: 'msgtype'``. Use ``.get``Mark Haines2016-06-171-14/+15
| | | | | | | | | | | | | Fixes a key error where the mailer tried to get the ``msgtype`` of an event that was missing a ``msgtype``. ``` File "synapse/push/mailer.py", line 264, in get_notif_vars File "synapse/push/mailer.py", line 285, in get_message_vars File ".../frozendict/__init__.py", line 10, in __getitem__ return self.__dict[key] KeyError: 'msgtype' ```
* Remove dead code.Mark Haines2016-06-072-34/+0
| | | | | | | | | | | Loading push rules now happens in the datastore, so we can remove the methods that loaded them outside the datastore. The ``waiting_for_join_list`` in federation handler is populated by anything, so can be removed. The ``_get_members_events_txn`` method isn't called from anywhere so can be removed.
* 3rd time lucky: we'd already calculated it aboveDavid Baker2016-06-031-3/+1
|
* Oops, we're using the dict formDavid Baker2016-06-031-1/+3
|
* Add substitutions to email notif FromDavid Baker2016-06-031-1/+1
|
* Merge branch 'develop' into matthew/brand-from-headerMatthew Hodgson2016-06-035-61/+67
|\
| * Load push rules in storage layer, so that they get cachedErik Johnston2016-06-032-36/+22
| |
| * Remove unnecessary setsErik Johnston2016-06-031-6/+3
| |
| * Only get local usersErik Johnston2016-06-031-2/+5
| |
| * Merge pull request #811 from matrix-org/erikj/state_users_in_roomErik Johnston2016-06-032-11/+18
| |\ | | | | | | Use state to calculate get_users_in_room
| | * Use state to calculate get_users_in_roomErik Johnston2016-06-012-11/+18
| | |
| * | Merge pull request #809 from matrix-org/erikj/cache_receipts_in_roomErik Johnston2016-06-031-4/+4
| |\| | | | | | | Add get_users_with_read_receipts_in_room cache
| | * Add get_users_with_read_receipts_in_room cacheErik Johnston2016-06-011-4/+4
| | |
| * | Merge pull request #821 from matrix-org/dbkr/email_unsubscribeDavid Baker2016-06-022-6/+19
| |\ \ | | | | | | | | Email unsubscribe links that don't require logging in
| | * | peppateDavid Baker2016-06-021-1/+3
| | | |
| | * | Working unsubscribe links going straight to the HSDavid Baker2016-06-021-4/+4
| | | | | | | | | | | | | | | | and authed by macaroons that let you delete pushers and nothing else
| | * | Merge remote-tracking branch 'origin/dbkr/email_notif_string_fmt_error' into ↵David Baker2016-06-021-1/+1
| | |\ \ | | | | | | | | | | | | | | | dbkr/email_unsubscribe
| | * \ \ Merge remote-tracking branch 'origin/develop' into dbkr/email_unsubscribeDavid Baker2016-06-022-4/+10
| | |\ \ \
| | * \ \ \ Merge branch 'dbkr/split_out_auth_handler' into dbkr/email_unsubscribeDavid Baker2016-06-021-0/+2
| | |\ \ \ \
| | * | | | | Email unsubscribing that may in theory, workDavid Baker2016-06-022-6/+17
| | | |_|_|/ | | |/| | | | | | | | | | | | | | | Were it not for that fact that you can't use the base handler in the pusher because it pulls in the world. Comitting while I fix that on a different branch.
| * | | | | Merge pull request #820 from matrix-org/dbkr/email_notif_string_fmt_errorDavid Baker2016-06-021-1/+1
| |\ \ \ \ \ | | | |_|_|/ | | |/| | | Fix error in email notification string formatting
| | * | | | Fix error in email notification string formattingDavid Baker2016-06-021-1/+1
| | | |_|/ | | |/| |
* | / | | brand the email from headerMatthew Hodgson2016-06-021-1/+8
|/ / / /
* / / / add some branding debuggingMatthew Hodgson2016-06-021-0/+1
|/ / /
* | | Disable INCLUDE_ALL_UNREAD_NOTIFSErik Johnston2016-06-021-1/+2
| | |
* | | if an email pusher specifies a brand param, use itMatthew Hodgson2016-06-022-3/+8
| |/ |/|
* | Use user_id in email greeting if display name is nullDavid Baker2016-06-021-0/+2
|/
* Add caches to bulk_get_push_rules*Erik Johnston2016-05-311-3/+5
|
* Check for presence of 'avatar_url' keyDavid Baker2016-05-241-1/+3
|
* fix NPE in room orderingMatthew Hodgson2016-05-231-2/+2
|
* consistency is the better part of valourMatthew Hodgson2016-05-231-1/+1
|
* Tune email notifs to make them quieter:Matthew Hodgson2016-05-232-18/+56
| | | | | | | | * After initial 10 minute window, only alert every 24h for room notifs * Reset room state after 6h of idleness * Synchronise throttles for messages sent in the same notif, so the 24 hourly notifs 'line up' * Fix the email subjects to say what triggered the notification * Order the rooms in reverse activity order in the email, so the 'reason' room should always come first
* Merge pull request #793 from matrix-org/matthew/one-push-badge-per-convoMatthew Hodgson2016-05-181-1/+3
|\ | | | | increment badge count per missed convo, not per msg
| * increment badge count per missed convo, not per msgMatthew Hodgson2016-05-181-1/+3
| |
* | Merge pull request #786 from matrix-org/matthew/email_notifs_tuningMatthew Hodgson2016-05-172-9/+30
|\| | | | | tune email notifs, fix CSS a bit, and add debugging details
| * tune email notifs, fix CSS a bit, and add debugging detailsMatthew Hodgson2016-05-162-9/+30
| |
* | Fix emailpusher importDavid Baker2016-05-161-1/+11
|/ | | | Try importing at the root level rather than conditionally importing, as per comment
* fix matrix.to URLsMatthew Hodgson2016-05-131-2/+2
|
* Make email notifs work on the pusher synapseDavid Baker2016-05-131-0/+1
| | | | Plus general bugfix to email notif code
* move filter_events_for_client out of base handlerMark Haines2016-05-113-8/+9
|
* Make pep8 happyDavid Baker2016-05-101-1/+1
|
* Switch from CSS to Table layout for HTML mails so they work in Outlook ↵Matthew Hodgson2016-05-101-7/+18
| | | | | | | aka Word Remove templates-vector and theme templates with variables instead Switch to matrix.to URLs by default for links
* better mail subject linesMatthew Hodgson2016-05-051-1/+1
|
* fix layout; handle app naming in synapse, not jinjaMatthew Hodgson2016-05-051-16/+31
|
* pep8Matthew Hodgson2016-05-051-2/+4
|
* handle fragments correctly on mxc URLs.Matthew Hodgson2016-05-051-14/+45
| | | | | | | switch to vector.im permalinks as matrix.to isn't ready yet. merge overlapping notifications together. give one message of context after a notification (in the unlikely event it exists, but it's possible thanks to throttling). include name of app in mail templates
* spell out emailpusher full pathMatthew Hodgson2016-05-051-1/+1
|
* Include no contextDavid Baker2016-05-041-1/+1
| | | | until we can de-dup between the context and other notifs
* Add date header & message idDavid Baker2016-05-041-0/+2
|
* pep8David Baker2016-05-041-0/+1
|
* copyrightMatthew Hodgson2016-05-041-0/+22
|
* Unused importDavid Baker2016-05-041-1/+0
|
* Catch all exceptions when creating a pusherDavid Baker2016-05-041-2/+2
|
* Add constant for throttle multiplierDavid Baker2016-04-291-1/+2
|
* Remove unused functionDavid Baker2016-04-291-4/+0
|
* Remove unused argDavid Baker2016-04-291-2/+2
|
* Use the constantDavid Baker2016-04-291-1/+2
|
* Avoid `vars` builtinDavid Baker2016-04-291-15/+15
|
* Use named parameter formatDavid Baker2016-04-291-14/+22
|
* pep8David Baker2016-04-291-1/+0
|
* Remove rather pointless get functionDavid Baker2016-04-291-9/+1
|
* Stop processing notifs once we've sent a mailDavid Baker2016-04-291-0/+1
|
* Send mail notifs with a plaintext part tooDavid Baker2016-04-291-7/+20
|
* Add an email pusher for new usersDavid Baker2016-04-291-0/+1
| | | | If they registered with an email address and email notifs are enabled on the HS
* Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-04-292-1/+5
|\
| * Optionally split out the pushers into a separate processMark Haines2016-04-212-1/+5
| |
* | May as well always include room linkDavid Baker2016-04-281-4/+3
| |
* | Put back real delay before mailingDavid Baker2016-04-281-1/+1
| |
* | Support file messages & fix plain textDavid Baker2016-04-281-2/+3
| |
* | Support image notifsDavid Baker2016-04-281-11/+25
| |
* | pep8David Baker2016-04-281-2/+5
| |
* | Only import email pusher if email notifs are onDavid Baker2016-04-281-6/+8
| |
* | Handle room invites in email notifsDavid Baker2016-04-281-5/+30
| |
* | Linkify plain text messages tooDavid Baker2016-04-281-1/+12
| |
* | Run filter_events_for_clientDavid Baker2016-04-271-7/+11
| | | | | | | | so we don't accidentally mail out events people shouldn't see
* | Make html messages workDavid Baker2016-04-271-10/+21
| |
* | Better grammar for multiple messages in a roomDavid Baker2016-04-272-10/+33
| | | | | | | | Say who the messages are from if there's no room name, otherwise it's a bit nonsensical
* | Hopefully all remaining bits for email notifsDavid Baker2016-04-271-22/+144
| | | | | | | | Add public facing base url to the server so synapse knows what URL to use when converting mxc to http urls for use in emails
* | More variable calculation for email notifsDavid Baker2016-04-251-2/+55
| | | | | | | | Include name of the person we're sending to and add summary text at the top giving an overview of what's happened.
* | Actually do UTF8 correctlyDavid Baker2016-04-221-1/+1
| |
* | 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.