You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Railway Oriented Programming (ROP): Adopted the ROP pattern across all core services and ViewModels (MainViewModel, ObservationViewModel, FluxViewModel, CalibrationViewModel) to ensure explicit and verifiable error handling.
Persistent Logging: Introduced ILoggerService and LoggerService to write logs to the logs/ directory, improving post-mortem analysis and debugging.
Global Exception Handling: Unhandled exceptions are now caught and logged via App.xaml.cs to prevent silent crashes.
Improved Fitting Engine
Refactored MathService: Updated MathService to integrate IHemgFittingService via dependency injection, improving testability and modularity.
HEMG Stability: Enhanced HemgFittingService with better error trapping and logging.
Validation: Added IsValid checks to fitting results to ensure only valid curves are rendered on the plots.
Async I/O & UI Responsiveness
Asynchronous File Operations: Converted BaselineFileService, FileHelper, and ObservationExcelHelper to use fully asynchronous patterns, preventing UI freezes during large file processing.
Progress Feedback: Updated status bars in UnifiedMainWindow to support indeterminate states for operations with unknown duration.
π Bug Fixes
Kalman Filter: Fixed naming conventions and initialization logic in MathService.KalmanFilter.
Plotting: Resolved issues where invalid fitting curves could cause rendering artifacts.
UI State: Fixed ProgressBar ranges and indeterminate states to correctly reflect background activity.
π Technical Improvements
Modern Syntax: Refactored code to use C# collection expressions ([...]) for cleaner and more readable code.
Thread Safety: Updated LoggerService to use modern thread-locking mechanisms.
Dependency Injection: Registered IHemgFittingService and ILoggerService in the global DI container.