From 1c6dc153ce94d85de7d697eebef4d4f5abe3f043 Mon Sep 17 00:00:00 2001 From: archipelago Date: Mon, 15 Jun 2026 13:15:01 -0400 Subject: [PATCH] fix(content): use re-exported federation::record_peer_transport path (repair build) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The B14 commit referenced crate::federation::storage::record_peer_transport but `storage` is a private module — record_peer_transport is re-exported at crate::federation::. E0603 broke the build. Use the re-exported path (as load_nodes/fips_npub_for_onion already do). Verified: cargo build --release EXIT 0. Also logs B21 (Tor/FIPS pill) plan. Co-Authored-By: Claude Opus 4.8 (1M context) --- core/archipelago/src/api/rpc/content.rs | 8 ++++---- tests/production-quality/TRACKER.md | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/core/archipelago/src/api/rpc/content.rs b/core/archipelago/src/api/rpc/content.rs index 3932712d..5c314927 100644 --- a/core/archipelago/src/api/rpc/content.rs +++ b/core/archipelago/src/api/rpc/content.rs @@ -244,7 +244,7 @@ impl RpcHandler { .context("Failed to connect to peer")?; // Record which transport actually reached the peer (B14) so the UI // reflects FIPS vs Tor truthfully instead of always showing Tor/none. - let _ = crate::federation::storage::record_peer_transport( + let _ = crate::federation::record_peer_transport( &self.config.data_dir, None, Some(onion), @@ -311,7 +311,7 @@ impl RpcHandler { .await .context("Failed to connect to peer")?; // Record which transport actually reached the peer (B14). - let _ = crate::federation::storage::record_peer_transport( + let _ = crate::federation::record_peer_transport( &self.config.data_dir, None, Some(onion), @@ -380,7 +380,7 @@ impl RpcHandler { .await .context("Failed to connect to peer")?; // Record which transport actually reached the peer (B14). - let _ = crate::federation::storage::record_peer_transport( + let _ = crate::federation::record_peer_transport( &self.config.data_dir, None, Some(onion), @@ -451,7 +451,7 @@ impl RpcHandler { .await .context("Failed to connect to peer for preview")?; // Record which transport actually reached the peer (B14). - let _ = crate::federation::storage::record_peer_transport( + let _ = crate::federation::record_peer_transport( &self.config.data_dir, None, Some(onion), diff --git a/tests/production-quality/TRACKER.md b/tests/production-quality/TRACKER.md index 174c93c5..60ccf199 100644 --- a/tests/production-quality/TRACKER.md +++ b/tests/production-quality/TRACKER.md @@ -108,6 +108,9 @@ We previously broadcast bitcoin block headers over mesh to archipelago nodes but ### B14b — FIPS reachability: many peers fall back to Tor — TODO (priority, deeper) Live (2026-06-15) federation sync last_transport on .116/.198: ~4 peers fips, ~6 tor, ~5 none. So beyond the recording fix (B14), FIPS genuinely doesn't reach many federated peers (they use Tor). Investigate WHY: is fips_npub known for those peers? are they FIPS-online? is the shared anchor connecting them? (cf project_fips_integration, project_tor_node_to_node_works). This is the real "Tor not FIPS" depth. +### B21 — Show Tor/FIPS transport pill on cloud browse — ROOT-CAUSED (pairs with B14) +Tag whether the peer connection is Tor or FIPS and surface it as a small pill on the cloud browse screens / connection loader. Data source: federation node last_transport (now recorded by B14) exposed via federation.list-nodes; frontend renders a pill (FIPS=fast/green, Tor=slower) on PeerFiles.vue / Cloud peer view + the connection loader. Frontend-only-ish. FINDINGS: PeerFiles.vue:46 loader HARDCODES 'Connecting via Tor...' even when FIPS used (bug). Frontend types already have last_transport ('fips'|'tor'|'mesh'|'lan') federation/types.ts:31; NodeList.vue:167 already renders a transport indicator. PLAN: have content.browse-peer RETURN the transport used (B14 already computes it) → frontend shows a pill (FIPS green / Tor amber) on PeerFiles header + fix the loader text to reflect actual/attempted transport. Small backend (add transport to browse response) + frontend pill. + ### B8 — netbird app doesn't work — TODO (LOW / much later) (RETRACTED: CryptPad placeholder-icon — user says cryptpad is fine.)