<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinosv3.git/src/nip29-client.js, branch master</title>
<subtitle>coinos v3 — bitcoin, Ark, Lightning and nostr wallet (web + Android)</subtitle>
<id>https://git.coinos.io/coinosv3.git/atom?h=master</id>
<link rel='self' href='https://git.coinos.io/coinosv3.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/'/>
<updated>2026-11-12T05:21:59Z</updated>
<entry>
<title>Messages joins NIP-29 relay groups: New group → Relay group → paste an address → Join. "can i join pyramid runners from coinos v3? … add it" (Adam, 2026-11-11), for fiatjaf's pyramid.fiatjaf.com'Tnq7x2ZTgrPZWFrC. A NIP-29 group lives on one relay, which keeps its members and signs its metadata (39000 name/about/picture, 39001 admins, 39002 members); messages are plain signed events with an h tag. src/nip29-client.js speaks it behind the same interface as the White Noise and Cordn clients, so the group screens drive all three (g.nip29; gClient/gOn/findGroup/wnGroups learn it): live kind 9/7/5 (and 9000/9001/9021/9022) on the group's relay with NIP-42 AUTH where the relay asks (never an interactive signer unasked), metadata read only from the group's own relay, replies sent as NIP-C7 q tags (shown through an added e), NIP-29 previous tags from the relay's recent events, reactions and own-message delete as before. Join sends kind 9021 and holds the group either way (an open group reads before the relay's yes; a refusal is said in a toast); leave sends 9022. Addresses: host'id, wss://host'id, an naddr of the 39000, or a client's link (chachi.chat/&lt;host&gt;/&lt;id&gt;, flotilla's /spaces/&lt;host&gt;/&lt;id&gt;). The joined groups are the NIP-51 kind 10009 other clients keep: read at start (groups joined elsewhere appear here), written back on join and leave after reading the newest copy (deep on a first write, like the mute list), and a group left this session can't be brought back by a list read still in flight. Messages and metadata kept per identity in the marmot IndexedDB store (|nip29, last 200 per group; wiped with the wallet). The member panel says it isn't encrypted, shows about, and copies the address. No attachments, no creating groups or admin actions yet. tools/nip29-group-test.js reads the real group (relays: 'read'; join, list, message and leave publishes answered in place)</title>
<updated>2026-11-12T05:21:59Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-11-12T05:21:59Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=3197c707e6357623eee4e1356003f0c60b71e478'/>
<id>urn:sha1:3197c707e6357623eee4e1356003f0c60b71e478</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01VMan6UKGJyuGyZFxddYRxS
</content>
</entry>
</feed>
