Fixes 29634: Offset data quality tooltip from chart point - #31006
Fixes 29634: Offset data quality tooltip from chart point#31006shah-harshit wants to merge 5 commits into
Conversation
|
| Count | Rule |
|---|---|
| 2 | sonarjs/no-duplicate-string |
All findings
| Location | Rule | Message | |
|---|---|---|---|
| 🟡 | src/utils/DataQuality/TestSummaryGraphUtils.test.ts:51:24 |
sonarjs/no-duplicate-string |
Define a constant instead of duplicating this literal 23 times. |
| 🟡 | src/utils/DataQuality/TestSummaryGraphUtils.test.ts:90:13 |
sonarjs/no-duplicate-string |
Define a constant instead of duplicating this literal 11 times. |
Fix locally (fast - only checks files changed in this branch):
make ui-checkstyle-changed
🔴 Playwright Results — workflow failedValidated commit ✅ 264 passed · ❌ 1 failed · 🟡 0 flaky · ⏭️ 0 skipped · 🧰 0 lifecycle flaky PerformanceBlocking targets: ✅ met · Optimization targets: 🟡 in progress Shard-job maxima below are not the full workflow wall time; the linked run includes build, fixture, planning, and reporting. 🕒 Full workflow signal wall (to summary) 51m 38s ⏱️ Max setup 3m 10s · max shard execution 18m 56s · max shard-job elapsed before upload 24m 39s · reporting 3s 🌐 188.52 requests/attempt · 2.04 app boots/UI scenario · 0.00% common-shard skew Optimization targets still in progress:
Genuine Failures (failed on all attempts)❌
|
2026de9 to
f04c1a0
Compare
f04c1a0 to
01f3841
Compare
1fc5c6b to
eb69a92
Compare
eb69a92 to
7eba8c4
Compare
Code Review ✅ Approved 4 resolved / 4 findingsAnchors data quality tooltips to chart status dots with a 4px offset and adds a close delay to maintain interactivity, addressing previous edge clipping, fetch failure, and clipping findings. ✅ 4 resolved✅ Edge Case: Incident task fetch never retries after failure/empty result
✅ Edge Case: Left-placed tooltip may overflow the chart's left edge
✅ Edge Case: One failed incident fetch drops all tooltip task data
✅ Quality: Focus ring may be clipped by fixed-size nested status-dot SVG
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar | Powered by Gitar — free for open source |
|



Describe your changes:
Fixes #29634
Scopes data quality tooltip activation to the visible status dot and keeps the tooltip interactive after it opens. The tooltip is anchored to the triggering dot with a 4px gap, so chart background movement cannot move it away from the pointer. Incident links use compact task IDs while retaining the legacy thread fallback.
Screen.Recording.2026-08-05.at.3.48.33.PM.mov
Type of change:
High-level design:
The graph owns controlled tooltip state populated by custom status dots. It supplies Recharts with a fixed
positionbecauseComposedChartreplaces the tooltipcoordinatewith the live chart pointer. A short close delay bridges the 4px dot-to-tooltip gap and is cancelled while the pointer is inside the tooltip. Task-first incident metadata remains compatible with existing thread data.Tests:
Use cases covered
Unit tests
TestSummaryGraph.test.tsx,TestSummaryCustomTooltip.test.tsx, andTestSummaryGraphUtils.test.ts.Backend integration tests
Ingestion integration tests
Playwright (UI) tests
TestSummaryTooltip.spec.tsas a focused browser regression.Manual testing performed
UI screen recording / screenshots:
The screen recording is attached above.
Checklist:
I have read the CONTRIBUTING document.
My PR title is
Fixes <issue-number>: <short explanation>My PR is linked to a GitHub issue via
Fixes #<issue-number>above.I have commented on my code where non-obvious behavior requires context.
For JSON Schema changes: I updated the migration scripts or explained why it is not needed.
For UI changes: I attached a screen recording and/or screenshots above.
I have added tests (unit / integration / Playwright as applicable) and listed them above.
I have added a test that covers the exact scenario we are fixing.