Age | Commit message (Collapse) | Author |
|
|
|
Moves some logic related to reading legacy installed mods to new file in order to clean up code before adding new logic.
|
|
And update code accordingly
Co-authored-by: AnActualEmerald <emerald_actual@protonmail.com>
|
|
if treating enabledmods.json as object fails
|
|
|
|
instead of panicking
|
|
* fix: Make log comment more specific
* feat: Log attempting to create temp dir
* feat: Log mod to install and GameInstall struct
* refactor: Replace `dbg` with proper logging
* refactor: Replace `dbg` with proper logging
* feat: Warning log mod install error
* style: Fix formatting
* feat: Log libthermite error and modstring
when mod install fails
|
|
Move remaining logic in one big move
|
|
Move `get_enabled_mods` into the mod management module.
|
|
Instead of lib
|
|
Part of #329
|
|
* refactor: Always remove zip files
* docs: Add comment explaining the use of the struct
|
|
panic (#295)
report error instead of panic
|
|
Use pass-by-reference where possible
also contains some other small changes
|
|
Fixes a regression introduced in #244 that prevented any Thunderstore
mods from being uninstalled
Closes #269
|
|
* fix: Remove redundant return
* fix: Remove unnecessary borrow
* fix: Remove unnecessary import
* fix: Use char for single character replacement
instead of string
* fix: Iterate over values directly
instead of key-value pair
* fix: Remove unnecessary let binding
* fix: Remove unnecessary return statement
* fix: Use char for single character replacement
instead of string
* refactor: Use struct short hand initialization
|
|
|
|
As pointed out by clippy
|
|
* refactor: Replace all println with calls to logger
in `do_install()`
* refactor: Replace all println with calls to logger
in `verify_install_location()`
* refactor: Replace all println with calls to logger
in `get_northstar_release_notes()`
* refactor: Replace all println with calls to logger
in `update_northstar_caller()`
* refactor: Replace all println with calls to logger
in `install_northstar_caller()`
* refactor: Replace all println with calls to logger
in `apply_launcher_pr()`
* refactor: Replace all println with calls to logger
in `apply_mods_pr()`
* refactor: Replace all println with calls to logger
in `find_game_install_location()`
* refactor: Replace all println with calls to logger
in `install_mod_caller()`
* refactor: Replace all println with calls to logger
in `set_mod_enabled_status()`
* refactor: Replace all println with calls to logger
in `parse_installed_mods()`
* refactor: Replace all println with calls to logger
in `origin_install_location_detection()`
* refactor: Replace all println with calls to logger
in `query_thunderstore_packages_api()`
* refactor: Replace all println with calls to logger
in `add_batch_file()`
* refactor: Replace all println with calls to logger
in `extract()`
* refactor: Replace all println with calls to logger
in `check_is_northstar_outdated()`
|
|
* 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
|
|
* refactor: Parse using serde deserialisation
* refactor: Parse using serde deserial. (TS mod str)
Reduce code by making use of serde deserialisation.
Still supports legacy method
* chore: Remove commented out fields
While useful, it just made the code messy...
* feat: Show mod version in LocalMods view
* refactor: Move mod version to new line
in source code
Makes diffing in git easier
* fix: Hide version number if not available
|
|
And fix corresponding code that broke in the process
Basically just removing `await`s as the networking functions are no
longer async.
|
|
* refactor: Parse using serde deserialisation
* refactor: Parse using serde deserial. (TS mod str)
Reduce code by making use of serde deserialisation.
Still supports legacy method
* chore: Remove commented out fields
While useful, it just made the code messy...
|
|
|
|
|
|
|
|
* chore: Bump libthermite to v0.4.0-rc.1
And update broken code in FlightCore accordingly
* chore: Bump libthermite to v0.4.0
And update broken code in FlightCore accordingly
* feat: Parse TS mod string using new standard
Instead of reading `mod.json`, we now build Thunderstore mod string
using `manifest.json` and `thunderstore_author.txt`.
The old method for reading is still supported for now but will likely
be replaced by a converted function in the future.
See also discussion in https://github.com/0neGal/viper/issues/165
|
|
* feat: Expose installed NS mod directory
This allows other functions to get a mod directory directly which is
useful for e.g. deleting a mod.
* feat: Add button to delete Northstar mod
* refactor: Return vector of NorthstarMod
instead of unnamed Tuples
* feat: Delete given Thunderstore mod
* refactor: replace information button by a dropdown menu with remove item
* refactor: only display removal mod option if said mod is installed
* feat: only display dropdown menu for installed mods
* refactor: Remove leftover print statement
* chore: Remove leftover todo comment
* feat: Show confirm warning before deleting mod
* refactor: Call func directly instead of proxy
Removes the `func_caller` pattern
* fix: Call reloading mods after attempted delete
* feat: Hook up deleting mod backend function
Now clicking "Remove Mod" calls the appropriate backend function that
removes the corresponding mod.
* refactor: Call func directly instead of proxy
Removes the `func_caller` pattern
* style: Autoformat
* feat: Support removing outdated mods
No longer include the version number in the comparison check
* fix: Rephrase error message
* feat: Show pop-up confirmation before deleting mod
for Thunderstore mod in ThunderstoreView
Co-authored-by: Alystrasz <contact@remyraes.com>
Co-authored-by: Remy Raes <raes.remy@gmail.com>
|
|
* feat: Expose installed NS mod directory
This allows other functions to get a mod directory directly which is
useful for e.g. deleting a mod.
* feat: Add button to delete Northstar mod
* refactor: Return vector of NorthstarMod
instead of unnamed Tuples
* refactor: Remove leftover print statement
* chore: Remove leftover todo comment
* feat: Show confirm warning before deleting mod
* refactor: Call func directly instead of proxy
Removes the `func_caller` pattern
* fix: Call reloading mods after attempted delete
|
|
* 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
|
|
* feat: Expose installed NS mod directory
This allows other functions to get a mod directory directly which is
useful for e.g. deleting a mod.
* refactor: Return vector of NorthstarMod
instead of unnamed Tuples
|
|
Makes it easier to update/re-use in the future
Co-authored-by: Remy Raes <contact@remyraes.com>
|
|
|
|
* feat: Rebuild enabledmods.json if value not found
When toggling a mod on enabled mods that is not present in
`enabledmods.json` we would previously just error out. Now we rebuild
the `enabledmods.json` file in a Northstar compatible format and then
toggle the mod in question.
* feat: Handle missing or corrupted enabledmods.json
* chore: Remove leftover print statement
|
|
* refactor: Rename function
to better differentiate what it does
* refactor: Add TS mod string field to NS mod struct
This allows us to expose to frontend which Thunderstore mod a Northstar
mod may belong to. Field is optional as not all mods may contain a
Thunderstore mod string for example when they were installed manually.
* feat: Add TS mod string field to NS mod interace
* feat: Parse TS mod string and expose to frontend
* fix: Mark unused variable as such
|
|
* 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
|
|
Some mods have comments in their JSON. Northstar handles it fine, so we
should too.
|
|
* feat: Parse actually installed mods
Instead of using solely `enabledmods.json` parse the `mod.json` of found
mods in `mods` folder.
* refactor: Remove leftover print statements
* refactor: Move logic into dedicated module
* fix: Load mods despite `enabledmods.json` missing
Previously we would error out early if `enabledmods.json` was missing
despite not actually needing it for mod list.
* style: Autoformat
|
|
Only a single function for now as a sort of proof-of-concept.
|