* 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 3caad59bb474ce425d0b8928d7cee7ae1a5011bd. * 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>
38 lines
987 B
Rust
38 lines
987 B
Rust
//! API for interacting with Theseus
|
|
pub mod cache;
|
|
pub mod friends;
|
|
pub mod handler;
|
|
pub mod jre;
|
|
pub mod logs;
|
|
pub mod metadata;
|
|
pub mod minecraft_auth;
|
|
pub mod mr_auth;
|
|
pub mod pack;
|
|
pub mod process;
|
|
pub mod profile;
|
|
pub mod settings;
|
|
pub mod tags;
|
|
|
|
pub mod data {
|
|
pub use crate::state::{
|
|
CacheBehaviour, CacheValueType, Credentials, Dependency, DirectoryInfo,
|
|
Hooks, JavaVersion, LinkedData, MemorySettings, ModLoader,
|
|
ModrinthCredentials, Organization, ProcessMetadata, ProfileFile,
|
|
Project, ProjectType, SearchResult, SearchResults, Settings,
|
|
TeamMember, Theme, User, UserFriend, Version, WindowSize,
|
|
};
|
|
pub use labrinth::common::users::UserStatus;
|
|
}
|
|
|
|
pub mod prelude {
|
|
pub use crate::{
|
|
data::*,
|
|
event::CommandPayload,
|
|
jre, metadata, minecraft_auth, mr_auth, pack, process,
|
|
profile::{self, create, Profile},
|
|
settings,
|
|
util::io::{canonicalize, IOError},
|
|
State,
|
|
};
|
|
}
|