Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix start_pushers vs _start_pushers confusion | Richard van der Hoff | 2018-10-24 | 1 | -3/+3 |
| | |||||
* | sanity-check the is_processing flag | Richard van der Hoff | 2018-10-24 | 2 | -8/+14 |
| | | | | ... and rename it, for even more sanity | ||||
* | Run PusherPool.start as a background process | Richard van der Hoff | 2018-10-22 | 1 | -5/+7 |
| | | | | | We don't do anything with the result, so this is needed to give this code a logcontext. | ||||
* | Make on_started synchronous too | Richard van der Hoff | 2018-10-22 | 3 | -11/+21 |
| | | | | | | This brings it into line with on_new_notifications and on_new_receipts. It requires a little bit of hoop-jumping in EmailPusher to load the throttle params before the first loop. | ||||
* | Remove redundant run_as_background_process() from pusherpool | Richard van der Hoff | 2018-10-22 | 3 | -44/+8 |
| | | | | | | | `on_new_notifications` and `on_new_receipts` in `HttpPusher` and `EmailPusher` now always return synchronously, so we can remove the `defer.gatherResults` on their results, and the `run_as_background_process` wrappers can be removed too because the PusherPool methods will now complete quickly enough. | ||||
* | Give pushers their own background logcontext | Richard van der Hoff | 2018-10-22 | 2 | -58/+54 |
| | | | | | | | | Each pusher has its own loop which runs for as long as it has work to do. This should run in its own background thread with its own logcontext, as other similar loops elsewhere in the system do - which means that CPU usage is consistently attributed to that loop, rather than to whatever request happened to start the loop. | ||||
* | move get_all_pushers call down | Richard van der Hoff | 2018-10-22 | 1 | -3/+9 |
| | | | | simplifies the interface to _start_pushers | ||||
* | Factor PusherPool._start_pusher out of _start_pushers | Richard van der Hoff | 2018-10-22 | 1 | -18/+33 |
| | | | | | ... and use it from start_pusher_by_id. This mostly simplifies start_pusher_by_id. | ||||
* | Rename _refresh_pusher | Richard van der Hoff | 2018-10-22 | 1 | -2/+3 |
| | | | | | This is public (or at least, called from outside the class), so ought to have a better name. | ||||
* | Calculate absolute path for email templates | Richard van der Hoff | 2018-10-19 | 1 | -6/+2 |
| | |||||
* | Ship the email templates as package_data | Richard van der Hoff | 2018-10-17 | 1 | -1/+4 |
| | | | | | | | | | | move the example email templates into the synapse package so that they can be used as package data, which should mean that all of the packaging mechanisms (pip, docker, debian, arch, etc) should now come with the example templates. In order to grandfather in people who relied on the templates being in the old place, check for that situation and fall back to using the defaults if the templates directory does not exist. | ||||
* | fix link for case that config.email_riot_base_url is set | Neil Johnson | 2018-09-13 | 1 | -1/+1 |
| | |||||
* | merge (#3576) | Amber Brown | 2018-09-14 | 2 | -4/+10 |
| | |||||
* | Fix logcontexts for running pushers | Richard van der Hoff | 2018-08-17 | 1 | -2/+15 |
| | | | | | | | First of all, avoid resetting the logcontext before running the pushers, to fix the "Starting db txn 'get_all_updated_receipts' from sentinel context" warning. Instead, give them their own "background process" logcontexts. | ||||
* | Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678) | Amber Brown | 2018-08-10 | 2 | -2/+2 |
| | |||||
* | Use new getters | Erik Johnston | 2018-07-23 | 1 | -3/+4 |
| | |||||
* | run isort | Amber Brown | 2018-07-09 | 11 | -48/+48 |
| | |||||
* | Remove all global reactor imports & pass it around explicitly (#3424) | Amber Brown | 2018-06-25 | 2 | -4/+6 |
| | |||||
* | Remove run_on_reactor (#3395) | Amber Brown | 2018-06-14 | 1 | -3/+0 |
| | |||||
* | Consistently use six's iteritems and wrap lazy keys/values in list() if ↵ | Amber Brown | 2018-05-31 | 3 | -3/+4 |
| | | | | they're not meant to be lazy (#3307) | ||||
* | Merge remote-tracking branch 'origin/develop' into 3218-official-prom | Amber Brown | 2018-05-28 | 2 | -7/+10 |
|\ | |||||
| * | Merge pull request #3244 from NotAFile/py3-six-4 | Amber Brown | 2018-05-24 | 1 | -6/+7 |
| |\ | | | | | | | replace some iteritems with six | ||||
| | * | replace some iteritems with six | Adrian Tschira | 2018-05-19 | 1 | -6/+7 |
| | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
| * | | Replace some more comparisons with six | Adrian Tschira | 2018-05-19 | 1 | -1/+3 |
| |/ | | | | | | | | | | | plus a bonus b"" string I missed last time Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | fixes | Amber Brown | 2018-05-23 | 1 | -2/+2 |
| | | |||||
* | | cleanup | Amber Brown | 2018-05-22 | 1 | -2/+4 |
| | | |||||
* | | fixes | Amber Brown | 2018-05-22 | 1 | -2/+2 |
| | | |||||
* | | rest of the changes | Amber Brown | 2018-05-21 | 1 | -17/+11 |
| | | |||||
* | | replacing portions | Amber Brown | 2018-05-21 | 2 | -10/+5 |
|/ | |||||
* | Merge pull request #3152 from NotAFile/py3-local-imports | Richard van der Hoff | 2018-04-30 | 2 | -3/+3 |
|\ | | | | | make imports local | ||||
| * | make imports local | Adrian Tschira | 2018-04-28 | 2 | -3/+3 |
| | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | Merge remote-tracking branch 'origin/develop' into rav/use_run_in_background | Richard van der Hoff | 2018-04-27 | 3 | -7/+17 |
|\| | |||||
| * | Merge pull request #3138 from matrix-org/rav/catch_unhandled_exceptions | Richard van der Hoff | 2018-04-27 | 2 | -5/+11 |
| |\ | | | | | | | Improve exception handling for background processes | ||||
| | * | Improve exception handling for background processes | Richard van der Hoff | 2018-04-27 | 2 | -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 consumeErrors | Richard van der Hoff | 2018-04-27 | 1 | -2/+6 |
| |/ | | | | | | | | | In general we want defer.gatherResults to consumeErrors, rather than having exceptions hanging around and getting logged as CRITICAL unhandled errors. | ||||
* / | Use run_in_background in preference to preserve_fn | Richard van der Hoff | 2018-04-27 | 1 | -8/+12 |
|/ | | | | | | 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. | ||||
* | Update comments | Erik Johnston | 2018-02-21 | 1 | -3/+4 |
| | |||||
* | Batch inserts into event_push_actions_staging | Erik Johnston | 2018-02-20 | 1 | -6/+9 |
| | |||||
* | Comments | Erik Johnston | 2018-02-16 | 1 | -0/+3 |
| | |||||
* | Remove context.push_actions | Erik Johnston | 2018-02-15 | 2 | -11/+4 |
| | |||||
* | Store push actions in staging area | Erik Johnston | 2018-02-15 | 1 | -0/+3 |
| | |||||
* | Better logging when pushes fail | Richard van der Hoff | 2018-01-29 | 1 | -2/+8 |
| | |||||
* | add appid/device_display_name to to pusher logging | Richard van der Hoff | 2018-01-29 | 1 | -2/+2 |
| | |||||
* | Fix logging and add user_id | Richard van der Hoff | 2018-01-22 | 1 | -2/+3 |
| | |||||
* | logging and debug for http pusher | Richard van der Hoff | 2018-01-22 | 1 | -4/+20 |
| | |||||
* | Remove pushers when deleting access tokens | Richard van der Hoff | 2017-11-29 | 1 | -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_funcs | Richard van der Hoff | 2017-11-15 | 1 | -3/+3 |
|\ | | | | | Remove preserve_context_over_{fn, deferred} | ||||
| * | Remove preserve_context_over_{fn, deferred} | Richard van der Hoff | 2017-11-14 | 1 | -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_content | David Baker | 2017-11-08 | 1 | -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 Hoff | 2017-10-23 | 4 | -8/+8 |
| | | | | what could possibly go wrong | ||||
* | Omit the *s for @room notifications | David Baker | 2017-10-16 | 1 | -1/+1 |
| | | | | They're just redundant | ||||
* | pep8 | David Baker | 2017-10-10 | 2 | -3/+5 |
| | |||||
* | Don't KeyError if no power_levels event | David Baker | 2017-10-10 | 1 | -1/+3 |
| | |||||
* | Use notification levels in power_levels | David Baker | 2017-10-10 | 3 | -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 this | David Baker | 2017-10-10 | 1 | -3/+4 |
| | | | | also update copyright | ||||
* | More optimisation | David Baker | 2017-10-10 | 1 | -6/+9 |
| | |||||
* | What year is it!? Who's the president!? | David Baker | 2017-10-10 | 1 | -1/+1 |
| | |||||
* | Make be faster | David Baker | 2017-10-05 | 1 | -3/+3 |
| | |||||
* | Add fastpath optimisation | David Baker | 2017-10-05 | 1 | -3/+9 |
| | |||||
* | pep8 | David Baker | 2017-10-05 | 1 | -0/+3 |
| | |||||
* | They're called rooms | David Baker | 2017-10-05 | 1 | -4/+4 |
| | |||||
* | Get rule type right | David Baker | 2017-10-05 | 1 | -1/+1 |
| | |||||
* | Support for channel notifications | David Baker | 2017-10-05 | 3 | -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 searching | David Baker | 2017-10-05 | 1 | -11/+3 |
| | | | | From https://github.com/matrix-org/matrix-js-sdk/commit/ebc95667b8a5777d13e5d3c679972bedae022fd5 | ||||
* | pep8 | David Baker | 2017-10-05 | 1 | -0/+1 |
| | |||||
* | Fix notif kws that start/end with non-word chars | David Baker | 2017-10-05 | 1 | -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_id | David Baker | 2017-09-18 | 1 | -0/+1 |
| | | | | as really it's part of the event ID | ||||
* | Use .get - it's much shorter | David Baker | 2017-09-18 | 1 | -1/+1 |
| | |||||
* | Add support for event_id_only push format | David Baker | 2017-09-18 | 1 | -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 push | Erik Johnston | 2017-07-14 | 1 | -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 evaluation | Erik Johnston | 2017-07-13 | 1 | -2/+42 |
| | |||||
* | Push: Don't acquire lock unless necessary | Erik Johnston | 2017-07-13 | 1 | -0/+4 |
| | |||||
* | Perf: Don't filter events for push | Erik Johnston | 2017-07-07 | 1 | -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_pushes | Richard van der Hoff | 2017-07-05 | 1 | -1/+3 |
|\ | | | | | Fix caching error in the push evaluator | ||||
| * | Fix caching error in the push evaluator | Richard van der Hoff | 2017-07-05 | 1 | -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 #2301 | Caleb James DeLisle | 2017-06-23 | 1 | -1/+1 |
| | | |||||
* | | Add configuration parameter to allow redaction of content from push messages ↵ | Caleb James DeLisle | 2017-06-23 | 1 | -1/+1 |
|/ | | | | for google/apple devices | ||||
* | Fix typo when getting app name | Erik Johnston | 2017-06-06 | 1 | -1/+1 |
| | |||||
* | Fix wrong number of arguments | Erik Johnston | 2017-06-06 | 1 | -1/+1 |
| | |||||
* | Only load jinja2 templates once | Erik Johnston | 2017-05-22 | 4 | -60/+105 |
| | | | | | Instead of every time a new email pusher is created, as loading jinja2 templates is slow. | ||||
* | Comment | Erik Johnston | 2017-05-22 | 1 | -0/+2 |
| | |||||
* | Remove spurious log level guards | Erik Johnston | 2017-05-22 | 1 | -6/+3 |
| | |||||
* | Check if current event is a membership event | Erik Johnston | 2017-05-22 | 1 | -4/+9 |
| | |||||
* | Add debug logging | Erik Johnston | 2017-05-22 | 1 | -0/+24 |
| | |||||
* | Comment | Erik Johnston | 2017-05-22 | 1 | -1/+4 |
| | |||||
* | Use tuple unpacking | Erik Johnston | 2017-05-22 | 1 | -2/+2 |
| | |||||
* | Speed up calculating push rules | Erik Johnston | 2017-05-19 | 1 | -8/+19 |
| | |||||
* | Move invalidation cb to its own structure | Erik Johnston | 2017-05-19 | 1 | -6/+15 |
| | |||||
* | Store ActionGenerator in HomeServer | Erik Johnston | 2017-05-19 | 2 | -2/+2 |
| | |||||
* | Don't push users who have left | Erik Johnston | 2017-05-18 | 1 | -1/+4 |
| | |||||
* | Make get_if_app_services_interested_in_user faster | Erik Johnston | 2017-05-18 | 1 | -3/+1 |
| | |||||
* | Remove size of push get_rules cache | Erik Johnston | 2017-05-18 | 1 | -1/+1 |
| | |||||
* | Add comment | Erik Johnston | 2017-05-18 | 1 | -0/+3 |
| | |||||
* | Faster push rule calculation via push specific cache | Erik Johnston | 2017-05-17 | 2 | -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 Johnston | 2017-05-08 | 1 | -8/+19 |
| | | | | This reverts commit 421fdf74609439edaaffce117436e6a6df147841. | ||||
* | Speed up filtering of a single event in push | Erik Johnston | 2017-04-28 | 1 | -19/+8 |
| | |||||
* | fix up | Erik Johnston | 2017-04-25 | 1 | -1/+2 |
| | |||||
* | Don't specify default as dict | Erik Johnston | 2017-04-25 | 1 | -1/+1 |
| | |||||
* | Reduce size of joined_user cache | Erik Johnston | 2017-04-25 | 1 | -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 SMTP | Daniel Dent | 2017-04-05 | 1 | -1/+5 |
| | | | | | | Closes (SYN-714) #1385 Signed-off-by: Daniel Dent <matrixcontrib@contactdaniel.net> | ||||
* | Merge pull request #2075 from matrix-org/erikj/cache_speed | Erik Johnston | 2017-03-31 | 1 | -5/+2 |
|\ | | | | | Speed up cached function access | ||||
| * | Don't convert to deferreds when not necessary | Erik Johnston | 2017-03-30 | 1 | -5/+2 |
| | | |||||
* | | Cache glob to regex at a higher level for push | Erik Johnston | 2017-03-29 | 1 | -47/+57 |
|/ | |||||
* | Don't recreate so many sets | Erik Johnston | 2017-03-16 | 1 | -4/+4 |
| | |||||
* | Get current state by using current_state_events table | Erik Johnston | 2017-03-10 | 1 | -1/+1 |
| | |||||
* | Ensure we pass positive ints to delay function | Erik Johnston | 2017-02-22 | 1 | -1/+2 |
| | |||||
* | Fix email push in pusher worker | Erik Johnston | 2017-02-02 | 1 | -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-urls | David Baker | 2017-01-18 | 1 | -6/+14 |
|\ | | | | | Allow configuring the Riot URL used in notification emails | ||||
| * | Allow configuring the Riot URL used in notification emails | Adrian Perez de Castro | 2017-01-13 | 1 | -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 push | Erik Johnston | 2017-01-17 | 1 | -1/+1 |
|/ | |||||
* | Add /room/<room_id>/joined_members API | Erik Johnston | 2016-12-08 | 1 | -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 message | Erik Johnston | 2016-10-18 | 1 | -1/+1 |
| | |||||
* | Reduce redundant database work in email pusher | Erik Johnston | 2016-10-18 | 1 | -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 dropped | Erik Johnston | 2016-10-13 | 1 | -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 conditions | Erik Johnston | 2016-09-19 | 1 | -2/+2 |
| | |||||
* | proposal for notifying on e2e events | Matthew Hodgson | 2016-09-17 | 1 | -0/+49 |
| | |||||
* | Ensure we don't mutate the cache of push rules | Erik Johnston | 2016-09-15 | 1 | -9/+1 |
| | |||||
* | Make bulk_get_push_rules_for_room use get_joined_users_from_context cache | Erik Johnston | 2016-09-05 | 1 | -1/+1 |
| | |||||
* | Merge pull request #1060 from matrix-org/erikj/state_ids | Erik Johnston | 2016-09-01 | 1 | -1/+1 |
|\ | | | | | Assign state groups in state handler. | ||||
| * | Correctly handle the difference between prev and current state | Erik Johnston | 2016-08-31 | 1 | -1/+1 |
| | | |||||
* | | Fix email notifs by adding missing param | Erik Johnston | 2016-08-30 | 1 | -1/+1 |
|/ | |||||
* | Fix push room names for rooms with only an alias | Erik Johnston | 2016-08-30 | 1 | -1/+1 |
| | |||||
* | Use state handler instead of get_users_in_room/get_joined_hosts | Erik Johnston | 2016-08-26 | 1 | -1/+1 |
| | |||||
* | Fix room name in email notifs | Erik Johnston | 2016-08-26 | 1 | -19/+20 |
| | |||||
* | Typo | Erik Johnston | 2016-08-26 | 1 | -1/+0 |
| | |||||
* | Fix up push to use get_current_state_ids | Erik Johnston | 2016-08-25 | 4 | -20/+226 |
| | |||||
* | Replace context.current_state with context.current_state_ids | Erik Johnston | 2016-08-25 | 2 | -19/+17 |
| | |||||
* | Preserve some logcontexts | Erik Johnston | 2016-08-24 | 2 | -9/+12 |
| | |||||
* | Move _bulk_get_push_rules_for_room to storage layer | Erik Johnston | 2016-08-19 | 2 | -34/+9 |
| | |||||
* | Make push Measure finer grained | Erik Johnston | 2016-08-17 | 1 | -4/+5 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into ↵ | David Baker | 2016-08-16 | 1 | -4/+4 |
|\ | | | | | | | dbkr/contains_display_name_override | ||||
| * | Refactor user_delete_access_tokens. Invalidate get_user_by_access_token to ↵ | Erik Johnston | 2016-08-15 | 1 | -4/+4 |
| | | | | | | | | slaves. | ||||
* | | s/underride/override/ in the rule_id too | David Baker | 2016-08-16 | 1 | -1/+1 |
| | | |||||
* | | Move display name rule | David Baker | 2016-08-15 | 1 | -16/+20 |
|/ | | | | As per https://github.com/matrix-org/matrix-doc/pull/373 and comment | ||||
* | Ignore AlreadyCalled errors on timer cancel | Erik Johnston | 2016-07-31 | 2 | -3/+16 |
| | |||||
* | Create separate methods for getting messages to push | Mark Haines | 2016-07-28 | 2 | -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. | ||||
* | Typo | David Baker | 2016-07-28 | 1 | -1/+1 |
| | |||||
* | even more pep8 | David Baker | 2016-06-24 | 1 | -0/+1 |
| | |||||
* | Use similar naming we use in email notifs for push | David Baker | 2016-06-24 | 2 | -20/+22 |
| | | | | Fixes https://github.com/vector-im/vector-web/issues/1654 | ||||
* | Fix ``KeyError: 'msgtype'``. Use ``.get`` | Mark Haines | 2016-06-17 | 1 | -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 Haines | 2016-06-07 | 2 | -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 above | David Baker | 2016-06-03 | 1 | -3/+1 |
| | |||||
* | Oops, we're using the dict form | David Baker | 2016-06-03 | 1 | -1/+3 |
| | |||||
* | Add substitutions to email notif From | David Baker | 2016-06-03 | 1 | -1/+1 |
| | |||||
* | Merge branch 'develop' into matthew/brand-from-header | Matthew Hodgson | 2016-06-03 | 5 | -61/+67 |
|\ | |||||
| * | Load push rules in storage layer, so that they get cached | Erik Johnston | 2016-06-03 | 2 | -36/+22 |
| | | |||||
| * | Remove unnecessary sets | Erik Johnston | 2016-06-03 | 1 | -6/+3 |
| | | |||||
| * | Only get local users | Erik Johnston | 2016-06-03 | 1 | -2/+5 |
| | | |||||
| * | Merge pull request #811 from matrix-org/erikj/state_users_in_room | Erik Johnston | 2016-06-03 | 2 | -11/+18 |
| |\ | | | | | | | Use state to calculate get_users_in_room | ||||
| | * | Use state to calculate get_users_in_room | Erik Johnston | 2016-06-01 | 2 | -11/+18 |
| | | | |||||
| * | | Merge pull request #809 from matrix-org/erikj/cache_receipts_in_room | Erik Johnston | 2016-06-03 | 1 | -4/+4 |
| |\| | | | | | | | Add get_users_with_read_receipts_in_room cache | ||||
| | * | Add get_users_with_read_receipts_in_room cache | Erik Johnston | 2016-06-01 | 1 | -4/+4 |
| | | | |||||
| * | | Merge pull request #821 from matrix-org/dbkr/email_unsubscribe | David Baker | 2016-06-02 | 2 | -6/+19 |
| |\ \ | | | | | | | | | Email unsubscribe links that don't require logging in | ||||
| | * | | peppate | David Baker | 2016-06-02 | 1 | -1/+3 |
| | | | | |||||
| | * | | Working unsubscribe links going straight to the HS | David Baker | 2016-06-02 | 1 | -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 Baker | 2016-06-02 | 1 | -1/+1 |
| | |\ \ | | | | | | | | | | | | | | | | dbkr/email_unsubscribe | ||||
| | * \ \ | Merge remote-tracking branch 'origin/develop' into dbkr/email_unsubscribe | David Baker | 2016-06-02 | 2 | -4/+10 |
| | |\ \ \ | |||||
| | * \ \ \ | Merge branch 'dbkr/split_out_auth_handler' into dbkr/email_unsubscribe | David Baker | 2016-06-02 | 1 | -0/+2 |
| | |\ \ \ \ | |||||
| | * | | | | | Email unsubscribing that may in theory, work | David Baker | 2016-06-02 | 2 | -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_error | David Baker | 2016-06-02 | 1 | -1/+1 |
| |\ \ \ \ \ | | | |_|_|/ | | |/| | | | Fix error in email notification string formatting | ||||
| | * | | | | Fix error in email notification string formatting | David Baker | 2016-06-02 | 1 | -1/+1 |
| | | |_|/ | | |/| | | |||||
* | / | | | brand the email from header | Matthew Hodgson | 2016-06-02 | 1 | -1/+8 |
|/ / / / | |||||
* / / / | add some branding debugging | Matthew Hodgson | 2016-06-02 | 1 | -0/+1 |
|/ / / | |||||
* | | | Disable INCLUDE_ALL_UNREAD_NOTIFS | Erik Johnston | 2016-06-02 | 1 | -1/+2 |
| | | | |||||
* | | | if an email pusher specifies a brand param, use it | Matthew Hodgson | 2016-06-02 | 2 | -3/+8 |
| |/ |/| | |||||
* | | Use user_id in email greeting if display name is null | David Baker | 2016-06-02 | 1 | -0/+2 |
|/ | |||||
* | Add caches to bulk_get_push_rules* | Erik Johnston | 2016-05-31 | 1 | -3/+5 |
| | |||||
* | Check for presence of 'avatar_url' key | David Baker | 2016-05-24 | 1 | -1/+3 |
| | |||||
* | fix NPE in room ordering | Matthew Hodgson | 2016-05-23 | 1 | -2/+2 |
| | |||||
* | consistency is the better part of valour | Matthew Hodgson | 2016-05-23 | 1 | -1/+1 |
| | |||||
* | Tune email notifs to make them quieter: | Matthew Hodgson | 2016-05-23 | 2 | -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-convo | Matthew Hodgson | 2016-05-18 | 1 | -1/+3 |
|\ | | | | | increment badge count per missed convo, not per msg | ||||
| * | increment badge count per missed convo, not per msg | Matthew Hodgson | 2016-05-18 | 1 | -1/+3 |
| | | |||||
* | | Merge pull request #786 from matrix-org/matthew/email_notifs_tuning | Matthew Hodgson | 2016-05-17 | 2 | -9/+30 |
|\| | | | | | tune email notifs, fix CSS a bit, and add debugging details | ||||
| * | tune email notifs, fix CSS a bit, and add debugging details | Matthew Hodgson | 2016-05-16 | 2 | -9/+30 |
| | | |||||
* | | Fix emailpusher import | David Baker | 2016-05-16 | 1 | -1/+11 |
|/ | | | | Try importing at the root level rather than conditionally importing, as per comment | ||||
* | fix matrix.to URLs | Matthew Hodgson | 2016-05-13 | 1 | -2/+2 |
| | |||||
* | Make email notifs work on the pusher synapse | David Baker | 2016-05-13 | 1 | -0/+1 |
| | | | | Plus general bugfix to email notif code | ||||
* | move filter_events_for_client out of base handler | Mark Haines | 2016-05-11 | 3 | -8/+9 |
| | |||||
* | Make pep8 happy | David Baker | 2016-05-10 | 1 | -1/+1 |
| | |||||
* | Switch from CSS to Table layout for HTML mails so they work in Outlook ↵ | Matthew Hodgson | 2016-05-10 | 1 | -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 lines | Matthew Hodgson | 2016-05-05 | 1 | -1/+1 |
| | |||||
* | fix layout; handle app naming in synapse, not jinja | Matthew Hodgson | 2016-05-05 | 1 | -16/+31 |
| | |||||
* | pep8 | Matthew Hodgson | 2016-05-05 | 1 | -2/+4 |
| | |||||
* | handle fragments correctly on mxc URLs. | Matthew Hodgson | 2016-05-05 | 1 | -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 path | Matthew Hodgson | 2016-05-05 | 1 | -1/+1 |
| | |||||
* | Include no context | David Baker | 2016-05-04 | 1 | -1/+1 |
| | | | | until we can de-dup between the context and other notifs | ||||
* | Add date header & message id | David Baker | 2016-05-04 | 1 | -0/+2 |
| | |||||
* | pep8 | David Baker | 2016-05-04 | 1 | -0/+1 |
| | |||||
* | copyright | Matthew Hodgson | 2016-05-04 | 1 | -0/+22 |
| | |||||
* | Unused import | David Baker | 2016-05-04 | 1 | -1/+0 |
| | |||||
* | Catch all exceptions when creating a pusher | David Baker | 2016-05-04 | 1 | -2/+2 |
| | |||||
* | Add constant for throttle multiplier | David Baker | 2016-04-29 | 1 | -1/+2 |
| | |||||
* | Remove unused function | David Baker | 2016-04-29 | 1 | -4/+0 |
| | |||||
* | Remove unused arg | David Baker | 2016-04-29 | 1 | -2/+2 |
| | |||||
* | Use the constant | David Baker | 2016-04-29 | 1 | -1/+2 |
| | |||||
* | Avoid `vars` builtin | David Baker | 2016-04-29 | 1 | -15/+15 |
| | |||||
* | Use named parameter format | David Baker | 2016-04-29 | 1 | -14/+22 |
| | |||||
* | pep8 | David Baker | 2016-04-29 | 1 | -1/+0 |
| | |||||
* | Remove rather pointless get function | David Baker | 2016-04-29 | 1 | -9/+1 |
| | |||||
* | Stop processing notifs once we've sent a mail | David Baker | 2016-04-29 | 1 | -0/+1 |
| | |||||
* | Send mail notifs with a plaintext part too | David Baker | 2016-04-29 | 1 | -7/+20 |
| | |||||
* | Add an email pusher for new users | David Baker | 2016-04-29 | 1 | -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_notifs | David Baker | 2016-04-29 | 2 | -1/+5 |
|\ | |||||
| * | Optionally split out the pushers into a separate process | Mark Haines | 2016-04-21 | 2 | -1/+5 |
| | | |||||
* | | May as well always include room link | David Baker | 2016-04-28 | 1 | -4/+3 |
| | | |||||
* | | Put back real delay before mailing | David Baker | 2016-04-28 | 1 | -1/+1 |
| | | |||||
* | | Support file messages & fix plain text | David Baker | 2016-04-28 | 1 | -2/+3 |
| | | |||||
* | | Support image notifs | David Baker | 2016-04-28 | 1 | -11/+25 |
| | | |||||
* | | pep8 | David Baker | 2016-04-28 | 1 | -2/+5 |
| | | |||||
* | | Only import email pusher if email notifs are on | David Baker | 2016-04-28 | 1 | -6/+8 |
| | | |||||
* | | Handle room invites in email notifs | David Baker | 2016-04-28 | 1 | -5/+30 |
| | | |||||
* | | Linkify plain text messages too | David Baker | 2016-04-28 | 1 | -1/+12 |
| | | |||||
* | | Run filter_events_for_client | David Baker | 2016-04-27 | 1 | -7/+11 |
| | | | | | | | | so we don't accidentally mail out events people shouldn't see | ||||
* | | Make html messages work | David Baker | 2016-04-27 | 1 | -10/+21 |
| | | |||||
* | | Better grammar for multiple messages in a room | David Baker | 2016-04-27 | 2 | -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 notifs | David Baker | 2016-04-27 | 1 | -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 notifs | David Baker | 2016-04-25 | 1 | -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 correctly | David Baker | 2016-04-22 | 1 | -1/+1 |
| | | |||||
* | | Mime part is binary so encode it first. | David Baker | 2016-04-22 | 1 | -1/+1 |
| | | | | | | | | Doesn't get character enocind right yet but makes it not error. | ||||
* | | No inlineCallbacks necessary on this | David Baker | 2016-04-22 | 1 | -1/+0 |
| | | |||||
* | | Flesh out email templating | David Baker | 2016-04-21 | 2 | -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 template | David Baker | 2016-04-20 | 2 | -21/+21 |
| | | |||||
* | | more pep8 | David Baker | 2016-04-20 | 1 | -1/+1 |
| | | |||||
* | | Send a rather basic email notif | David Baker | 2016-04-20 | 2 | -9/+71 |
| | | | | | | | | Also pep8 fixes | ||||
* | | Add single instance & logging stuff | David Baker | 2016-04-19 | 1 | -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 emailpusher | David Baker | 2016-04-19 | 2 | -1/+217 |
|/ | | | | Mostly logic of when to send an email | ||||
* | Measure push action generator | Erik Johnston | 2016-04-14 | 1 | -11/+15 |
| | |||||
* | Merge pull request #725 from matrix-org/dbkr/push_only_joined | Erik Johnston | 2016-04-14 | 1 | -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 room | David Baker | 2016-04-14 | 1 | -1/+13 |
| | | |||||
* | | Add missing yield | Erik Johnston | 2016-04-14 | 1 | -1/+1 |
| | | |||||
* | | Rename log context | Erik Johnston | 2016-04-14 | 1 | -1/+1 |
| | | |||||
* | | Make send_badge private | Erik Johnston | 2016-04-14 | 1 | -2/+2 |
| | | |||||
* | | Add necessary logging contexts | Erik Johnston | 2016-04-14 | 1 | -24/+25 |
| | | |||||
* | | Add extra Measure | Erik Johnston | 2016-04-14 | 1 | -14/+16 |
|/ | |||||
* | Unused member variable | David Baker | 2016-04-12 | 1 | -1/+0 |
| | |||||
* | Fix the rule_id for .m.rule.invite_for_me (#715) | Mark Haines | 2016-04-11 | 1 | -1/+1 |
| | |||||
* | Run unsafe proces in a loop until we've caught up | David Baker | 2016-04-11 | 1 | -4/+11 |
| | | | | and wrap unsafe process in a try block | ||||
* | Actually check if we;re processing | David Baker | 2016-04-08 | 1 | -0/+2 |
| | |||||
* | Fix invite pushes | David Baker | 2016-04-08 | 3 | -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 increases | David Baker | 2016-04-08 | 1 | -1/+1 |
| | |||||
* | Unsafe process should call itself if the max has changed | David Baker | 2016-04-08 | 1 | -0/+3 |
| | |||||
* | Comment why unsafe process is unsafe | David Baker | 2016-04-08 | 1 | -0/+5 |
| | |||||
* | Only pass in what we need | David Baker | 2016-04-07 | 2 | -11/+13 |
| | |||||
* | Wrap process in a flag so we don't process whist already processing. | David Baker | 2016-04-07 | 1 | -0/+9 |
| | |||||
* | indenting | David Baker | 2016-04-07 | 1 | -1/+1 |
| | |||||
* | defer.gatherResults rather than doing all the pokes in series | David Baker | 2016-04-07 | 1 | -2/+16 |
| | |||||
* | Add measure blocks | David Baker | 2016-04-07 | 1 | -5/+10 |
| | |||||
* | Add comments on min_stream_id | David Baker | 2016-04-07 | 1 | -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 elsewhere | David Baker | 2016-04-07 | 3 | -454/+9 |
| |