diff --git a/issue-reporter.js b/issue-reporter.js index 8c6b7050..983657d7 100644 --- a/issue-reporter.js +++ b/issue-reporter.js @@ -184,7 +184,8 @@ function retrieveSubscriptions() return browser.runtime.sendMessage({ type: "subscriptions.get", ignoreDisabled: true, - downloadable: true + downloadable: true, + disabledFilters: true }).then(subscriptions => { let element = reportData.createElement("subscriptions"); @@ -196,13 +197,32 @@ function retrieveSubscriptions() let now = Math.round(Date.now() / 1000); let subscriptionElement = reportData.createElement("subscription"); subscriptionElement.setAttribute("id", subscription.url); + if (subscription.version) + subscriptionElement.setAttribute("version", subscription.version); if (subscription.lastDownload) { subscriptionElement.setAttribute("lastDownloadAttempt", subscription.lastDownload - now); } + if (subscription.lastSuccess) + { + subscriptionElement.setAttribute("lastDownloadSuccess", + subscription.lastSuccess - now); + } + if (subscription.softExpiration) + { + subscriptionElement.setAttribute("softExpiration", + subscription.softExpiration - now); + } + if (subscription.expires) + { + subscriptionElement.setAttribute("hardExpiration", + subscription.expires - now); + } subscriptionElement.setAttribute("downloadStatus", subscription.downloadStatus); + subscriptionElement.setAttribute("disabledFilters", + subscription.disabledFilters.length); element.appendChild(subscriptionElement); } reportData.documentElement.appendChild(element); diff --git a/messageResponder.js b/messageResponder.js index 2e8e2acb..6377d390 100644 --- a/messageResponder.js +++ b/messageResponder.js @@ -30,7 +30,9 @@ const {Notification: NotificationStorage} = require("notification"); const {getActiveNotification, shouldDisplay} = require("notificationHelper"); - const {Filter, BlockingFilter, RegExpFilter} = require("filterClasses"); + const { + Filter, ActiveFilter, BlockingFilter, RegExpFilter + } = require("filterClasses"); const {Synchronizer} = require("synchronizer"); const info = require("info"); @@ -63,7 +65,9 @@ function convertSubscription(subscription) { let obj = convertObject(["disabled", "downloadStatus", "homepage", - "lastDownload", "title", "url"], subscription); + "version", "lastDownload", "lastSuccess", + "softExpiration", "expires", "title", + "url"], subscription); if (subscription instanceof SpecialSubscription) obj.filters = subscription.filters.map(convertFilter); obj.isDownloading = Synchronizer.isExecuting(subscription.url); @@ -401,7 +405,17 @@ return false; }); - return subscriptions.map(convertSubscription); + return subscriptions.map((s) => + { + let result = convertSubscription(s); + if (message.disabledFilters) + { + result.disabledFilters = s.filters + .filter((f) => f instanceof ActiveFilter && f.disabled) + .map((f) => f.text); + } + return result; + }); }); port.on("subscriptions.listen", (message, sender) =>