feat: configure download & upload (shared) directories

Add a --shared-dir / SOULSEEK_SHARED_DIR option and a SOULSEEK_DOWNLOAD_DIR
env for the download directory. The shared directory is resolved and
validated up front (tilde-expanded, must exist and be a directory); a
misconfigured value is a warning, not a fatal error.

The library gains an optional shared_directory on ClientSettings/Client
with a getter, keeping soulseek-rs-lib dependency-free. Resolution lives
in a new soulseek-rs/src/directories.rs with unit tests.
This commit is contained in:
michel
2026-07-19 13:12:44 +02:00
parent 9035ecebcb
commit 1328736550
6 changed files with 127 additions and 1 deletions
+1
View File
@@ -91,6 +91,7 @@ impl TestServer {
server_address: PeerAddress::new(self.host.clone(), self.port),
enable_listen: false,
listen_port: 0,
shared_directory: None,
}
}
}