Age | Commit message (Collapse) | Author |
|
* feat: Show error message if WebView2 not installed
on Windows
* fix: Add missing dependency
* fix: Do not import lib on OS where not needed
Don't need to import Windows lib on Linux
* feat: Link to troubleshooting page directly
* chore: Update comments
* docs: Show error message in troubleshooting guide
Show the "WebView2 not installed" error message in the troubleshooting
guide
* fix: Resolve clippy error
* fix: Resolve clippy error (again)
|
|
* fix: Fetch multiple pages from GitHub PR API
Previously we only fetched the first page which caused us to miss older
pull requests.
* feat: Only check as many pages as we need
Instead of checking a static x amount of pages in the API we only wanna
fetch as many pages as we actually need.
|
|
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
|
|
* chore: Bump libthermite to 0.5.3
This adds a change needed for making progressbar work on dowload
* wip: First attempt at showing download progress
Simply prints it to JavaScript console for now
* feat: Emit download progress at most every 250ms
If we spam emit too much we use a lot of extra resources, slowing down
the actual download
* feat: Initial messages for extracting
* feat: Add install state enum
* refactor: Change payload to current + total size
downloaded
* fix: Remove extra emit
* fix: Remove extra emit
* refactor: Rename struct
* refactor: Move struct to top of file
* feat: Add TypeScript bindings
* feat: Add console logs for printing state for now
* fix: Remove duplicate identifier
* feat: Initial progressbar in frontend
* fix: Remove event listener added for debugging
* feat: Display status and downloaded bytes
* feat: Set loading bar to indeterminate on extract
* fix: Phrasing in comment
* feat: Add i18n for progress state
* refactor: Adjust control flow
do not show downloaded size anymore during extraction
* fix: Manually specify progressbar size
* fix: Update download progress every 100ms
instead of 250ms
Gives impression of faster / more fluent download.
* feat: layout does not move when progress bar is hidden
* feat: fix progress bar width to 200px
* refactor: put services container in a flex container, for it not to overlap play button
* refactor: export progress bar to dedicated component file
* refactor: Update status first outside of branch
* fix: Proper typing of event payload
* fix: Do not assign to unused variable
---------
Co-authored-by: Rémy Raes <contact@remyraes.com>
|
|
Fixes the last clippy warning
Co-authored-by: cat_or_not <41955154+catornot@users.noreply.github.com>
|
|
* fix: Chanege enum value casing
as suggested by clippy
* fix: Fix forgotten case change
|
|
* feat: Add ability to launch via Steam
* document what get_titanfall_proton() does
* revert explicit use of newly imported Path
* Format source code to pass CI
* Use new steamlocate compat_tool helper
* cargo fmt
* fix: Address various clippy issues
Addresses clippy warnings caused by newly introduced code
* fix: Cargo toml dependency formatting
|
|
* 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
|
|
* 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
|
|
|
|
* feat: Generate FlightCore release notes
* fix: Remove leftover comment
* fix: Add missing semantic commit type
* fix: Re-add newlines accidentally removed in merge
* refactor: Remove contributors section
Will re-add a proper implementation in a later PR.
* fix: Revert accidentally modified line
* docs: Update comments
* fix: Use correct user-agent
* fix: Put unknown commits into "Other" section
Previously they were just dropped
* refactor: Move constant string array to right file
* fix: Remove debug prints
* refactor: Move lib import to start of file
* refactor: Use wrapper type
kinda needed by selector in frontend.
Allows for still passing full object to backend for future extensability
* fix: Generate missing wrapper TS interface
* fix: Add title and message to notification
* refactor: Move constant to consts file
* fix: Fix formatting
* fix: Remove unnecessary property declaration
|
|
* fix: Pin tauri-plugin-store package to same commit
Pin npm package to same commit as Rust crate
* fix: Attempt using newest plugin store commit
* fix: Perform explicit save to store on each change
This seems to resolve the issue around no longer writing changes to
store on close as now values are written on each change.
* chore: Pin dependencies to specific commit
Instead of tracking a branch, track a specific commit
|
|
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()`
|
|
* fix: Adjust code for single iteration loop
`clippy` said this is way is better...
* refactor: Implement more compact suggestion
* refactor: Implement more compact suggestion
|
|
According to `clippy`
|
|
We no longer run a powershell command to get it
|
|
Use the varible name directly inside the string
|
|
Thanks clippy <3
|
|
* feat: fetch stats every 5 minutes and ping front with received information
* feat: update front on stats reception
* style: format code
* fix: Add comment
---------
Co-authored-by: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>
|
|
|
|
* feat: Add button to download Mods PR
Simply opens the browser on the repo download link
* feat: Add button to download Launcher PR
Uses existing function to fetch nightly.link link and opens it in
browser
* refactor: Open Mods PR download link via TS
as opposed to having a link directly
This way it acts the same way as the Launcher PR download button.
Reason behind this change being consistent UI style.
* chore: Revert introduced formatting changes
Those were added by accident, whoops
* fix: Remove introduced unused dependency
* fix: Remove unused dependencies
|
|
* feat: Initial setup of sentry logging
* refactor: Replace some println with log call
Not replacing all cause too large diff
|
|
* fix: Add error handling if default EA App path
We cannot install to
`C:\Program Files\EA Games\Titanfall2`
cause Windows™
As such if install fails we check for that path and show according error
message
* fix: Check only for `Program Files` path
instead of the full one
As the issue is technically the permissions with `Program Files`, not
the EA Games subdirectory...
* fix: Format check error
|
|
* fix: Download PRs into Titanfall2 folder
Avoids any folder write permission issues
* fix: Download Mod PRs into Titanfall2 folder
Avoids any folder write permission issues
* build: Add libraries for zip extract
* refactor: Download mods zip into memory
and extract it from there directly into Titanfall2 dir
* fix: Stop creating unneeded temp download folder
* refactor: Download launcher zip into memory
and extract it from there into a temp folder
then only copy out necessary files
and delete the rest
* docs: Add comment
* refactor: Remove unused functions
* fix: Smoothly handle misformatted zip file
Usually caused by the downloaded file not actually being a zip
Catches the error and displays error message if it occurs.
* feat: Exit early if download was unsuccessful
* chore: Remove leftover commented out code
* fix: Write mod files into correct subdirectory
Was writing them into parent instead by accident which meant that
Northstar wouldn't actually find it.
* refactor: Define profile path once
Instead of recreating the string everytime
|
|
This will show up in sentry dashboard on crash and will help me solve a
thread crash that's caused by Northstar failing to get installed.
|
|
* feat: Initial code for spawning repair window
* refactor: Move disable all but core mods button
to repair window
* refactor: Rename function
* refactor: Move button location
Still in DeveloperView for now, will be moved to settings page later
* feat: Add info banner
* feat: Set repair window title
* fix: Stop thread crash on duplicate window open
Instead of calling an unwrap, handle failure to create window which is
usually caused by spawning a second repair window although one already
exists.
* fix: Re-add accidentally removed lines from merge
* fix: Set top padding to zero px
As there's no menu bar in this view
* feat: Close all windows when close bttn is clicked
|
|
* feat: Initial backend code to get list of PRs
Hardcoded for launcher right now
* refactor: Autogen TS bindings from Rust code
using `ts-rs` as done in #140
* fix: Fix incorrect typing
What is returned is actually an array of `PullsApiResponseElement`
* feat: Prototyping frontend UI for installing PR
* fix: Use right repo
Used Mods instead of Launcher
* feat: Enable installing launcher pull request
* refactor: Rename variables to indicate approp repo
NorthstarLauncher vs NorthstarMods
* style: Formatting fixes
* feat: Initial code for getting mods PRs
* feat: Add backend code for installing mods PRs
* feat: Add note about launching in notification
* fix: Remove commented out code
* refactor: Depduplicate code
* refactor: Remove unnecessary use of anyhow
* refactor: Use already existing function
for checking game path
* feat: Add comment about profile / batch file
* chore: Remove leftover print statements
* feat: Add clickable link for each PR
* refactor: Reduce duplicate code
* refactor: Rename enum
* fix: Use proper type
* fix: Remove leftover `console.log`s
* style: Revert accidental formatting change
* refactor: Remove second API call for mods PRs
* refactor: Rename variable
* refactor: Remove second API call for launcher PRs
* refactor: Move API URL string to `constants.rs`
So that all constants are in a single place
* fix: Restore lines deleted in merge
* style: Formatting fixes
* fix: Print line when done installing PR
* feat: Show notification for install start/done
Displays a notification that PR install has started and upon completion
replaces it with one saying that install has completed.
* fix: Remove left-over console log
* feat: "Install PR" UI (#197)
* refactor: export pull requests selector to dedicated component
* refactor: regroup launcher+mods collapses in one collapse component
* refactor: load pull requests when opening selector collapse item
* refactor: review progress loaders' style
* fix: don't fetch PRs if they've already been loaded
* feat: update collapse style
* refactor: remove fetch success notification
* refactor: both collapses can be opened at the same time
* fix: non-accordion collapse sends an object as event parameter
* fix: Iterate over multiple pages of GitHub CI API
This ensures we can still grab older artifacts.
Max page is capped at 10 as going too high will cause us to hit API rate
limits.
Also refined error message accordingly.
* refactor: Move stored PRs to submodule
as suggested in review
* refactor: Move getPullRequests to store submodule
I order to clean up PullRequestSelector.vue
Other functions will follow in separate commits.
Currently TypeScript compilation fails on undefined type of `state`
* fix: Properly define state type
* refactor: Move installLauncherPR to store submodule
* refactor: Move installModsPR to store submodule
---------
Co-authored-by: Rémy Raes <contact@remyraes.com>
|
|
* refactor: Properly set cfg macro
for OS conditional compilation
* docs: Add comment about MacOS
|
|
|
|
* 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
|
|
Enable attaching stacktrace to see the function in which the crash
happened.
|
|
* 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
|
|
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...
|
|
* 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
|
|
|
|
|
|
fix: Remove unused serde import in main.rs
Seems like I forgot to remove it when I did some code refactoring
|
|
|
|
* 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
|