Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Launcher Overhaul #104

Merged
merged 88 commits into from
Mar 12, 2023
Merged

Launcher Overhaul #104

merged 88 commits into from
Mar 12, 2023

Conversation

xTVaser
Copy link
Member

@xTVaser xTVaser commented Feb 18, 2023

This has an absolute ton of changes. It's not 100% ready yet, but I'm opening it early to start crossing off issues. I don't think this will be done/tested in time for this months release. But probably next month's.

The major change here is that the launcher's release will no longer be tightly coupled to the jak-project's release. Which is to say, it will no longer distribute the relevant binaries as a sidecar. This means the launcher will manage your jak-project release(s) and only has advantages from my perspective:

  • allows you to easily rollback to a previous release (ie. we break something)
  • allows for custom bundles of gk/goalc/etc -- think mods
  • simplifies the dev story (no longer need to have the binaries in the dev path)
  • simplifies deployment/release pipelines/etc
  • smaller download size
  • we can mock the calls to tauri for frontend testing trivially via the provided tooling

The only disadvantage is related to testing (ie. ideally you would test the launcher works with the consumed binary from jak-project _before_releasing) But this is a non-issue -- we can't do any of this testing without an ISO within the CI.

This moves a lot of the typescript code (frontend) into the rust layer (backend). For a few reasons:

  • Way better language for ensuring correctness
  • The ideal spot to run the processes / extract the releases / etc (lots of crates to do this sort of thing, and do it FAST)
  • Way better logging utilities that can pipe to files -- important as we also want to mirror the stdout/stderr of our "sidecars" "in the same way
  • I want to get better with rust

Fixed Issues

Deferred

  • Launcher only supports ISO files #3
    • The extractor itself is broken for this, unless you run the entire gamut at once with a folder path, it assumes the data will be in data/iso_data which when you are explicitly providing the folder -- is wrong. I also need to check if it validates the folder contents
  • Properly support launching a REPL on linux #85
    • This doesn't seem to be an issue on windows, but I've disabled REPL launching on linux for now anyway. The reason is that we need to properly handle the fact that a linux user could have a multitude of different terminal programs installed -- each with their own different set of flags to work properly. The nice approach seems to be to just defer this burden to the user, let them pick the program they want to use / and specify the flags in the settings menu. But this is something for a later date.
  • Background videos don't play on linux or macOS if using webm format #107 - new issue, linux and gstreamer doesn't seem to like webm files. Test with mp4

xTVaser and others added 30 commits September 18, 2022 19:22
- [x] Add support for texture packs
- [x] Override default Tauri updater dialog
- [x] Custom top menu bar
- [x] Added support links to github issues (jak-project, launcher) &
discord
- [x] New progress bar / progress stepper
- [x] Highlight active route in sidebar
- [ ] Add an error handling screen
- [x] Connect update notes properly
xTVaser added 4 commits March 5, 2023 14:23
For whatever reason, these triggered in dev but not in release builds.

However, I already made a global store for managing the versions, so events aren't really needed -- but this may be a problem in the future
@xTVaser xTVaser marked this pull request as ready for review March 7, 2023 04:47
@xTVaser xTVaser mentioned this pull request Mar 9, 2023
@xTVaser xTVaser merged commit 100d83c into main Mar 12, 2023
@trippjoe trippjoe deleted the dev/new-ui branch January 3, 2025 01:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment