cli

Command-line interface for Radroots
git clone https://radroots.dev/git/cli.git
Log | Files | Refs | README | LICENSE

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:
Msrc/runtime/sync.rs | 18++++++++++++++++--
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(),