diff --git a/apps/labrinth/src/routes/internal/statuses.rs b/apps/labrinth/src/routes/internal/statuses.rs index dd4f8dd18..a7b09548c 100644 --- a/apps/labrinth/src/routes/internal/statuses.rs +++ b/apps/labrinth/src/routes/internal/statuses.rs @@ -184,9 +184,10 @@ pub async fn ws_init( .await; } } - ClientToServerMessage::SocketOpen - | ClientToServerMessage::SocketClose { .. } - | ClientToServerMessage::SocketSend { .. } => todo!(), + + ClientToServerMessage::SocketOpen { .. } => todo!(), + ClientToServerMessage::SocketClose { .. } => todo!(), + ClientToServerMessage::SocketSend { .. } => todo!(), } } diff --git a/packages/app-lib/src/state/friends.rs b/packages/app-lib/src/state/friends.rs index acdbcbd63..5f5055f09 100644 --- a/packages/app-lib/src/state/friends.rs +++ b/packages/app-lib/src/state/friends.rs @@ -162,8 +162,9 @@ impl FriendsSocket { let _ = emit_friend(FriendPayload::FriendRequest { from }).await; } ServerToClientMessage::FriendRequestRejected { .. } => todo!(), - ServerToClientMessage::SocketOpened { .. } => todo!(), - ServerToClientMessage::SocketClosed { .. } => todo!(), + + ServerToClientMessage::SocketConnected { .. } => todo!(), + ServerToClientMessage::SocketDisconnected { .. } => todo!(), ServerToClientMessage::FriendSocketOpened { .. } => todo!(), ServerToClientMessage::SocketData { .. } => todo!(), } diff --git a/packages/rust-common/src/ids.rs b/packages/rust-common/src/ids.rs index 6b1a00203..c7baaa7ef 100644 --- a/packages/rust-common/src/ids.rs +++ b/packages/rust-common/src/ids.rs @@ -136,6 +136,13 @@ pub mod base62_impl { formatter.write_str("a base62 string id") } + fn visit_u64(self, v: u64) -> Result + where + E: de::Error, + { + Ok(Base62Id(v)) + } + fn visit_str(self, string: &str) -> Result where E: de::Error, @@ -144,7 +151,11 @@ pub mod base62_impl { } } - deserializer.deserialize_str(Base62Visitor) + if deserializer.is_human_readable() { + deserializer.deserialize_str(Base62Visitor) + } else { + deserializer.deserialize_u64(Base62Visitor) + } } } @@ -153,7 +164,11 @@ pub mod base62_impl { where S: Serializer, { - serializer.serialize_str(&to_base62(self.0)) + if serializer.is_human_readable() { + serializer.serialize_str(&to_base62(self.0)) + } else { + serializer.serialize_u64(self.0) + } } } diff --git a/packages/rust-common/src/networking/message.rs b/packages/rust-common/src/networking/message.rs index f59301a6b..557f16dae 100644 --- a/packages/rust-common/src/networking/message.rs +++ b/packages/rust-common/src/networking/message.rs @@ -10,7 +10,9 @@ pub enum ClientToServerMessage { profile_name: Option, }, - SocketOpen, + SocketOpen { + socket: Uuid, + }, SocketClose { socket: Uuid, }, @@ -40,10 +42,11 @@ pub enum ServerToClientMessage { from: UserId, }, - SocketOpened { - socket: Uuid, + SocketConnected { + to_socket: Uuid, + new_socket: Uuid, }, - SocketClosed { + SocketDisconnected { socket: Uuid, }, FriendSocketOpened {