Age | Commit message (Collapse) | Author |
|
|
|
* feat: Initial backend code to get the playercount
from the Northstar master server together with servercount
* fix: Push correct backend code
* feat: Load playercount on application load
and show on PlayView
* refactor: Store global const in separate file
Moved user agent there for now
* refactor: User user agent from global const
* refactor: Move masterserver URL into global const
* refactor: Remove temporary variable
* fix: Do proper typing for playercount return value
* feat: Change text if unable to load playercount
So instead of showing some wrong value, we just say that we were unable
to load it.
* fix: Remove leftover print statement
* refactor: Move struct to library source file
* fix: Remove break element
* fix: Remove frontend display of playercount
This allows for separate PR for adding backend code early.
* refactor: serverlist endpoint var to global const
|
|
* 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>
|
|
Moved user agent there for now
|
|
|
|
* 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
|
|
* refactor: Move getting new FC version to own func
* refactor: Deserialize into object
* refactor: Return whole object instead of 2 strings
More readable
* refactor: Rename variable
* refactor: Use fields of object directly
instead of assigning to variables first
* feat: Expose backend func to get newest FC version
and then call it to get newest version number if current is outdated.
This way we can display to the user how far behind their currently
installed version is.
|
|
Instead of deserializing into a generic serde struct and then extracting
specific value from it, deserialize directly into the struct we want.
|
|
|
|
|
|
|
|
|
|
Simply run cmd with `start "" "PATH/TO/NORTHSTAR_EXE"`
Co-authored-by: ASpoonPlaysGames <66967891+ASpoonPlaysGames@users.noreply.github.com>
Co-authored-by: ASpoonPlaysGames <66967891+ASpoonPlaysGames@users.noreply.github.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.
* refactor: Return vector of NorthstarMod
instead of unnamed Tuples
|
|
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.
|
|
|
|
|
|
|
|
Makes it easier to update/re-use in the future
Co-authored-by: Remy Raes <contact@remyraes.com>
|
|
|
|
|
|
Now using a library instead of calling a PowerShell command should
prevent the PowerShell window from opening.
|
|
* feat: Threshold before showing update notification
This way we don't spam the end-user with an update notification before
an update is fully build and released
* fix: Push missing dependencies
* fix: Adjust delay to 2 hours
|
|
* refactor: Remove Origin running check in frontend
We already perform the check in the backend. Frontend does not check for
OS and as such on Linux will just always tell you that Origin is not
running.
* feat: Show notification toast, not alert pop-up
* refactor: Perform OS check before Origin check
|
|
|
|
|
|
* 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
|
|
* feat: Option to launch NS bypassing update check
Hidden behind dev view
* refactor: Use existing function to launch NS
Instead of duplicating code
* feat: Adjust button to allow bypassing all checks
|
|
Also requires bumping Rust to 1.62
|
|
This way we only define them in one place
|
|
|
|
and change them to R2NorthstarTools org
|
|
Getting log files is part of repair and troubleshooting
|
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
* refactor: Import all functions from lib
So that I don't need to update the header each time I add/remove a
function.
* refactor: Move function to submodule
Move it to module for GitHub API related tasks.
* refactor: Re-use existing func for fetching GH API
|
|
|
|
Some mods have comments in their JSON. Northstar handles it fine, so we
should too.
|
|
So that it can be re-used by other functions later such as for checking
newest FlightCore version by checking against GitHub releases.
|
|
|
|
as opposed to using an empty string to indicate an error.
|
|
|
|
* 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
|