radrootsd

JSON-RPC bridge for Radroots event publishing
git clone https://radroots.dev/git/radrootsd.git
Log | Files | Refs | README | LICENSE

commit 2362f9a81ec13d84cda5706f225cd3b4e9566f2d
parent 4d2ee03e14f331abc6e002edf8c42170b283928e
Author: triesap <tyson@radroots.org>
Date:   Mon, 13 Jul 2026 06:21:13 +0000

daemon: assert transport operation capabilities

- require operation capabilities in transport publish RPC output
- guard the protocol capability row shape from radrootsd
- preserve Reticulum preview as delivery and fetch incapable
- validate transport publish daemon tests

Diffstat:
Msrc/transport/jsonrpc/methods/mod.rs | 5+++++
Mtests/source_boundary.rs | 5+++++
2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/transport/jsonrpc/methods/mod.rs b/src/transport/jsonrpc/methods/mod.rs @@ -156,6 +156,11 @@ mod tests { assert!( response .get() + .contains("\"capabilities\":{\"deliver\":false,\"fetch\":false}") + ); + assert!( + response + .get() .contains(RADROOTS_RETICULUM_UNAVAILABLE_MESSAGE) ); } diff --git a/tests/source_boundary.rs b/tests/source_boundary.rs @@ -286,6 +286,7 @@ fn transport_publish_capabilities_expose_per_transport_readiness() { r#"\"configured\":true"#, r#"\"implementation\":\"preview_unavailable\""#, r#"\"usable_for_delivery\":false"#, + r#"\"capabilities\":{\"deliver\":false,\"fetch\":false}"#, "RADROOTS_RETICULUM_UNAVAILABLE_MESSAGE", ] { assert!( @@ -304,6 +305,10 @@ fn transport_publish_capabilities_expose_per_transport_readiness() { "pub configured: bool,", "pub implementation: TransportPublishImplementation,", "pub usable_for_delivery: bool,", + "pub capabilities: TransportPublishOperationCapabilities,", + "pub struct TransportPublishOperationCapabilities", + "pub deliver: bool,", + "pub fetch: bool,", "RADROOTS_RETICULUM_UNAVAILABLE_MESSAGE", ] { assert!(