diff --git a/dist/better-xcloud.lite.user.js b/dist/better-xcloud.lite.user.js index 0f473b7..2b7c84b 100755 --- a/dist/better-xcloud.lite.user.js +++ b/dist/better-xcloud.lite.user.js @@ -141,7 +141,7 @@ function deepClone(obj) { } var BxEvent; ((BxEvent) => { - BxEvent.JUMP_BACK_IN_READY = "bx-jump-back-in-ready", BxEvent.POPSTATE = "bx-popstate", BxEvent.STREAM_SESSION_READY = "bx-stream-session-ready", BxEvent.CUSTOM_TOUCH_LAYOUTS_LOADED = "bx-custom-touch-layouts-loaded", BxEvent.TOUCH_LAYOUT_MANAGER_READY = "bx-touch-layout-manager-ready", BxEvent.REMOTE_PLAY_READY = "bx-remote-play-ready", BxEvent.REMOTE_PLAY_FAILED = "bx-remote-play-failed", BxEvent.DATA_CHANNEL_CREATED = "bx-data-channel-created", BxEvent.GAME_BAR_ACTION_ACTIVATED = "bx-game-bar-action-activated", BxEvent.MICROPHONE_STATE_CHANGED = "bx-microphone-state-changed", BxEvent.SPEAKER_STATE_CHANGED = "bx-speaker-state-changed", BxEvent.VIDEO_VISIBILITY_CHANGED = "bx-video-visibility-changed", BxEvent.CAPTURE_SCREENSHOT = "bx-capture-screenshot", BxEvent.POINTER_LOCK_REQUESTED = "bx-pointer-lock-requested", BxEvent.POINTER_LOCK_EXITED = "bx-pointer-lock-exited", BxEvent.NAVIGATION_FOCUS_CHANGED = "bx-nav-focus-changed", BxEvent.XCLOUD_DIALOG_SHOWN = "bx-xcloud-dialog-shown", BxEvent.XCLOUD_DIALOG_DISMISSED = "bx-xcloud-dialog-dismissed", BxEvent.XCLOUD_GUIDE_MENU_SHOWN = "bx-xcloud-guide-menu-shown", BxEvent.XCLOUD_POLLING_MODE_CHANGED = "bx-xcloud-polling-mode-changed", BxEvent.XCLOUD_RENDERING_COMPONENT = "bx-xcloud-rendering-component", BxEvent.XCLOUD_ROUTER_HISTORY_READY = "bx-xcloud-router-history-ready"; + BxEvent.JUMP_BACK_IN_READY = "bx-jump-back-in-ready", BxEvent.POPSTATE = "bx-popstate", BxEvent.STREAM_SESSION_READY = "bx-stream-session-ready", BxEvent.CUSTOM_TOUCH_LAYOUTS_LOADED = "bx-custom-touch-layouts-loaded", BxEvent.TOUCH_LAYOUT_MANAGER_READY = "bx-touch-layout-manager-ready", BxEvent.REMOTE_PLAY_READY = "bx-remote-play-ready", BxEvent.REMOTE_PLAY_FAILED = "bx-remote-play-failed", BxEvent.GAME_BAR_ACTION_ACTIVATED = "bx-game-bar-action-activated", BxEvent.MICROPHONE_STATE_CHANGED = "bx-microphone-state-changed", BxEvent.SPEAKER_STATE_CHANGED = "bx-speaker-state-changed", BxEvent.VIDEO_VISIBILITY_CHANGED = "bx-video-visibility-changed", BxEvent.CAPTURE_SCREENSHOT = "bx-capture-screenshot", BxEvent.POINTER_LOCK_REQUESTED = "bx-pointer-lock-requested", BxEvent.POINTER_LOCK_EXITED = "bx-pointer-lock-exited", BxEvent.NAVIGATION_FOCUS_CHANGED = "bx-nav-focus-changed", BxEvent.XCLOUD_DIALOG_SHOWN = "bx-xcloud-dialog-shown", BxEvent.XCLOUD_DIALOG_DISMISSED = "bx-xcloud-dialog-dismissed", BxEvent.XCLOUD_GUIDE_MENU_SHOWN = "bx-xcloud-guide-menu-shown", BxEvent.XCLOUD_POLLING_MODE_CHANGED = "bx-xcloud-polling-mode-changed", BxEvent.XCLOUD_RENDERING_COMPONENT = "bx-xcloud-rendering-component", BxEvent.XCLOUD_ROUTER_HISTORY_READY = "bx-xcloud-router-history-ready"; function dispatch(target, eventName, data) { if (!target) return; if (!eventName) { @@ -207,7 +207,9 @@ class GhPagesUtils { static getNativeMkbCustomList(update = !1) { let key = "BetterXcloud.GhPages.ForceNativeMkb"; update && NATIVE_FETCH(GhPagesUtils.getUrl("native-mkb/ids.json")).then((response) => response.json()).then((json) => { - if (json.$schemaVersion === 1) window.localStorage.setItem(key, JSON.stringify(json)), BxEventBus.Script.emit("listForcedNativeMkbUpdated", {}); + if (json.$schemaVersion === 1) window.localStorage.setItem(key, JSON.stringify(json)), BxEventBus.Script.emit("listForcedNativeMkbUpdated", { + data: json + }); }); let info = JSON.parse(window.localStorage.getItem(key) || "{}"); if (info.$schemaVersion !== 1) return window.localStorage.removeItem(key), {}; @@ -1540,8 +1542,8 @@ class GlobalSettingsStorage extends BaseSettingsStore { default: [], unsupported: !AppInterface && UserAgent.isMobile(), ready: (setting) => { - if (!setting.unsupported) setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(!0), BxEventBus.Script.on("listForcedNativeMkbUpdated", () => { - setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(); + if (!setting.unsupported) setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(!0), BxEventBus.Script.on("listForcedNativeMkbUpdated", (payload) => { + setting.multipleOptions = payload.data.data; }); }, params: { @@ -6121,9 +6123,7 @@ function patchRtcPeerConnection() { let nativeCreateDataChannel = RTCPeerConnection.prototype.createDataChannel; RTCPeerConnection.prototype.createDataChannel = function() { let dataChannel = nativeCreateDataChannel.apply(this, arguments); - return BxEvent.dispatch(window, BxEvent.DATA_CHANNEL_CREATED, { - dataChannel - }), dataChannel; + return BxEventBus.Stream.emit("dataChannelCreated", { dataChannel }), dataChannel; }; let maxVideoBitrateDef = getPrefDefinition("stream.video.maxBitrate"), maxVideoBitrate = getPref("stream.video.maxBitrate"), codec = getPref("stream.video.codecProfile"); if (codec !== "default" || maxVideoBitrate < maxVideoBitrateDef.max) { @@ -6443,18 +6443,17 @@ BxEventBus.Stream.on("statePlaying", (payload) => { BxEventBus.Stream.on("stateError", () => { BxEventBus.Stream.emit("stateStopped", {}); }); -window.addEventListener(BxEvent.DATA_CHANNEL_CREATED, (e) => { - let dataChannel = e.dataChannel; - if (!dataChannel || dataChannel.label !== "message") return; +BxEventBus.Stream.on("dataChannelCreated", (payload) => { + let { dataChannel } = payload; + if (dataChannel?.label !== "message") return; dataChannel.addEventListener("message", async (msg) => { if (msg.origin === "better-xcloud" || typeof msg.data !== "string") return; - if (msg.data.includes("/titleinfo")) { - let json = JSON.parse(JSON.parse(msg.data).content), xboxTitleId = parseInt(json.titleid, 16); - if (STATES.currentStream.xboxTitleId = xboxTitleId, STATES.remotePlay.isPlaying) { - if (STATES.currentStream.titleSlug = "remote-play", json.focused) { - let productTitle = await XboxApi.getProductTitle(xboxTitleId); - if (productTitle) STATES.currentStream.titleSlug = productTitleToSlug(productTitle); - } + if (!msg.data.includes("/titleinfo")) return; + let json = JSON.parse(JSON.parse(msg.data).content), xboxTitleId = parseInt(json.titleid, 16); + if (STATES.currentStream.xboxTitleId = xboxTitleId, STATES.remotePlay.isPlaying) { + if (STATES.currentStream.titleSlug = "remote-play", json.focused) { + let productTitle = await XboxApi.getProductTitle(xboxTitleId); + if (productTitle) STATES.currentStream.titleSlug = productTitleToSlug(productTitle); } } }); diff --git a/dist/better-xcloud.user.js b/dist/better-xcloud.user.js index d9944c3..cc4763b 100755 --- a/dist/better-xcloud.user.js +++ b/dist/better-xcloud.user.js @@ -143,7 +143,7 @@ function deepClone(obj) { } var BxEvent; ((BxEvent) => { - BxEvent.JUMP_BACK_IN_READY = "bx-jump-back-in-ready", BxEvent.POPSTATE = "bx-popstate", BxEvent.STREAM_SESSION_READY = "bx-stream-session-ready", BxEvent.CUSTOM_TOUCH_LAYOUTS_LOADED = "bx-custom-touch-layouts-loaded", BxEvent.TOUCH_LAYOUT_MANAGER_READY = "bx-touch-layout-manager-ready", BxEvent.REMOTE_PLAY_READY = "bx-remote-play-ready", BxEvent.REMOTE_PLAY_FAILED = "bx-remote-play-failed", BxEvent.DATA_CHANNEL_CREATED = "bx-data-channel-created", BxEvent.GAME_BAR_ACTION_ACTIVATED = "bx-game-bar-action-activated", BxEvent.MICROPHONE_STATE_CHANGED = "bx-microphone-state-changed", BxEvent.SPEAKER_STATE_CHANGED = "bx-speaker-state-changed", BxEvent.VIDEO_VISIBILITY_CHANGED = "bx-video-visibility-changed", BxEvent.CAPTURE_SCREENSHOT = "bx-capture-screenshot", BxEvent.POINTER_LOCK_REQUESTED = "bx-pointer-lock-requested", BxEvent.POINTER_LOCK_EXITED = "bx-pointer-lock-exited", BxEvent.NAVIGATION_FOCUS_CHANGED = "bx-nav-focus-changed", BxEvent.XCLOUD_DIALOG_SHOWN = "bx-xcloud-dialog-shown", BxEvent.XCLOUD_DIALOG_DISMISSED = "bx-xcloud-dialog-dismissed", BxEvent.XCLOUD_GUIDE_MENU_SHOWN = "bx-xcloud-guide-menu-shown", BxEvent.XCLOUD_POLLING_MODE_CHANGED = "bx-xcloud-polling-mode-changed", BxEvent.XCLOUD_RENDERING_COMPONENT = "bx-xcloud-rendering-component", BxEvent.XCLOUD_ROUTER_HISTORY_READY = "bx-xcloud-router-history-ready"; + BxEvent.JUMP_BACK_IN_READY = "bx-jump-back-in-ready", BxEvent.POPSTATE = "bx-popstate", BxEvent.STREAM_SESSION_READY = "bx-stream-session-ready", BxEvent.CUSTOM_TOUCH_LAYOUTS_LOADED = "bx-custom-touch-layouts-loaded", BxEvent.TOUCH_LAYOUT_MANAGER_READY = "bx-touch-layout-manager-ready", BxEvent.REMOTE_PLAY_READY = "bx-remote-play-ready", BxEvent.REMOTE_PLAY_FAILED = "bx-remote-play-failed", BxEvent.GAME_BAR_ACTION_ACTIVATED = "bx-game-bar-action-activated", BxEvent.MICROPHONE_STATE_CHANGED = "bx-microphone-state-changed", BxEvent.SPEAKER_STATE_CHANGED = "bx-speaker-state-changed", BxEvent.VIDEO_VISIBILITY_CHANGED = "bx-video-visibility-changed", BxEvent.CAPTURE_SCREENSHOT = "bx-capture-screenshot", BxEvent.POINTER_LOCK_REQUESTED = "bx-pointer-lock-requested", BxEvent.POINTER_LOCK_EXITED = "bx-pointer-lock-exited", BxEvent.NAVIGATION_FOCUS_CHANGED = "bx-nav-focus-changed", BxEvent.XCLOUD_DIALOG_SHOWN = "bx-xcloud-dialog-shown", BxEvent.XCLOUD_DIALOG_DISMISSED = "bx-xcloud-dialog-dismissed", BxEvent.XCLOUD_GUIDE_MENU_SHOWN = "bx-xcloud-guide-menu-shown", BxEvent.XCLOUD_POLLING_MODE_CHANGED = "bx-xcloud-polling-mode-changed", BxEvent.XCLOUD_RENDERING_COMPONENT = "bx-xcloud-rendering-component", BxEvent.XCLOUD_ROUTER_HISTORY_READY = "bx-xcloud-router-history-ready"; function dispatch(target, eventName, data) { if (!target) return; if (!eventName) { @@ -236,7 +236,9 @@ class GhPagesUtils { static getNativeMkbCustomList(update = !1) { let key = "BetterXcloud.GhPages.ForceNativeMkb"; update && NATIVE_FETCH(GhPagesUtils.getUrl("native-mkb/ids.json")).then((response) => response.json()).then((json) => { - if (json.$schemaVersion === 1) window.localStorage.setItem(key, JSON.stringify(json)), BxEventBus.Script.emit("listForcedNativeMkbUpdated", {}); + if (json.$schemaVersion === 1) window.localStorage.setItem(key, JSON.stringify(json)), BxEventBus.Script.emit("listForcedNativeMkbUpdated", { + data: json + }); }); let info = JSON.parse(window.localStorage.getItem(key) || "{}"); if (info.$schemaVersion !== 1) return window.localStorage.removeItem(key), {}; @@ -1615,8 +1617,8 @@ class GlobalSettingsStorage extends BaseSettingsStore { default: [], unsupported: !AppInterface && UserAgent.isMobile(), ready: (setting) => { - if (!setting.unsupported) setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(!0), BxEventBus.Script.on("listForcedNativeMkbUpdated", () => { - setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(); + if (!setting.unsupported) setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(!0), BxEventBus.Script.on("listForcedNativeMkbUpdated", (payload) => { + setting.multipleOptions = payload.data.data; }); }, params: { @@ -3720,9 +3722,9 @@ class TouchController { let $style = document.createElement("style"); document.documentElement.appendChild($style), TouchController.#$style = $style; let PREF_STYLE_STANDARD = getPref("touchController.style.standard"), PREF_STYLE_CUSTOM = getPref("touchController.style.custom"); - window.addEventListener(BxEvent.DATA_CHANNEL_CREATED, (e) => { - let dataChannel = e.dataChannel; - if (!dataChannel || dataChannel.label !== "message") return; + BxEventBus.Stream.on("dataChannelCreated", (payload) => { + let { dataChannel } = payload; + if (dataChannel?.label !== "message") return; let filter = ""; if (TouchController.#enabled) { if (PREF_STYLE_STANDARD === "white") filter = "grayscale(1) brightness(2)"; @@ -3747,8 +3749,8 @@ class TouchController { if (focused = json.focused, !json.focused) TouchController.#show(); TouchController.setXboxTitleId(parseInt(json.titleid, 16).toString()); } - } catch (e2) { - BxLogger.error(LOG_TAG, "Load custom layout", e2); + } catch (e) { + BxLogger.error(LOG_TAG, "Load custom layout", e); } }); }); @@ -8466,9 +8468,7 @@ function patchRtcPeerConnection() { let nativeCreateDataChannel = RTCPeerConnection.prototype.createDataChannel; RTCPeerConnection.prototype.createDataChannel = function() { let dataChannel = nativeCreateDataChannel.apply(this, arguments); - return BxEvent.dispatch(window, BxEvent.DATA_CHANNEL_CREATED, { - dataChannel - }), dataChannel; + return BxEventBus.Stream.emit("dataChannelCreated", { dataChannel }), dataChannel; }; let maxVideoBitrateDef = getPrefDefinition("stream.video.maxBitrate"), maxVideoBitrate = getPref("stream.video.maxBitrate"), codec = getPref("stream.video.codecProfile"); if (codec !== "default" || maxVideoBitrate < maxVideoBitrateDef.max) { @@ -9129,8 +9129,8 @@ class DeviceVibrationManager { dataChannel = null; boundOnMessage; constructor() { - this.boundOnMessage = this.onMessage.bind(this), window.addEventListener(BxEvent.DATA_CHANNEL_CREATED, (e) => { - let dataChannel = e.dataChannel; + this.boundOnMessage = this.onMessage.bind(this), BxEventBus.Stream.on("dataChannelCreated", (payload) => { + let { dataChannel } = payload; if (dataChannel?.label === "input") this.reset(), this.dataChannel = dataChannel, this.setupDataChannel(); }), BxEventBus.Script.on("deviceVibrationUpdated", () => this.setupDataChannel()); } @@ -9257,18 +9257,17 @@ BxEventBus.Stream.on("stateError", () => { window.addEventListener(BxEvent.XCLOUD_RENDERING_COMPONENT, (e) => { if (e.component === "product-detail") ProductDetailsPage.injectButtons(); }); -window.addEventListener(BxEvent.DATA_CHANNEL_CREATED, (e) => { - let dataChannel = e.dataChannel; - if (!dataChannel || dataChannel.label !== "message") return; +BxEventBus.Stream.on("dataChannelCreated", (payload) => { + let { dataChannel } = payload; + if (dataChannel?.label !== "message") return; dataChannel.addEventListener("message", async (msg) => { if (msg.origin === "better-xcloud" || typeof msg.data !== "string") return; - if (msg.data.includes("/titleinfo")) { - let json = JSON.parse(JSON.parse(msg.data).content), xboxTitleId = parseInt(json.titleid, 16); - if (STATES.currentStream.xboxTitleId = xboxTitleId, STATES.remotePlay.isPlaying) { - if (STATES.currentStream.titleSlug = "remote-play", json.focused) { - let productTitle = await XboxApi.getProductTitle(xboxTitleId); - if (productTitle) STATES.currentStream.titleSlug = productTitleToSlug(productTitle); - } + if (!msg.data.includes("/titleinfo")) return; + let json = JSON.parse(JSON.parse(msg.data).content), xboxTitleId = parseInt(json.titleid, 16); + if (STATES.currentStream.xboxTitleId = xboxTitleId, STATES.remotePlay.isPlaying) { + if (STATES.currentStream.titleSlug = "remote-play", json.focused) { + let productTitle = await XboxApi.getProductTitle(xboxTitleId); + if (productTitle) STATES.currentStream.titleSlug = productTitleToSlug(productTitle); } } }); diff --git a/src/index.ts b/src/index.ts index a86f824..587350c 100755 --- a/src/index.ts +++ b/src/index.ts @@ -277,9 +277,9 @@ isFullVersion() && window.addEventListener(BxEvent.XCLOUD_RENDERING_COMPONENT, e }); // Detect game change -window.addEventListener(BxEvent.DATA_CHANNEL_CREATED, e => { - const dataChannel = (e as any).dataChannel; - if (!dataChannel || dataChannel.label !== 'message') { +BxEventBus.Stream.on('dataChannelCreated', payload => { + const { dataChannel } = payload; + if (dataChannel?.label !== 'message') { return; } @@ -288,26 +288,29 @@ window.addEventListener(BxEvent.DATA_CHANNEL_CREATED, e => { return; } - // Get xboxTitleId from message - if (msg.data.includes('/titleinfo')) { - const json = JSON.parse(JSON.parse(msg.data).content); - const xboxTitleId = parseInt(json.titleid, 16); - STATES.currentStream.xboxTitleId = xboxTitleId; + if (!msg.data.includes('/titleinfo')) { + return; + } - // Get titleSlug for Remote Play - if (STATES.remotePlay.isPlaying) { - STATES.currentStream.titleSlug = 'remote-play'; - if (json.focused) { - const productTitle = await XboxApi.getProductTitle(xboxTitleId); - if (productTitle) { - STATES.currentStream.titleSlug = productTitleToSlug(productTitle); - } + // Get xboxTitleId from message + const json = JSON.parse(JSON.parse(msg.data).content); + const xboxTitleId = parseInt(json.titleid, 16); + STATES.currentStream.xboxTitleId = xboxTitleId; + + // Get titleSlug for Remote Play + if (STATES.remotePlay.isPlaying) { + STATES.currentStream.titleSlug = 'remote-play'; + if (json.focused) { + const productTitle = await XboxApi.getProductTitle(xboxTitleId); + if (productTitle) { + STATES.currentStream.titleSlug = productTitleToSlug(productTitle); } } } }); }); + function unload() { if (!STATES.isPlaying) { return; diff --git a/src/modules/device-vibration-manager.ts b/src/modules/device-vibration-manager.ts index 6f173ab..b53d255 100755 --- a/src/modules/device-vibration-manager.ts +++ b/src/modules/device-vibration-manager.ts @@ -1,5 +1,4 @@ import { AppInterface, STATES } from "@utils/global"; -import { BxEvent } from "@utils/bx-event"; import { StreamSettings } from "@/utils/stream-settings"; import { BxEventBus } from "@/utils/bx-event-bus"; @@ -38,8 +37,8 @@ export class DeviceVibrationManager { constructor() { this.boundOnMessage = this.onMessage.bind(this); - window.addEventListener(BxEvent.DATA_CHANNEL_CREATED, e => { - const dataChannel = (e as any).dataChannel as RTCDataChannel; + BxEventBus.Stream.on('dataChannelCreated', payload => { + const { dataChannel } = payload; if (dataChannel?.label === 'input') { this.reset(); diff --git a/src/modules/touch-controller.ts b/src/modules/touch-controller.ts index de811a1..a2bd247 100755 --- a/src/modules/touch-controller.ts +++ b/src/modules/touch-controller.ts @@ -8,6 +8,7 @@ import { PrefKey } from "@/enums/pref-keys"; import { getPref } from "@/utils/settings-storages/global-settings-storage"; import { TouchControllerStyleCustom, TouchControllerStyleStandard } from "@/enums/pref-values"; import { GhPagesUtils } from "@/utils/gh-pages"; +import { BxEventBus } from "@/utils/bx-event-bus"; const LOG_TAG = 'TouchController'; @@ -291,9 +292,9 @@ export class TouchController { const PREF_STYLE_STANDARD = getPref(PrefKey.TOUCH_CONTROLLER_STYLE_STANDARD); const PREF_STYLE_CUSTOM = getPref(PrefKey.TOUCH_CONTROLLER_STYLE_CUSTOM); - window.addEventListener(BxEvent.DATA_CHANNEL_CREATED, e => { - const dataChannel = (e as any).dataChannel; - if (!dataChannel || dataChannel.label !== 'message') { + BxEventBus.Stream.on('dataChannelCreated', payload => { + const { dataChannel } = payload; + if (dataChannel?.label !== 'message') { return; } diff --git a/src/utils/bx-event-bus.ts b/src/utils/bx-event-bus.ts index 9a5ee51..34ef372 100644 --- a/src/utils/bx-event-bus.ts +++ b/src/utils/bx-event-bus.ts @@ -20,7 +20,11 @@ type ScriptEvents = { deviceVibrationUpdated: {}; // GH pages - listForcedNativeMkbUpdated: {}; + listForcedNativeMkbUpdated: { + data: { + data: any; + }; + }; }; type StreamEvents = { @@ -29,6 +33,8 @@ type StreamEvents = { statePlaying: { $video?: HTMLVideoElement }; stateStopped: {}; stateError: {}; + + dataChannelCreated: { dataChannel: RTCDataChannel }; }; export class BxEventBus> { diff --git a/src/utils/bx-event.ts b/src/utils/bx-event.ts index f37b37a..ce4a4d3 100755 --- a/src/utils/bx-event.ts +++ b/src/utils/bx-event.ts @@ -16,8 +16,6 @@ export namespace BxEvent { export const REMOTE_PLAY_READY = 'bx-remote-play-ready'; export const REMOTE_PLAY_FAILED = 'bx-remote-play-failed'; - export const DATA_CHANNEL_CREATED = 'bx-data-channel-created'; - export const GAME_BAR_ACTION_ACTIVATED = 'bx-game-bar-action-activated'; export const MICROPHONE_STATE_CHANGED = 'bx-microphone-state-changed'; export const SPEAKER_STATE_CHANGED = 'bx-speaker-state-changed'; diff --git a/src/utils/gh-pages.ts b/src/utils/gh-pages.ts index a9c2f94..0a70c33 100755 --- a/src/utils/gh-pages.ts +++ b/src/utils/gh-pages.ts @@ -53,7 +53,9 @@ export class GhPagesUtils { if (json.$schemaVersion === supportedSchema) { // Save to storage window.localStorage.setItem(key, JSON.stringify(json)); - BxEventBus.Script.emit('listForcedNativeMkbUpdated', {}); + BxEventBus.Script.emit('listForcedNativeMkbUpdated', { + data: json, + }); } }); diff --git a/src/utils/monkey-patches.ts b/src/utils/monkey-patches.ts index fc8cb53..38ee7d9 100755 --- a/src/utils/monkey-patches.ts +++ b/src/utils/monkey-patches.ts @@ -76,10 +76,7 @@ export function patchRtcPeerConnection() { // @ts-ignore const dataChannel = nativeCreateDataChannel.apply(this, arguments); - BxEvent.dispatch(window, BxEvent.DATA_CHANNEL_CREATED, { - dataChannel: dataChannel, - }); - + BxEventBus.Stream.emit('dataChannelCreated', { dataChannel }); return dataChannel; } diff --git a/src/utils/settings-storages/global-settings-storage.ts b/src/utils/settings-storages/global-settings-storage.ts index afae0aa..25418de 100755 --- a/src/utils/settings-storages/global-settings-storage.ts +++ b/src/utils/settings-storages/global-settings-storage.ts @@ -432,8 +432,8 @@ export class GlobalSettingsStorage extends BaseSettingsStorage { if (!setting.unsupported) { (setting as any).multipleOptions = GhPagesUtils.getNativeMkbCustomList(true); - BxEventBus.Script.on('listForcedNativeMkbUpdated', () => { - (setting as any).multipleOptions = GhPagesUtils.getNativeMkbCustomList(); + BxEventBus.Script.on('listForcedNativeMkbUpdated', payload => { + (setting as any).multipleOptions = payload.data.data; }); } },