mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
[bugfix] show error when BSManager can't connect to beatmods
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { BsModsManagerService } from "../services/mods/bs-mods-manager.service";
|
||||
import { IpcService } from "../services/ipc.service";
|
||||
import { from, of } from "rxjs";
|
||||
import { from } from "rxjs";
|
||||
|
||||
const ipc = IpcService.getInstance();
|
||||
|
||||
@@ -36,6 +36,6 @@ ipc.on("bs-mods.uninstall-all-mods", (args, reply) => {
|
||||
|
||||
ipc.on("bs-mods.get-mods-grid-status", (_, reply) => {
|
||||
const modsManager = BsModsManagerService.getInstance();
|
||||
reply(of(modsManager.getModsGridStatus()));
|
||||
})
|
||||
reply(from(modsManager.getModsGridStatus()));
|
||||
});
|
||||
|
||||
|
||||
@@ -26,6 +26,17 @@ export class BeatModsApiService {
|
||||
this.requestService = RequestService.getInstance();
|
||||
}
|
||||
|
||||
public async isUp(): Promise<boolean> {
|
||||
try {
|
||||
// The data in status can be dropped
|
||||
await this.requestService.getJSON<{}>(`${this.MODS_REPO_API_URL}/status`);
|
||||
return true;
|
||||
} catch (error) {
|
||||
log.error("Could not connect to beatmods", error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private getVersionModsUrl(version: BSVersion): string {
|
||||
const platform: BbmPlatform = version.oculus || version.metadata?.store === BsStore.OCULUS ? BbmPlatform.OculusPC : BbmPlatform.SteamPC;
|
||||
return `${this.MODS_REPO_API_URL}/mods?status=verified&gameVersion=${version.BSVersion}&gameName=BeatSaber&platform=${platform}`;
|
||||
|
||||
@@ -566,7 +566,7 @@ export class BsModsManagerService {
|
||||
});
|
||||
}
|
||||
|
||||
public getModsGridStatus(): ModsGridStatus {
|
||||
public async getModsGridStatus(): Promise<ModsGridStatus> {
|
||||
if (process.platform === "linux") {
|
||||
const wineprefix = this.linuxService.getWinePrefixPath();
|
||||
if (!wineprefix) {
|
||||
@@ -575,6 +575,12 @@ export class BsModsManagerService {
|
||||
}
|
||||
}
|
||||
|
||||
const beatModsUp = await this.beatModsApi.isUp();
|
||||
if (!beatModsUp) {
|
||||
return ModsGridStatus.BEATMODS_DOWN;
|
||||
}
|
||||
|
||||
|
||||
return ModsGridStatus.OK;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user