diff --git a/SteamTweaks/.eslintrc.js b/SteamTweaks/.eslintrc.cjs similarity index 100% rename from SteamTweaks/.eslintrc.js rename to SteamTweaks/.eslintrc.cjs diff --git a/SteamTweaks/src/GlosSITweaks.ts b/SteamTweaks/src/GlosSITweaks.ts index 29e5c6c..ea0cf35 100644 --- a/SteamTweaks/src/GlosSITweaks.ts +++ b/SteamTweaks/src/GlosSITweaks.ts @@ -1,9 +1,15 @@ import type { SteamConfig } from './common/util/types'; import { fetchWithTimeout } from './common/util/util'; - +import type { GlosSISettings } from './@types/GlosSISettings'; class SteamTargetApi { + public getGlosSIActive() { + return fetchWithTimeout('http://localhost:8756/', { timeout: 500 }) + .then( + () => true + ).catch(() => false); + } public getSteamSettings(): Promise { return fetch('http://localhost:8756/steam_settings') .then( @@ -13,12 +19,15 @@ class SteamTargetApi { ); } - public getGlosSIActive() { - return fetchWithTimeout('http://localhost:8756/', { timeout: 10000 }) + public getGlosSISettings() { + return fetch('http://localhost:8756/settings') .then( - () => true - ).catch((e) => false); + (res) => res.json().then( + (json) => json as GlosSISettings + ) + ); } + } @@ -27,18 +36,19 @@ class GlosSIApiCtor { } interface GlosSITweaks { - [tweakName: string]: { readonly install: () => unknown; readonly uninstall?: () => void } + [tweakName: string]: { readonly install: () => unknown; readonly uninstall?: () => void }; } declare global { interface Window { - GlosSITweaks: GlosSITweaks + GlosSITweaks: GlosSITweaks; GlosSIApi: InstanceType; } // eslint-disable-next-line const GlosSIApi: InstanceType; - const GlosSITweaks: GlosSITweaks + // eslint-disable-next-line + const GlosSITweaks: GlosSITweaks; } @@ -51,7 +61,7 @@ const installGlosSIApi = () => { }, uninstall: () => { Object.entries(window.GlosSITweaks) - .filter(([tweakName, obj]) => (tweakName !== 'GlosSI')) + .filter(([tweakName]) => (tweakName !== 'GlosSI')) .forEach(([, obj]) => obj.uninstall?.()); // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore @@ -66,15 +76,15 @@ const installGlosSIApi = () => { const glossiCheckInterval = setInterval(() => { if (window.GlosSIApi) { - window.GlosSIApi.SteamTarget.getGlosSIActive().then((active) => { + void window.GlosSIApi.SteamTarget.getGlosSIActive().then((active) => { if (!active) { window?.GlosSITweaks?.GlosSI?.uninstall?.(); } }); return; } - clearTimeout(glossiCheckInterval) - }, 5000) + clearTimeout(glossiCheckInterval); + }, 5000); }; diff --git a/SteamTweaks/src/Tweaks/Overlay/SharedContext/HideFPSCounter.ts b/SteamTweaks/src/Tweaks/Overlay/SharedContext/HideFPSCounter.ts index 7bbf1bb..1b1b404 100644 --- a/SteamTweaks/src/Tweaks/Overlay/SharedContext/HideFPSCounter.ts +++ b/SteamTweaks/src/Tweaks/Overlay/SharedContext/HideFPSCounter.ts @@ -1,6 +1,5 @@ - -import type { SteamConfig } from "../../../common/util/types"; -import { initTweak } from "../../../common/tweakApi"; +import type { SteamConfig } from '../../../common/util/types'; +import { initTweak } from '../../../common/tweakApi'; const backup: { originalFpsCorner?: number } = {}; @@ -20,4 +19,6 @@ initTweak('HideFPSCounter', { SteamClient.Settings.SetInGameOverlayShowFPSCorner((backup.originalFpsCorner ?? 0) as 0 | 1 | 2 | 3 | 4); }, 10 * 1000); } -}); +}).then(() => { + console.log('HideFPSCounter installed'); +}).catch((e) => console.error('HideFPSCounter failed to install', e)); diff --git a/SteamTweaks/src/common/tweakApi.ts b/SteamTweaks/src/common/tweakApi.ts index 7b3ad99..cac7880 100644 --- a/SteamTweaks/src/common/tweakApi.ts +++ b/SteamTweaks/src/common/tweakApi.ts @@ -2,9 +2,9 @@ export const initTweak = (name: string, tweakMain: (() => T)|{ install: () => T; uninstall: () => void; -}, force = false): T|Error => { +}, force = false): T => { if (!force && window.GlosSITweaks[name]) { - return new Error(`Tweak ${name} is already installed!`); + throw new Error(`Tweak ${name} is already installed!`); } if (typeof tweakMain === 'object') { diff --git a/SteamTweaks/src/common/util/util.ts b/SteamTweaks/src/common/util/util.ts index ac46143..be6a91c 100644 --- a/SteamTweaks/src/common/util/util.ts +++ b/SteamTweaks/src/common/util/util.ts @@ -1,12 +1,12 @@ export const fetchWithTimeout = async (input: RequestInfo | URL, init?: RequestInit & { timeout: number }) => { const { timeout = 8000 } = init || {}; - + const controller = new AbortController(); const id = setTimeout(() => controller.abort(), timeout); const response = await fetch(input, { - ...(init ||{}), - signal: controller.signal + ...(init ||{}), + signal: controller.signal }); clearTimeout(id); return response; - } \ No newline at end of file +};