Commit graph

100 commits

Author SHA1 Message Date
phg
167a6596b2 Enhance filter modal: prevent stacking and improve tab navigation 2026-09-04 15:52:12 +02:00
phg
9f8e9c3415 Fix preset selection and update Textual dependencies
- Avoid selecting a preset by default when opening the filter modal
- Handle preset loading and deletion using string selections
- Update Textual and Rich lockfile versions
2026-09-04 15:00:41 +02:00
phg
6d4a4ccc19 Fix #6: Make advanced filtering reachable from the TUI 2026-09-04 14:51:59 +02:00
phg
780d9c12fe Adopt mise for development workflows
- Lock Python and uv versions with mise
- Add unified sync, app, test, lint, format, and typecheck tasks
- Update development documentation and strengthen type handling
2026-09-04 14:39:02 +02:00
phg
d04ab6feaf Fix #12: roll back mutations when saving fails 2026-09-04 09:36:30 +02:00
phg
2c5a8d969c Handle negative cursor rows with hidden entries
- Guard against negative display indexes when no entries are visible
- Add regression coverage for Textual's -1 cursor row
2026-09-04 09:04:29 +02:00
phg
1a686bd0ff Make sorting view-only (#11) 2026-09-04 07:34:09 +02:00
phg
89b37239b2 Fix #7: persist undo and redo results immediately 2026-09-03 19:39:12 +02:00
phg
68a9696e7d Stop invalidating sudo timestamp on mode exit 2026-09-03 19:29:52 +02:00
phg
026bbc4eff Delegate privileged authentication to sudo PAM 2026-09-03 18:38:53 +02:00
phg
7872991e0b Refactor test cases for improved readability and consistency
- Updated test_dns.py to enhance mock function definitions and improve spacing for better readability.
- Modified test_filters.py to streamline assertions and ensure consistent formatting across test cases.
- Cleaned up test_import_export.py by organizing imports and ensuring consistent formatting in CSV and JSON tests.
- Improved test_main.py by refining mock setups and ensuring consistent error handling in assertions.
2026-09-03 12:47:11 +02:00
phg
0710d10fac Update README.md 2025-08-19 06:33:58 +00:00
phg
4761f48885 Refactor DNS resolution tests to use direct async functions for mocking and improve clarity 2025-08-18 18:44:29 +02:00
phg
8d99cfe53c Refactor DNS resolution tests to use AsyncMock and improve timeout handling 2025-08-18 18:32:33 +02:00
phg
d7ca9cc87f Update project documentation to reflect completion of advanced features and production readiness 2025-08-18 16:20:15 +02:00
phg
1192a0e8bb Remove unimplemented features from progress documentation 2025-08-18 16:04:39 +02:00
phg
32ead3f93a Update descriptions for DNS refresh and update key bindings 2025-08-18 16:04:35 +02:00
phg
b4a4cbec0d Add user interface screenshot to documentation 2025-08-18 16:04:32 +02:00
phg
6bfd9c77e4 Synchronize current filter options with search term updates in the HostsManagerApp 2025-08-18 15:24:59 +02:00
phg
dcf28211d8 Refactor imports across multiple files: remove unused imports to clean up code and improve readability. 2025-08-18 14:48:11 +02:00
phg
0ac1d588d2 Refactor footer status update: simplify status message by removing undo/redo information in edit mode. 2025-08-18 14:44:44 +02:00
phg
bcaf412c47 Fix cursor position reset during DNS updates: preserve cursor position after bulk and single DNS updates to enhance user experience. 2025-08-18 14:39:57 +02:00
phg
9b2288dfa6 Restrict DNS resolution actions to edit mode: prevent DNS resolution in read-only mode and provide user feedback. 2025-08-18 14:20:20 +02:00
phg
7f09c56aa2 Implement single DNS entry update feature: add functionality to manually refresh DNS for the selected entry, including key binding and validation checks. 2025-08-18 14:13:03 +02:00
phg
26b4080631 Fix DNS resolution bug: update both resolved_ip and ip_address fields in action_refresh_dns method 2025-08-18 13:59:48 +02:00
phg
83155a62f8 Remove background DNS resolution service: eliminate automatic resolution components and simplify manual resolution functionality. 2025-08-18 13:43:40 +02:00
phg
90935e67a6 Implement radio set for entry type selection in edit mode: add IP and DNS options, manage field visibility, and enhance form population logic. 2025-08-18 13:43:16 +02:00
phg
489fdf4b20 Enhance DNS information display: separate DNS name, status, and last resolved fields into distinct inputs, and update handling logic for improved clarity and functionality. 2025-08-18 11:22:07 +02:00
phg
f8b235ab24 Refactor DNS resolution: remove background service components, simplify manual resolution, and update configuration and tests accordingly. 2025-08-18 11:06:02 +02:00
phg
b2d48be045 Enhance DNS resolution process: update status messages for clarity, handle DNS name extraction, and improve error reporting during save operations. 2025-08-18 10:45:34 +02:00
phg
1c8396f020 Add comprehensive tests for filtering and import/export functionality
- Created `test_filters.py` to test the EntryFilter and FilterOptions classes, covering default values, custom values, filtering by status, DNS type, resolution status, and search functionality.
- Implemented tests for combined filters and edge cases in filtering.
- Added `test_import_export.py` to test the ImportExportService class, including exporting to hosts, JSON, and CSV formats, as well as importing from these formats.
- Included tests for handling invalid formats, missing required columns, and warnings during import.
- Updated `uv.lock` to include `pytest-asyncio` as a dependency for asynchronous testing.
2025-08-18 10:32:52 +02:00
phg
e6f3e9f3d4 Refactor tests for HostsManagerApp: update status verification to use footer instead of subtitle for improved accuracy and clarity. 2025-08-17 21:37:06 +02:00
phg
bc0f8b99e8 Implement command pattern for undo/redo functionality in HostsManager
- Added command classes: ToggleEntryCommand, MoveEntryCommand, AddEntryCommand, DeleteEntryCommand, UpdateEntryCommand.
- Integrated UndoRedoHistory to manage command execution and history.
- Updated HostsManager to use command-based methods for editing entries with undo/redo support.
- Enhanced HostsManagerApp to display undo/redo status and handle undo/redo actions via keyboard shortcuts.
- Refactored navigation handler to utilize command-based methods for toggling and moving entries.
- Created comprehensive tests for command classes and integration with HostsManager.
2025-08-17 21:30:01 +02:00
phg
77d4a2e955 Enhance entry addition process: implement immediate file save after adding an entry and handle save failure by removing the entry for improved reliability. 2025-08-17 19:26:30 +02:00
phg
6171e0ca0b Refactor entry details and edit forms: enhance layout with section titles and consistent styling for improved clarity and usability. 2025-08-17 19:13:31 +02:00
phg
de5acd4dad Refactor entry details display: replace DataTable with disabled input widgets for improved clarity and user experience. 2025-08-17 18:45:54 +02:00
phg
9a9161f28c Refactor keybinding for adding entries: change key from 'a' to 'n' for improved consistency with application shortcuts. 2025-08-17 18:40:18 +02:00
phg
adc40fc16a Update project documentation: reflect completion of Phase 4 advanced edit features and adjust test coverage status for improved clarity. 2025-08-16 23:04:39 +02:00
phg
89df22f4e3 Enhance entry deletion process: ensure immediate file save after deletion and restore entry on save failure for improved reliability. 2025-08-16 22:44:47 +02:00
phg
6107b43ac5 Refactor keybindings and footer management: streamline keybinding processing and enhance footer item display with key-description pairs for improved clarity and usability. 2025-08-16 22:37:29 +02:00
phg
3f0892fb7b Refactor footer setup: enhance footer item management based on keybindings for improved usability and clarity. 2025-08-16 22:23:39 +02:00
phg
49dd015d53 Refactor keybindings: update visibility of key bindings for improved usability and consistency in the hosts manager application. 2025-08-16 21:56:46 +02:00
phg
c941a4ba24 Refactor HostsManagerApp and keybindings: update footer item arrangement for better usability and modify key bindings to hide unused keys for a cleaner interface. 2025-08-16 21:23:30 +02:00
phg
e8faa48e22 Refactor CustomFooter styles: enhance alignment and height properties for improved layout consistency across the TUI application. 2025-08-16 21:15:25 +02:00
phg
8d3d1e7c11 Refactor hosts TUI application: replace Footer with CustomFooter, implement footer setup and status updates, and enhance styling for improved user experience 2025-08-16 20:58:41 +02:00
phg
50628d78b7 Refactor hosts TUI application: remove HelpModal, update help action, and clean up related code 2025-08-16 17:57:35 +02:00
phg
502bbd87f3 Refactor hosts TUI application: remove main entry point, enhance modal styles, and unify button classes
- Deleted the main entry point file for the hosts application.
- Updated the Add Entry Modal to improve section titles and input styles.
- Refactored HostsManagerApp layout to use common pane styles for left and right sections.
- Enhanced Config, Delete Confirmation, and Help modals with consistent button labels and styles.
- Improved Password Modal layout and removed unnecessary parameters.
- Consolidated common CSS styles for buttons, inputs, and sections to ensure consistent styling across the application.
2025-08-16 16:52:53 +02:00
phg
54a2e00e29 Refactor modal CSS definitions to use centralized style constants for improved maintainability and consistency across the TUI application. 2025-08-14 20:59:15 +02:00
phg
c84c1aac2a Remove search functionality and related modal from the TUI application to streamline the user interface. 2025-08-14 20:41:12 +02:00
phg
8d884aeb65 Remove unnecessary spacer and adjust margins in the hosts manager UI for improved layout consistency. 2025-08-14 20:33:02 +02:00