mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-12 10:39:57 +00:00
Add notification for incompatible bridge versions on init
This commit is contained in:
@@ -5,6 +5,7 @@ import loadSender from "../lib/loadSender";
|
|||||||
import logger from "../lib/logger";
|
import logger from "../lib/logger";
|
||||||
import messaging from "../lib/messaging";
|
import messaging from "../lib/messaging";
|
||||||
import options from "../lib/options";
|
import options from "../lib/options";
|
||||||
|
import bridge from "../lib/bridge";
|
||||||
|
|
||||||
import { getChromeUserAgent } from "../lib/userAgents";
|
import { getChromeUserAgent } from "../lib/userAgents";
|
||||||
import { getMediaTypesForPageUrl, stringify } from "../lib/utils";
|
import { getMediaTypesForPageUrl, stringify } from "../lib/utils";
|
||||||
@@ -614,6 +615,39 @@ async function initMediaOverlay () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async function checkBridgeCompat () {
|
||||||
|
logger.info("checking for bridge...");
|
||||||
|
|
||||||
|
const info = await bridge.getInfo();
|
||||||
|
|
||||||
|
if (info.isVersionCompatible) {
|
||||||
|
logger.info("... bridge compatible!");
|
||||||
|
} else {
|
||||||
|
logger.info("... bridge incompatible!");
|
||||||
|
|
||||||
|
const updateNotificationId = await browser.notifications.create({
|
||||||
|
type: "basic"
|
||||||
|
, title: `${
|
||||||
|
_("extensionName")} — ${_("optionsBridgeIssueStatusTitle")}`
|
||||||
|
, message: info.isVersionOlder
|
||||||
|
? _("optionsBridgeOlderAction")
|
||||||
|
: _("optionsBridgeNewerAction")
|
||||||
|
});
|
||||||
|
|
||||||
|
browser.notifications.onClicked.addListener(notificationId => {
|
||||||
|
if (notificationId !== updateNotificationId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
browser.tabs.create({
|
||||||
|
url: `https://github.com/hensm/fx_cast/releases/tag/v${
|
||||||
|
info.expectedVersion}`
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
let isInitialized = false;
|
let isInitialized = false;
|
||||||
|
|
||||||
async function init () {
|
async function init () {
|
||||||
@@ -631,9 +665,10 @@ async function init () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
logger.info("init");
|
logger.info("init");
|
||||||
|
|
||||||
isInitialized = true;
|
isInitialized = true;
|
||||||
|
|
||||||
|
await checkBridgeCompat();
|
||||||
|
|
||||||
await StatusManager.init();
|
await StatusManager.init();
|
||||||
await ShimManager.init();
|
await ShimManager.init();
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,7 @@
|
|||||||
, "menus"
|
, "menus"
|
||||||
, "menus.overrideContext"
|
, "menus.overrideContext"
|
||||||
, "nativeMessaging"
|
, "nativeMessaging"
|
||||||
|
, "notifications"
|
||||||
, "storage"
|
, "storage"
|
||||||
, "tabs"
|
, "tabs"
|
||||||
, "webNavigation"
|
, "webNavigation"
|
||||||
|
|||||||
Reference in New Issue
Block a user