#[derive(Debug, thiserror::Error)]
pub(crate) enum SongStatsError {
#[error("play statistics unavailable")]
Stats(#[from] mineral_stats::Error),
#[error("favorite status unavailable")]
Favorite(#[from] crate::persistence::Error),
}
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("daemon configuration invalid")]
Config(#[from] mineral_config::ConfigWarning),
#[error("audio engine startup failed")]
Audio(#[from] mineral_audio::Error),
#[error("system media service startup failed")]
Media(#[from] mineral_media::Error),
#[error("IPC listener accept failed")]
Accept(#[from] std::io::Error),
}