Skip to content

Fix #916 (Lite) — Memory tab tooltip stops working after returning to tab#921

Merged
erikdarlingdata merged 1 commit intodevfrom
feature/916-lite-memory-tab-tooltip
May 2, 2026
Merged

Fix #916 (Lite) — Memory tab tooltip stops working after returning to tab#921
erikdarlingdata merged 1 commit intodevfrom
feature/916-lite-memory-tab-tooltip

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

  • Mirrors Dashboard PR Fix #916 — Memory tab tooltip stops working after returning to tab #919 for the Lite collector. WPF Popup (used by Lite's ChartHoverHelper) can wedge when the user navigates away from a TabItem mid-hover: WPF unloads the parent without firing MouseLeave, so IsOpen stays true with a stale placement anchor. On return, OnMouseMove sets IsOpen = true again, but since it's already true the assignment is a no-op and the popup never re-anchors or appears.
  • Lite has the same nested-TabControl shape (parent Memory tab → Memory Overview / Memory Clerks / Memory Grants / Memory Pressure Events sub-tabs), so the bug surfaces identically to the Full Dashboard.
  • Force-close the popup on chart Loaded / Unloaded / IsVisibleChanged, and toggle IsOpen off→on inside OnMouseMove so WPF re-evaluates placement even when the popup believes it's already open.

Related to #916

Test plan

  • Build Lite
  • Switch between top-level tabs that own charts and verify tooltip still appears on return
  • Repeat across all Memory sub-tabs (Memory Overview, Memory Clerks, Memory Grants, Memory Pressure Events)
  • Sanity-check tooltips still behave on other Lite tabs that use ChartHoverHelper

🤖 Generated with Claude Code

… tab

Mirrors Dashboard fix in 4e58e8a. WPF Popup with PlacementTarget = chart
can wedge when the user navigates away from a TabItem mid-hover: WPF
unloads the parent without firing MouseLeave on the chart, so
_popup.IsOpen stays true with a stale anchor. On return, OnMouseMove
sets IsOpen = true but it is already true — the assignment is a no-op
and the popup never re-anchors or appears.

Lite has the same nested TabControl pattern (parent Memory tab hosting
Memory Overview / Memory Clerks / Memory Grants / Memory Pressure Events
sub-tabs) so the bug surfaces the same way.

- Force _popup.IsOpen = false on chart Loaded / Unloaded / IsVisibleChanged.
- In OnMouseMove, toggle IsOpen off then on so WPF re-evaluates placement
  even when the popup believes it is already open.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit b9361f3 into dev May 2, 2026
1 of 2 checks passed
@erikdarlingdata erikdarlingdata deleted the feature/916-lite-memory-tab-tooltip branch May 2, 2026 14:38
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