aboutsummaryrefslogtreecommitdiff
path: root/src-tauri/src/main.rs
AgeCommit message (Collapse)Author
2022-11-14refactor: Move GitHub API fetch to submodule and re-use existing function (#51)GeckoEidechse
* 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
2022-11-13chore: Bump libthermite version to 0.3.3 (#49)GeckoEidechse
2022-11-11refactor: Return Result<> for getting NS version (#46)GeckoEidechse
as opposed to using an empty string to indicate an error.
2022-11-10feat: Parse actually installed mods (#38)GeckoEidechse
* 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
2022-11-09feat: Patch notes (#18)Rémy Raes
* feat: add Rust method to fetch Northstar release notes * feat: fetch release notes on changelog view mount * feat: only transmit some info to frontend GitHub API gives much information about releases, we only need some: name, publication date and content of such release; so other information is not transmitted to UI. * feat: add ReleaseInfo Typescript interface matching Rust struct * feat: display release notes on a timeline * refactor: remove old releases external link * build: add marked dependency * build: add marked types dev dependency * feat: format release notes' markdown * fix: member typo in ReleaseInfo interface * fix: type releases array * fix: open github links in external browser * fix: adjust marked import * refactor: store release notes in store Release notes are now stored in the app store, so we don't have to fetch them multiple times. * fix: notes fetching method is now async * feat: display a loading bar while release notes are being fetched * feat: display dates in white * feat: release notes' dates are human-readable * fix: make menu bar appear on top of release notes view when scrolled * feat: add custom scrollbar * refactor: format releases creation to please reviewer * Update src-tauri/src/github/mod.rs * Update src-tauri/src/github/release_notes.rs * Update src-vue/src/utils/ReleaseInfo.d.ts * fix: augment scrollbar opacity * fix: only display releases' release date (no more time of the day) * fix: adjust Github request user agent * style: add missing end line in src-vue/src/style.css * fix: link formatting only targets GitHub PR links (whose name begins with a #) * fix: timeline element children cannot be bigger than container card
2022-11-07refactor: Move functions to dedicated file (#41)GeckoEidechse
Only a single function for now as a sort of proof-of-concept.
2022-11-03refactor: Rename function to better fit behaviour (#40)GeckoEidechse
2022-11-03fix: Resolve thread crash due to block in async (#39)GeckoEidechse
Set the function to async but it was still using blocking version of reqwest.
2022-11-02refactor: Return error string instead of anyhow!() (#36)GeckoEidechse
All that is returned as the error type is a string so there's no point in using a custom error type when we can just have the error type be a string. Co-authored-by: Remy Raes <contact@remyraes.com>
2022-11-02refactor: Make all functions async (#35)GeckoEidechse
This way none of them are run on main thread and as such if a function panics, it will only crash that specific thread allowing the rest of the application to survive. The only exception is `force_panic()` as its purpose is hard crashing the application. From the frontend side of things, `invoke()` is already async, so no frontend changes are needed.
2022-10-21feat: Add initial skeleton for ModsView (#27)GeckoEidechse
* feat: Backend code to get list of installed mods For now simply parses `enabledmods.json`. Note that this file will not be up-to-date if the user just installed a mod but hasn't launched Northstar yet. * feat: Empty skeleton page for ModsView Will be populated later with list of installed mods * chore: Remove leftover print statement
2022-10-20refactor: Various formatting and fixes (#23)GeckoEidechse
* refactor: Add error return type * style: Auto-format Only minor changes, did not take over all changes from auto-format. * refactor: Rename function to get FC version number To make it more clear which version number we're getting (FlightCore vs Northstar)
2022-10-19refactor: Use `Result<>` return type for Linux checks (#21)GeckoEidechse
* refactor: Use result return type for Linux checks * refactor: Store min required ldd version in const This way we only need to update a single variable in case min required version changes.
2022-10-18Add ldd --version check for Linux (#10)Salmon
2022-10-05feat: Add backend function to check if debug modeGeckoEidechse
Useful for having different UI between dev and release
2022-09-29Add backend function to disable all mods but corearchive/pre-ui-mergeGeckoEidechse
Should help with fixing a Northstar install in the case of conflicting mods.
2022-09-29Add ability to enable/disable modsGeckoEidechse
2022-09-28Add backend logic to parse `enabledmods.json`GeckoEidechse
2022-09-28Auto-formatGeckoEidechse
2022-09-24Add code skeleton to verify game filesGeckoEidechse
Once done, should help with some tickets.
2022-09-23Show if debug in version numberGeckoEidechse
2022-09-22Remove left-over functions from original templateGeckoEidechse
2022-09-22Add initial functionality to get NS log filesGeckoEidechse
2022-09-20Make button to select NS RC persistentGeckoEidechse
Uses a tauri plugin for persistent store behind the scenes to persist values over restarts of the application.
2022-09-20Periodically check if Northstar is runningGeckoEidechse
2022-09-16Show in UI if FlightCore out-of-dateGeckoEidechse
To show user if application is outdated should self-update somehow not work.
2022-09-14Support switching between main release and RCsGeckoEidechse
State is not saved between launches currently.
2022-09-14Use variable instead of hard-coded stringGeckoEidechse
2022-09-14Show error message in panicGeckoEidechse
2022-09-11Check if Origin is runningGeckoEidechse
2022-09-10Auto-formatGeckoEidechse
2022-09-10Move launching Northstar to lib.rs source fileGeckoEidechse
2022-09-10Move get host OS function to lib.rsGeckoEidechse
2022-09-10Auto-formatGeckoEidechse
2022-09-10Add initial back-end code for launching NorthstarGeckoEidechse
2022-09-10Add initial front-end code for launching NorthstarGeckoEidechse
2022-09-10Return GameInstall object instead of tupleGeckoEidechse
The object contains the path Titanfall2 is installed in, as well as how it was installed (Steam, Origin, EA-App)
2022-09-10Return result error type if TF|2 install not foundGeckoEidechse
2022-09-10Add update functionalityGeckoEidechse
2022-09-10Return error result type if NS update check failsGeckoEidechse
2022-09-10Return error result type if NS install failsGeckoEidechse
2022-09-10Implement manually selecting TF|2 install locationGeckoEidechse
2022-09-10Comment out backend-ping printGeckoEidechse
2022-09-09Add initial Northstar install supportGeckoEidechse
still Steam version only
2022-09-07Show host OS next to FlightCore versionGeckoEidechse
2022-09-07Formatting fixesGeckoEidechse
2022-09-06Implement update check for found Northstar installGeckoEidechse
Also includes initial add of libthermite as dependency
2022-09-01Handle gamepath check if manually selectedGeckoEidechse
as well as Northstar existence and up-to-date check
2022-09-01Add structure to implement Nortshtar update checkGeckoEidechse
Actual logic is not implemented yet
2022-08-30Pass install type together with locationGeckoEidechse
Install type basically defines how Titanfall2 was installed. Whether it was installed via Steam, Origin, etc.