fix(content): use re-exported federation::record_peer_transport path (repair build)

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) <noreply@anthropic.com>
This commit is contained in:
archipelago 2026-06-15 13:15:01 -04:00
parent f2e3710c28
commit 1c6dc153ce
2 changed files with 7 additions and 4 deletions

View File

@ -244,7 +244,7 @@ impl RpcHandler {
.context("Failed to connect to peer")?; .context("Failed to connect to peer")?;
// Record which transport actually reached the peer (B14) so the UI // Record which transport actually reached the peer (B14) so the UI
// reflects FIPS vs Tor truthfully instead of always showing Tor/none. // 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, &self.config.data_dir,
None, None,
Some(onion), Some(onion),
@ -311,7 +311,7 @@ impl RpcHandler {
.await .await
.context("Failed to connect to peer")?; .context("Failed to connect to peer")?;
// Record which transport actually reached the peer (B14). // 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, &self.config.data_dir,
None, None,
Some(onion), Some(onion),
@ -380,7 +380,7 @@ impl RpcHandler {
.await .await
.context("Failed to connect to peer")?; .context("Failed to connect to peer")?;
// Record which transport actually reached the peer (B14). // 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, &self.config.data_dir,
None, None,
Some(onion), Some(onion),
@ -451,7 +451,7 @@ impl RpcHandler {
.await .await
.context("Failed to connect to peer for preview")?; .context("Failed to connect to peer for preview")?;
// Record which transport actually reached the peer (B14). // 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, &self.config.data_dir,
None, None,
Some(onion), Some(onion),

View File

@ -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) ### 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. 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) ### B8 — netbird app doesn't work — TODO (LOW / much later)
(RETRACTED: CryptPad placeholder-icon — user says cryptpad is fine.) (RETRACTED: CryptPad placeholder-icon — user says cryptpad is fine.)