aboutsummaryrefslogtreecommitdiffstats
path: root/src/i18n.js
Commit message (Collapse)AuthorAgeFilesLines
* Entropy gets a room of its own: a button beside Copy and Regenerate opens a ↵Adam Soltys2026-08-171-0/+1
| | | | | | | page of just text and Submit — the derivation happens once, on the way out, not under your fingers Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* The entropy fold drops the arrow act: a plain Entropy button opens it on ↵Adam Soltys2026-08-171-1/+1
| | | | | | | both panes Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* The entropy copy trims its jargon and raises the bar: what you type is what ↵Adam Soltys2026-08-171-2/+2
| | | | | | | you get, and getting it right takes 100+ dice rolls or a full shuffled deck Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* Own entropy means owned outcome: the typed text alone derives the seed, so ↵Adam Soltys2026-08-171-1/+2
| | | | | | | re-typing it is an import on any device — the warn-box says what that guarantee costs, and Regenerate bows out of a deterministic job Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* The logout blurb ends where it should: your wallets stay saved on this deviceAdam Soltys2026-08-171-1/+1
| | | | | Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* The seed takes dice: an optional entropy field folds open on the generate ↵Adam Soltys2026-08-171-1/+4
| | | | | | | step, hashed with the device's own randomness so it can only strengthen the phrase — and the forget option now says all data, which is what it takes Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* One Log out button, one honest question: the popup offers the plain exit and ↵Adam Soltys2026-08-171-0/+1
| | | | | | | the full forget, each keeping its own warnings Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* The profile grows a second, honest exit: Log out leaves the room, Log out & ↵Adam Soltys2026-08-171-0/+1
| | | | | | | forget this device burns it down — behind the Delete-all warning, which now also sweeps the cached balances and history it always implied Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* The wallet row's delete earns a trash can instead of an ambiguous ✕, and ↵Adam Soltys2026-08-171-1/+1
| | | | | | | Clear all says Delete all — the word for what it does Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* A blank-password vault stops masquerading as a locked one: new wallets ↵Adam Soltys2026-08-171-1/+1
| | | | | | | auto-save through it again, setting a real password re-encrypts every saved wallet instead of dropping the absent ones, and the save-first lock prompt finally names the password it wants Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
* Hats: put your money where your head is — supporter hats perch above the ↵Adam Soltys2026-08-161-0/+23
| | | | | | | 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-161-0/+1
| | | | | | | 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-151-1/+2
| | | | | | | 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-151-1/+0
| | | | | 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
* Username and display name go their separate ways: the handle wears a frozen ↵Adam Soltys2026-08-151-4/+3
| | | | | | | @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
* A new name offers its hand to the address: saving a renamed profile proposes ↵Adam Soltys2026-08-151-0/+4
| | | | | | | 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-151-0/+1
| | | | | | | 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
* Your own profile carries the exit: Log out signs the session off entirely, ↵Adam Soltys2026-08-151-0/+1
| | | | | | | 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 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
* Locking lands on a page that says Locked — the state confirms itself ↵Adam Soltys2026-08-151-0/+2
| | | | | | | 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-151-1/+1
| | | | | 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-151-1/+1
| | | | | | | 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
* Locking says "Locked" and the locked screen wears the closed gold padlock; ↵Adam Soltys2026-08-151-0/+7
| | | | | | | 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
* "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
* The password prompt asks how long: unlock for 5 minutes, 30, a day, or ↵Adam Soltys2026-08-151-0/+6
| | | | | | | 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-151-0/+3
| | | | | | | 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-151-0/+8
| | | | | | | 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
* Threads speak back: a reply composer with proper NIP-10 markers, ↵Adam Soltys2026-08-151-0/+3
| | | | | | | 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-151-0/+12
| | | | | | | 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
* A mailbox backlog claimed at sign-in reads as the old payments they are, not ↵Adam Soltys2026-08-141-0/+2
| | | | | | | a wall of seconds-ago windfalls; a gift send knows itself in history — status shown, link recopyable, revoke at hand Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Settings grows a Notifications page — per-category switches the notifier ↵Adam Soltys2026-08-141-0/+10
| | | | | | | honours server-side — and the status bar gets a real coinos badge instead of a black blob Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* Money leaving while you're not looking gets a notification: NWC pays from ↵Adam Soltys2026-08-141-0/+2
| | | | | | | the worker or a hidden tab announce themselves — amount, fee, and which app asked Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* No notifications, no connection: creating one asks to allow them first, and ↵Adam Soltys2026-08-131-0/+4
| | | | | | | a denial explains itself instead of leaving a dead connection spinning in the other app Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_014tE4U5nEjGTQy8PwYqamfv
* The rename page stops calling your name generated: it's just Change usernameAdam Soltys2026-08-131-2/+2
| | | | Co-Authored-By: Claude Fable 5 <[email protected]>
* Spending waits to be asked for: a wallet is born on-chain only, the toggle ↵Adam Soltys2026-08-131-8/+1
| | | | | | and Move money appear once it's set up (or money's already there), and the tour is gone Co-Authored-By: Claude Fable 5 <[email protected]>
* The passphrase explains itself: a tap on "What's this?" says it's an ↵Adam Soltys2026-08-131-0/+2
| | | | | | optional 13th word, not a login or encryption Co-Authored-By: Claude Fable 5 <[email protected]>
* The door asks less: Get started shows your seed, and the wallet greets you ↵Adam Soltys2026-08-131-5/+5
| | | | | | in Savings — naming yourself waits until after the tour, as an offer to set up Spending Co-Authored-By: Claude Fable 5 <[email protected]>
* A waiting board says what it waits for: the Moving line counts ↵Adam Soltys2026-08-091-0/+1
| | | | | | | confirmations, a snag shows itself, and one stuck action no longer starves the queue behind it Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01DbA53PJA8fgSvMcEzfuw22
* The wizard waits out a signer login; a picked recipient shows its work, and ↵Adam Soltys2026-08-081-0/+1
| | | | | | search answers from memory before the network Co-Authored-By: Claude Fable 5 <[email protected]>
* Profiles wear their latest notes, each one zappable; a zap with no ark ↵Adam Soltys2026-08-081-0/+20
| | | | | | address to land on becomes a gift only their key can open Co-Authored-By: Claude Fable 5 <[email protected]>
* Spending trusts its own ledger: gifts read persisted ark state, and Savings ↵Adam Soltys2026-08-051-0/+1
| | | | | | | keeps its pending line to itself Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01M5kFodm9azZJVTQxnkDdKe
* The Nostr card owns its built-in account; the exported key opens this wallet ↵Adam Soltys2026-08-041-1/+7
| | | | | | | anywhere Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01M5kFodm9azZJVTQxnkDdKe
* A wallet too small to renew warns before its coins expire; dust never diesAdam Soltys2026-08-041-0/+2
| | | | | | | | | | | | | | | | | | The warning: when the Spending balance minus round fee is under the 330-sat round minimum AND a vtxo enters the renewal window, auto-refresh can't save the coins — a wallet-screen notice (and a daily local notification, when permitted) says to receive any amount or spend before the deadline. New walletNotices feature hook renders under the balance card. The amnesty: sub-dust vtxos have no unilateral exit to protect, and regtest proves captaind keeps cosigning their spends past expiryHeight — even after the watchman claims the backing on-chain (tools/ark/expired-dust-test.js). Only hal's own receive validation stood in the way; it now exempts sub-330 vtxos from the expiry check. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_015QwAtBSpKvECqp1rHLHjJk
* More options also points at Savings for a plain on-chain addressAdam Soltys2026-08-041-0/+2
| | | | | | | | | Not a pane of its own: a regular Bitcoin address means receiving to Savings, so the entry switches the account selector over and lets the savings receive view show its fresh address. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_015QwAtBSpKvECqp1rHLHjJk
* One More-options link replaces the BOLT 12 link on ReceiveAdam Soltys2026-08-041-2/+15
| | | | | | | | | Behind it: a one-time BOLT 11 invoice (minted by the ASP), the reusable BOLT 12 offer flow, the wallet's raw ark address, and the CLINK offer code — each on its own pane so only one scannable code shows at a time. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_015QwAtBSpKvECqp1rHLHjJk
* The wizard can no longer trap anyoneAdam Soltys2026-08-041-0/+1
| | | | | | | | | Publishing the profile on the avatar step is best-effort now — a signer that can't sign (a sleeping phone bunker) skips it with a toast instead of erroring the Continue button forever. And once a wallet exists, the logo leads home even out of a resumed wizard. Co-Authored-By: Claude Fable 5 <[email protected]>
* Five conversations, then 'show all' — communities stay in reachAdam Soltys2026-08-041-0/+2
| | | | Co-Authored-By: Claude Fable 5 <[email protected]>