aboutsummaryrefslogtreecommitdiff
path: root/src-tauri/src/github/pull_requests.rs
AgeCommit message (Collapse)Author
2024-07-30feat: Show pull request labels in PR view (#985)GeckoEidechse
to more easily see which PRs need testing etc
2024-06-18fix: Check for MSVC build if multiple artifacts are available (#949)Jan
Needed with a planned PR into NorthstarLauncher
2024-02-14refactor: Use dedicated library for getting PR list (#807)GeckoEidechse
Use the `octocrab` library for interacting with GitHub for getting the list of pull requests instead of writing own GitHub API library. This is done to reduce code size in the longterm even if the current change will temporarily increase it.
2024-02-14refactor: Use `u64` for PR number (#808)GeckoEidechse
instead of `i64` as PR numbers can never be negative.
2024-02-13fix: Remove most leftover dbg prints (#803)GeckoEidechse
Removes all but one leftover `dbg!()` prints. The remaining one is in a function that is yet to be implemented.
2023-10-13refactor: Move repair/verify related funcs to mod (#622)GeckoEidechse
Moves functions related to game install path verification checks to dedicated module in an effort to clean up `main.rs`
2023-08-03refactor: Use `GameInstall` object for PR install functions (#467)Jan
Passes the whole `GameInstall` object instead of individual path to functions related to PR installs. This is done in preparation for #444
2023-08-01refactor Generalise temporary directory structure (#458)Jan
The temp folder we create could be reused for a lot more things, like extracting Northstar before moving files into the correct place. As such adjust the naming and structure to accommodate this.
2023-06-02fix: Remove some unwraps for fetching GitHub API (#375)GeckoEidechse
Remove some unwraps for fetching GitHub API to prevent thread from panicking on no internet
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-10refactor: Move code from `lib.rs` into `main.rs` (#330)GeckoEidechse
Move remaining logic in one big move
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-08refactor: Only pass commit sha for installing launcher CI build (#313)GeckoEidechse
* refactor: Only pass commit sha for installing launcher CI build This allows for easier usage later when installing a launcher build based on commit sha only, e.g. for installing newest build of a branch. * docs: Update comments to match current code
2023-05-06fix: Fix typoGeckoEidechse
2023-04-30fix: Fetch multiple pages from GitHub PR API (#298)GeckoEidechse
* 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.
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-07fix: Change enum value casing (#255)GeckoEidechse
* fix: Chanege enum value casing as suggested by clippy * fix: Fix forgotten case change
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-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-19refactor: Fix PR downloads permission issue (#217)GeckoEidechse
* 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
2023-03-02feat: Allow installing PRs from DeveloperView (#139)GeckoEidechse
* 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>