aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Hats: put your money where your head is — supporter hats perch above the ↵Adam Soltys2026-08-169-17/+531
| | | | | | | avatar everywhere it appears, from 21-sat beanie to 2.1M-sat top hat; the crown stays on the founder Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* Chat stops blaming the signer for a locked door: a padlocked wallet says so ↵Adam Soltys2026-08-162-6/+20
| | | | | | | plainly, with the unlock one tap away Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The lock prompt says Lock: locking an unsaved wallet asks for the password ↵Adam Soltys2026-08-152-4/+6
| | | | | | | plainly, without a word about devices or a button that points the wrong way Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The upkeep paragraph retires quietlyAdam Soltys2026-08-152-3/+1
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Setting a password locks you in place, not out: home stays on screen, ↵Adam Soltys2026-08-151-1/+1
| | | | | | | watch-only, padlock shut Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The password ask drops the lecture: set one, and this device needs it to spendAdam Soltys2026-08-151-1/+1
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Coinos earns its capital letter when it opens a sentenceAdam Soltys2026-08-151-1/+1
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The basics stop pretending it's 2009: servers exist but can't touch your ↵Adam Soltys2026-08-151-6/+6
| | | | | | | money, Savings restores anywhere, and the Move money button that no longer exists stops being explained Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Mutinynet gets the full experience by default: the staging ASP answers ↵Adam Soltys2026-08-151-1/+1
| | | | | | | unless someone says otherwise Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The logo learns the difference between fleeing and returning: mid-creation ↵Adam Soltys2026-08-151-0/+16
| | | | | | | it backs out to the start page, and only a truly idle visitor gets pointed at the vault Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The reload remembers where you stood: the pre-refresh page is captured at ↵Adam Soltys2026-08-151-6/+9
| | | | | | | script load, before any boot render can pave over it Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Username and display name go their separate ways: the handle wears a frozen ↵Adam Soltys2026-08-153-51/+49
| | | | | | | @coinos.io so it reads as address and NIP-05, renames claim before the profile publishes, and nip05 rides along with lud16 Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Every name learns to vouch for its keeper: the registrar answers nostr.json, ↵Adam Soltys2026-08-151-0/+11
| | | | | | | so [email protected] is a NIP-05 too Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* A new name offers its hand to the address: saving a renamed profile proposes ↵Adam Soltys2026-08-153-27/+77
| | | | | | | the matching @coinos.io, and any rename repoints the kind-0 lightning address so zaps never chase a released name Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The padlock refuses to strand a seed: a wallet the vault never met gets ↵Adam Soltys2026-08-152-3/+26
| | | | | | | saved (password asked) before locking, and unlocking returns you to the wallet you left Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The profile form stops arriving fashionably late: it paints on the first ↵Adam Soltys2026-08-151-11/+27
| | | | | | | frame from the local cache, and the posts area holds its ground while the relays answer Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* A newborn identity knows it has no portrait: fresh seeds skip the kind-0 ↵Adam Soltys2026-08-152-0/+14
| | | | | | | wait and the punk paints the moment home appears Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* A refresh forgets nothing: bios and recent posts persist to storage and ↵Adam Soltys2026-08-151-5/+48
| | | | | | | paint instantly while the relays quietly freshen them behind the scenes Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Profiles arrive warm: pages prefetch for every likely tap-target (own ↵Adam Soltys2026-08-151-16/+50
| | | | | | | avatar, DM peers, search results, feed rows) and the spinners are simply gone Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The header avatar builds fresh each render — the cached-node trick ↵Adam Soltys2026-08-151-7/+5
| | | | | | | predates the morph, which both obsoleted it and was emptying it Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Log out opens the front door: the start page, with saved wallets one Unlock awayAdam Soltys2026-08-151-1/+6
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Log out lives in the profile card below Save, wearing the door-and-arrowAdam Soltys2026-08-151-6/+9
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Your profile knows it's yours even when the keys are elsewhere — ownership ↵Adam Soltys2026-08-152-1/+5
| | | | | | | follows the identity the header wears, not just the loaded signer Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Your own profile carries the exit: Log out signs the session off entirely, ↵Adam Soltys2026-08-153-0/+8
| | | | | | | distinct from the padlock's lock-in-place Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The wrong-signer error names the whole npub — a truncated key can't be ↵Adam Soltys2026-08-151-1/+1
| | | | | | | checked against anything Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The face the lock remembers is the face you wear: a nostr login outranks the ↵Adam Soltys2026-08-151-2/+7
| | | | | | | seed key in the watch directory too Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Seeds introduce themselves by their wallets — "Same seed as Spending + ↵Adam Soltys2026-08-151-3/+9
| | | | | | | Savings" — and Wallet 1 stays backstage for good Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The dead 8-character rule string goes — no minimum was ever enforcedAdam Soltys2026-08-151-1/+0
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Lock means stay: the padlock drops the keys and closes, the home screen ↵Adam Soltys2026-08-151-7/+34
| | | | | | | stays put watch-only, and the closed padlock asks the password to reopen Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Locking lands on a page that says Locked — the state confirms itself ↵Adam Soltys2026-08-152-3/+6
| | | | | | | instead of reading as a request Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The balance card's door is labeled Wallets and wears a wallet iconAdam Soltys2026-08-152-2/+2
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* A wallet keeps its face without its keys: the directory remembers each ↵Adam Soltys2026-08-151-3/+12
| | | | | | | wallet's npub, so watch-only still shows your avatar and profile — only signing waits for the seed Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Tapping the padlock without a password asks for one every time — a lock ↵Adam Soltys2026-08-152-4/+6
| | | | | | | that reopens itself is not a lock, and the copy now says so Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The logo on a locked device leads to the unlock prompt, never the new-wallet ↵Adam Soltys2026-08-151-0/+4
| | | | | | | flow Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Settings tiles sit level: the card-sibling margin stays out of the gridAdam Soltys2026-08-151-1/+1
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The padlock is just the padlock: platform 🔓/🔒 emoji replace the ↵Adam Soltys2026-08-151-16/+2
| | | | | | | hand-drawn svg Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Locking says "Locked" and the locked screen wears the closed gold padlock; ↵Adam Soltys2026-08-152-10/+43
| | | | | | | Settings lands on a grid of icon tiles instead of a bare list Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The padlock gets character: gold body, steel shackle swung open, keyhole and ↵Adam Soltys2026-08-151-4/+11
| | | | | | | a glint — cartoony over flat Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* "Stay unlocked … until I lock it" — the duration row reads as a sentenceAdam Soltys2026-08-151-2/+2
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* "Unlock for" stays on one lineAdam Soltys2026-08-151-1/+1
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The password prompt asks how long: unlock for 5 minutes, 30, a day, or ↵Adam Soltys2026-08-152-3/+63
| | | | | | | forever — the deadline survives refreshes and relocks on time; the skip button says what it does; the header padlock hangs open in green while you're in Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The balance card's switch becomes Manage accounts, the header chip retires, ↵Adam Soltys2026-08-153-34/+50
| | | | | | | Move money is gone — and pasting an on-chain address in a Spending wallet just exits ark to it Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Wallets go flat: every Spending and Savings is a top-level wallet in the ↵Adam Soltys2026-08-155-36/+161
| | | | | | | switcher, named for its purpose, renamable apart — and a new wallet can carry its own seed or live at the next BIP84 account of one you already back up Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The header speaks in icons: gear for settings, padlock to lock, and the ↵Adam Soltys2026-08-151-20/+33
| | | | | | | avatar goes straight to your profile — the popup menu retires Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The thread focus marker learns subtlety: a soft tint on the reply you jumped ↵Adam Soltys2026-08-151-2/+2
| | | | | | | to, nothing on the root — no more mystery black bar Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Threads, search, and zap setup become real places: hardware Back walks out ↵Adam Soltys2026-08-151-2/+9
| | | | | | | of a post to the profile it came from, and a refresh mid-thread reopens the thread Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Welcome DMs stop echoing: sent-copies thread under their recipient whichever ↵Adam Soltys2026-08-152-6/+25
| | | | | | | identity authored them, the registrar keeps no sender copy at all, and the old self-thread residue sweeps itself Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* A refresh stays where you were: the navigation snapshot in history.state ↵Adam Soltys2026-08-151-0/+15
| | | | | | | survives reload and is re-applied on boot — profiles, tabs, settings pages all hold their ground Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Threads speak back: a reply composer with proper NIP-10 markers, ↵Adam Soltys2026-08-152-5/+90
| | | | | | | conversations fetched from the author's own relays, and a ⚡ tap that can never be swallowed by the row underneath Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The social layer grows up: a header magnifier finds anyone on nostr, ⚡ ↵Adam Soltys2026-08-155-37/+280
| | | | | | | zaps your saved amount in one tap (asking once if you haven't picked one), and tapping a note opens its thread Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv