* Make images lazy and fix#198
* Fix console spam
* Fix bug with bad pagination impl
* Fixes#232
* Finalize more bug fixes
* run lint
* Improve minecraft sign in, improve onboarding
* Linter
* Added back button
* Implement #530
* run linter
* Address changes
* Bump version + run fmt
---------
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
* initial
* Fixed java thing
* fixes
* internet check change
* some fix/test commit
* Fix render issues on windows
* bump version
---------
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
Co-authored-by: Jai A <jai@modrinth.com>
* fixed no download bug
* draft
* Working version
* minor improvements
* cicd fix
* merge conflicts
* fixed major merge confusion
* more conflicts, reformatting
* fixed random bugs found
* added second repair option to avoid confusion
* now utilizing tracing better
* better tracing
* fix mac vs pc oppositional env var issue
* modified loading package
* added droppable loadingbarid that sends completion message
* loading bar
* regressed bug on mac
* fixed non-updated loading bar on playground
* Loading bar improvements
---------
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
* child process api
* added hook to js
* process API + restructured process state storage
* formatting
* added path-pid check and fixed probs
* prettier
* added profile checking function
---------
Co-authored-by: Wyatt <wyatt@modrinth.com>
* Initial authentication implementation
* Store user info in the database, improve encapsulation in profiles
* Add user list, remove unused dependencies, add spantraces
* Implement user remove, update UUID crate
* Add user set-default
* Revert submodule macro usage
* Make tracing significantly less verbose
The launcher code was in a position ripe for sphagetti, so this rewrites it in a more robust way.
In addition to cleaner code, this provides the following changes:
- Removal of obsolete Mojang authentication
- The rebasing of some internal state into a Sled database
- Tweaks which make some internal mechanisms more robust (e.g. profiles which fail to load can be removed)
- Additional tooling integration such as direnv
- Distinct public API to avoid messing with too much internal code
- Unified error handling in the form of `theseus::Error` and `theseus::Result`
* Move launcher working directory to standard location
* Fix settings save, attempt to get better backtraces
* Add environment variable for settings path
* Initial draft of profile metadata format
* Remove records, add Clippy to Nix, fix Clippy error
* Work on profile definition
* BREAKING: Make global settings consistent with profile settings
* Add builder methods & format
* Integrate launching with profiles
* Add profile loading
* Launching via profile, API tweaks, and yak shaving
* Incremental update, committing everything due to personal system maintainance
* Prepare for review cycle
* Remove reminents of experimental work
* CLI: allow people to override the non-empty directory check
* Fix mistake in previous commit
* Handle trailing whitespace and newlines in prompts
* Revamp prompt to use dialoguer and support defaults
* Make requested changes