6e285bd4a4
feat(chat): App vault lifecycle for sensitive conversations
DanSandClaude Opus 4.82026-10-23 17:47:57 -05:00
fe3d2aa935
feat(chat): service-level sensitive gating + local sensitive marks
DanSandClaude Opus 4.82026-10-23 17:42:31 -05:00
6b9bda3ee4
feat(chat): per-conversation local-key encryption in ChatDatabase
DanSandClaude Opus 4.82026-10-23 17:36:50 -05:00
84ca1a5cbe
feat(chat): passphrase-wrapped local key vault for sensitive conversations
DanSandClaude Opus 4.82026-10-23 17:31:30 -05:00
669b8b7ca5
feat(chat): add an independent "sensitive" axis to the control reducer
DanSandClaude Opus 4.82026-10-23 17:25:36 -05:00
796d639ba3
i18n(chat): translate the delete-everywhere / restore strings (8 languages)
DanSandClaude Opus 4.82026-10-23 17:02:04 -05:00
daae693d1b
feat(chat): Restore dialog for on-chain-deleted conversations
DanSandClaude Opus 4.82026-10-20 08:23:35 -05:00
2f1b666c20
feat(chat): "Delete everywhere" action in the delete dialog (on-chain signal)
DanSandClaude Opus 4.82026-10-20 08:19:34 -05:00
5aa5fa7594
feat(chat): broadcast self-addressed Control memos (App::sendChatControl)
DanSandClaude Opus 4.82026-10-20 00:26:59 -05:00
f56c94bc91
feat(chat): reduce on-chain Control memos into per-conversation hide state
DanSandClaude Opus 4.82026-10-20 00:21:58 -05:00
7320a98505
feat(chat): compose self-addressed Control memos (buildOutgoingControl)
DanSandClaude Opus 4.82026-10-20 00:16:23 -05:00
529286777f
feat(chat): add a Control memo header type for on-chain conversation signals
DanSandClaude Opus 4.82026-10-20 00:12:23 -05:00
a3b4f534d5
feat(recovery): import keys from a legacy wallet backup file (z_importwallet)
DanSandClaude Opus 4.82026-10-19 22:43:49 -05:00
293b633a24
feat(recovery): inline unlock in the migrate-to-seed sweep step
DanSandClaude Opus 4.82026-10-19 22:28:35 -05:00
ae4012adb7
feat(recovery): offer legacy-fund recovery when a degraded wallet can't shield its transparent funds
DanSandClaude Opus 4.82026-10-19 22:05:11 -05:00
6c2a277751
fix(wallet): surface the real z_getnewaddress error; sweep coinbase in migrate-to-seed
DanSandClaude Opus 4.82026-10-19 19:47:38 -05:00
a558a2a271
fix(explorer): commit the loadRangeCached/revision memoization the perf fix depends on
DanSandClaude Opus 4.82026-10-19 19:15:19 -05:00
3ee90993ed
fix(resilience,perf): gate send on a known tip, surface dropped/stale txs, advance cached confs, memoize explorer
DanSandClaude Opus 4.82026-10-19 19:12:32 -05:00
b404bb2aff
test(lite): set spendableShieldedBalance in the refresh fixture (realistic synced wallet)
DanSandClaude Opus 4.82026-10-19 19:02:21 -05:00
3a33e9cae9
fix(lite): unconfirmedBalance uses full-node pending semantics; drop pending-spent t-UTXOs from spendable
DanSandClaude Opus 4.82026-10-19 18:58:32 -05:00
d7fee801d3
fix(rpc): abort any in-flight call before a UI-thread disconnect, not just maintenance calls
DanSandClaude Opus 4.82026-10-19 18:48:22 -05:00
4f4c6b7a16
fix(rpc): drop a stale connect result after teardown; don't let open() erase a pending abort
DanSandClaude Opus 4.82026-10-19 18:41:21 -05:00
5563becad2
fix(i18n): thread-safe translation for the daemon monitor thread (don't race loadLanguage)
DanSandClaude Opus 4.82026-10-19 18:38:46 -05:00
6301cd5984
fix(security): synchronize SecureVault::scope_ between the main thread and worker security ops
DanSandClaude Opus 4.82026-10-19 18:34:59 -05:00
9b6971095c
fix(daemon): synchronize EmbeddedDaemon fields written across the monitor/start/stop threads
DanSandClaude Opus 4.82026-10-19 18:31:57 -05:00
8a6d523062
fix(lite-backend): release the pending lock when a send expires; un-spend reorged-out UTXOs
DanSandClaude Opus 4.82026-10-19 18:13:33 -05:00
16a1ca02e8
fix(lite): lock/unlock parity — shared attempt-lockout, immediate unlock state, no dead PIN, surfaced encrypt failure
DanSandClaude Opus 4.82026-10-19 15:33:28 -05:00
0cb1df3bfe
fix(migrate): require a reorg-safe sweep depth + re-verify before adopt; make the wallet.dat swap crash-safe
DanSandClaude Opus 4.82026-10-19 15:22:17 -05:00
6f369376ec
fix(lite): surface sync failures instead of a frozen "Syncing 99.9%"; don't report a lost server as "Synced"
DanSandClaude Opus 4.82026-10-19 15:16:36 -05:00
02fa1a228a
fix(lite): per-address spendable honours the backend spendable flag; flag imported view-only addresses
DanSandClaude Opus 4.82026-10-19 15:11:47 -05:00
099d5df3e1
fix(lite): refuse backend calls after a retired bridge is shut down; make the shutdown flag atomic
DanSandClaude Opus 4.82026-10-19 15:07:18 -05:00
df98f98669
perf(history): don't rebuild the O(N) tx display cache on every block for a confirmation-only change
DanSandClaude Opus 4.82026-10-19 14:44:13 -05:00
6d58802127
fix(lock): clear in-flight unlock/PIN/encrypt flags on disconnect so the lock screen can't wedge
DanSandClaude Opus 4.82026-10-19 14:39:08 -05:00
165675b131
fix(lite): render a lite send as a negative debit, not a green "+"; recover unauthored-send amounts
DanSandClaude Opus 4.82026-10-19 14:37:23 -05:00
08a4427e31
fix(send): treat a lost send reply as "outcome unknown", not a plain failure, to prevent a double-send
DanSandClaude Opus 4.82026-10-19 14:30:16 -05:00
f4460beddd
fix(sweep,lite): don't misread a funded key as empty; guard lite send amount; use spendable balance
DanSandClaude Opus 4.82026-10-19 13:10:55 -05:00
70d5c233c0
fix(send): stop a fee-tier change from re-sending Max; compare affordability in satoshis
DanSandClaude Opus 4.82026-10-19 13:10:55 -05:00
c0d10e9664
security(hygiene): best-effort scrubbing of residual in-memory secret copies (Tier 4)
DanSandClaude Opus 4.82026-10-19 12:05:04 -05:00
d16bbf3695
security: payment-URI amount validation, export filename sanitize, chat crash-guard, HTTPS-only, conf 0600, pool auto-lock
DanSandClaude Opus 4.82026-10-19 11:39:38 -05:00
83ce73f26b
security(console): mask key-dump command RESULTS in the scrollback
DanSandClaude Opus 4.82026-10-19 11:39:38 -05:00
31e9c2ee2c
security(exposure): owner-only ACLs on Windows, auto-clearing export copy, require SHA-256 for bootstrap
DanSandClaude Opus 4.82026-10-19 10:34:47 -05:00
6b0f2eda22
security: scrub on-screen secrets on lock; redact lite console secret args; no-shell wallet rebuild
DanSandClaude Opus 4.82026-10-19 09:28:25 -05:00
dc1617a2c1
security(lite): harden the C-ABI string boundary + backend result parsing
DanSandClaude Opus 4.82026-10-19 09:28:25 -05:00
f213878a7c
refactor(ui): semantic status text uses material tokens instead of hardcoded colors
DanSandClaude Opus 4.82026-10-19 08:51:10 -05:00
8d8e523a26
i18n(migrate,sweep): translate status/error strings + add a hygiene regression guard
DanSandClaude Opus 4.82026-10-19 08:44:55 -05:00
8b07f776e5
feat(ux): copy-to-clipboard confirmations + scale wizard buttons for HiDPI
DanSandClaude Opus 4.82026-10-19 08:44:55 -05:00
8b46ead72a
feat(export): CSV export scope — All / current filter / date range
DanSandClaude Opus 4.82026-10-19 00:19:24 -05:00