mirror of
https://github.com/younesaassila/ttv-lol-pro.git
synced 2025-04-29 22:14:27 +02:00
Improve error messages
This commit is contained in:
parent
1bfed7cd62
commit
bb8078d12f
@ -87,21 +87,19 @@ export default async function onResponseStarted(
|
|||||||
const stats = streamStatus?.stats ?? { proxied: 0, notProxied: 0 };
|
const stats = streamStatus?.stats ?? { proxied: 0, notProxied: 0 };
|
||||||
|
|
||||||
if (!proxy) {
|
if (!proxy) {
|
||||||
let reason = errorMessage ?? streamStatus?.reason ?? "";
|
|
||||||
if (isChromium) {
|
|
||||||
try {
|
|
||||||
const proxySettings = await browser.proxy.settings.get({});
|
|
||||||
switch (proxySettings.levelOfControl) {
|
|
||||||
case "controlled_by_other_extensions":
|
|
||||||
reason = "Proxy settings controlled by other extension";
|
|
||||||
break;
|
|
||||||
case "not_controllable":
|
|
||||||
reason = "Proxy settings not controllable";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} catch {}
|
|
||||||
}
|
|
||||||
stats.notProxied++;
|
stats.notProxied++;
|
||||||
|
let reason = errorMessage ?? streamStatus?.reason ?? "";
|
||||||
|
try {
|
||||||
|
const proxySettings = await browser.proxy.settings.get({});
|
||||||
|
switch (proxySettings.levelOfControl) {
|
||||||
|
case "controlled_by_other_extensions":
|
||||||
|
reason = "Proxy settings controlled by other extension";
|
||||||
|
break;
|
||||||
|
case "not_controllable":
|
||||||
|
reason = "Proxy settings not controllable";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch {}
|
||||||
setStreamStatus(channelName, {
|
setStreamStatus(channelName, {
|
||||||
proxied: false,
|
proxied: false,
|
||||||
proxyHost: streamStatus?.proxyHost ? streamStatus.proxyHost : undefined,
|
proxyHost: streamStatus?.proxyHost ? streamStatus.proxyHost : undefined,
|
||||||
|
@ -3,6 +3,7 @@ import workerScriptURL from "url:../page/worker.ts";
|
|||||||
import browser, { Storage } from "webextension-polyfill";
|
import browser, { Storage } from "webextension-polyfill";
|
||||||
import findChannelFromTwitchTvUrl from "../common/ts/findChannelFromTwitchTvUrl";
|
import findChannelFromTwitchTvUrl from "../common/ts/findChannelFromTwitchTvUrl";
|
||||||
import isChromium from "../common/ts/isChromium";
|
import isChromium from "../common/ts/isChromium";
|
||||||
|
import { getStreamStatus, setStreamStatus } from "../common/ts/streamStatus";
|
||||||
import store from "../store";
|
import store from "../store";
|
||||||
import type { State } from "../store/types";
|
import type { State } from "../store/types";
|
||||||
import { MessageType } from "../types";
|
import { MessageType } from "../types";
|
||||||
@ -145,6 +146,15 @@ function onPageMessage(event: MessageEvent) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case MessageType.ClearStats:
|
||||||
clearStats(message.channelName);
|
clearStats(message.channelName);
|
||||||
break;
|
break;
|
||||||
|
@ -53,7 +53,10 @@ window.Worker = class Worker extends NATIVE_WORKER {
|
|||||||
// Required for VAFT (>=12.0.0) compatibility.
|
// Required for VAFT (>=12.0.0) compatibility.
|
||||||
const isAlreadyHooked = NATIVE_WORKER.toString().includes("twitch");
|
const isAlreadyHooked = NATIVE_WORKER.toString().includes("twitch");
|
||||||
if (isAlreadyHooked) {
|
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);
|
super(scriptURL, options);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import {
|
|||||||
import { alpha2 } from "../common/ts/countryCodes";
|
import { alpha2 } from "../common/ts/countryCodes";
|
||||||
import findChannelFromTwitchTvUrl from "../common/ts/findChannelFromTwitchTvUrl";
|
import findChannelFromTwitchTvUrl from "../common/ts/findChannelFromTwitchTvUrl";
|
||||||
import isChannelWhitelisted from "../common/ts/isChannelWhitelisted";
|
import isChannelWhitelisted from "../common/ts/isChannelWhitelisted";
|
||||||
import isChromium from "../common/ts/isChromium";
|
|
||||||
import store from "../store";
|
import store from "../store";
|
||||||
import type { StreamStatus } from "../types";
|
import type { StreamStatus } from "../types";
|
||||||
|
|
||||||
@ -243,9 +242,7 @@ copyDebugInfoButtonElement.addEventListener("click", async e => {
|
|||||||
`- Country: ${status.proxyCountry ?? "N/A"}\n`,
|
`- Country: ${status.proxyCountry ?? "N/A"}\n`,
|
||||||
].join("")
|
].join("")
|
||||||
: "",
|
: "",
|
||||||
isChromium
|
`Proxy level of control: ${proxySettings.levelOfControl}\n`,
|
||||||
? `Proxy level of control: ${proxySettings.levelOfControl}\n`
|
|
||||||
: "",
|
|
||||||
].join("")
|
].join("")
|
||||||
: "",
|
: "",
|
||||||
store.state.adLog.length > 0
|
store.state.adLog.length > 0
|
||||||
|
@ -82,6 +82,7 @@ export const enum MessageType {
|
|||||||
UsherResponse = "TLP_UsherResponse",
|
UsherResponse = "TLP_UsherResponse",
|
||||||
NewPlaybackAccessToken = "TLP_NewPlaybackAccessToken",
|
NewPlaybackAccessToken = "TLP_NewPlaybackAccessToken",
|
||||||
NewPlaybackAccessTokenResponse = "TLP_NewPlaybackAccessTokenResponse",
|
NewPlaybackAccessTokenResponse = "TLP_NewPlaybackAccessTokenResponse",
|
||||||
|
MultipleAdBlockersInUse = "TLP_MultipleAdBlockersInUse",
|
||||||
ClearStats = "TLP_ClearStats",
|
ClearStats = "TLP_ClearStats",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user