mirror of
https://github.com/younesaassila/ttv-lol-pro.git
synced 2025-04-29 22:14:27 +02:00
Fix some errors, improve code for message handlers
This commit is contained in:
parent
e96e509bc7
commit
09750b6b1f
@ -65,7 +65,6 @@ function onStoreChange(changes: Record<string, Storage.StorageChange>) {
|
|||||||
// This is mainly to reduce the amount of messages sent to the page script.
|
// This is mainly to reduce the amount of messages sent to the page script.
|
||||||
// (Also to reduce the number of console logs.)
|
// (Also to reduce the number of console logs.)
|
||||||
const ignoredKeys: (keyof State)[] = [
|
const ignoredKeys: (keyof State)[] = [
|
||||||
"activeChannelSubscriptions",
|
|
||||||
"adLog",
|
"adLog",
|
||||||
"dnsResponses",
|
"dnsResponses",
|
||||||
"openedTwitchTabs",
|
"openedTwitchTabs",
|
||||||
@ -99,8 +98,9 @@ function onBackgroundMessage(message: any): undefined {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onPageMessage(event: MessageEvent) {
|
function onPageMessage(event: MessageEvent) {
|
||||||
if (!event.data) return;
|
if (!event.data || event.data.type !== MessageType.ContentScriptMessage) {
|
||||||
if (event.data.type !== MessageType.ContentScriptMessage) return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const { message, responseType, responseMessageType } = event.data;
|
const { message, responseType, responseMessageType } = event.data;
|
||||||
if (!message) return;
|
if (!message) return;
|
||||||
|
@ -169,8 +169,12 @@ function main() {
|
|||||||
whitelistSubscriptionsCheckboxElement.checked =
|
whitelistSubscriptionsCheckboxElement.checked =
|
||||||
store.state.whitelistChannelSubscriptions;
|
store.state.whitelistChannelSubscriptions;
|
||||||
whitelistSubscriptionsCheckboxElement.addEventListener("change", () => {
|
whitelistSubscriptionsCheckboxElement.addEventListener("change", () => {
|
||||||
store.state.whitelistChannelSubscriptions =
|
const { checked } = whitelistSubscriptionsCheckboxElement;
|
||||||
whitelistSubscriptionsCheckboxElement.checked;
|
store.state.whitelistChannelSubscriptions = checked;
|
||||||
|
if (!checked) {
|
||||||
|
// Clear active channel subscriptions to free up storage space.
|
||||||
|
store.state.activeChannelSubscriptions = [];
|
||||||
|
}
|
||||||
});
|
});
|
||||||
// Proxies
|
// Proxies
|
||||||
if (store.state.optimizedProxiesEnabled)
|
if (store.state.optimizedProxiesEnabled)
|
||||||
|
@ -28,9 +28,11 @@ export function getFetch(pageState: PageState): typeof fetch {
|
|||||||
// Listen for NewPlaybackAccessToken messages from the worker script.
|
// Listen for NewPlaybackAccessToken messages from the worker script.
|
||||||
if (pageState.scope === "page") {
|
if (pageState.scope === "page") {
|
||||||
self.addEventListener("message", async event => {
|
self.addEventListener("message", async event => {
|
||||||
if (event.data?.type !== MessageType.PageScriptMessage) return;
|
if (!event.data || event.data.type !== MessageType.PageScriptMessage) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const message = event.data?.message;
|
const { message } = event.data;
|
||||||
if (!message) return;
|
if (!message) return;
|
||||||
|
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
@ -58,13 +60,14 @@ export function getFetch(pageState: PageState): typeof fetch {
|
|||||||
// Listen for ClearStats messages from the page script.
|
// Listen for ClearStats messages from the page script.
|
||||||
self.addEventListener("message", event => {
|
self.addEventListener("message", event => {
|
||||||
if (
|
if (
|
||||||
event.data?.type !== MessageType.PageScriptMessage &&
|
!event.data ||
|
||||||
event.data?.type !== MessageType.WorkerScriptMessage
|
(event.data.type !== MessageType.PageScriptMessage &&
|
||||||
|
event.data.type !== MessageType.WorkerScriptMessage)
|
||||||
) {
|
) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const message = event.data?.message;
|
const { message } = event.data;
|
||||||
if (!message) return;
|
if (!message) return;
|
||||||
|
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
|
@ -130,9 +130,9 @@ window.addEventListener("message", event => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.data?.type !== MessageType.PageScriptMessage) return;
|
if (!event.data || event.data.type !== MessageType.PageScriptMessage) return;
|
||||||
|
|
||||||
const message = event.data?.message;
|
const { message } = event.data;
|
||||||
if (!message) return;
|
if (!message) return;
|
||||||
|
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
|
@ -14,7 +14,7 @@ function sendMessage(
|
|||||||
message: any
|
message: any
|
||||||
): void {
|
): void {
|
||||||
if (!recipient) {
|
if (!recipient) {
|
||||||
return console.warn("[TTV LOL PRO] Message recipient is undefined.");
|
return console.error("[TTV LOL PRO] Message recipient is undefined.");
|
||||||
}
|
}
|
||||||
recipient.postMessage({
|
recipient.postMessage({
|
||||||
type,
|
type,
|
||||||
@ -32,14 +32,14 @@ async function sendMessageAndWaitForResponse(
|
|||||||
): Promise<any> {
|
): Promise<any> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (!recipient) {
|
if (!recipient) {
|
||||||
console.warn("[TTV LOL PRO] Message recipient is undefined.");
|
console.error("[TTV LOL PRO] Message recipient is undefined.");
|
||||||
resolve(undefined);
|
resolve(undefined);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const listener = (event: MessageEvent) => {
|
const listener = (event: MessageEvent) => {
|
||||||
if (event.data?.type !== responseType) return;
|
if (!event.data || event.data.type !== responseType) return;
|
||||||
const message = event.data?.message;
|
const { message } = event.data;
|
||||||
if (!message) return;
|
if (!message) return;
|
||||||
if (message.type === responseMessageType) {
|
if (message.type === responseMessageType) {
|
||||||
self.removeEventListener("message", listener);
|
self.removeEventListener("message", listener);
|
||||||
|
@ -47,9 +47,11 @@ const pageState: PageState = {
|
|||||||
self.fetch = getFetch(pageState);
|
self.fetch = getFetch(pageState);
|
||||||
|
|
||||||
self.addEventListener("message", event => {
|
self.addEventListener("message", event => {
|
||||||
if (event.data?.type !== MessageType.WorkerScriptMessage) return;
|
if (!event.data || event.data.type !== MessageType.WorkerScriptMessage) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const message = event.data?.message;
|
const { message } = event.data;
|
||||||
if (!message) return;
|
if (!message) return;
|
||||||
|
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user