diff --git a/src/main/models/depot-downloader.class.ts b/src/main/models/depot-downloader.class.ts index fdc57937..d07965cc 100644 --- a/src/main/models/depot-downloader.class.ts +++ b/src/main/models/depot-downloader.class.ts @@ -1,7 +1,6 @@ import { ChildProcessWithoutNullStreams, SpawnOptionsWithoutStdio, spawn } from "child_process"; import { Observable, ReplaySubject, Subscriber, filter, map, share } from "rxjs"; import { DepotDownloaderArgsOptions, DepotDownloaderErrorEvent, DepotDownloaderEvent, DepotDownloaderEventType, DepotDownloaderEventTypes, DepotDownloaderInfoEvent, DepotDownloaderWarningEvent } from "../../shared/models/depot-downloader.model"; -import { DownloadEvent } from "main/services/bs-installer.service"; export class DepotDownloader { @@ -17,8 +16,6 @@ export class DepotDownloader { this.subscriber = subscriber; - console.log(`${options.command} ${options.args?.join(" ")}}`) - this.process = spawn(options.command, options.args ?? [], options.options); subscriber.next(`[Info]|[Start]|${JSON.stringify(options.echoStartData) ?? ""}`); @@ -32,7 +29,6 @@ export class DepotDownloader { this.process.on("exit", code => subscriber.complete()); return () => { - console.log("DepotDownloader process killed") this.process.kill(); this.process = null; } @@ -60,14 +56,14 @@ export class DepotDownloader { const splitedLine = matched.split("|").map(str => str.trim().replaceAll("[", "").replaceAll("]", "")) as [DepotDownloaderEventType, DepotDownloaderEventTypes, unknown]; - if(!eventTypesArr.includes(splitedLine[0] as DepotDownloaderEventType) || !DepotDownloaderSubTypeOfEventType[splitedLine[0]].includes(splitedLine[1])){ + if(!eventTypesArr.includes(splitedLine[0]) || !DepotDownloaderSubTypeOfEventType[splitedLine[0]].includes(splitedLine[1])){ return null; } return { - type: splitedLine[0] as DepotDownloaderEventType, - subType: splitedLine[1] as DepotDownloaderEventTypes, - data: splitedLine[2] as unknown, + type: splitedLine[0], + subType: splitedLine[1], + data: splitedLine[2], } }), diff --git a/src/renderer/pages/available-versions-list.components.tsx b/src/renderer/pages/available-versions-list.components.tsx index 305e21e6..abc0c557 100644 --- a/src/renderer/pages/available-versions-list.components.tsx +++ b/src/renderer/pages/available-versions-list.components.tsx @@ -1,7 +1,7 @@ import { AvailableVersionsSlider } from "../components/available-versions/available-versions-slider.component"; import { BsDownloaderService } from "../services/bs-downloader.service"; import { Slideshow } from "renderer/components/slideshow/slideshow.component"; -import { createContext, useState } from "react"; +import { createContext, useMemo, useState } from "react"; import { BsmButton } from "renderer/components/shared/bsm-button.component"; import { AnimatePresence, motion } from "framer-motion"; import { useTranslation } from "renderer/hooks/use-translation.hook"; @@ -29,6 +29,8 @@ export function AvailableVersionsList() { const notification = useService(NotificationService); const [selectedVersion, setSelectedVersion] = useState(null); + const contextValue = useMemo(() => ({ selectedVersion, setSelectedVersion }), [selectedVersion]); + const downloading = useObservable(bsDownloader.currentBsVersionDownload$.pipe(map(v => !!v))); const t = useTranslation(); @@ -80,7 +82,7 @@ export function AvailableVersionsList() {

{t("pages.available-versions.title")}

- + diff --git a/src/renderer/services/ipc.service.ts b/src/renderer/services/ipc.service.ts index 39045e86..5938123c 100644 --- a/src/renderer/services/ipc.service.ts +++ b/src/renderer/services/ipc.service.ts @@ -66,7 +66,8 @@ export class IpcService { if (!request) { request = { args: null, responceChannel: null }; } - if (!request.responceChannel) { // TODO : Remove this + + if (!request.responceChannel) { request.responceChannel = `${channel}_responce_${crypto.randomUUID()}`; } @@ -81,10 +82,7 @@ export class IpcService { window.electron.ipcRenderer.sendMessage(channel, request); - console.log("Subscribe IPC", request.responceChannel, request.args); // TODO : Remove this - return () => { - console.log("Unsubscribe IPC", request.responceChannel, request.args); // TODO : Remove this window.electron.ipcRenderer.removeAllListeners(request.responceChannel); window.electron.ipcRenderer.removeAllListeners(errorChannel); window.electron.ipcRenderer.removeAllListeners(completeChannel);