From 61ad8ba75b4f48734e8caec0e7e31d0ec74afcf8 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Sat, 20 Apr 2024 16:27:32 +0200 Subject: [PATCH 1/4] [chore] use winhttp.dll to detect bsipa installation --- src/main/services/mods/bs-mods-manager.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/services/mods/bs-mods-manager.service.ts b/src/main/services/mods/bs-mods-manager.service.ts index 42b5add8..c465c3bc 100644 --- a/src/main/services/mods/bs-mods-manager.service.ts +++ b/src/main/services/mods/bs-mods-manager.service.ts @@ -112,7 +112,7 @@ export class BsModsManagerService { private async getBsipaInstalled(version: BSVersion): Promise { const bsPath = await this.bsLocalService.getVersionPath(version); - const injectorPath = path.join(bsPath, "Beat Saber_Data", "Managed", "IPA.Injector.dll"); + const injectorPath = path.join(bsPath, "IPA", "winhttp.dll"); if (!(await pathExist(injectorPath))) { return undefined; } From 6a326fd5848ed7ef19fb8322684680b19352ed6c Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Fri, 26 Apr 2024 19:57:17 +0200 Subject: [PATCH 2/4] add patreon --- assets/jsons/patreons.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/assets/jsons/patreons.json b/assets/jsons/patreons.json index 4626c581..09dd6b90 100644 --- a/assets/jsons/patreons.json +++ b/assets/jsons/patreons.json @@ -82,5 +82,9 @@ }, { "username": "Joshua" + }, + { + "username": "Stuijvi", + "type": "gold" } ] From 589c191ac217803bb3e7f8604047db5512b489bf Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Tue, 30 Apr 2024 23:16:53 +0200 Subject: [PATCH 3/4] Fix wrong mods shown for a BS version --- .../slides/mods/mods-slide.component.tsx | 67 +++++++++---------- 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/src/renderer/components/version-viewer/slides/mods/mods-slide.component.tsx b/src/renderer/components/version-viewer/slides/mods/mods-slide.component.tsx index 0f980b1e..4e3d97f6 100644 --- a/src/renderer/components/version-viewer/slides/mods/mods-slide.component.tsx +++ b/src/renderer/components/version-viewer/slides/mods/mods-slide.component.tsx @@ -9,8 +9,8 @@ import { BsmButton } from "renderer/components/shared/bsm-button.component"; import BeatWaitingImg from "../../../../../../assets/images/apngs/beat-waiting.png"; import BeatConflictImg from "../../../../../../assets/images/apngs/beat-conflict.png"; import { useObservable } from "renderer/hooks/use-observable.hook"; -import { skip, filter } from "rxjs/operators"; -import { Subscription, lastValueFrom } from "rxjs"; +import { skip, filter, map } from "rxjs/operators"; +import { Observable, Subscription, combineLatest, lastValueFrom, noop } from "rxjs"; import { useTranslation } from "renderer/hooks/use-translation.hook"; import { LinkOpenerService } from "renderer/services/link-opener.service"; import { useInView } from "framer-motion"; @@ -96,32 +96,34 @@ export function ModsSlide({ version, onDisclamerDecline }: { version: BSVersion; }); modsManager.installMods(modsToInstall, version).then(() => { - loadMods(); + lastValueFrom(loadMods()); }); }; - const loadMods = () => { + const loadMods = (): Observable => { if (os.isOffline) { - return; + return new Observable(subscriber => subscriber.complete()); } - Promise.all([ - lastValueFrom(modsManager.getAvailableMods(version)), - lastValueFrom(modsManager.getInstalledMods(version)) - ]).then(([available, installed]) => { + return combineLatest([ + modsManager.getAvailableMods(version), + modsManager.getInstalledMods(version) + ]).pipe(map(([available, installed]) => { const defaultMods = configService.get("default_mods" as DefaultConfigKey); - setModsAvailable(modsToCategoryMap(available)); - setModsSelected(available.filter(m => m.required || defaultMods.some(d => m.name.toLowerCase() === d.toLowerCase()) || installed.some(i => m.name === i.name))); - setModsInstalled(modsToCategoryMap(installed)); - }); + setModsAvailable(() => modsToCategoryMap(available)); + setModsSelected(() => available.filter(m => m.required || defaultMods.some(d => m.name.toLowerCase() === d.toLowerCase()) || installed.some(i => m.name === i.name))); + setModsInstalled(() => modsToCategoryMap(installed)); + })); }; useEffect(() => { const subs: Subscription[] = []; - if (isVisible && isOnline) { - - (async () => { + if(!isVisible || !isOnline){ + return noop(); + } + + (async () => { if (configService.get(ACCEPTED_DISCLAIMER_KEY)) { return true; } @@ -134,25 +136,22 @@ export function ModsSlide({ version, onDisclamerDecline }: { version: BSVersion; } return haveAccepted; - })().then(canLoad => { - if (!canLoad) { - return onDisclamerDecline?.(); - } - - loadMods(); + })().then(canLoad => { + if (!canLoad) { + return onDisclamerDecline?.(); + } - subs.push( - modsManager.isUninstalling$ - .pipe( - skip(1), - filter(uninstalling => !uninstalling) - ) - .subscribe(() => { - loadMods(); - }) - ); - }); - } + subs.push(loadMods().subscribe()); + + subs.push( + modsManager.isUninstalling$.pipe( + skip(1), + filter(uninstalling => !uninstalling) + ).subscribe(() => { + subs.push(loadMods().subscribe()); + }) + ); + }); return () => { setMoreInfoMod(null); From ad6d9b57f8fc780007859b53197d0b808a1b8a91 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Mon, 6 May 2024 18:25:08 +0200 Subject: [PATCH 4/4] Add 1.36.2 --- assets/jsons/bs-versions.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/assets/jsons/bs-versions.json b/assets/jsons/bs-versions.json index 1fa5e9bf..06e02520 100644 --- a/assets/jsons/bs-versions.json +++ b/assets/jsons/bs-versions.json @@ -717,5 +717,14 @@ "ReleaseImg": "https://clan.akamai.steamstatic.com/images//32055887/b8bd8a050e2bc3903cf18a277c5489ade01f7e75.png", "ReleaseDate": "1712681263", "year": "2024" + }, + { + "BSVersion": "1.36.2", + "BSManifest": "4832237377879752064", + "OculusBinaryId": "6983660338400352", + "ReleaseURL": "https://store.steampowered.com/news/app/620980/view/4181105931135110118", + "ReleaseImg": "https://clan.cloudflare.steamstatic.com/images//32055887/74541417f14dee210bcfd89eefeabd7c0cc27c7d.png", + "ReleaseDate": "1715008020", + "year": "2024" } ]