#[derive(Debug, thiserror::Error)]
pub enum SymbiosError {
#[error("serialization failed: {0}")]
Serialization(#[from] bincode::Error),
#[error("network channel closed")]
ChannelClosed,
#[error("signaling connection failed: {0}")]
SignalingFailed(String),
#[cfg(feature = "client")]
#[error("authentication failed: {0}")]
AuthFailed(String),
#[cfg(feature = "client")]
#[error("HTTP request failed: {0}")]
HttpError(#[from] reqwest::Error),
#[cfg(feature = "relay")]
#[error("JWT validation failed: {0}")]
JwtValidationFailed(String),
}