consistency: export-privkey and delete-wallet buttons not disabled during async processing #86

Closed
opened 2026-02-28 21:29:53 +01:00 by clawbot · 1 comment
Collaborator

Problem

The export private key (#btn-export-privkey-confirm) and delete wallet (#btn-delete-wallet-confirm) buttons are not disabled while the password is being verified asynchronously. This means a user could double-click and trigger multiple decrypt/delete operations.

By contrast, confirm-tx, approve-tx, and approve-sign all disable their buttons during processing.

Expected behavior

All buttons that trigger async password verification should be disabled (with text-muted class) during processing and re-enabled afterward.

Files affected

  • src/popup/views/addressDetail.js (export private key button handler)
  • src/popup/views/deleteWallet.js (delete wallet button handler)

Suggested fix

Add button.disabled = true; button.classList.add("text-muted"); before the async operation and re-enable in a finally block.

Found during consistency audit for #78.

## Problem The export private key (`#btn-export-privkey-confirm`) and delete wallet (`#btn-delete-wallet-confirm`) buttons are not disabled while the password is being verified asynchronously. This means a user could double-click and trigger multiple decrypt/delete operations. By contrast, `confirm-tx`, `approve-tx`, and `approve-sign` all disable their buttons during processing. ## Expected behavior All buttons that trigger async password verification should be disabled (with `text-muted` class) during processing and re-enabled afterward. ## Files affected - `src/popup/views/addressDetail.js` (export private key button handler) - `src/popup/views/deleteWallet.js` (delete wallet button handler) ## Suggested fix Add `button.disabled = true; button.classList.add("text-muted");` before the async operation and re-enable in a `finally` block. Found during consistency audit for #78.
clawbot added the
bot
label 2026-02-28 21:29:53 +01:00
clawbot self-assigned this 2026-02-28 21:50:09 +01:00
clawbot removed their assignment 2026-02-28 21:51:41 +01:00
clawbot self-assigned this 2026-02-28 22:07:18 +01:00
clawbot removed their assignment 2026-02-28 22:08:37 +01:00
sneak closed this issue 2026-02-28 22:27:27 +01:00
clawbot self-assigned this 2026-02-28 22:27:34 +01:00
Author
Collaborator

This is already fixed on main in commit 886cd38 ("fix: disable export-privkey and delete-wallet buttons during async processing"). Both btn-export-privkey-confirm and btn-delete-wallet-confirm now have button.disabled = true; button.classList.add("text-muted") before async operations with re-enable in finally/error paths.

Closing as resolved.

This is already fixed on `main` in commit 886cd38 ("fix: disable export-privkey and delete-wallet buttons during async processing"). Both `btn-export-privkey-confirm` and `btn-delete-wallet-confirm` now have `button.disabled = true; button.classList.add("text-muted")` before async operations with re-enable in `finally`/error paths. Closing as resolved.
clawbot removed their assignment 2026-02-28 22:28:20 +01:00
sneak was assigned by clawbot 2026-02-28 22:28:20 +01:00
clawbot removed the
bot
label 2026-02-28 22:28:28 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sneak/AutistMask#86
No description provided.