commit 1809489d6ebbb7a19baf5242c93ca7060a863a68
parent 5c201a9d09da2068d93b6e006f9cf2fe55b5e7dd
Author: triesap <tyson@radroots.org>
Date: Mon, 13 Jul 2026 07:11:11 +0000
cli: use typed sync transport targets
Diffstat:
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/runtime/sync.rs b/src/runtime/sync.rs
@@ -919,8 +919,22 @@ fn sync_transport_target_view(
kind: RadrootsTransportKind,
endpoint_uri: &str,
) -> Result<SyncTransportTargetView, RuntimeError> {
- let target = RadrootsTransportTarget::new(kind, endpoint_uri)
- .map_err(|error| RuntimeError::Config(format!("invalid transport target: {error}")))?;
+ let target = match kind {
+ RadrootsTransportKind::Nostr => RadrootsTransportTarget::nostr_relay(endpoint_uri),
+ RadrootsTransportKind::Reticulum => {
+ if endpoint_uri != RADROOTS_RETICULUM_PREVIEW_ENDPOINT_URI {
+ Err(radroots_transport::RadrootsTransportError::InvalidTargetUri)
+ } else {
+ RadrootsTransportTarget::reticulum_preview()
+ }
+ }
+ RadrootsTransportKind::Local => RadrootsTransportTarget::local(endpoint_uri),
+ RadrootsTransportKind::Proxy => RadrootsTransportTarget::proxy(endpoint_uri),
+ RadrootsTransportKind::Mesh | RadrootsTransportKind::Custom(_) => {
+ RadrootsTransportTarget::new(kind, endpoint_uri)
+ }
+ }
+ .map_err(|error| RuntimeError::Config(format!("invalid transport target: {error}")))?;
Ok(SyncTransportTargetView {
transport_kind: target.kind.canonical_label(),
endpoint_uri: target.uri.as_str().to_owned(),