Skip to content

Fix Lite memory leaks: delta cache, event handlers, chart helpers (#758)#760

Merged
erikdarlingdata merged 1 commit intodevfrom
fix/758-lite-memory-leaks
Mar 30, 2026
Merged

Fix Lite memory leaks: delta cache, event handlers, chart helpers (#758)#760
erikdarlingdata merged 1 commit intodevfrom
fix/758-lite-memory-leaks

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

  • DeltaCalculator: Added ClearServer() to evict all cached entries when a server tab is closed. Previously the cache grew unbounded for the lifetime of the process.
  • MainWindow event handlers: Three event handler lambdas per tab (AlertCountsChanged, ApplyTimeRangeRequested, ManualRefreshRequested) were subscribed but never unsubscribed on close. Now stored as named delegates and unsubscribed in CloseServerTab.
  • ChartHoverHelper: Added Dispose() to unsubscribe MouseMove/MouseLeave from chart controls. 27 instances per tab were keeping the entire visual tree alive via event references.
  • ServerTab: Added DisposeChartHelpers() called from CloseServerTab.

Addresses #758 - high memory consumption (5+ GB) when running Lite over extended periods.

Test plan

  • Builds clean (0 errors)
  • Run Lite, connect to server, close tab, verify memory drops in Task Manager
  • Run Lite for extended period, verify memory stabilizes

🤖 Generated with Claude Code

…758)

- DeltaCalculator: add ClearServer() to free cache when server tab closes
- MainWindow: store event handler delegates so they can be unsubscribed
  on tab close (AlertCountsChanged, ApplyTimeRangeRequested, ManualRefreshRequested)
- ChartHoverHelper: add Dispose() to unsubscribe MouseMove/MouseLeave events
- ServerTab: add DisposeChartHelpers() to clean up all 27 hover helpers
- CloseServerTab now calls all cleanup methods

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit 2b61592 into dev Mar 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant