<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinosv3.git/src/features/names.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-10-10T04:55:11Z</updated>
<entry>
<title>Names: letters and numbers only, 2–24 — coinos v2's rule. The registrar took a-z, 0-9 and . _ - (1–30), so bitcoin-education and a dozen others got through. A NEW claim must now match /^[a-z0-9]{2,24}$/ (v2's /^[\p{L}\p{N}]{2,24}$/u, held to ASCII since a name is a DNS label); a name already held (19 with . _ -, plus "f" and "g") is grandfathered — its owner can still update it — as are v2 migrations carrying their own name and npub-shaped defaults. /name/&lt;n&gt; answers invalid: true for a free name that breaks the rule; the claim form says "Letters and numbers only" as it's typed, and the suggested name from a nostr profile is stripped to letters and digits.</title>
<updated>2026-10-10T04:55:11Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-10T04:55:11Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=3d6bf81a19ca080d3710893b1e65f5aa3f01315f'/>
<id>urn:sha1:3d6bf81a19ca080d3710893b1e65f5aa3f01315f</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01Vps2H27rhbG9ZqseGfMrc3
</content>
</entry>
<entry>
<title>Front door: a "Migrate a coinos account" button under the sign-in doors, opening a page that says a wallet and its twelve words come first (Create, or the sign-in doors), and /migrate on a device without a wallet opens on that page instead of an unexplained welcome; while a move is queued the recovery-phrase step offers no Later. Spending step: an account whose custom name the registrar handed back (a wallet a sign-in restored) leaves the wizard instead of being shown a claim form it could only retype its own name into — claiming it again "succeeded" onto the same page; the claim form also waits behind "Getting things ready…" until the registrar lookups settle</title>
<updated>2026-10-09T08:41:24Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-09T08:41:24Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=de8cb7a6f2272fa0b601a155dd244fe3a3a3f331'/>
<id>urn:sha1:de8cb7a6f2272fa0b601a155dd244fe3a3a3f331</id>
<content type='text'>
Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Change username: a name this wallet's key claimed before a login identity was attached no longer reads as taken — the identity-signed claim is refused, so retry signed by the wallet key that owns the record</title>
<updated>2026-10-09T07:58:46Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-09T07:58:46Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=843feca4dfdd42e15da56b57efb4a95d1bdf404a'/>
<id>urn:sha1:843feca4dfdd42e15da56b57efb4a95d1bdf404a</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>POS terminals ring up in the owner's currency: the app sends its currency when minting a terminal token (it sent none, so every terminal priced sales in USD and a $0.03 sale paid out as $0.04 CAD), and a new token retunes the terminals already paired to that name</title>
<updated>2026-10-09T05:06:49Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-09T05:06:49Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=3a11c993baa2fc3a3b0bb754e19d783f5b684912'/>
<id>urn:sha1:3a11c993baa2fc3a3b0bb754e19d783f5b684912</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Send: a lightning address moves on to the amount by itself</title>
<updated>2026-10-02T21:41:59Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-02T21:41:59Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=dbee3dddba70783aa66b933ee48a187ef758efaa'/>
<id>urn:sha1:dbee3dddba70783aa66b933ee48a187ef758efaa</id>
<content type='text'>
- Pasted with the keyboard (not only the Paste button) it is complete
  text: it advances at once, as a paste always did through the button.
- Typed and then left alone for 0.9s, it is checked quietly (names: our
  registrar or BIP-353 DNS; zaps: the LNURL-pay endpoint answers) and the
  form moves on only if something answers. A half-typed domain answers
  nothing, so it just waits, with no error; finishing it moves on.
- tools/send-lnaddr-advance-test.js (live registrar/DNS, adam@coinos.io).

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01Dmcrt9KyNDKVWFKnb8BREo
</content>
</entry>
<entry>
<title>Clear abandoned payments, reset profile Pay and restore native messaging Back</title>
<updated>2026-10-01T23:36:42Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-01T23:36:25Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=62b6b80d9c8d03d6caadb0648059ba94e34f8b1d'/>
<id>urn:sha1:62b6b80d9c8d03d6caadb0648059ba94e34f8b1d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Sending to a coinos.io name shows the person, not the ark address it became.</title>
<updated>2026-09-27T22:07:31Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-27T22:07:31Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=10b7a97a3ecfc2f8e084c81520c78942ac745ec5'/>
<id>urn:sha1:10b7a97a3ecfc2f8e084c81520c78942ac745ec5</id>
<content type='text'>
The recipient box keeps the name, with their face beside it and "Sent
instantly, no fee."; the review names them too. The ark1… the name resolved
to is plumbing, and read as gibberish to anyone new to this.

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01VhUKyXKtsJ67QAFfb7QR9D
</content>
</entry>
<entry>
<title>Ark server is a setting again; an address on another server falls back to Lightning.</title>
<updated>2026-09-22T17:14:59Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-22T17:14:59Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=e59ed2d1106396750d1fdb15fe98a4b7ab2c80fc'/>
<id>urn:sha1:e59ed2d1106396750d1fdb15fe98a4b7ab2c80fc</id>
<content type='text'>
Settings → Advanced → Ark server: coinos, Second (ark.second.tech) or a
custom server, per network — the stored choice is honoured on mainnet
again. Ark state is kept per server, so switching hides but never loses
coins; the card says what the current server holds and asks before letting
go. After a switch the reusable address, the nostr advert and the payment
name's ark= instruction follow the new server.

Sends between servers can't be arkoor, so an Ark address that names a
different server (its first bytes hash the server key) is treated as no
Ark address at all in the pay ladder — a coinos name or npub then goes
over Lightning by itself — and a pasted one is refused with the reason.

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01Tmfg8k5f3TbNJS34qiqHAp
</content>
</entry>
<entry>
<title>POS token card: the terminal is flashed at coinos.io/flash.</title>
<updated>2026-09-22T05:52:53Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-22T05:52:53Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=b73d5b5db16bbd34385382574d2d454de0b5d505'/>
<id>urn:sha1:b73d5b5db16bbd34385382574d2d454de0b5d505</id>
<content type='text'>
Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01Tmfg8k5f3TbNJS34qiqHAp
</content>
</entry>
<entry>
<title>Settings: the terminal's cards (POS tokens, tap-to-pay link) move to Point of sale; the show/hide toggle is gone.</title>
<updated>2026-09-22T05:12:49Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-22T05:12:49Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=5bfba60f483210488d7ea94dd48c038e243c0757'/>
<id>urn:sha1:5bfba60f483210488d7ea94dd48c038e243c0757</id>
<content type='text'>
Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01Tmfg8k5f3TbNJS34qiqHAp
</content>
</entry>
</feed>
