-
Notifications
You must be signed in to change notification settings - Fork 20
v5.0.6 Beta Release #196
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
v5.0.6 Beta Release #196
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Rename Console project to ACUConsole for clarity and consistency - Implement Model-View-Presenter (MVP) architectural pattern matching PDConsole - Separate business logic into ACUConsoleController class - Extract UI logic into ACUConsoleView class - Create IACUConsoleController interface for better testability - Add ACUEvent model class for structured event handling - Update all namespaces from Console to ACUConsole - Fix log4net configuration to reference correct assembly - Maintain all existing functionality while improving code organization 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Add GitVersion.yml configuration for semantic versioning - Create Directory.Build.props for centralized version management - Update Azure Pipelines to use GitVersion for version calculation - Add release.ps1 script for automated release workflow - Consolidate project properties and remove version duplication - Master branch maintains beta suffix temporarily - Develop branch generates beta versions with minor increments 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Move GitVersion.yml to ci/ directory for better organization - Remove duplicate GitVersion execution in package job - Pass version variables from build job to package job via pipeline variables - Update all pipeline file references to new GitVersion.yml location - Improves pipeline efficiency and ensures version consistency 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Implement full dialog functionality for all OSDP commands that were simplified to placeholders - Fix dialog flow: command dialog appears first, then device selection dialog - Add proper input validation and error handling for all dialog fields - Implement hex string validation for keys, vendor codes, and template data - Add file browser integration for file transfer dialog - Fix dialog layout issues (text overlap, button positioning, sizing) - Maintain MVP pattern compliance with clean View/Controller separation Commands restored: - Communication Configuration (address and baud rate) - Output Control (output number and activate/deactivate) - Reader LED Control (LED number and color selection) - Reader Buzzer Control (reader number and repeat times) - Reader Text Output (reader number and display text) - Manufacturer Specific (vendor code and data with hex validation) - Encryption Key Set (16-byte hex key with improved layout) - Biometric Read (reader, type, format, quality parameters) - Biometric Match (biometric parameters plus template data) - File Transfer (type, message size, file browser integration) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Restore missing save prompt functionality that was removed during MVP refactoring - Add three-option dialog: Cancel, Don't Save, Save - Use consistent button order with Cancel on the left (matches other dialogs) - Set Save as default button for user convenience - Provides user control over configuration saving on exit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Add CancellationToken support to DiscoverDevice method in controller interface and implementation - Restore cancellation logic matching pre-MVP refactoring behavior - Add proper cancellation token source management and cleanup - Update menu item dynamically during discovery operation - Handle OperationCanceledException gracefully without showing error dialogs - Implement proper resource disposal and menu restoration in finally block - Resolve TODO for discovery cancellation functionality The discovery process can now be cancelled by clicking "Cancel _Discover" menu item while discovery is running, matching the original implementation behavior. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Rename IACUConsoleController to IACUConsolePresenter - Rename ACUConsoleController to ACUConsolePresenter - Update all references in ACUConsoleView and Program - Maintain identical functionality while establishing correct MVP pattern 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Create IACUConsoleView interface defining View-Presenter contract - Add view control methods: ShowError, ShowInformation, ShowWarning, AskYesNo - Implement interface in ACUConsoleView with Terminal.Gui components - Add SetView() method to presenter for bidirectional communication - Wire up presenter and view in Program.cs - Extract SerialConnectionDialog into separate class with validation - Create SerialConnectionInput DTO for structured data transfer - Reduce StartSerialConnection from 50+ lines to 12 lines in View - Improve separation of concerns and reusability 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Create TcpServerConnectionDialog and TcpClientConnectionDialog classes - Create AddDeviceDialog and RemoveDeviceDialog classes - Add corresponding input DTOs for structured data transfer - Reduce connection methods from ~150 lines to 36 lines in View - Reduce device methods from ~125 lines to 34 lines in View - Improve error handling using ShowError() interface method - Maintain all validation logic while achieving better separation Benefits: - 73% reduction in View complexity for connection and device dialogs - Reusable dialog components for testing and future use - Consistent MVP pattern across all extracted dialogs 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Create ConnectionSettingsDialog for polling interval and tracing settings - Create OutputControlDialog with two-step parameter + device selection - Create ReaderLedControlDialog, ReaderBuzzerControlDialog, ReaderTextOutputDialog - Add DeviceSelectionDialog as reusable component for command dialogs - Add corresponding input DTOs for structured data transfer - Reduce connection settings method from 30 lines to 8 lines - Reduce reader command methods from ~148 lines to 48 lines total - Establish consistent two-step dialog pattern for all commands - Improve error handling using ShowError() interface method Benefits: - 68% reduction in View complexity for reader and settings dialogs - Reusable DeviceSelectionDialog component used across multiple commands - Consistent MVP pattern with clean separation of concerns 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Move all dialog input DTOs from Dialogs/ to Model/DialogInputs/ for better separation of concerns and proper MVP architecture. Update all namespaces and references accordingly. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Extract 5 additional dialog classes with their corresponding input DTOs: - ParseOSDPCapFileDialog: File selection and parsing options - DiscoverDeviceDialog: Device discovery with timeout settings - EncryptionKeySetDialog: Encryption key input with validation - BiometricMatchDialog: Biometric matching with multiple parameters - FileTransferDialog: File transfer with browse functionality Optimize ShowDeviceSelectionDialog helper to reuse existing DeviceSelectionDialog. ACUConsoleView reduced from ~1000+ lines to ~780 lines with clean separation of concerns. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Convert all async void methods to async Task for proper async patterns - Update menu item actions to use fire-and-forget pattern with discarded Task - Ensure proper exception handling in async operations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
…ap files - Remove unused _view field and SetView method from ACUConsolePresenter - Remove SetView method from IACUConsolePresenter interface - Update Program.cs to remove SetView call - Implement remember last directory functionality for ParseOSDPCapFileDialog - Add GetLastOsdpConfigDirectory method to presenter interface - Update ParseOSDPCapFile to save directory path after successful parsing - Clean up unused imports and minor code style improvements 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Add [Category("Unit")] to 109 isolated unit tests in Model, Messages, Tracing, and Utilities folders
- Add [Category("ComponentTest")] to 8 ControlPanel component tests
- Add [Category("Integration")] to 19 end-to-end integration tests
- Enables targeted test execution with --filter "Category=X" for faster feedback loops
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
- Implement PowerShell script for public API baseline generation - Create comprehensive API checklist and usage guide documentation - Add enhanced package metadata with detailed tags and release notes - Improve Device class XML documentation for virtual methods - Add InternalsVisibleTo attribute for test project access - Establish 108 tracked public API entries in baseline 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.