[bugfix] remove OsDiagnosticService

This commit is contained in:
Zagrios
2025-04-07 07:25:53 +02:00
parent f81aa82b30
commit f380522eac
7 changed files with 7 additions and 70 deletions
@@ -21,7 +21,6 @@ import { useObservable } from "renderer/hooks/use-observable.hook";
import { PlaylistDownloaderService } from "renderer/services/playlist-downloader.service";
import { NotificationService } from "renderer/services/notification.service";
import { DeletePlaylistModal } from "renderer/components/modal/modal-types/playlist/delete-playlist-modal.component";
import { OsDiagnosticService } from "renderer/services/os-diagnostic.service";
import { PlaylistItemComponentPropsMapper } from "shared/mappers/playlist/playlist-item-component-props.mapper";
import { VirtualScroll } from "renderer/components/shared/virtual-scroll/virtual-scroll.component";
import { LocalPlaylistFilter, LocalPlaylistSort } from "./local-playlist-filter-panel.component";
@@ -75,10 +74,8 @@ export const LocalPlaylistsListPanel = forwardRef<LocalPlaylistsListRef, Props>(
const playlistDownloader = useService(PlaylistDownloaderService);
const modals = useService(ModalService);
const ipc = useService(IpcService);
const osDiagnostic = useService(OsDiagnosticService);
const notification = useService(NotificationService);
const isOnline = useObservable(() => osDiagnostic.isOnline$, false);
const isActiveOnce = useChangeUntilEqual(isActive, { untilEqual: true });
const { maps$, playlists$, setPlaylists, setMaps } = useContext(InstalledMapsContext);
@@ -121,7 +118,6 @@ export const LocalPlaylistsListPanel = forwardRef<LocalPlaylistsListRef, Props>(
},
syncPlaylists: async (playlists?: LocalBPList[]) => {
if(!isOnline){ return; }
const toSync = playlists ?? (selectedPlaylists$.value?.length ? selectedPlaylists$.value : playlists$.value);
if(!toSync.length){ return; }
@@ -391,13 +387,13 @@ export const LocalPlaylistsListPanel = forwardRef<LocalPlaylistsListRef, Props>(
}}
onClickOpen={() => openPlaylistDetails(playlist.path)}
onClickDelete={() => deletePlaylists([playlist])}
onClickSync={(playlist?.songs?.length && isOnline) && (() => handleClickSync(playlist))}
onClickSync={!!playlist?.songs?.length && (() => handleClickSync(playlist))}
onClickOpenFile={() => viewPlaylistFile(playlist.path)}
onClickCancelDownload={() => playlistDownloader.cancelDownload(playlist.customData?.syncURL ?? playlist.path, version)}
onClickEdit={() => editPlaylist(playlist)}
/>
);
}, [isOnline, version]);
}, [version]);
const filteredPlaylists = useMemo(() => {
if(!playlists){ return []; }
@@ -15,7 +15,6 @@ import BeatConflictImg from "../../../../../assets/images/apngs/beat-conflict.pn
import equal from "fast-deep-equal/es6";
import { ProgressBarService } from "renderer/services/progress-bar.service";
import { useTranslation } from "renderer/hooks/use-translation.hook";
import { OsDiagnosticService } from "renderer/services/os-diagnostic.service";
import { BsmLocalMap } from "shared/models/maps/bsm-local-map.interface";
import { useService } from "renderer/hooks/use-service.hook";
import { useConstant } from "renderer/hooks/use-constant.hook";
@@ -29,7 +28,6 @@ export const DownloadMapsModal: ModalComponent<void, { version: BSVersion; owned
const config = useService(ConfigurationService);
const mapsDownloader = useService(MapsDownloaderService);
const progressBar = useService(ProgressBarService);
const os = useService(OsDiagnosticService);
const currentDownload = useObservable(() => mapsDownloader.currentMapDownload$);
const mapsInQueue = useObservable(() => mapsDownloader.mapsInQueue$);
@@ -41,7 +39,6 @@ export const DownloadMapsModal: ModalComponent<void, { version: BSVersion; owned
const [downloadbleMaps, setDownloadbleMaps] = useState<DownloadableMap[]>([]);
const [ownedMapHashs, setOwnedMapHashs] = useState<string[]>(ownedMaps?.map(map => map.hash) ?? []);
const [loading, setLoading] = useState(false);
const isOnline = useObservable(() => os.isOnline$);
const [searchParams, setSearchParams] = useState<SearchParams>({
sortOrder: config.get("map-sort-order"),
filter,
@@ -256,10 +253,7 @@ export const DownloadMapsModal: ModalComponent<void, { version: BSVersion; owned
if (loading) {
return t("modals.download-maps.loading-maps");
}
if (isOnline) {
return t("modals.download-maps.no-maps-found");
}
return t("modals.download-maps.no-internet");
return t("modals.download-maps.no-maps-found");
})()}
</span>
</div>
@@ -12,7 +12,6 @@ import { ModelDownload, ModelsDownloaderService } from "renderer/services/models
import { ModelSaberService } from "renderer/services/thrird-partys/model-saber.service";
import { useBehaviorSubject } from "renderer/hooks/use-behavior-subject.hook";
import { useTranslation } from "renderer/hooks/use-translation.hook";
import { OsDiagnosticService } from "renderer/services/os-diagnostic.service";
import { useObservable } from "renderer/hooks/use-observable.hook";
import { useConstant } from "renderer/hooks/use-constant.hook";
import { MODEL_TYPES, MS_GET_QUERY_SORTS } from "shared/models/models/constants";
@@ -26,7 +25,6 @@ import { VirtualScroll } from "renderer/components/shared/virtual-scroll/virtual
export const DownloadModelsModal: ModalComponent<void, { version: BSVersion; type: MSModelType; owned: BsmLocalModel[] }> = ({ options: {data: { version, type, owned }} }) => {
const modelsDownloader = useService(ModelsDownloaderService);
const modelSaber = useService(ModelSaberService);
const os = useService(OsDiagnosticService);
const t = useTranslation();
@@ -48,7 +46,6 @@ export const DownloadModelsModal: ModalComponent<void, { version: BSVersion; typ
const downloadQueue = useObservable(() => modelsDownloader.getQueue$(), []);
const [msModels, msModels$] = useBehaviorSubject<MSModel[]>([]);
const [renderableModels, setRenderableModels] = useState<RenderableModel[]>([]);
const isOnline = useObservable(() => os.isOnline$, true);
const [error, error$] = useBehaviorSubject(false);
const [isLoading, isLoading$] = useBehaviorSubject(false);
const [ownedModels, setOwnedModels] = useState<BsmLocalModel[]>(owned ?? []);
@@ -197,13 +194,7 @@ export const DownloadModelsModal: ModalComponent<void, { version: BSVersion; typ
if (isLoading) {
return <span className="text-lg">{t("models.panel.grid.loading")}</span>;
}
if (isOnline) {
return <span className="text-lg">{t("models.modals.download-models.no-models")}</span>;
}
if (!isOnline) {
return <span className="text-lg">{t("models.modals.download-models.no-internet")}</span>;
}
return <span className="text-lg">{t("models.modals.download-models.error-occured")}</span>;
return <span className="text-lg">{t("models.modals.download-models.no-models")}</span>;
};
return (
@@ -7,13 +7,11 @@ import { ConfigurationService } from "renderer/services/configuration.service";
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 { lastValueFrom } from "rxjs";
import { useTranslationV2 } from "renderer/hooks/use-translation.hook";
import { LinkOpenerService } from "renderer/services/link-opener.service";
import { ModalExitCode, ModalService } from "renderer/services/modale.service";
import { ModsDisclaimerModal } from "renderer/components/modal/modal-types/mods-disclaimer-modal.component";
import { OsDiagnosticService } from "renderer/services/os-diagnostic.service";
import { lt } from "semver";
import { useService } from "renderer/hooks/use-service.hook";
import { NotificationService } from "renderer/services/notification.service";
@@ -42,7 +40,6 @@ export const ModsSlide = forwardRef<ModsSlideRef, Props>(({ version, isActive, o
const notification = useService(NotificationService);
const linkOpener = useService(LinkOpenerService);
const modals = useService(ModalService);
const os = useService(OsDiagnosticService);
const progress = useService(ProgressBarService);
const [gridStatus, setGridStatus] = useState(ModsGridStatus.OK);
@@ -51,7 +48,6 @@ export const ModsSlide = forwardRef<ModsSlideRef, Props>(({ version, isActive, o
const [modsSelected, setModsSelected] = useState([] as BbmFullMod[]);
const [moreInfoMod, setMoreInfoMod] = useState(null as BbmFullMod);
const [reinstallAllMods, setReinstallAllMods] = useState(false);
const isOnline = useObservable(() => os.isOnline$);
const [installing, setInstalling] = useState(false);
const [uninstalling, setUninstalling] = useState(false);
const [modsDropZoneOpen, setModsDropZoneOpen] = useState(false);
@@ -205,7 +201,7 @@ export const ModsSlide = forwardRef<ModsSlideRef, Props>(({ version, isActive, o
}
const loadMods = async (): Promise<void> => {
if (os.isOffline || gridStatus !== ModsGridStatus.OK) {
if (gridStatus !== ModsGridStatus.OK) {
return Promise.resolve();
}
@@ -224,7 +220,7 @@ export const ModsSlide = forwardRef<ModsSlideRef, Props>(({ version, isActive, o
useEffect(() => {
if(!isActive || !isOnline){
if(!isActive){
return noop();
}
@@ -245,7 +241,7 @@ export const ModsSlide = forwardRef<ModsSlideRef, Props>(({ version, isActive, o
setModsInstalled(null);
setGridStatus(ModsGridStatus.OK);
};
}, [isActive, isOnline, version]);
}, [isActive, version]);
useEffect(() => {
// Center the progress bar between buttons
@@ -289,9 +285,6 @@ export const ModsSlide = forwardRef<ModsSlideRef, Props>(({ version, isActive, o
}
const renderContent = () => {
if (!isOnline) {
return <ModStatus text="pages.version-viewer.mods.no-internet" image={BeatConflictImg} />;
}
if (gridStatus !== ModsGridStatus.OK) {
return renderStatus();
}
@@ -7,7 +7,6 @@ import { ProgressBarService } from "./progress-bar.service";
import { ProgressionInterface } from "shared/models/progress-bar";
import { BsvMapDetail } from "shared/models/maps";
import { IpcService } from "./ipc.service";
import { OsDiagnosticService } from "./os-diagnostic.service";
import equal from "fast-deep-equal/es6";
import { CSSProperties } from "react";
import { BsmLocalMap } from "shared/models/maps/bsm-local-map.interface";
@@ -25,7 +24,6 @@ export class MapsDownloaderService {
private readonly modals: ModalService;
private readonly progressBar: ProgressBarService;
private readonly ipc: IpcService;
private readonly os: OsDiagnosticService;
private readonly mapsQueue$: BehaviorSubject<MapDownload[]> = new BehaviorSubject([]);
private readonly currentDownload$: BehaviorSubject<MapDownload> = new BehaviorSubject(null);
@@ -38,7 +36,6 @@ export class MapsDownloaderService {
this.modals = ModalService.getInstance();
this.progressBar = ProgressBarService.getInstance();
this.ipc = IpcService.getInstance();
this.os = OsDiagnosticService.getInstance();
this.mapsQueue$.pipe(filter(queue => queue.length === 1 && !this.isDownloading)).subscribe(() => this.startDownloadMaps());
this.mapsQueue$.pipe(filter(queue => queue.length === 0)).subscribe(() => {
@@ -68,9 +65,6 @@ export class MapsDownloaderService {
}
private downloadMap(map: BsvMapDetail, version: BSVersion): Observable<BsmLocalMap> {
if (this.os.isOffline) {
return null;
}
return this.ipc.sendV2("bs-maps.download-map", { map, version });
}
@@ -1,29 +0,0 @@
import { BehaviorSubject } from "rxjs";
export class OsDiagnosticService {
private static instance: OsDiagnosticService;
public static getInstance(): OsDiagnosticService {
if (!OsDiagnosticService.instance) {
OsDiagnosticService.instance = new OsDiagnosticService();
}
return OsDiagnosticService.instance;
}
private _isOnline$ = new BehaviorSubject(navigator.onLine);
private constructor() {
window.addEventListener("online", () => this._isOnline$.next(true));
window.addEventListener("offline", () => this._isOnline$.next(false));
}
public get isOnline() {
return this._isOnline$.value;
}
public get isOffline() {
return !this._isOnline$.value;
}
public get isOnline$() {
return this._isOnline$.asObservable();
}
}
-2
View File
@@ -20,7 +20,6 @@ import { ModelsManagerService } from "renderer/services/models-management/models
import { NotificationService } from "renderer/services/notification.service";
import { timer } from "rxjs";
import { ConfigurationService } from "renderer/services/configuration.service";
import { OsDiagnosticService } from "renderer/services/os-diagnostic.service";
import { useService } from "renderer/hooks/use-service.hook";
import { SetupService } from "renderer/services/setup.service";
import { StaticConfigurationService } from "renderer/services/static-configuration.service";
@@ -28,7 +27,6 @@ import { BSVersionManagerService } from "renderer/services/bs-version-manager.se
export default function App() {
useService(OsDiagnosticService);
const pageState = useService(PageStateService);
const maps = useService(MapsManagerService);
const playlists = useService(PlaylistsManagerService);