diff --git a/docs/incident-framework-lnd-startup.md b/docs/incident-framework-lnd-startup.md index 34803129..6f433810 100644 --- a/docs/incident-framework-lnd-startup.md +++ b/docs/incident-framework-lnd-startup.md @@ -286,3 +286,16 @@ record final human confirmation of the rendered dashboard balance (native balanc match exactly, and UI failure/recovery regressions pass). Keep this follow-up visible across sessions; do not rebuild/reboot/reinitialize a working wallet just to repeat already completed checks. + +### Backup copy and layout — 2026-09-15 + +At the user's request, shortened the ecash backup explanations and stacked each +card section's text and full-width action vertically. Kept the distinction +between node-derived and separate phrases, and the warning that a newly created +phrase covers future coins rather than existing legacy coins. + +All 10 Receive/backup tests and the production UI build pass. Deployed the UI to +Framework without a restart; served index and backup-component bundle match the +build byte-for-byte. The prior UI is saved as `web-ui-before-backup-copy` in the +protected incident directory. Source integration and final rendered dashboard +balance confirmation remain pending as above. diff --git a/neode-ui/src/components/EcashSeedBackup.vue b/neode-ui/src/components/EcashSeedBackup.vue index b45534e3..45409472 100644 --- a/neode-ui/src/components/EcashSeedBackup.vue +++ b/neode-ui/src/components/EcashSeedBackup.vue @@ -226,61 +226,54 @@ async function restoreFromPhrase() { Your ecash has no backup yet -
- Your ecash wallet has its own 24-word phrase, derived from this node's recovery - phrase — so the words you already wrote down cover your ecash too. Reveal it here - if you want to restore your ecash into another wallet (Minibits, Nutstash, - cdk-cli) without handing over the node's own seed. +
+ Your node's recovery phrase also recovers this ecash phrase. Reveal its 24 words + to restore in a compatible Cashu wallet without sharing your node's phrase.
-- Your ecash wallet has its own 24-word phrase. Reveal it to write it down, or to - restore your ecash into another wallet (Minibits, Nutstash, - cdk-cli). +
+ Save your 24-word ecash phrase to restore this wallet here or in another + compatible Cashu wallet.
-- Ecash is a bearer instrument: the coins live in a file on this node, and right now - nothing can bring them back if that file is lost. Setting up a backup phrase fixes - that for every coin minted from then on. +
+ If this node's coin file is lost, your ecash is lost. Set up a phrase to recover + future coins; existing coins aren't covered. - It's derived from this node's recovery phrase, so there's nothing new to write down. + Your node's recovery phrase will also recover this phrase. - This node has no encrypted seed backup to derive from, so the phrase will be its - own — you'll need to write these words down and keep them. + This node has no saved seed, so write down and keep the new phrase separately.
- This wallet's phrase was not derived from the node's recovery - phrase{{ status?.source === 'imported' ? ' — it was imported' : '' }}, so restoring - the node will not bring the ecash back. Only these words will. + {{ status?.source === 'imported' ? 'This imported phrase' : 'This phrase' }} is separate + from your node's backup. Only these words recover this ecash wallet.
+
Restore from this phrase. - Asks your mint which coins it has signed for these words and puts back any that - are still unspent. Safe to run at any time — it never duplicates coins you already - hold. + Recover unspent coins from your mint. Safe to repeat; coins you already hold + won't be duplicated.
@@ -290,15 +283,15 @@ async function restoreFromPhrase() {+
Use a phrase from another wallet. - Point this wallet at a phrase you already have — from Minibits, Nutstash or - cdk-cli — so its coins can be restored here. + Import a phrase from Minibits, Nutstash or cdk-cli + to restore its coins here.
+
Paste the 24-word phrase from the other wallet. The coins already in this wallet stay spendable either way.
@@ -381,9 +374,8 @@ async function restoreFromPhrase() { -- Confirm your credentials to - {{ status?.active ? 'display the 24-word ecash phrase' : 'derive and display your ecash backup phrase' }}. +
+ Confirm your credentials to {{ status?.active ? 'reveal' : 'set up' }} your ecash phrase.