summaryrefslogtreecommitdiff
path: root/chrome/content/accountWizard/bitmaskMessengerOverlay.js
diff options
context:
space:
mode:
authorSukhbir Singh <sukhbir@torproject.org>2018-02-27 11:30:54 -0500
committerSukhbir Singh <sukhbir@torproject.org>2018-03-01 17:21:01 -0500
commit0d04d39353556fe6ba7c72592f949c984c67fc94 (patch)
tree012e805f6716ed4fe576f494be9dc3b5550ebb59 /chrome/content/accountWizard/bitmaskMessengerOverlay.js
parent89d99387f7b72b5f629266c61c733974014cfdea (diff)
[feat] Display notification to manually fetch messages if Bitmask is shut down
If Bitmask is shut down and Thunderbird is still running, notify the user using an alert to refresh the session by manually fetching messages ("Get new messages"). Otherwise if Bitmask has shut down and Thunderbird tries to fetch messages, it will throw up an error and to refresh the session, the user has to manually fetch the messages. There can be better ways of handling this but for now we should just make sure that the user knows why the messages are not being fetched in case Bitmask stops running or is shut down. Another solution can be to check for messages automatically for the user after Bitmask is running to refresh the session but the reason this approach was not preferred was because the user may not wish to check for new messages and force-checking would not be transparent. (Not to forget, the XUL hacks :) This commit also removes a redundant string bundle call.
Diffstat (limited to 'chrome/content/accountWizard/bitmaskMessengerOverlay.js')
-rw-r--r--chrome/content/accountWizard/bitmaskMessengerOverlay.js20
1 files changed, 18 insertions, 2 deletions
diff --git a/chrome/content/accountWizard/bitmaskMessengerOverlay.js b/chrome/content/accountWizard/bitmaskMessengerOverlay.js
index 31e7887..d6f9ae1 100644
--- a/chrome/content/accountWizard/bitmaskMessengerOverlay.js
+++ b/chrome/content/accountWizard/bitmaskMessengerOverlay.js
@@ -7,6 +7,8 @@ XPCOMUtils.defineLazyGetter(this, "_", () =>
l10nHelper("chrome://bitmask/locale/bitmaskMessengerOverlay.properties")
);
+var gNotified = false;
+
var notificationBar = {
onStartHeaders: function() {
let currentFolder = gFolderDisplay.displayedFolder.name;
@@ -46,9 +48,18 @@ var notificationBar = {
}
}
+function displayAlert(image, title, text) {
+ try {
+ let alertsService = Cc["@mozilla.org/alerts-service;1"]
+ .getService(Ci.nsIAlertsService)
+ alertsService.showAlertNotification(image, title, text, false, '', null);
+ } catch (e) {
+ console.log(text);
+ }
+}
+
function overlayStartup() {
let myPanel = document.getElementById("bitmaskStatusBarPanel");
- let strBundle = document.getElementById("bitmaskMessengerStrings");
// We just need to check if bitmaskd is running and if we were able to
// authorize with it using the token from bitmask.js
@@ -57,10 +68,15 @@ function overlayStartup() {
myPanel.label = _("bitmaskStatusOn", data["mail"]);
myPanel.style.color = "green";
myPanel.src = "chrome://bitmask/skin/on.png";
+ gNotified = false;
}, function(error) {
- myPanel.label = strBundle.getString("bitmaskStatusOff");
+ myPanel.label = _("bitmaskStatusOff");
myPanel.style.color = "red";
myPanel.src = "chrome://bitmask/skin/off.png";
+ if (!gNotified) {
+ displayAlert("chrome://bitmask/skin/off.png", "Bitmask", _("bitmaskRefreshInbox"));
+ gNotified = true;
+ }
console.log(error);
});
}