diff options
author | Erik Johnston <erik@matrix.org> | 2019-06-17 13:54:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-17 13:54:35 +0100 |
commit | dd927b29e1562e82ee4b90056a91dafbccf57103 (patch) | |
tree | c5a9bebeb732e47b95a25dcf5b13a7255560d6a3 /synapse/push/emailpusher.py | |
parent | Merge pull request #5389 from matrix-org/erikj/renew_attestations_on_master (diff) | |
parent | Newsfile (diff) | |
download | synapse-dd927b29e1562e82ee4b90056a91dafbccf57103.tar.xz |
Merge pull request #5388 from matrix-org/erikj/fix_email_push
Fix email notifications for unnamed rooms with multiple people
Diffstat (limited to 'synapse/push/emailpusher.py')
-rw-r--r-- | synapse/push/emailpusher.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/synapse/push/emailpusher.py b/synapse/push/emailpusher.py index e8ee67401f..c89a8438a9 100644 --- a/synapse/push/emailpusher.py +++ b/synapse/push/emailpusher.py @@ -114,6 +114,21 @@ class EmailPusher(object): run_as_background_process("emailpush.process", self._process) + def _pause_processing(self): + """Used by tests to temporarily pause processing of events. + + Asserts that its not currently processing. + """ + assert not self._is_processing + self._is_processing = True + + def _resume_processing(self): + """Used by tests to resume processing of events after pausing. + """ + assert self._is_processing + self._is_processing = False + self._start_processing() + @defer.inlineCallbacks def _process(self): # we should never get here if we are already processing @@ -215,6 +230,10 @@ class EmailPusher(object): @defer.inlineCallbacks def save_last_stream_ordering_and_success(self, last_stream_ordering): + if last_stream_ordering is None: + # This happens if we haven't yet processed anything + return + self.last_stream_ordering = last_stream_ordering yield self.store.update_pusher_last_stream_ordering_and_success( self.app_id, self.email, self.user_id, |