From ffc8e25c178a659da4ddcfaa10e6431db1cbc94e Mon Sep 17 00:00:00 2001 From: Dorian Date: Thu, 19 Mar 2026 20:52:39 +0000 Subject: [PATCH] fix: node names everywhere, cloud peer names, sync timeout 180s - Federation: nodeName() with Node-XXXX fallback for all views + map + sync results - Cloud: peerDisplayName() replaces raw DIDs, hides onion addresses - Sync timeout increased to 180s for Tor-connected nodes - Better error message when sync fails Co-Authored-By: Claude Opus 4.6 (1M context) --- neode-ui/src/views/Cloud.vue | 10 +++++----- neode-ui/src/views/Federation.vue | 8 ++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/neode-ui/src/views/Cloud.vue b/neode-ui/src/views/Cloud.vue index 2f8ce987..4923d93e 100644 --- a/neode-ui/src/views/Cloud.vue +++ b/neode-ui/src/views/Cloud.vue @@ -64,8 +64,8 @@
-

{{ peer.name || truncateDid(peer.did) }}

-

{{ peer.onion }}

+

{{ peer.name || peerDisplayName(peer.did) }}

+

{{ peer.name ? peer.did.slice(0, 20) + '...' : 'Peer node' }}

@@ -275,9 +275,9 @@ async function loadPeers() { } } -function truncateDid(did: string): string { - if (did.length <= 24) return did - return did.slice(0, 16) + '...' + did.slice(-8) +function peerDisplayName(did: string): string { + const suffix = did.replace(/^did:key:z6Mk/, '').slice(-6).toUpperCase() + return `Node-${suffix}` } function openSection(section: ContentSection) { diff --git a/neode-ui/src/views/Federation.vue b/neode-ui/src/views/Federation.vue index 77322851..6cb9321d 100644 --- a/neode-ui/src/views/Federation.vue +++ b/neode-ui/src/views/Federation.vue @@ -689,11 +689,15 @@ async function syncAll() { try { syncing.value = true error.value = '' - const result = await rpcClient.federationSyncState() + syncResults.value = [] + const result = await rpcClient.call<{ + synced: number; failed: number; + results: Array<{ did: string; status: string; apps?: number; error?: string }> + }>({ method: 'federation.sync-state', timeout: 180000 }) syncResults.value = result.results await loadNodes() } catch (e) { - error.value = e instanceof Error ? e.message : 'Sync failed' + error.value = e instanceof Error ? e.message : 'Sync failed — some peers may be unreachable over Tor' } finally { syncing.value = false }