diff options
| author | Adam Soltys <[email protected]> | 2026-08-02 17:51:37 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-08-02 17:51:37 -0700 |
| commit | 1f1440d706d44181945d779547fdcb7668bab6b1 (patch) | |
| tree | 36b43c3f81cf2ffae20c5a8a245a6055190177a5 /tools/ark | |
| parent | adab07119409c813ef54d1e00929bb0704c1ce38 (diff) | |
| download | coinosv3-server-1f1440d706d44181945d779547fdcb7668bab6b1.tar.gz coinosv3-server-1f1440d706d44181945d779547fdcb7668bab6b1.zip | |
Recipient search: usernames and npubs, in chat and the Send form
A shared engine (src/recipient-search.js) merges three ranked sources:
an exact npub/hex paste, coinos usernames from the registrar's new
/search prefix endpoint, and NIP-50 kind-0 full-text search on
relay.nostr.band — the approach the major web clients take, since
ordinary relays don't index profiles. Results dedupe by pubkey, fill
avatars in one batched kind-0 fetch, and cache per query so narrowing
never re-hits the network. Input is debounced 300ms and gated by a
searchable() heuristic so addresses, invoices, and keys never trigger
a search.
Chat's New message panel narrows as you type and opens the thread on
pick; the Send form shows the same candidates under the destination
input and picking one runs the normal paste path (payment address →
BIP-353, npub → zap).
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Wvj4aoeMZwA7VUGdJP9Swi
Diffstat (limited to 'tools/ark')
0 files changed, 0 insertions, 0 deletions
