From e08c7b71093b98c7d2ecccaf664600ccea34d77c Mon Sep 17 00:00:00 2001 From: silentrald Date: Thu, 2 Jan 2025 19:25:23 +0800 Subject: [PATCH] [hotfix] fix isue where querying mods with non-existent hash in BBM --- .../services/mods/bs-mods-manager.service.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/services/mods/bs-mods-manager.service.ts b/src/main/services/mods/bs-mods-manager.service.ts index e798151e..09016cf8 100644 --- a/src/main/services/mods/bs-mods-manager.service.ts +++ b/src/main/services/mods/bs-mods-manager.service.ts @@ -49,15 +49,19 @@ export class BsModsManagerService { this.utilsService = UtilsService.getInstance(); } - private async getModFromHash(hash: string): Promise { + private async getModFromHash(hash: string): Promise { + try { + const mod = await this.beatModsApi.getModByHash(hash); - const mod = await this.beatModsApi.getModByHash(hash); + if(mod?.contentHashes?.some(content => content.path.includes("IPA.exe"))){ + return null; + } - if(mod?.contentHashes?.some(content => content.path.includes("IPA.exe"))){ - return undefined; + return mod; + } catch (error) { + log.error("Could not get mod from hash", error); + return null; } - - return mod; } private async getModsInDir(version: BSVersion, modsDir: ModsInstallFolder): Promise { @@ -300,7 +304,7 @@ export class BsModsManagerService { await Promise.all(promises); } - public getAvailableMods(version: BSVersion): Promise { + public async getAvailableMods(version: BSVersion): Promise { return this.beatModsApi.getVersionMods(version).catch(() => { return [] as BbmFullMod[]; });