* Fix old Minecraft versions not having playtime resolved for servers
* Revert and clean up get_server_worlds_in_profile a bit
* Add a semaphore to resolve_server_address in general to apply to all DNS queries
* Remove unused tokio-stream dependency from theseus
* Create get_resource_file macro to get an embedded resource
If the tauri feature is enabled, the resource will be loaded from Tauri resources.
If the tauri feature is disabled, the resource will be extracted to a temp directory.
* Wrap process execution to inject system properties through stdin
* Pass the time values as ISO 8601 datetimes
* Remove entirely internal modrinth.process.uuid
* Redo Java version checking somewhat and fix a few bugs with it
* Fix game launch with early access versions of Java
* Format Java code
* Use Gradle to build Java code
* Make Gradle build reproducible
* Fix constant rebuilds
* Get rid of unnecessary rebuilds
* Fix modrinth.profile.modified being the same as modrinth.profile.created
* Make javac use all lints and treat them as errors
* Force Gradle color output
* Add Java formatting config
* Make gradlew executable
* Revert to manually extracting class files
* Switch to using update resource macro
* fix: make `app-lib` build again
---------
Co-authored-by: Alejandro González <me@alegon.dev>
* Create get_resource_file macro to get an embedded resource
If the tauri feature is enabled, the resource will be loaded from Tauri resources.
If the tauri feature is disabled, the resource will be extracted to a temp directory.
* Wrap process execution to inject system properties through stdin
* Pass the time values as ISO 8601 datetimes
* Remove entirely internal modrinth.process.uuid
* Redo Java version checking somewhat and fix a few bugs with it
* Fix game launch with early access versions of Java
* Format Java code
* Fix modrinth.profile.modified being the same as modrinth.profile.created
* Revert to manually extracting class files
* Create base shared instance migration and initial routes
* Fix build
* Add version uploads
* Add permissions field for shared instance users
* Actually use permissions field
* Add "public" flag to shared instances that allow GETing them without authorization
* Add the ability to get and list shared instance versions
* Add the ability to delete shared instance versions
* Fix build after merge
* Secured file hosting (#3784)
* Remove Backblaze-specific file-hosting backend
* Added S3_USES_PATH_STYLE_BUCKETS
* Remove unused file_id parameter from delete_file_version
* Add support for separate public and private buckets in labrinth::file_hosting
* Rename delete_file_version to delete_file
* Add (untested) get_url_for_private_file
* Remove url field from shared instance routes
* Remove url field from shared instance routes
* Use private bucket for shared instance versions
* Make S3 environment variables fully separate between public and private buckets
* Change file host expiry for shared instances to 180 seconds
* Fix lint
* Merge shared instance migrations into a single migration
* Replace shared instance owners with Ghost instead of deleting the instance
* Put all ID types in the labrinth::models::ids, and reduce code duplication with them
* Rewrite labrinth::database::models::ids and rename most DB interface ID structs to be prefixed with DB
* Run sqlx prepare
---------
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
* Update some Labrinth dependencies
* Update some Labrinth dependencies
* Update some Labrinth dependencies
* Update zip in Labrinth
* Update itertools in Labrinth
* Update validator in labrinth
* Update thiserror in labrinth
* Update rust_decimal, redis, and deadpool-redis in labrinth
* Update totp-rs and spdx in labrinth
* Update maxminddb and tar in labrinth
* Update sentry and sentry-actix in labrinth
* Update image in labrinth
* Update lettre in labrinth
* Update derive-new and rust_iso3166 in labrinth
* Update async-stripe and json-patch in labrinth
* Update clap and iana-time-zone in labrinth
* Update labrinth to Rust 2024
* Cargo fmt
* Just do a full cargo update
* Update daedelus to Rust 2024
* Update daedelus_client to Rust 2024
* Set the formatting edition to 2024
* Fix formatting
IntelliJ messed up my formatting
* Add launcher_feature_version to Profile
* Misc fixes
- Add typing to theme and settings stuff
- Push instance route on creation from installing a modpack
- Fixed servers not reloading properly when first added
* Make old instances scan the logs folder for joined servers on launcher startup
* Create AttachedWorldData
* Change AttachedWorldData interface
* Rename WorldType::World to WorldType::Singleplayer
* Implement world display status system
* Fix Minecraft font
* Fix set_world_display_status Tauri error
* Add 'Play instance' option
* Add option to disable worlds showing in Home
* Fixes
- Fix available server filter only showing if there are some available
- Fixed server and singleplayer filters sometimes showing when there are only servers or singleplayer worlds
- Fixed new worlds not being automatically added when detected
- Rephrased Jump back into worlds option description
* Fixed sometimes more than 6 items showing up in Jump back in
* Fix servers.dat issue with instances you haven't played before
* Update a bunch of app dependencies in non-breaking ways
* Update dependencies in app-lib that had breaking updates
* Update dependencies in app that had breaking updates
* Fix too large of bulk requests being made, limit max to 800 #3430
* Also update tauri-plugin-opener
* Update app-lib to Rust 2024
* Non-breaking updates in ariadne
* Breaking updates in ariadne
* Ariadne Rust 2024
* Add hiding from home page, add types to Mods.vue
* Make recent worlds go into grid when display is huge
* Fix lint
* Remove redundant media query
* Fix protocol version on home page, and home page being blocked by pinging servers
* Clippy fix in app-lib
* Clippy fix in app
* Clippy fix
* More Clippy fixes
* Fix Prettier lints
* Undo `from_string` changes
* Update macos dependencies
* Apply updates to app-playground as well
* Update Wry + Tauri
* Update sysinfo
* Update theseus_gui to Rust 2024
* Downgrade rand in ariadne to fix labrinth
Labrinth can't use rand 0.9 due to argon2
* Cargo format
---------
Signed-off-by: Josiah Glosson <soujournme@gmail.com>
Co-authored-by: Prospector <prospectordev@gmail.com>
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
Co-authored-by: Alejandro González <me@alegon.dev>
* Fix not being able to connect to local friends socket
* Start basic work on tunneling protocol and move some code into a common crate
* Commonize message serialization logic
* Serialize Base62Ids as u64 when human-readability is not required
* Move ActiveSockets tuple into struct
* Make CI run when rust-common is updated
CI is currently broken for labrinth, however
* Fix theseus-release.yml to reference itself correctly
* Implement Labrinth side of tunneling
* Implement non-friend part of theseus tunneling
* Implement client-side except for socket loop
* Implement the socket loop
Doesn't work though. Debugging time!
* Fix config.rs
* Fix deadlock in labrinth socket handling
* Update dockerfile
* switch to workspace prepare at root level
* Wait for connection before tunneling in playground
* Move rust-common into labrinth
* Remove rust-common references from Actions
* Revert "Update dockerfile"
This reverts commit 3caad59bb4.
* Fix Docker build
* Rebuild Theseus if common code changes
* Allow multiple connections from the same user
* Fix test building
* Move FriendSocketListening and FriendSocketStoppedListening to non-panicking TODO for now
* Make message_serialization macro take varargs for binary messages
* Improve syntax of message_serialization macro
* Remove the ability to connect to a virtual socket, and disable the ability to listen on one
* Allow the app to compile without running labrinth
* Clippy fix
* Update Rust and Clippy fix again
---------
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
* Rough draft for fix for Mojang servers being down causing infinite installation
* Add "pack installed" install step
* Allow repairing an instance from Library to recover pack contents
* Allow repair from instance page
* Deduplicate repair code
* Fix lint
* Fix lint (for real this time)
---------
Co-authored-by: Jai Agrawal <18202329+Geometrically@users.noreply.github.com>