summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Pollan <meskio@sindominio.net>2015-09-24 11:48:04 +0200
committerRuben Pollan <meskio@sindominio.net>2015-09-24 11:48:04 +0200
commite2ce3d095549e4fd06c104a305a3b698d0c45187 (patch)
tree22a9351e34859d78956df038edcc7837a16eb04b
parent1b8e9f5d6df6aedd3566069d9d27adc1d8ad771d (diff)
[bug] signal expired auth token to the GUI
In case of InvalidAuthTokeError from soledad sync we need signal the GUI, so it will request her to log in again. - Resolves: #7430
-rw-r--r--changes/bug-7430_signal_InvalidAuthTokenError1
-rw-r--r--src/leap/mail/incoming/service.py16
2 files changed, 9 insertions, 8 deletions
diff --git a/changes/bug-7430_signal_InvalidAuthTokenError b/changes/bug-7430_signal_InvalidAuthTokenError
new file mode 100644
index 0000000..cf805ba
--- /dev/null
+++ b/changes/bug-7430_signal_InvalidAuthTokenError
@@ -0,0 +1 @@
+- If the auth token has expired signal the GUI to request her to log in again (Closes: #7430)
diff --git a/src/leap/mail/incoming/service.py b/src/leap/mail/incoming/service.py
index d554c51..d8b91ba 100644
--- a/src/leap/mail/incoming/service.py
+++ b/src/leap/mail/incoming/service.py
@@ -228,18 +228,18 @@ class IncomingMail(Service):
def _log_synced(result):
log.msg('FETCH soledad SYNCED.')
return result
- try:
- log.msg('FETCH: syncing soledad...')
- d = self._soledad.sync()
- d.addCallback(_log_synced)
- return d
- # TODO is this still raised? or should we do failure.trap
- # instead?
- except InvalidAuthTokenError:
+
+ def _signal_invalid_auth(failure):
+ failure.trap(InvalidAuthTokenError)
# if the token is invalid, send an event so the GUI can
# disable mail and show an error message.
emit_async(catalog.SOLEDAD_INVALID_AUTH_TOKEN)
+ log.msg('FETCH: syncing soledad...')
+ d = self._soledad.sync()
+ d.addCallbacks(_log_synced, _signal_invalid_auth)
+ return d
+
def _signal_fetch_to_ui(self, doclist):
"""
Send leap events to ui.