diff --git a/crates/core/src/node.rs b/crates/core/src/node.rs
index 7c90407..8dd0d46 100644
--- a/crates/core/src/node.rs
+++ b/crates/core/src/node.rs
@@ -1793,6 +1793,20 @@ impl Node {
}
}
}
+ // Keep posting_identities.display_name in sync with the
+ // profile post so the Personas list and any UI reading
+ // PostingIdentity sees the current name (not the original
+ // empty/auto-gen one). The upsert preserves the persona's
+ // secret_seed / created_at; only display_name changes.
+ if let Ok(Some(existing)) = storage.get_posting_identity(&posting_id) {
+ let updated = crate::types::PostingIdentity {
+ node_id: existing.node_id,
+ secret_seed: existing.secret_seed,
+ display_name: display_name.clone(),
+ created_at: existing.created_at,
+ };
+ let _ = storage.upsert_posting_identity(&updated);
+ }
}
// Propagate via neighbor-manifest header diffs like any other post.
diff --git a/frontend/app.js b/frontend/app.js
index 1840b8e..5bf2922 100644
--- a/frontend/app.js
+++ b/frontend/app.js
@@ -1687,12 +1687,13 @@ async function openBioModal(nodeId, preloadedName) {
${bio ? `
+ Personas are who you are to peers — the keys you post and message with. Most people only need one. To move your account to a new device, you export your personas from this device and import them on the new one.
+
+ Identities below are this device's own network address — usually not what you want to move. Leave them alone unless you know why you're touching them.
+
@@ -248,9 +248,25 @@
+
Move to another device
+
+ Export creates a ZIP containing your personas (and optionally posts/follows). Import on the other device's Settings > Move to another device.
+
-
-
+
+
+
+
+
+
+
Identities (advanced)
+
+ This device's network address. Changing this is rarely useful — it lets you move the device's QUIC endpoint, NOT your posting identity.
+