aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-03 23:54:55 -0700
committerAdam Soltys <[email protected]>2026-08-03 23:54:55 -0700
commit5682cc88e54f00ce01fdd2ef01e5bb1a207b1be2 (patch)
tree0c151cbf72d4b2e63053416b738fb82f0612ec82
parent9a9e2a7e64e02d080d121e1f3079573d00ab28cf (diff)
downloadcoinosv3-5682cc88e54f00ce01fdd2ef01e5bb1a207b1be2.tar.gz
coinosv3-5682cc88e54f00ce01fdd2ef01e5bb1a207b1be2.zip
Call it 'Lock wallet', because that is what it does
'Logout' promises a return to a fresh app with nothing of yours left on it. This closes the open wallet and keeps everything saved, which is why it read as interchangeable with 'Clear all' — the one that really does send you back to the beginning. Renamed via a new key rather than rewording the old one: nineteen locale tables carry their own word for 'Logout' and t() prefers the locale's value, so reusing the key would have kept the wrong meaning in every language but English. The dead key is dropped from those files; they fall back to English until translated. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Wvj4aoeMZwA7VUGdJP9Swi
-rw-r--r--src/app.js2
-rw-r--r--src/i18n.js2
-rw-r--r--src/locales/ar.json3
-rw-r--r--src/locales/bn.json3
-rw-r--r--src/locales/de.json3
-rw-r--r--src/locales/es.json3
-rw-r--r--src/locales/fr.json3
-rw-r--r--src/locales/hi.json3
-rw-r--r--src/locales/id.json3
-rw-r--r--src/locales/ja.json3
-rw-r--r--src/locales/ko.json3
-rw-r--r--src/locales/mr.json3
-rw-r--r--src/locales/pt.json3
-rw-r--r--src/locales/ru.json3
-rw-r--r--src/locales/sw.json3
-rw-r--r--src/locales/ta.json3
-rw-r--r--src/locales/te.json3
-rw-r--r--src/locales/tr.json3
-rw-r--r--src/locales/ur.json3
-rw-r--r--src/locales/vi.json3
-rw-r--r--src/locales/zh.json3
-rw-r--r--tools/lock-wallet-test.js (renamed from tools/logout-test.js)12
22 files changed, 27 insertions, 46 deletions
diff --git a/src/app.js b/src/app.js
index 8f9d78b..07dcc0b 100644
--- a/src/app.js
+++ b/src/app.js
@@ -1456,7 +1456,7 @@ function avatarMenu() {
me ? item(t('profEdit'), () => featureHook('showProfile', me)) : null,
item(t('tabSettings'), () => { ui.chatOpen = false; ui.profilePk = null; ui.screen = 'wallet'; ui.tab = 'settings'; ui.settingsPage = null; }),
me ? item(t('msgDmsTitle'), () => { ui.profilePk = null; ui.chatOpen = true; }) : null,
- item(t('logout'), () => lock())); applyAnim(m, 'anim-menu', dt); return m; })())
+ item(t('lockWallet'), () => lock())); applyAnim(m, 'anim-menu', dt); return m; })())
: null; })());
}
diff --git a/src/i18n.js b/src/i18n.js
index b5a64af..a1d5390 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -35,7 +35,7 @@ const STR = {
en: {
appTitle: 'coinos',
home: 'Home',
- logout: 'Logout',
+ lockWallet: 'Lock wallet',
accounts: 'Wallets',
addWallet: 'Add wallet',
clearAll: 'Clear all',
diff --git a/src/locales/ar.json b/src/locales/ar.json
index 0c65b22..ad28482 100644
--- a/src/locales/ar.json
+++ b/src/locales/ar.json
@@ -18,7 +18,6 @@
"explorerUrl": "عنوان الخادم",
"explorerUrlHint": "قاعدة REST لـ Esplora / electrs، مثلاً https://mempool.space/api",
"home": "الرئيسية",
- "logout": "تسجيل الخروج",
"createNew": "إنشاء جديدة",
"importExisting": "استيراد موجودة",
"genIntro": "أنشئ عبارة استرداد جديدة من 12 كلمة. اكتبها. فهي الطريقة الوحيدة لاستعادة هذه المحفظة.",
@@ -201,4 +200,4 @@
"rename": "إعادة تسمية",
"darkMode": "الوضع الداكن",
"lightMode": "الوضع الفاتح"
-} \ No newline at end of file
+}
diff --git a/src/locales/bn.json b/src/locales/bn.json
index f645225..b38a6f6 100644
--- a/src/locales/bn.json
+++ b/src/locales/bn.json
@@ -18,7 +18,6 @@
"explorerUrl": "সার্ভার URL",
"explorerUrlHint": "Esplora / electrs REST বেস, যেমন https://mempool.space/api",
"home": "হোম",
- "logout": "লগ আউট",
"createNew": "নতুন তৈরি",
"importExisting": "বিদ্যমান ইম্পোর্ট",
"genIntro": "নতুন ১২-শব্দের সিড ফ্রেজ তৈরি করুন। লিখে রাখুন। এটিই এই ওয়ালেট পুনরুদ্ধারের একমাত্র উপায়।",
@@ -199,4 +198,4 @@
"rename": "নাম পরিবর্তন",
"darkMode": "ডার্ক মোড",
"lightMode": "লাইট মোড"
-} \ No newline at end of file
+}
diff --git a/src/locales/de.json b/src/locales/de.json
index c653d5e..c069144 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -18,7 +18,6 @@
"explorerUrl": "Server-URL",
"explorerUrlHint": "Esplora-/electrs-REST-Basis, z. B. https://mempool.space/api",
"home": "Start",
- "logout": "Abmelden",
"createNew": "Neu erstellen",
"importExisting": "Importieren",
"genIntro": "Erzeuge eine neue Seed-Phrase aus 12 Wörtern. Schreibe sie auf. Sie ist die einzige Möglichkeit, dieses Wallet wiederherzustellen.",
@@ -201,4 +200,4 @@
"rename": "Umbenennen",
"darkMode": "Dunkelmodus",
"lightMode": "Hellmodus"
-} \ No newline at end of file
+}
diff --git a/src/locales/es.json b/src/locales/es.json
index f0f28af..cea2b61 100644
--- a/src/locales/es.json
+++ b/src/locales/es.json
@@ -33,7 +33,6 @@
"explorerUrl": "URL del servidor",
"explorerUrlHint": "Base REST de Esplora / electrs, p. ej. https://mempool.space/api",
"home": "Inicio",
- "logout": "Cerrar sesión",
"createNew": "Crear nuevo",
"importExisting": "Importar existente",
"genIntro": "Genera una nueva frase semilla de 12 palabras. Anótala. Es la única forma de recuperar este monedero.",
@@ -201,4 +200,4 @@
"rename": "Renombrar",
"darkMode": "Modo oscuro",
"lightMode": "Modo claro"
-} \ No newline at end of file
+}
diff --git a/src/locales/fr.json b/src/locales/fr.json
index 785e587..34b00a4 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -18,7 +18,6 @@
"explorerUrl": "URL du serveur",
"explorerUrlHint": "Base REST Esplora / electrs, par ex. https://mempool.space/api",
"home": "Accueil",
- "logout": "Déconnexion",
"createNew": "Créer",
"importExisting": "Importer",
"genIntro": "Générez une nouvelle phrase de 12 mots. Notez-la. C’est le seul moyen de récupérer ce portefeuille.",
@@ -201,4 +200,4 @@
"rename": "Renommer",
"darkMode": "Mode sombre",
"lightMode": "Mode clair"
-} \ No newline at end of file
+}
diff --git a/src/locales/hi.json b/src/locales/hi.json
index 541ee24..78f9870 100644
--- a/src/locales/hi.json
+++ b/src/locales/hi.json
@@ -18,7 +18,6 @@
"explorerUrl": "सर्वर URL",
"explorerUrlHint": "Esplora / electrs REST आधार, उदा. https://mempool.space/api",
"home": "होम",
- "logout": "लॉग आउट",
"createNew": "नया बनाएँ",
"importExisting": "मौजूदा आयात करें",
"genIntro": "नया 12-शब्द वाला सीड वाक्यांश बनाएँ। इसे लिख लें। यही इस वॉलेट को पुनः प्राप्त करने का एकमात्र तरीका है।",
@@ -201,4 +200,4 @@
"rename": "नाम बदलें",
"darkMode": "डार्क मोड",
"lightMode": "लाइट मोड"
-} \ No newline at end of file
+}
diff --git a/src/locales/id.json b/src/locales/id.json
index 9bfa7a5..7649ef4 100644
--- a/src/locales/id.json
+++ b/src/locales/id.json
@@ -18,7 +18,6 @@
"explorerUrl": "URL server",
"explorerUrlHint": "Basis REST Esplora / electrs, mis. https://mempool.space/api",
"home": "Beranda",
- "logout": "Keluar",
"createNew": "Buat baru",
"importExisting": "Impor yang ada",
"genIntro": "Buat frasa benih baru 12 kata. Catatlah. Ini satu-satunya cara memulihkan dompet ini.",
@@ -201,4 +200,4 @@
"rename": "Ganti nama",
"darkMode": "Mode gelap",
"lightMode": "Mode terang"
-} \ No newline at end of file
+}
diff --git a/src/locales/ja.json b/src/locales/ja.json
index fbcf33f..daecf17 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -18,7 +18,6 @@
"explorerUrl": "サーバーURL",
"explorerUrlHint": "Esplora / electrs REST のベース。例: https://mempool.space/api",
"home": "ホーム",
- "logout": "ログアウト",
"createNew": "新規作成",
"importExisting": "インポート",
"genIntro": "新しい12単語のシードフレーズを生成します。書き留めてください。これがこのウォレットを復元する唯一の方法です。",
@@ -201,4 +200,4 @@
"rename": "名前を変更",
"darkMode": "ダークモード",
"lightMode": "ライトモード"
-} \ No newline at end of file
+}
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 8fd3463..0e9dcd4 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -18,7 +18,6 @@
"explorerUrl": "서버 URL",
"explorerUrlHint": "Esplora / electrs REST 기본 주소, 예: https://mempool.space/api",
"home": "홈",
- "logout": "로그아웃",
"createNew": "새로 만들기",
"importExisting": "가져오기",
"genIntro": "새 12단어 시드 문구를 생성합니다. 적어 두세요. 이 지갑을 복구하는 유일한 방법입니다.",
@@ -201,4 +200,4 @@
"rename": "이름 변경",
"darkMode": "다크 모드",
"lightMode": "라이트 모드"
-} \ No newline at end of file
+}
diff --git a/src/locales/mr.json b/src/locales/mr.json
index e5ae9c7..d34af35 100644
--- a/src/locales/mr.json
+++ b/src/locales/mr.json
@@ -18,7 +18,6 @@
"explorerUrl": "सर्व्हर URL",
"explorerUrlHint": "Esplora / electrs REST बेस, उदा. https://mempool.space/api",
"home": "मुख्यपृष्ठ",
- "logout": "बाहेर पडा",
"createNew": "नवीन तयार करा",
"importExisting": "अस्तित्वातील आयात करा",
"genIntro": "नवीन १२-शब्दांचा सीड वाक्यांश तयार करा. तो लिहून ठेवा. हे वॉलेट परत मिळवण्याचा हाच एकमेव मार्ग आहे.",
@@ -201,4 +200,4 @@
"rename": "नाव बदला",
"darkMode": "डार्क मोड",
"lightMode": "लाइट मोड"
-} \ No newline at end of file
+}
diff --git a/src/locales/pt.json b/src/locales/pt.json
index fa20a1d..010eac9 100644
--- a/src/locales/pt.json
+++ b/src/locales/pt.json
@@ -18,7 +18,6 @@
"explorerUrl": "URL do servidor",
"explorerUrlHint": "Base REST do Esplora / electrs, por exemplo https://mempool.space/api",
"home": "Início",
- "logout": "Sair",
"createNew": "Criar nova",
"importExisting": "Importar existente",
"genIntro": "Gere uma nova frase semente de 12 palavras. Anote-a. É a única forma de recuperar esta carteira.",
@@ -201,4 +200,4 @@
"rename": "Renomear",
"darkMode": "Modo escuro",
"lightMode": "Modo claro"
-} \ No newline at end of file
+}
diff --git a/src/locales/ru.json b/src/locales/ru.json
index e2f74dc..4e7850e 100644
--- a/src/locales/ru.json
+++ b/src/locales/ru.json
@@ -18,7 +18,6 @@
"explorerUrl": "URL сервера",
"explorerUrlHint": "Базовый REST-адрес Esplora / electrs, например https://mempool.space/api",
"home": "Главная",
- "logout": "Выйти",
"createNew": "Создать",
"importExisting": "Импортировать",
"genIntro": "Сгенерируйте новую сид-фразу из 12 слов. Запишите её. Это единственный способ восстановить кошелёк.",
@@ -201,4 +200,4 @@
"rename": "Переименовать",
"darkMode": "Тёмная тема",
"lightMode": "Светлая тема"
-} \ No newline at end of file
+}
diff --git a/src/locales/sw.json b/src/locales/sw.json
index afc9ee8..c95a62d 100644
--- a/src/locales/sw.json
+++ b/src/locales/sw.json
@@ -18,7 +18,6 @@
"explorerUrl": "URL ya seva",
"explorerUrlHint": "Msingi wa REST wa Esplora / electrs, k.m. https://mempool.space/api",
"home": "Mwanzo",
- "logout": "Toka",
"createNew": "Tengeneza mpya",
"importExisting": "Leta iliyopo",
"genIntro": "Tengeneza kifungu kipya cha mbegu chenye maneno 12. Kiandike. Ndiyo njia pekee ya kurejesha pochi hii.",
@@ -201,4 +200,4 @@
"rename": "Badilisha jina",
"darkMode": "Hali ya giza",
"lightMode": "Hali ya mwanga"
-} \ No newline at end of file
+}
diff --git a/src/locales/ta.json b/src/locales/ta.json
index f66ae27..8c9668e 100644
--- a/src/locales/ta.json
+++ b/src/locales/ta.json
@@ -18,7 +18,6 @@
"explorerUrl": "சேவையக URL",
"explorerUrlHint": "Esplora / electrs REST அடிப்படை, எ.கா. https://mempool.space/api",
"home": "முகப்பு",
- "logout": "வெளியேறு",
"createNew": "புதிது உருவாக்கு",
"importExisting": "உள்ளதை இறக்கு",
"genIntro": "புதிய 12-சொல் சீட் சொற்றொடரை உருவாக்கவும். எழுதி வைக்கவும். இந்த வாலட்டை மீட்க இதுவே ஒரே வழி.",
@@ -201,4 +200,4 @@
"rename": "பெயர் மாற்று",
"darkMode": "இருண்ட பயன்முறை",
"lightMode": "ஒளி பயன்முறை"
-} \ No newline at end of file
+}
diff --git a/src/locales/te.json b/src/locales/te.json
index c3dfd6f..52c28fd 100644
--- a/src/locales/te.json
+++ b/src/locales/te.json
@@ -18,7 +18,6 @@
"explorerUrl": "సర్వర్ URL",
"explorerUrlHint": "Esplora / electrs REST బేస్, ఉదా. https://mempool.space/api",
"home": "హోమ్",
- "logout": "లాగౌట్",
"createNew": "కొత్తది సృష్టించు",
"importExisting": "ఉన్నదాన్ని దిగుమతి",
"genIntro": "కొత్త 12-పదాల సీడ్ ఫ్రేజ్ సృష్టించండి. దాన్ని రాసుకోండి. ఈ వాలెట్‌ను తిరిగి పొందడానికి ఇదే ఏకైక మార్గం.",
@@ -199,4 +198,4 @@
"rename": "పేరు మార్చు",
"darkMode": "డార్క్ మోడ్",
"lightMode": "లైట్ మోడ్"
-} \ No newline at end of file
+}
diff --git a/src/locales/tr.json b/src/locales/tr.json
index fc89316..b58a98c 100644
--- a/src/locales/tr.json
+++ b/src/locales/tr.json
@@ -18,7 +18,6 @@
"explorerUrl": "Sunucu URL'si",
"explorerUrlHint": "Esplora / electrs REST tabanı, örn. https://mempool.space/api",
"home": "Ana sayfa",
- "logout": "Çıkış",
"createNew": "Yeni oluştur",
"importExisting": "Mevcudu içe aktar",
"genIntro": "Yeni 12 kelimelik tohum ifadesi oluşturun. Yazın. Bu cüzdanı kurtarmanın tek yolu budur.",
@@ -201,4 +200,4 @@
"rename": "Yeniden adlandır",
"darkMode": "Karanlık mod",
"lightMode": "Aydınlık mod"
-} \ No newline at end of file
+}
diff --git a/src/locales/ur.json b/src/locales/ur.json
index 1723c94..7e510cb 100644
--- a/src/locales/ur.json
+++ b/src/locales/ur.json
@@ -18,7 +18,6 @@
"explorerUrl": "سرور URL",
"explorerUrlHint": "Esplora / electrs REST بنیاد، مثلاً https://mempool.space/api",
"home": "ہوم",
- "logout": "لاگ آؤٹ",
"createNew": "نیا بنائیں",
"importExisting": "موجودہ درآمد کریں",
"genIntro": "نیا 12 الفاظ کا سیڈ فقرہ بنائیں۔ اسے لکھ لیں۔ یہی اس والیٹ کو بحال کرنے کا واحد طریقہ ہے۔",
@@ -201,4 +200,4 @@
"rename": "نام تبدیل کریں",
"darkMode": "ڈارک موڈ",
"lightMode": "لائٹ موڈ"
-} \ No newline at end of file
+}
diff --git a/src/locales/vi.json b/src/locales/vi.json
index a61a500..4ec2559 100644
--- a/src/locales/vi.json
+++ b/src/locales/vi.json
@@ -18,7 +18,6 @@
"explorerUrl": "URL máy chủ",
"explorerUrlHint": "Cơ sở REST của Esplora / electrs, ví dụ https://mempool.space/api",
"home": "Trang chủ",
- "logout": "Đăng xuất",
"createNew": "Tạo mới",
"importExisting": "Nhập ví có sẵn",
"genIntro": "Tạo cụm từ hạt giống 12 từ mới. Hãy ghi lại. Đây là cách duy nhất để khôi phục ví này.",
@@ -201,4 +200,4 @@
"rename": "Đổi tên",
"darkMode": "Chế độ tối",
"lightMode": "Chế độ sáng"
-} \ No newline at end of file
+}
diff --git a/src/locales/zh.json b/src/locales/zh.json
index 545d8bf..9527aa0 100644
--- a/src/locales/zh.json
+++ b/src/locales/zh.json
@@ -18,7 +18,6 @@
"explorerUrl": "服务器 URL",
"explorerUrlHint": "Esplora / electrs REST 基础地址,例如 https://mempool.space/api",
"home": "首页",
- "logout": "退出",
"createNew": "新建",
"importExisting": "导入已有",
"genIntro": "生成一组新的 12 词助记词。请抄写下来。这是恢复钱包的唯一方式。",
@@ -201,4 +200,4 @@
"rename": "重命名",
"darkMode": "深色模式",
"lightMode": "浅色模式"
-} \ No newline at end of file
+}
diff --git a/tools/logout-test.js b/tools/lock-wallet-test.js
index da2bb99..4bc56b1 100644
--- a/tools/logout-test.js
+++ b/tools/lock-wallet-test.js
@@ -1,9 +1,9 @@
-// Logging out should ask for a password only when there is one.
+// "Lock wallet" locks; only "Clear all" deletes.
//
// Wallets save themselves to this device under an empty password unless the
// user sets one, so the unlock screen was demanding a password nobody had
-// chosen — which made logout look like it had done something drastic. It
-// hasn't: logout keeps every saved wallet, and only "Clear all" deletes them.
+// chosen — which made the action look like it had done something drastic. It
+// hasn't: locking keeps every saved wallet.
//
// Run: bun tools/logout-test.js
import puppeteer from 'puppeteer-core';
@@ -25,7 +25,7 @@ const waitText = async (x, ms = 20000) => { for (let i = 0; i < ms / 250; i++) {
const logout = async () => {
await page.evaluate(() => document.querySelector('.header-avatar')?.click());
await sleep(400);
- await click('.icon-select-item', 'Logout');
+ await click('.icon-select-item', 'Lock wallet');
await sleep(1500);
};
const vaultSize = () => page.evaluate(() => (localStorage.getItem('btc-wallet-vault') || '').length);
@@ -47,7 +47,7 @@ try {
const savedBytes = await vaultSize();
check('it saved itself to the device', savedBytes > 0, `${savedBytes} bytes of vault`);
- console.log('\n[logging out with no password set]');
+ console.log('\n[locking with no password set]');
await logout();
let txt = await body();
check('no password is demanded', !/enter your password|unlock saved wallets/i.test(txt), txt.slice(0, 120).replace(/\n+/g, ' | '));
@@ -103,5 +103,5 @@ try {
await browser.close();
server.stop(true);
}
-console.log(ok ? '\n✅ logout keeps your wallets' : '\n❌ failures above');
+console.log(ok ? '\n✅ locking keeps your wallets' : '\n❌ failures above');
process.exit(ok ? 0 : 1);