aboutsummaryrefslogtreecommitdiff
path: root/src-tauri/src/repair_and_verify
AgeCommit message (Collapse)Author
2023-10-13refactor: Move repair/verify related funcs to mod (#622)GeckoEidechse
Moves functions related to game install path verification checks to dedicated module in an effort to clean up `main.rs`
2023-08-09fix: Ignore missing temp directories on cleanup (#488)Jan
When a directory couldn't be read on cleanup it errored out. Instead we should continue to clean up the rest of the directories
2023-08-03fix: Go over all folders during cleanup (#469)GeckoEidechse
* fix: Go over all folders during cleanup of early return on error * fix: Remove now unused import
2023-08-03fix: Add extract dir to cleanup (#466)Jan
Add extract dir to cleanup
2023-08-01refactor Generalise temporary directory structure (#458)Jan
The temp folder we create could be reused for a lot more things, like extracting Northstar before moving files into the correct place. As such adjust the naming and structure to accommodate this.
2023-07-30refactor: Add Profile to GameInstall (#453)Jan
Add Profile to GameInstall Replace hardcoded uses of R2Northstar with profile attribute
2023-05-10refactor: Move code from `lib.rs` into `main.rs` (#330)GeckoEidechse
Move remaining logic in one big move
2023-05-10refactor: Move `get_enabled_mods` to different source file (#311)GeckoEidechse
Move `get_enabled_mods` into the mod management module.
2023-05-09refactor: Move `get_enabled_mods` to `main.rs` (#333)GeckoEidechse
Part of #329
2023-04-16Use pass-by-reference where possible (#266)cat_or_not
Use pass-by-reference where possible also contains some other small changes
2023-04-02fix: Another set of various clippy fixes (#246)GeckoEidechse
* fix: Remove unnecessary clone * fix: Remove redundant field name in struct init * fix: Single-char string constant used as pattern * fix: calling `push_str()` using a single-character string literal * fix: this pattern reimplements `Option::unwrap_or` * fix: Remove unnecessary borrow * fix: Remove useless use of `format!` * fix: called `inspect(..).for_each(..)` on an `Iterator` * fix: Formatting
2023-03-27fix: Replace `<=0` with `.is_empty()` (#244)GeckoEidechse
2023-02-11refactor: Move various consts to `constants.rs` (#162)GeckoEidechse
* refactor: Move list of core mods to consts source Move the list of core Northstar mods to constants.rs * fix: Add missing newline * refactor: Move list of blacklisted mods to consts source file * refactor: Move list of TF2 Origin IDs to consts source file
2023-02-02refactor: Deal with `fs::read_dir` failure instead of checking if exists (#155)Jan
* refactor: Deal with fs::read_dir failure instead of checking if exists
2023-01-22chore: Autoformat Rust source files (#143)GeckoEidechse
2023-01-04refactor: Remove unnecessary caller function pattern (#128)GeckoEidechse
* refactor: Remove unnecessary caller function Instead call `disable_all_but_core` directly * refactor: Remove unnecessary caller function Instead call `get_installed_mods_and_properties` directly * refactor: Remove unused exposed backend function * refactor: Remove unnecessary caller function Instead call `set_mod_enabled_status` directly * refactor: Remove unnecessary caller function Instead call `verify_game_files` directly * refactor: Remove unnecessary caller function Instead call `get_log_list` directly
2022-12-12fix: Make sure all non-core mods get disabled (#103)GeckoEidechse
For this we first rebuild the `enabledmods.json` file. This ensures that all installed mods are actually listed there. The function was originally created before we could rebuild `enabledmods.json` by checking installed mods.
2022-11-28style: Auto-format all Rust code (#84)GeckoEidechse
2022-11-27refactor: Make var containing core mods pub const (#74)GeckoEidechse
This way we only define them in one place
2022-11-25refactor: Move function to dedicated module (#67)GeckoEidechse
Getting log files is part of repair and troubleshooting
2022-11-19feat: Initial support for installing mods from TS (#32)GeckoEidechse
* feat: Initial support for installing mods from TS This is the basic code needed to install a mod from Thunderstore * refactor: Remove console log, show msg in notif Instead of console logging result message, show it in notification instead. * refactor: Rename function to indicate behaviour Function not only installs but also downloads mod first. Although it does remove downloaded zip post installation. * refactor: Move install logic to dedicated module `mod_management` module didn't exist when this PR was created * chore: Trim single leftover newline * fix: Update code for newer `libthermite` version * feat: Allow installing older versions of mods Installs the given version number instead of only allowing latest. * fix: Explicit error msg for installing NS as mod While it would fail during install anyway, having explicit error message is nicer * feat: Write TS mod string to mod.json Write Thunderstore mod string of installed mod to its `mod.json` This way we can later check whether a mod is outdated based on the Thunderstore mod string * fix: Early return on empty string Prevent trying to install the first mod that matches an early string. We should never pass an empty string in the first place but better safe then sorry. * build: Add dependency for recursive async Needed for recursive mod dependency install * feat: Recursively install mod dependencies * fix: Early catch installing R2modman as mod Just in case to prevent someone trying to install R2modman as a mod. * refactor: Remove debug prints * fix: Allow installing mods having NS as dependency They would previously error out as Northstar cannot be installed as dependency. We now catch that specific error and return Ok(()) * fix: Delete download folder after mod install Deletes download folder after mod install if non-empty. * fix: Do not early leave when dependency is NS Logic error, instead of skipping installing Northstar as dependency it would previously just return early with success. * chore: Remove leftover commented out code
2022-11-07refactor: Move functions to dedicated file (#41)GeckoEidechse
Only a single function for now as a sort of proof-of-concept.
2022-09-29Add backend function to disable all mods but corearchive/pre-ui-mergeGeckoEidechse
Should help with fixing a Northstar install in the case of conflicting mods.
2022-09-24Add code skeleton to verify game filesGeckoEidechse
Once done, should help with some tickets.