Improve error messages

This commit is contained in:
younesaassila 2024-08-21 18:17:10 +02:00
parent 1bfed7cd62
commit bb8078d12f
5 changed files with 28 additions and 19 deletions

View File

@ -87,8 +87,8 @@ export default async function onResponseStarted(
const stats = streamStatus?.stats ?? { proxied: 0, notProxied: 0 };
if (!proxy) {
stats.notProxied++;
let reason = errorMessage ?? streamStatus?.reason ?? "";
if (isChromium) {
try {
const proxySettings = await browser.proxy.settings.get({});
switch (proxySettings.levelOfControl) {
@ -100,8 +100,6 @@ export default async function onResponseStarted(
break;
}
} catch {}
}
stats.notProxied++;
setStreamStatus(channelName, {
proxied: false,
proxyHost: streamStatus?.proxyHost ? streamStatus.proxyHost : undefined,

View File

@ -3,6 +3,7 @@ import workerScriptURL from "url:../page/worker.ts";
import browser, { Storage } from "webextension-polyfill";
import findChannelFromTwitchTvUrl from "../common/ts/findChannelFromTwitchTvUrl";
import isChromium from "../common/ts/isChromium";
import { getStreamStatus, setStreamStatus } from "../common/ts/streamStatus";
import store from "../store";
import type { State } from "../store/types";
import { MessageType } from "../types";
@ -145,6 +146,15 @@ function onPageMessage(event: MessageEvent) {
);
}
break;
case MessageType.MultipleAdBlockersInUse:
const channelName = findChannelFromTwitchTvUrl(location.href);
if (!channelName) break;
const streamStatus = getStreamStatus(channelName);
setStreamStatus(channelName, {
...(streamStatus ?? { proxied: false }),
reason: "Another Twitch ad blocker is in use",
});
break;
case MessageType.ClearStats:
clearStats(message.channelName);
break;

View File

@ -53,7 +53,10 @@ window.Worker = class Worker extends NATIVE_WORKER {
// Required for VAFT (>=12.0.0) compatibility.
const isAlreadyHooked = NATIVE_WORKER.toString().includes("twitch");
if (isAlreadyHooked) {
console.error("[TTV LOL PRO] Twitch worker is already hooked.");
console.info("[TTV LOL PRO] Another Twitch ad blocker is in use.");
sendMessageToContentScript({
type: MessageType.MultipleAdBlockersInUse,
});
super(scriptURL, options);
return;
}

View File

@ -8,7 +8,6 @@ import {
import { alpha2 } from "../common/ts/countryCodes";
import findChannelFromTwitchTvUrl from "../common/ts/findChannelFromTwitchTvUrl";
import isChannelWhitelisted from "../common/ts/isChannelWhitelisted";
import isChromium from "../common/ts/isChromium";
import store from "../store";
import type { StreamStatus } from "../types";
@ -243,9 +242,7 @@ copyDebugInfoButtonElement.addEventListener("click", async e => {
`- Country: ${status.proxyCountry ?? "N/A"}\n`,
].join("")
: "",
isChromium
? `Proxy level of control: ${proxySettings.levelOfControl}\n`
: "",
`Proxy level of control: ${proxySettings.levelOfControl}\n`,
].join("")
: "",
store.state.adLog.length > 0

View File

@ -82,6 +82,7 @@ export const enum MessageType {
UsherResponse = "TLP_UsherResponse",
NewPlaybackAccessToken = "TLP_NewPlaybackAccessToken",
NewPlaybackAccessTokenResponse = "TLP_NewPlaybackAccessTokenResponse",
MultipleAdBlockersInUse = "TLP_MultipleAdBlockersInUse",
ClearStats = "TLP_ClearStats",
}