mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-06-22 07:23:03 +02:00
Show error when not able to get the server list
This commit is contained in:
parent
f7048a38b3
commit
88151c9426
11
dist/better-xcloud.pretty.user.js
vendored
11
dist/better-xcloud.pretty.user.js
vendored
@ -8565,7 +8565,8 @@ class HeaderSection {
|
|||||||
STATES.isSignedIn = !0, $btnSettings.querySelector("span").textContent = getPreferredServerRegion(!0) || t("better-xcloud");
|
STATES.isSignedIn = !0, $btnSettings.querySelector("span").textContent = getPreferredServerRegion(!0) || t("better-xcloud");
|
||||||
let PREF_LATEST_VERSION = getGlobalPref("version.latest");
|
let PREF_LATEST_VERSION = getGlobalPref("version.latest");
|
||||||
if (!SCRIPT_VERSION.includes("beta") && PREF_LATEST_VERSION && PREF_LATEST_VERSION !== SCRIPT_VERSION) $btnSettings.setAttribute("data-update-available", "true");
|
if (!SCRIPT_VERSION.includes("beta") && PREF_LATEST_VERSION && PREF_LATEST_VERSION !== SCRIPT_VERSION) $btnSettings.setAttribute("data-update-available", "true");
|
||||||
} else if (status === "unavailable") {
|
} else if (status === "error") Toast.show(t("server-list-error"), "❌", { instant: !0 });
|
||||||
|
else if (status === "unavailable") {
|
||||||
if (STATES.supportedRegion = !1, document.querySelector("div[class^=UnsupportedMarketPage-module__container]")) SettingsDialog.getInstance().show();
|
if (STATES.supportedRegion = !1, document.querySelector("div[class^=UnsupportedMarketPage-module__container]")) SettingsDialog.getInstance().show();
|
||||||
}
|
}
|
||||||
$btnSettings.classList.remove("bx-gone");
|
$btnSettings.classList.remove("bx-gone");
|
||||||
@ -9063,7 +9064,13 @@ class XcloudInterceptor {
|
|||||||
let ip = BypassServerIps[bypassServer];
|
let ip = BypassServerIps[bypassServer];
|
||||||
ip && request.headers.set("X-Forwarded-For", ip);
|
ip && request.headers.set("X-Forwarded-For", ip);
|
||||||
}
|
}
|
||||||
let response = await NATIVE_FETCH(request, init);
|
let response;
|
||||||
|
try {
|
||||||
|
response = await NATIVE_FETCH(request, init);
|
||||||
|
} catch (e) {
|
||||||
|
BxEventBus.Script.emit("xcloud.server", { status: "error" });
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (response.status !== 200) return BxEventBus.Script.emit("xcloud.server", { status: "unavailable" }), response;
|
if (response.status !== 200) return BxEventBus.Script.emit("xcloud.server", { status: "unavailable" }), response;
|
||||||
let obj = await response.clone().json();
|
let obj = await response.clone().json();
|
||||||
RemotePlayManager.getInstance()?.setXcloudToken(obj.gsToken);
|
RemotePlayManager.getInstance()?.setXcloudToken(obj.gsToken);
|
||||||
|
4
dist/better-xcloud.user.js
vendored
4
dist/better-xcloud.user.js
vendored
File diff suppressed because one or more lines are too long
@ -12,6 +12,7 @@ import { getGlobalPref } from "@/utils/pref-utils";
|
|||||||
import { BxLogger } from "@/utils/bx-logger";
|
import { BxLogger } from "@/utils/bx-logger";
|
||||||
import { BxEventBus } from "@/utils/bx-event-bus";
|
import { BxEventBus } from "@/utils/bx-event-bus";
|
||||||
import { BlockFeature } from "@/enums/pref-values";
|
import { BlockFeature } from "@/enums/pref-values";
|
||||||
|
import { Toast } from "@/utils/toast";
|
||||||
|
|
||||||
export class HeaderSection {
|
export class HeaderSection {
|
||||||
private static instance: HeaderSection;
|
private static instance: HeaderSection;
|
||||||
@ -60,6 +61,8 @@ export class HeaderSection {
|
|||||||
if (!SCRIPT_VERSION.includes('beta') && PREF_LATEST_VERSION && PREF_LATEST_VERSION !== SCRIPT_VERSION) {
|
if (!SCRIPT_VERSION.includes('beta') && PREF_LATEST_VERSION && PREF_LATEST_VERSION !== SCRIPT_VERSION) {
|
||||||
$btnSettings.setAttribute('data-update-available', 'true');
|
$btnSettings.setAttribute('data-update-available', 'true');
|
||||||
}
|
}
|
||||||
|
} else if (status === 'error') {
|
||||||
|
Toast.show(t('server-list-error'), '❌', { instant: true });
|
||||||
} else if (status === 'unavailable') {
|
} else if (status === 'unavailable') {
|
||||||
STATES.supportedRegion = false;
|
STATES.supportedRegion = false;
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ type EventCallback<T = any> = (payload: T) => void;
|
|||||||
|
|
||||||
export type ScriptEvents = {
|
export type ScriptEvents = {
|
||||||
'xcloud.server': {
|
'xcloud.server': {
|
||||||
status: 'ready' | 'unavailable' | 'signed-out',
|
status: 'ready' | 'unavailable' | 'signed-out' | 'error',
|
||||||
};
|
};
|
||||||
|
|
||||||
'dialog.shown': {};
|
'dialog.shown': {};
|
||||||
|
@ -49,7 +49,13 @@ export class XcloudInterceptor {
|
|||||||
ip && (request as Request).headers.set('X-Forwarded-For', ip);
|
ip && (request as Request).headers.set('X-Forwarded-For', ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
const response = await NATIVE_FETCH(request, init);
|
let response;
|
||||||
|
try {
|
||||||
|
response = await NATIVE_FETCH(request, init);
|
||||||
|
} catch (e) {
|
||||||
|
BxEventBus.Script.emit('xcloud.server', { status: 'error' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (response.status !== 200) {
|
if (response.status !== 200) {
|
||||||
// Unsupported region
|
// Unsupported region
|
||||||
BxEventBus.Script.emit('xcloud.server', { status: 'unavailable' });
|
BxEventBus.Script.emit('xcloud.server', { status: 'unavailable' });
|
||||||
|
Loading…
x
Reference in New Issue
Block a user