Skip to content

fix(dashboards): unify timeseries loading and empty state#119335

Merged
nikkikapadia merged 1 commit into
masterfrom
nikkikapadia/dain-1775-improve-heat-map-non-success-ui-states
Jul 10, 2026
Merged

fix(dashboards): unify timeseries loading and empty state#119335
nikkikapadia merged 1 commit into
masterfrom
nikkikapadia/dain-1775-improve-heat-map-non-success-ui-states

Conversation

@nikkikapadia

Copy link
Copy Markdown
Member

aligned the heatmap loading state with the timeseries loading state (aka just the spinner and no loading placeholder shadow) and the empty state with the state of all the other widgets.

ALSO good to note that all non-timeseries widgets have that loading screen; wondering if we want to change them all just to unify the UI.
but anyways this is what it looks like:

Before After
image image
image image

@linear-code

linear-code Bot commented Jul 9, 2026

Copy link
Copy Markdown

DAIN-1775

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Jul 9, 2026
@nikkikapadia nikkikapadia marked this pull request as ready for review July 9, 2026 19:37
@nikkikapadia nikkikapadia requested a review from a team as a code owner July 9, 2026 19:37
Comment on lines 467 to +468
if (loading || !heatmapResults) {
return <LoadingPlaceholder />;
return <HeatMapWidgetVisualization.LoadingPlaceholder />;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The WidgetLoadingPanel for heatmaps lacks a positioned parent (position: relative) during reloads, causing the loading indicator to be displayed incorrectly outside the chart area.
Severity: MEDIUM

Suggested Fix

Add position: relative; to the ChartWrapper styled-component. This will establish a positioning context for the absolutely positioned WidgetLoadingPanel, ensuring it is correctly constrained within the chart's boundaries during loading states.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: static/app/views/dashboards/widgetCard/chart.tsx#L467-L468

Potential issue: When a heatmap widget reloads data, the `HeatmapSeriesComponent`
renders a `WidgetLoadingPanel`. This panel uses `position: absolute` styling for its
layout. However, it is rendered inside a `ChartWrapper` component that lacks a
`position: relative` (or similar) style property. Because an absolutely positioned
element is positioned relative to its nearest positioned ancestor, the loading panel
will not be constrained to the chart's area. This results in the loading indicator being
displayed incorrectly, potentially overlaying other UI elements outside of the widget's
boundaries.

Did we get this right? 👍 / 👎 to inform future reviews.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm im not seeing this issue visually so i think it's fine? let me know if yall are seeing this

@gggritso gggritso left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Beaut

@nikkikapadia nikkikapadia merged commit ce19aae into master Jul 10, 2026
78 checks passed
@nikkikapadia nikkikapadia deleted the nikkikapadia/dain-1775-improve-heat-map-non-success-ui-states branch July 10, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants