-
Notifications
You must be signed in to change notification settings - Fork 25
Closed
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
Summary
Miscellaneous code quality findings from the Developer review that don't fit neatly into other themed issues. Includes disposal gaps, event handler leaks, inconsistent patterns, and configuration improvements.
Source: Comprehensive themed agent review (Developer)
Checklist
Resource Disposal
- Dispose ScottPlot chart objects when server tabs close
- Dispose
_mcpHostServiceproperly ifStopAsync()throws - Stop and dispose
_statusTimerin Lite closing handler - Verify
NotificationService._trayIcondisposal chain
Event Handler Leaks
- Unsubscribe
DispatcherTimer.Tickhandlers inOnClosed - Unsubscribe
Button.Clickhandlers for dynamically created tabs - Consider weak event pattern for long-lived subscriptions
Configuration
- Replace
App.xaml.csstatic settings (30+ properties) with injectableISettingsService - Replace
EmailAlertService.Currentstatic instance with DI pattern - Synchronize version numbers across all projects (Dashboard 1.1.0, Installer 1.0.0)
- Add
.editorconfigenforcement for consistent style (braces, using declarations)
Code Consistency
- Standardize on
usingdeclarations (C# 8+) vs legacyusingblocks - Audit
SafeToDecimal/SafeToInt16helpers - enforce usage or remove - Standardize naming:
RefreshAsyncvsCheckConnectionAsync(both are refresh operations) - Use
ConcurrentDictionaryfor_openTabs(thread safety)
Logging
- Add correlation IDs for tracing user actions through logs
- Shared logger interface (Dashboard
Loggervs LiteAppLoggerhave different APIs) - Log failed log-file cleanup operations (currently silent)
Minor Fixes
-
NumericFilterHelper.EvaluateRange(): fix negative-to-negative range parsing -
CredentialService: differentiate CryptographicException vs UnauthorizedAccessException -
RemoteCollectorService: initialize health entries for never-run collectors
Priority
Tier 3 - Medium (disposal, events), Tier 4 - Low (consistency, logging)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request