Age | Commit message (Collapse) | Author |
|
* feat: Add button to force reinstall Northstar
Useful for reinstalling Northstar after installing a developer version.
* fix: Remove leftover `console.log()`
* fix: Properly update which NS is installed
* feat: Show notification when done
Sends a notification to indicate that reinstall process has started and
sends a second one once the process has finished/failed while also
clearing the old notification.
|
|
|
|
|
|
* refactor: Get TS package API response from backend
Previously Thunderstore package index was done in frontend. Should be
moved to backend instead as backend is reponsible for such tasks while
frontend should just be used to store and display information.
* refactor: Filter TS API response in backend
* refactor: Rename function
Makes it more descriptive what it does
* refactor: Use gen. binds instead of duped struct
Replaces the current TypeScript interface defintions with autogenerated
bindings.
* fix: Properly type variable
* fix: Correct imported path of interface file
* fix: Update struct field types to fix typing issue
i32 should be big enough unless Thunderstore and Northstar suddenly
becomes really huge and we start seeing over 4 million downloads on some
mod
* fix: Correct imported path of interface file
|
|
Instead of a branch specify specific commit.
This is done to later run `cargo update`. Currently running said command
updates the dependency to a broken build.
Fixing `tauri-plugin-store` to a specific working commit allows for
running `cargo update` again.
|
|
Enable attaching stacktrace to see the function in which the crash
happened.
|
|
|
|
* 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
* refactor: serverlist endpoint var to global const
* fix: Remove unused import
* fix: add some space to stats container top
* fix: Change text to lowercase
---------
Co-authored-by: Alystrasz <contact@remyraes.com>
|
|
* 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
|
|
* feat: Add version number to user-agent
Uses a crate that allows for formatting at compile time.
* fix: Add comment
|
|
|
|
* 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
|
|
Thunderstore mod browser (#169)
fix: Slightly increase window size
to better fit list of mods in Thunderstore mod browser
|
|
And fix corresponding code that broke in the process
Basically just removing `await`s as the networking functions are no
longer async.
|
|
in LocalModsView
|
|
In LocalModsView, show the Thunderstore icon for Northstar mods that
have been installed from a Thunderstore mod.
|
|
* 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: Initial trial to auto-generate TS bindings
That way instead of manually duplicating code, we can just run
`cargo test` to generate them.
* fix: Update forgotten imports
* refactor: Move FlightCoreVersion to autogen bind
TypeScript binding autogenerated from Rust code
* refactor: Move ReleaseInfo to autogen binding
TypeScript binding autogenerated from Rust code
* docs: Explain how to generate TS binds from Rust
* feat: Check for binding changes in CI
Checks for uncommitted binding changes in CI and fails if they differ
* style: Formatting fixes
|
|
|
|
* refactor: Deal with fs::read_dir failure instead of checking if exists
|
|
* Add GitHub pages download redirector
Very simply put, this fetches the current release, and translates search
queries like `?appimage` into the download URL for the most recent
.AppImage file, then redirects you to it, effectively downloading it.
* Update download link to use redirector
Now the link doesn't have to be updated every time there's a release!
|
|
|
|
* feat: Add Rust code format check to CI
* fix: Set path correctly
* chore: Fix formatting
* refactor: Run format check as separate step
* refactor: Rename stage
Co-authored-by: Rémy Raes <contact@remyraes.com>
---------
Co-authored-by: Rémy Raes <contact@remyraes.com>
|
|
fix: set current route as menu active item
|
|
|
|
fix: Remove unused serde import in main.rs
Seems like I forgot to remove it when I did some code refactoring
|
|
|
|
Typo and referencing wrong functionality
|
|
|
|
|
|
* feat: add UI skeleton for new mods interface
* fix: only apply app menu style to app menu items
* feat: add menu skeleton
* feat: add thunderstore mods view into mods view
* refactor: remove thunderstore mods view from router + menu bar
* refactor: move search input into mods view
* fix: adjust ts mods container padding
* refactor: center pagination components
* refactor: rework media queries to adapt cards container width
* fix: set mods view navigation min-width
* refactor: compute mods container width with CSS variables
* refactor: remove horizontal padding around ts mods container
This will allow them to take much screen space.
* feat: Thunderstore mods container is larger
* feat: add layouts for 5 to 8 Thunderstore mod columns
* feat: add some space to separate navigation menu subparts
* fix: move search pagination reset in ThunderstoreModsView component
* feat: retrieve Thunderstore mod categories when fetching mods
* feat: add mod categories selector component
* feat: mod categories selector now filters Thunderstore mods
* fix: reset pagination index if needed when selecting mod categories
* fix: first mod does not appear anymore while selecting any mod category
First mod's categories array was used as an accumulator (in a reduce call)
to regroup all mod categories; we now use an empty array as initial value
for the accumulator.
* feat: add a selector component to sort mods
* feat: set sort selector default value on view mount
* fix: set default sorting select value as selected in dropdown list
* feat: add date_updated field to ThunderstoreMod type
* feat: pass sorting value to ThunderstoreModsView as a prop
* feat: mods can be sorted by name and release date
* feat: mods can be sorted by most downloaded and top rated
* fix: don't display sorting select on local mods view
* refactor: remove local mods title
* refactor: export local mods view code in dedicated component
* refactor: export search value in a search-dedicated store
* fix: display "no matching mods" message when no mods match
This message was previously displayed only if no mods matched AND search
input was not empty; now that we have categories selector, we can have no
matching mods with an empty input.
* refactor: remove unused input prop
* fix: mods can be sorted by rating
* refactor: remove unused searchValue computed property
* style: adjust SortOptions import
* refactor: move selected mod categories into search store module
* refactor: move mod sorting into search store module
* refactor: export mods menu component to dedicated file
* fix: remove compare method initialization
* feat: local mods can be filtered with search input
* build: add ES2018 lib to typescript compiler options
* refactor: remove unused variable
* fix: retrieve SortOptions values from string input
* refactor: move Thunderstore mods view into dedicated folder
* style: add missing trailing newline to SortOptions.d.ts
|
|
|
|
|
|
* 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
|
|
* style: Add missing spaces between curly braces
* style: Fix indentation
|
|
|
|
|
|
* 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: add basic pagination
* refactor: put paginator inside filters container
* fix: limit filter container width
* refactor: filters container is now responsive
* fix: add missing type to pagination listener parameter
* fix: don't display entire mods list while filtering mods
* refactor: filteredMods is now a computed value
* refactor: store mods per page value on UI store
* feat: user can change modsPerPage count in settings
* fix: limit mods count (min=5, max=100)
* feat: add control on pages value
When leaving settings vue, we check if the pages value is a number and is
included in the interval [5-100].
If that's not the case, we reset it to 20.
* feat: retrieve and save pages value in persistent store
* fix: don't load an empty value from persistent store on boot
* fix: cast modsPerPage to string to check if it's empty
* refactor: remove search debounce
* Update src-vue/src/plugins/store.ts
* style: add trailing comma
* fix: mention impact on TS mods only
* refactor: remove limitations on modsPerPage
* style: explicitly cast mods_per_page to number
* feat: disable pagination with modsPerPage === 0
* feat: add pagination under thunderstore mod cards
* fix: adjust bottom pagination padding
* feat: clicking bottom pagination scrolls to page top
* fix: use same containers for both paginations
* feat: do not display pagination if mods fit on one page
* style: trailing spaces
* style: trailing spaces
* feat: add a button to reset modsPerPage
* feat: add explanation text about disabling pagination
|
|
* 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.
|
|
|
|
|
|
* feat: add a button to toggle window maximize status
* fix: attach services container to bottom
Container was fixed, but with no positioning indication,
which fucked its location while going fullscreen.
* refactor: encase menu in navigation container
* fix: remove CSS ID duplication
* refactor: put window controls inside menu bar
* feat: add style to additional submenu
* fix: don't color focused menu items
* fix: restore menu bar debug indicator
|
|
* build: Attempt caching Rust build artifacts
* temp: Change to force recompile to test cache
* build: Set Rust workspace dir correctly
* temp: Change to force recompile to test cache
|