- Implement secure data parity (Reveal/QR/Copy) for SSH, PGP, Nostr, Key-Value, and Documents.
- Update derive_pgp_key and API to support PGP Public Key retrieval and copying.
- Implement managed account loading/exiting (ml/mx) with reactive profile updates.
- Integrate semantic search (keyword/hybrid/semantic) into the entry grid.
- Create AddEntryScreen (unified wizard), SeedPlusScreen (BIP-85), and DocumentEditScreen.
- Add grid filter presets (secrets, docs, keys, 2fa) and archive view toggle.
- Update ActionBar and GridMetrics to be dynamic and context-aware.
- Add comprehensive v3 parity tests and update existing core tests for PGP tuple changes.
Implemented _resolve_sensitive_payload and _show_sensitive_view in v3 app.
Added double-press confirmation logic for high-risk entry kinds. Updated
BaseBoard and all specialized boards to reactively render revealed content
or QR codes. Enabled sensitive actions within the MaximizedInspectorScreen.
Unified board update logic via _update_board_sensitive.
Added specialized boards for SSH, PGP, Nostr, and Key-Value entries with
high-fidelity ASCII rendering. Created reactive ActionBar widget for bottom
shortcuts and context info. Wired global key bindings (v, g, a, c, z) to
the main app shell. All entry types now have dedicated inspector and
maximized views.
Updated EntryDataTable to support filtered refreshes. Enhanced
CommandProcessor with 'search <query>' and 'open <id>' handlers. Added
action_search to the main app to drive grid updates from the palette.
Included user notifications for search and jump actions.
Added top-docked CommandPalette widget with status labeling. Implemented
CommandProcessor to route palette strings to SeedPass services. Wired
Ctrl+P shortcut to toggle the palette. Integrated command execution
into the main app message loop. Supported v3 commands: help, stats, lock,
refresh, settings, maximize.
Added TotpBoard with live 30s ticking codes and progress bars. Added
SeedBoard for BIP-85 derivations. Upgraded ProfileTree to a true
hierarchical structure that recursively lists managed accounts and agents.
Implemented global UI heartbeat for real-time dashboard updates.
Scaffolded TUI v3 from scratch with modular directory structure. Created
RibbonHeader, ProfileTree, EntryDataTable, and BoardContainer widgets.
Implemented full-screen SettingsScreen and MaximizedInspectorScreen.
Updated CLI with unified '--tui [legacy|v2|v3]' option and 'tui3' command.
Reused existing service hooks for zero-logic migration.
Replaced the crowded side-board settings with a dedicated SettingsScreen
pushed via push_screen(). Added InspectorScreen for maximized entry
details (bound to 'z' key). Added required CSS for full-screen layout.
Updated palette and action strip to route to these new screens. Updated
interactive agent test to verify screen transitions.
Broadened PasswordManager.load_managed_account to accept both 'seed' and
'managed_account' entry kinds. Updated TUI palette to permit this logic.
Fixed a bug in _show_sensitive_panel where double-press confirmation was
not correctly state-tracked. Enhanced visual feedback for confirmed
actions with bold panel prompts and explicit status instructions. Updated
interactive agent test to verify sub-profile loading for both types.
Replaced the 'Settings' shortcut palette pre-fill with a real inspector
board. Added #settings-board widget and settings pane mode. Implemented
_refresh_settings_board to show live config values and palette hints for
Security, Backup, and Nostr settings. Updated interactive agent test to
verify settings board activation via action strip click.
Corrected _handle_action_strip_click coordinate mapping to account for
widget border and padding. Improved segment detection using regex to be
layout-agnostic. Refined _action_strip_segment_action prefix matching to
support shorthand labels. Updated interactive agent test to verify real
user interaction patterns (typing and clicking).
Added _profile_tree_expanded state to track node visibility. Implemented
action_profile_tree_toggle and profile-tree-toggle command. Bound 'space'
and 'right' keys to toggle tree nodes. Added [+] / [-] visual indicators
to profile nodes. Updated interactive agent test to verify hierarchy
logic across collapse/expand transitions.
Added docs/TEST_INVENTORY.md as a central index for all tests and runners.
Created scripts/interactive_agent_tui_test.py for password-free TUI v2
exploratory testing. Integrated standalone permission tests into main
suite and fixed TUI v2 parity regression tests broken by auto-selection
removal. Updated AGENTS.md and CLAUDE.md with strategic plan references.
Shorten TOTP Actions line from 99→78 chars and Seed/Managed from 91→75
chars to fit standard terminal widths. Add 12-test exploratory walkthrough
covering all 9 entry types, archive/restore lifecycle, managed sessions,
vault lock/unlock, density modes, filters, links, card frames, error
handling, search, and a full user journey.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Opening a non-existent entry now shows "Entry not found" instead of
rendering a broken empty board. Tree navigation commands now give
clear feedback when focus is on wrong pane or sidebar is collapsed.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Add max_width=72 to _board_card so Content cards don't stretch across
viewport. Capitalize Nostr QR Private hint. Compact mode global strip
now uses verb-first labels matching normal and dense modes.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Normal-mode global row now uses verb-first labels with key hints.
Seed and TOTP action hints shortened from raw palette commands to
user-facing verbs for consistent readability.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Remove plain-text section labels above card frames since card titles
are self-descriptive. Remove compact-mode noise line. Cap note preview
at 100 chars. Saves 2-4 lines per board for better viewport fit.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
TOTP, SSH, PGP, Nostr, and Seed/Managed Account boards now use
_board_card sections matching Password/Note treatment for consistent
visual language across all 9 board types.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
This resolves issues where `scripts/tui2_check_smoke.sh` and `scripts/run_ci_tests.sh` didn't appropriately resolve `py_bin` nor invoke `python` within `poetry run` or `.venv/bin/python` leading to `ModuleNotFoundError` for packages like `typer`. It also fixes a failing test test_legacy_index_reinit_syncs_once_when_confirmed that expects a single synchronization event instead of 0.
Co-authored-by: PR0M3TH3AN <[email protected]>
- fix unformatted test file src/tests/test_nostr_resilience_failure_modes.py
- fix missing PYTHONPATH and use poetry run in scripts/tui2_check_smoke.sh
- fix failing test test_legacy_index_reinit_syncs_once_when_confirmed by updating sync call assertion
- configure run_ci_tests.sh to use proper python binary
Co-authored-by: PR0M3TH3AN <[email protected]>