aboutsummaryrefslogtreecommitdiff
path: root/src-tauri/src/main.rs
AgeCommit message (Collapse)Author
2023-10-13refactor: Use fully qualified path for vars and funcs (#614)GeckoEidechse
* refactor: Use fully qualified path for variable Instead of importing it directly * refactor: Use fully-qualified path for Linux specific function
2023-10-10feat: Add button to delete profile (#603)GeckoEidechse
This adds a button and corresponding logic to delete an existing profile Spliced out from #444 Co-authored-by: Jan <sentrycraft123@gmail.com>
2023-08-08feat: Add dropdown menu for profiles (#494)Jan
Adds a dropdown menu to settings that allows selecting a different profile. Currently gated behind dev mode being active.
2023-08-03fix: Move leftover type definition to auto-generated from Rust (#450)GeckoEidechse
* chore: Delete leftover type definition file * feat: Generate InstallType from Rust enum * fix: Use new generated struct
2023-07-31refactor: Migrate install related functions to `GameInstall` (#457)Jan
This allows for later extending for installing in the appropriate profile
2023-07-30feat: Add button to forcefully terminate Northstar (#451)Jan
to DevView Kills `NorthstarLauncher.exe` and `Titanfall2.exe` processes.
2023-07-30refactor: Replace naive `game_path` argument with `GameInstall` (#454)GeckoEidechse
We should always pass the whole object instead of just a field for easier expandability in the future Co-authored-by: Jan200101 <sentrycraft123@gmail.com>
2023-07-30refactor: Add Profile to GameInstall (#453)Jan
Add Profile to GameInstall Replace hardcoded uses of R2Northstar with profile attribute
2023-07-19feat: Replace MessageBoxW invocation with Tauri dialog (#418)Jan
2023-07-18feat: Add basic Proton management (#383)Jan
Adds logic to install, remove, and check existing install of NorthstarProton.
2023-07-17feat: Launch via Steam on non-Windows systems if possible (#422)Jan
2023-07-07fix: Pass launch options to Steam (#392)Jan
Relying on a file to be parsed in time is unreliably, and if the file is open while we delete it we may run into locking problems. Downside is that this gives a fugly prompt
2023-06-10refactor: Use fully qualified path syntax in `main.rs` (#379)GeckoEidechse
2023-06-02fix: Remove unwrap from Northstar update check (#377)GeckoEidechse
2023-05-22refactor: Change error messages and function names to EA App (#362)GeckoEidechse
* refactor: Change error message to mention EA App instead of Origin * refactor: Rename function to refer to EA App * refactor: Rename function to mention EA and Origin * style: Fix formatting * refactor: Update translation text to EA App * refactor: Change emit name to EA App instead of Origin * docs: Update comment to mention EA App
2023-05-17feat: Better logging regarding mod installation (#363)GeckoEidechse
* 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
2023-05-15refactor: Remove caller pattern (#356)GeckoEidechse
* refactor: Remove caller pattern for `launch_northstar` * refactor: Remove caller pattern for `check_is_flightcore_outdated` * refactor: Remove caller pattern for `get_host_os` * refactor: Remove caller pattern for `find_game_install_location` * refactor: Remove caller pattern for `launch_northstar_steam` * fix: Update function call names in frontend * refactor: Remove caller pattern for `get_northstar_version_number` * fix: Address clippy issues * refactor: Rename function to remove `_caller` suffix
2023-05-15feat: Button to install NorthstarLauncher from git main branch (#314)GeckoEidechse
* feat: WIP code to install launcher from git main Works but needs some more cleanup still * fix: Formatting * fix: Address clippy errors * refactor: Move `install_git_main` to own source file * fix: Remove unnecessary `pub` * docs: Update comments * refactor: Move API URL to constants
2023-05-13refactor: Move Origin/NS running check to util mod (#355)GeckoEidechse
2023-05-13refactor: Move `extract` function to util submod (#354)GeckoEidechse
2023-05-13refactor: Move `find_game_install_location` to submodule (#350)GeckoEidechse
2023-05-13refactor: Move server browser fetch to util module (#352)GeckoEidechse
2023-05-11refactor: Move some functions to utility module (#347)GeckoEidechse
* refactor: Move `force_panic` to utility module * refactor: Move `is_debug_mode` to utility module
2023-05-11refactor: Move NS install code into own module (#345)GeckoEidechse
* refactor: Move NS install code into own module Moves the code in question out from main into its own module * fix: Address clippy errors
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-10fix: Handle no internet on serverbrowser fetch (#322)GeckoEidechse
Instead of panic, simply return an error
2023-05-10feat: Add button to install older Northstar version in DevView (#325)GeckoEidechse
Adds a button to DevView that allows installing older Northstar versions from Thunderstore
2023-05-10refactor: Import constants from crate root insteadGeckoEidechse
of lib
2023-05-09Revert "refactor: Move `check_is_valid_game_path` to `main.rs` (#335)"GeckoEidechse
This reverts commit 1ce900ca2d5cf91ae410c2ec918e1431aa15a677.
2023-05-09refactor: Move `check_is_valid_game_path` to `main.rs` (#335)GeckoEidechse
Part of #329
2023-05-09refactor: Move `launch_northstar` to own module (#338)GeckoEidechse
Part of #329
2023-05-09refactor: Use fully qualified path syntax for using functions in ↵GeckoEidechse
`invoke_handler` (#328) * refactor: Use fully qualified path syntax for `mod_management` functions passed to `invoke_handler` * refactor: Use fully qualified path syntax for `repair_and_verify` functions passed to `invoke_handler` * refactor: Use fully qualified path syntax for `github` functions passed to `invoke_handler`
2023-05-09refactor: Move `convert_release_candidate_number` to `main.rs` (#334)GeckoEidechse
Part of #329
2023-05-09refactor: Move `get_enabled_mods` to `main.rs` (#333)GeckoEidechse
Part of #329
2023-05-08refactor: Put doc comment before macro (#312)GeckoEidechse
Doc comments should be placed before the procedural macro decorating the function being documented.
2023-05-07refactor: Prepare code for installing older Northstar versions (#305)GeckoEidechse
* refactor: Rename function Rename `install_northstar` to `install_latest_northstar` to better indicate what it does * refactor: Have updater just call installer * refactor: Move package selection to calling func During installation, package should already be known so get package name earlier as opposed to passing `Option<T>` * chore: Format fix * refactor: Allow passing NS version to install If no version is passed, fallback is to latest * refactor: Rename function Back to `install_northstar` from `install_latest_northstar` as the function can now install any Northstar version * refactor: Do a borrow instead of clone * refactor: Use `map` and `unwrap_or` instead of `match`
2023-05-01feat: Show error message if WebView2 not installed (#285)GeckoEidechse
* 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)
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-10feat: Show download progress for installing Northstar (#200)GeckoEidechse
* 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>
2023-04-06feat: Add ability to launch via Steam to DevView (#178)Jan
* 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
2023-03-27fix: Various clippy fixes (#243)GeckoEidechse
* 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
2023-03-27feat: Generate FlightCore release notes (#188)GeckoEidechse
* 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
2023-03-27fix: Address regression around persistent store (#227)GeckoEidechse
* 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
2023-03-26fix: Remove redundant string conversions (#242)GeckoEidechse
As pointed out by clippy
2023-03-26refactor: Replace all `println!()` with log statements (#236)GeckoEidechse
* 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()`
2023-03-22feat: Refresh statistics (#228)Rémy Raes
* 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>
2023-03-21Add buttons to download PRs (#203)GeckoEidechse
* 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
2023-03-21feat: Proper logging (#223)GeckoEidechse
* feat: Initial setup of sentry logging * refactor: Replace some println with log call Not replacing all cause too large diff
2023-03-12feat: Allow opening a window with various repair features (#129)GeckoEidechse
* 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