From 01227f335d53a13fa83654114a7522d47bac0c2b Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 17 Aug 2026 23:15:34 -0700 Subject: A picked punk publishes its full address: the avatar step stops writing relative paths into kind 0, where they broke real faces on every other client Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz --- src/app.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/app.js b/src/app.js index 459592f..577f7b2 100644 --- a/src/app.js +++ b/src/app.js @@ -2830,8 +2830,11 @@ function onboardScreen() { try { const addr = featureHook('namesAddress'); // keeping the default still publishes it — their punk should be - // their face on every nostr client, not just here - const picture = o.avatar || (me ? 'https://v3.coinos.io/' + punkUrl(me) : undefined); + // their face on every nostr client, not just here. A picked punk is + // a relative path; kind 0 needs the absolute URL (a relative one + // once replaced a real profile picture with a broken string). + const picked = o.avatar && !/^https?:/i.test(o.avatar) ? 'https://v3.coinos.io/' + o.avatar : o.avatar; + const picture = picked || (me ? 'https://v3.coinos.io/' + punkUrl(me) : undefined); const fields = { name: addr ? addr.split('@')[0] : undefined, picture }; // Publishing the profile is a nicety — a signer that can't sign // right now (a sleeping phone bunker) must not trap the wizard. -- cgit v1.2.3