Skip to content
This repository was archived by the owner on Jul 6, 2026. It is now read-only.

release_1.4.0

Choose a tag to compare

@drpetersonfernandes drpetersonfernandes released this 05 Apr 23:25
· 53 commits to master since this release

🚀 New Features

  • Enhanced Image Saving: Refactored image saving logic into a dedicated ImageSaveService. It now includes more robust overwrite confirmations and atomic file operations (using temporary files) to prevent data corruption.
  • Global UI Styling: Consolidated shared UI styles (like the ImageSuggestionButtonStyle) into App.xaml to improve maintainability and visual consistency across the application.

🛠️ WebView2 Improvements

  • Initialization Reliability: Improved the WebView2 startup process by moving it to the Loaded event and implementing a state flag to prevent multiple simultaneous initialization attempts.
  • Custom Data Folder: The WebView2 control now uses a specific folder in LocalAppData. This resolves common "Operation Aborted" errors caused by permission issues or file locking in the default directory.
  • Better Error Handling: Added specific handling for E_ABORT and "Runtime Not Found" scenarios, providing users with clear instructions and download links if the component is missing.

🧹 Refactoring & Architecture

  • Service Consolidation: Created WebSearchService and ImageSaveService to decouple business logic from the MainWindow code-behind.
  • Namespace Cleanup: Moved ObjectToBoolConverter to the Services namespace and updated references across XAML files.
  • Code Modernization:
    • Implemented [GeneratedRegex] for improved performance in filename cleaning.
    • Updated LINQ queries to use static lambdas where possible to reduce allocations.
    • Adopted C# 12 collection expressions in SettingsManager.
  • Dependency Updates: Updated several NuGet packages, including Magick.NET (v14.11.1), Microsoft.Web.WebView2 (v1.0.3856.49), and Polly (v8.6.6).

🛡️ Stability & Bug Reporting

  • Enhanced Error Logging: Integrated BugReport.LogErrorAsync across all critical paths, including MAME data parsing, clipboard operations, API search failures, and file system interactions.
  • Robust Networking: Improved BugReport service with specific catch blocks for JsonException, IOException, and InvalidOperationException to ensure the reporter itself doesn't crash during failure states.

📝 Miscellaneous

  • Cleanup: Removed unused properties from GoogleImageInfo and deleted obsolete partial class files.