From 01401c4691134f9277f3460717d58fbcbb20ca5b Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Sat, 18 Mar 2023 15:10:38 +0100 Subject: [PATCH] [hotfix] older mod overwrite latest version of installed mod --- .../version-viewer/slides/mods/mods-slide.component.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 705a57ef..379a32ab 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 @@ -17,6 +17,7 @@ import { useInView } from "framer-motion"; 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"; export function ModsSlide({version, onDisclamerDecline}: {version: BSVersion, onDisclamerDecline: () => void}) { @@ -68,7 +69,12 @@ export function ModsSlide({version, onDisclamerDecline}: {version: BSVersion, on const installMods = () => { if(installing){ return; } - modsManager.installMods(modsSelected, version).then(() => { + const modsToInstall = modsSelected.filter(mod => { + const corespondingMod = modsAvailable.get(mod.category).find(availabeMod => availabeMod._id === mod._id); + if(lt(corespondingMod.version, mod.version)){ return false; } + return true; + }) + modsManager.installMods(modsToInstall, version).then(() => { loadMods(); }); }