Implement OTP, clipboard and QR presentation #27

Closed
opened 2026-08-09 19:11:15 +00:00 by hugo · 1 comment
Owner

Objective

Implement pass-otp, clipboard and QR presentation in the structured TUI.

Scope

  • Show storage-generated TOTP codes and remaining validity beside the focused OTP field.
  • Generate HOTP only through an explicit action because it advances and commits the counter.
  • Provide URI insert/append/validate forms and a terminal QR popup using storage-provided QR data.
  • Copy focused fields, OTP codes and URIs through storage/platform clipboard actions with clear timeout feedback.
  • Expose each pass-otp operation through a hotkey-reachable UI element and an equivalent : command.

Acceptance criteria

  • TOTP repaint ticks do not count as activity or reveal the underlying URI.
  • HOTP confirmation, counter advancement, clipboard timeout, QR resizing and invalid URI states are tested.
  • Locking immediately removes OTP codes, QR content and copied-field feedback from the UI.
  • The TUI contains no OTP calculation, URI parsing, QR generation or clipboard implementation.

Prerequisites

Structured viewer/editor; keymap; command mode; pass-otp and clipboard/QR storage APIs.

## Objective Implement pass-otp, clipboard and QR presentation in the structured TUI. ## Scope - Show storage-generated TOTP codes and remaining validity beside the focused OTP field. - Generate HOTP only through an explicit action because it advances and commits the counter. - Provide URI insert/append/validate forms and a terminal QR popup using storage-provided QR data. - Copy focused fields, OTP codes and URIs through storage/platform clipboard actions with clear timeout feedback. - Expose each pass-otp operation through a hotkey-reachable UI element and an equivalent `:` command. ## Acceptance criteria - TOTP repaint ticks do not count as activity or reveal the underlying URI. - HOTP confirmation, counter advancement, clipboard timeout, QR resizing and invalid URI states are tested. - Locking immediately removes OTP codes, QR content and copied-field feedback from the UI. - The TUI contains no OTP calculation, URI parsing, QR generation or clipboard implementation. ## Prerequisites Structured viewer/editor; keymap; command mode; pass-otp and clipboard/QR storage APIs.
hugo added this to the 02 - Mutt-style terminal UI milestone 2026-08-09 19:11:15 +00:00
hugo added the enhancement label 2026-08-09 19:11:15 +00:00
Author
Owner

Implemented in commit 71bbff9. The TUI now exposes hotkey and colon-command OTP code, URI, insert, append, validate, clipboard, and terminal QR workflows. TOTP validity boundaries are storage-provided and repaint without extending authentication activity; HOTP requires confirmation and uses the storage-owned automatic Git counter commit. URI forms remain masked, QR presentation reports exact resize requirements, clipboard copies use the configured restore/cleanup timeout, and locking clears OTP codes, URI/QR state, queued clipboard feedback, and stale async results immediately. Review also tied async TOTP results to the exact focused field. Verified with cargo fmt --all -- --check; RUSTFLAGS=-D warnings cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace.

Implemented in commit 71bbff9. The TUI now exposes hotkey and colon-command OTP code, URI, insert, append, validate, clipboard, and terminal QR workflows. TOTP validity boundaries are storage-provided and repaint without extending authentication activity; HOTP requires confirmation and uses the storage-owned automatic Git counter commit. URI forms remain masked, QR presentation reports exact resize requirements, clipboard copies use the configured restore/cleanup timeout, and locking clears OTP codes, URI/QR state, queued clipboard feedback, and stale async results immediately. Review also tied async TOTP results to the exact focused field. Verified with cargo fmt --all -- --check; RUSTFLAGS=-D warnings cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace.
hugo closed this issue 2026-08-10 11:12:34 +00:00
Sign in to join this conversation.