From 0ab50b87ad837bba19cebe5ef2d0ccdf1156847c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 26 Jun 2026 11:45:02 -0700 Subject: Add auto log-out (background timer) + make vault passwords optional MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auto log-out: a Settings option (Never default, 1m/5m/1h/1d) that, after the app has been backgrounded/unfocused that long, signs out completely โ€” clears the session, the watch-only directory, and cached balance/history from the device (only password-saved vault wallets remain). The countdown only runs while the app is hidden/unfocused, never while it's open and focused; a background timestamp covers throttled/discarded-tab cases on resume/boot. Optional vault passwords: drop the 8-character minimum and allow a blank password. A blank-password vault auto-unlocks on open with no prompt (Save to device with no password = just persist). Verified blank round-trip + wrong- password rejection. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/i18n.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/i18n.js') diff --git a/src/i18n.js b/src/i18n.js index d36f301..71e6423 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -66,8 +66,9 @@ const STR = { saveDevice: 'Save on this device', forgetDevice: 'Saved ยท forget', savedTag: 'saved', - setPassword: 'Set a password', - setPasswordDesc: 'Encrypts this wallet on this device. You will need it to unlock saved wallets later.', + setPassword: 'Set a password (optional)', + setPasswordDesc: 'Encrypts this wallet on this device โ€” leave it blank to save without a password. You will need it to unlock saved wallets later.', + passwordOptional: 'Password (optional)', enterPassword: 'Enter your password', enterPasswordDesc: 'Unlock your saved wallets to continue.', password: 'Password', @@ -272,6 +273,13 @@ const STR = { explorerDesc: 'The server this wallet queries for balances and history. Point it at your own node for maximum privacy.', explorerUrl: 'Server URL', explorerUrlHint: 'Esplora / electrs REST base, e.g. https://mempool.space/api', + autolockTitle: 'Log out automatically', + autolockDesc: "After the app has been in the background this long, sign out completely โ€” the wallet is removed from this device, so keep your recovery phrase. Saved-to-device wallets come back with their password. The timer never runs while the app is open and focused.", + autolockNever: 'Never', + autolock1m: 'After 1 minute', + autolock5m: 'After 5 minutes', + autolock1h: 'After 1 hour', + autolock1d: 'After 1 day', dataSource: 'Data source', dataSourceDesc: 'Where Hal reads the chain and how it learns about incoming payments.', modeCoinos: 'coinos (instant)', -- cgit v1.2.3