From 375bec5f2ee22b1f69bb9f4a963efb12a68aef05 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 2 Aug 2026 18:43:56 -0700 Subject: Profiles: view pages, editable own kind 0, zap recipients in history MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tapping any avatar or author name (chat rooms, DM threads, the chat home) opens a profile page: avatar, name, nip05, lightning address, about, npub, with Message and Pay actions (Pay runs the npub payment cascade). Your own profile — reachable from your avatar on the chat home — gets an editor for name, about, picture, and lightning address (prefilled with your coinos address); saving merges over the newest published kind 0 so fields we don't understand survive the round trip. Zaps now remember who they went to: the ark feature keys the recipient by what the movement already records (destination address or invoice) and history rows wear a clickable avatar chip that opens the profile. The messages feature exposes showProfile/profileChip seams so any feature can do the same. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Wvj4aoeMZwA7VUGdJP9Swi --- src/features/names.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/features/names.js') diff --git a/src/features/names.js b/src/features/names.js index 54f15f7..d6acc6a 100644 --- a/src/features/names.js +++ b/src/features/names.js @@ -308,6 +308,8 @@ export function namesFeature(ctx) { id: 'names', init() { checked = false; lastError = null; refresh(); }, namesAdoptIdentity(signer, npub) { return adoptIdentity(signer, npub); }, + // the claimed payment address, for anyone prefilling a lightning address + namesAddress() { const st = load(); return st.name ? `${st.name}@${st.domain || DOMAIN}` : null; }, stop() { clearTimeout(retryTimer); clearTimeout(deadline); deadline = null; }, receiveModes() { if (!available()) return []; -- cgit v1.2.3