Commit Graph
14 Commits
Author SHA1 Message Date
f15e27e5fd refactor: design token migration + CI guards (#13173)
# Design System Unification — one visual language, enforced end-to-end

Establishes **one source of truth for every visual decision**, wires the
whole app to it, and **locks it in with CI** so it can't drift back.

### Foundations
- **Design-token system ("one knob per decision").** Every colour, text
size, spacing, corner radius, and shadow is a named token defined in
exactly one place — change the token, every screen updates. Collapsed
hundreds of near-duplicate definitions and removed "fake" duplicates
that pretended to be different but weren't.
- **Shared component library (O2).** Buttons, tables, dialogs, drawers,
form fields, badges, etc. already know the correct colours, spacing, and
dark-mode behaviour; new screens compose them instead of hand-styling.
Added new primitives on this branch (`OContent`, `KpiCard`) and
standardized existing ones.
- **One page structure everywhere** (`PageLayout` / `AppPageHeader` /
`AppPage` / `OContent`) — titles, breadcrumbs, spacing, and content
edges line up identically across every screen.
- **One table implementation** — all tabular data uses the same table
(sorting, density, sticky headers, empty states).
- **Styling consolidated onto Tailwind; old systems removed** —
hand-written CSS driven to the practical minimum, the legacy **Quasar**
framework fully removed, surviving stylesheets required to justify
themselves.
- **Two-tier corner radius** — a tight **4px** for controls and a soft
**12px** for surfaces (dialogs, cards, the app shell), plus a
full-circle option — replacing five radius names that all secretly meant
the same thing.

### Detailed improvements across screens
**Page structure & alignment** — unified page shell rolled across ~40+
screens (IAM, Settings, Alerts, Dashboards, Functions, Pipelines, RUM,
Metrics, Synthetics, Billing, editors, lists); one header height; one
page-edge grid driving headers, tables, rails, and tabs; unified
side-rail widths; inset rail selection/hover pills; every tab strip on
the grid line; tightened title/subtitle spacing.

**Tables (cross-screen)** — action columns consistently centered (incl.
Organizations); unified row-number column with no "#" truncation;
non-standard tables restyled to match; loading skeletons made
geometrically identical to the loaded table; symmetric edge inset; IAM
first-column grid alignment fixed.

**Traces** — flame graph + span-detail correlation panel fixes;
correlated logs/metrics placeholder fit; sticky headers; removed a
double scrollbar + a 1px sliver; aligned table fonts/badges; polished
the service detail drawer; stream-selector + correlation alignment;
aligned loading spinners; floating overlay arrows for the
disabled-services strip.

**Logs** — field-list controls aligned (focus ring no longer clipped);
detail-drawer spacing + metrics-tab overflow fixed; Run Query toolbar
tidied; listing sizing + stray border fixed.

**Metrics** — search added to the "Type" facet rail and aligned with the
other rails; proper empty states for the explorer and facet rail.

**Dashboards** — removed inconsistent card shadows; tightened
borders/resizers/field-list spacing; aligned View Dashboard chrome to
the grid; chart colours via the token helper.

**Home** — redesigned the Usage tab; added reusable KPI stat cards so
summary strips stop drifting.

**Dark mode** — new theme-switch animation; fixed a 1px content shift on
toggle and a white flash on load; fixed AI-chat text and assorted
light/dark mismatches; completed the token-driven dark migration.

**Empty states, controls & small polish** — restored 3 broken
empty-state animations; adopted the standard empty state; added the
sliding indicator to the toggle control; fixed the Quality-page inset +
drawer badge; refreshed Search History / Schedulers; fixed the
alert-history drawer scrollbar + timeline hover; removed a stray
menu-bar border.

### Dead code & cruft removal
- **Deleted the entire legacy `utilities.css`** global stylesheet (well
over a thousand lines) — evacuated in waves, roughly half of it dead
once traced.
- **Removed Quasar entirely**, including dead `.q-*` styles and ~25
phantom `--q-*` variables that were silently breaking bits of the UI.
- Stripped hundreds of **dead CSS classes and tokens that compiled to
nothing** — e.g. 46 uses of a colour class with no backing token, a
no-op shadow class on 51 elements, dead layout/utility classes, a
leftover `card-container` block, a dead table-actions token, and a
mis-registered gradient that rendered nothing.
- Cut **unused keyframe animations (19 → 3)** and removed **unused
components** + a stray build artifact.
- Net effect: a much smaller, leaner styling surface — less to maintain,
fewer dead ends to copy.

## Safety & verification
Large but low-risk: this is overwhelmingly a **styling and structure**
change, not product behaviour or data. Guarded by the
design-token/consistency/type checks above plus the existing test suite,
and reviewed screen-by-screen.

---------

Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
2026-07-20 18:06:21 +00:00
3f03b77320 feat: Revamp metrics explorer (#13144)
Revamp the metrics explorer to enable faster visualization and
exploration of metrics.
Design at: metrics_cards_prd.md file

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
2026-07-14 07:50:56 +00:00
Abhay Padamani 717351254f fix: dashboard issues (#13050)
- #13004 
- support styling for HTML panel
<img width="1812" height="651" alt="image"
src="https://github.com/user-attachments/assets/bfa3d3ff-c54d-4deb-823b-c2be9ba6e49b"
/>
<img width="1820" height="720" alt="image"
src="https://github.com/user-attachments/assets/6d31a719-a0a0-4a8b-b7c8-28277a310687"
/>

- duplicate values on y axis.
<img width="464" height="193" alt="image"
src="https://github.com/user-attachments/assets/78e15896-2da8-47b4-9ab2-78287fe6db0a"
/>
<img width="523" height="166" alt="image"
src="https://github.com/user-attachments/assets/8d5d42a7-1a31-4b07-a19c-a8be2b33eda0"
/>

- axis value overlap
<img width="453" height="170" alt="image"
src="https://github.com/user-attachments/assets/e05133d2-adf2-4038-9e09-0b451feb71d1"
/>
<img width="443" height="160" alt="image"
src="https://github.com/user-attachments/assets/f594f3ee-6efc-4753-a7b0-15cd37349744"
/>



- metric chart type, font size auto adjust.
<img width="1022" height="181" alt="image"
src="https://github.com/user-attachments/assets/95bafd35-857d-444a-92cd-7f44b88714b1"
/>
<img width="1116" height="161" alt="image"
src="https://github.com/user-attachments/assets/424cd551-5dc1-4e1c-8c4d-c0d5d7338669"
/>


- promql chart gridline should be dashed.
<img width="1358" height="539" alt="image"
src="https://github.com/user-attachments/assets/4e64cca3-c153-49f0-9e79-86562f9200a7"
/>
<img width="1376" height="537" alt="image"
src="https://github.com/user-attachments/assets/8b5cc6e9-6d66-40ff-a09b-6d8d48a6e230"
/>


- horizontal chart spacing issue.
<img width="1826" height="337" alt="image"
src="https://github.com/user-attachments/assets/f3d7e6ef-a8ab-490c-afc8-ec7c7529fac0"
/>
<img width="1814" height="286" alt="image"
src="https://github.com/user-attachments/assets/faf03345-24e9-4a57-941e-b218ba2982a3"
/>


- legend and x axis value overlap and top spacing.
<img width="613" height="280" alt="image"
src="https://github.com/user-attachments/assets/0c5b89c1-2b6e-4c56-91dd-92c93d81d0d7"
/>
<img width="607" height="253" alt="image"
src="https://github.com/user-attachments/assets/414fb5d8-8e3e-4c31-b41b-8df2224f34eb"
/>

- promql chart typed chart tooltip overflow issue.
<img width="607" height="244" alt="image"
src="https://github.com/user-attachments/assets/5385cb82-9790-4b33-bbfd-c320cbdd51d9"
/>
<img width="606" height="381" alt="image"
src="https://github.com/user-attachments/assets/1f7b6007-fc3a-495a-8ae8-d4cb0178d259"
/>

- add query, left/right arrow issue on add/remove query.
<img width="211" height="95" alt="image"
src="https://github.com/user-attachments/assets/89d5ef0d-03d4-4fdf-822d-0d4a43c63152"
/>

- on x axis, timeseries chart value overlap
<img width="362" height="254" alt="image"
src="https://github.com/user-attachments/assets/127010d6-8a5c-441c-8fe4-9b9ee571e4c2"
/>
<img width="343" height="243" alt="image"
src="https://github.com/user-attachments/assets/369ead68-fd6b-4e16-a4d7-d93535fab7b5"
/>

- pie chart overlap issue
<img width="613" height="268" alt="image"
src="https://github.com/user-attachments/assets/1b06a56e-a863-4a63-9587-128ed2cfd0e8"
/>
<img width="608" height="270" alt="image"
src="https://github.com/user-attachments/assets/218f02ae-90ed-459f-99cb-103975bbe596"
/>

- plain legend spacing issue
<img width="910" height="269" alt="image"
src="https://github.com/user-attachments/assets/efd27d44-097f-4637-98ac-2e645b0f4dc7"
/>
<img width="916" height="267" alt="image"
src="https://github.com/user-attachments/assets/a5ecdc99-28cc-4552-a247-97a9ef05d6d1"
/>

- tooltip highlights all values
<img width="600" height="221" alt="image"
src="https://github.com/user-attachments/assets/8ab57fc1-27f7-410c-a279-56ff4cf2295b"
/>
<img width="610" height="305" alt="image"
src="https://github.com/user-attachments/assets/951334ea-9fb2-4249-880b-d564ba1c19c7"
/>
2026-07-07 15:03:13 +00:00
Abhay Padamani c96aec3ccd fix: dashboard tooltip issue and others (#12878)
- dashboard tooltip overflow issue
- variable loader issue
- panel chart dashed grid lines
- area and area stack chart gradient
2026-06-25 15:23:18 +00:00
2675aa371c chore: dashboard styling changes (#12808)
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com>
2026-06-23 11:57:02 +00:00
Abhay Padamani 754f43bea4 feat: dashboard locale format support as unit (#12805)
## #12644 

Dashboard panels let users pick a **unit** to format values (bytes,
seconds,
currencies, percent, etc.). This adds one new unit — **"Locale Format"**
— that
renders plain numbers with locale-aware thousand/decimal separators
using
`Intl.NumberFormat`, automatically driven by the user's selected UI
language.

Example for `1234567.89`:

| App language | Rendered |
|---|---|
| English (`en-gb`) | `1,234,567.89` |
| German (`de`) | `1.234.567,89` |
| French (`fr`) | `1 234 567,89` |

<img width="317" height="391" alt="image"
src="https://github.com/user-attachments/assets/53ca9444-0636-49d8-a92f-3a44fc79433e"
/>

## Metric chart type copy button support
<img width="599" height="267" alt="image"
src="https://github.com/user-attachments/assets/03c9c36e-ad5a-4096-bf85-8a9851fcd3c5"
/>


Design At: designs/dashboards/locale-format-unit
2026-06-22 10:29:56 +00:00
ktx-mihirandktx-vaidehi 84ac76b36f fix: layout revamp ui and bug fixes (#12666)
- alert history title truncate and drawer width increase
- management page content left align and padding
- horizontal scroll in table without resizing columns
- print dashboard header and back button reset print mode
- x-axis name overlapping tick labels and legend
- print dashboard header sticky and scroll fix

---------

Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
2026-06-15 13:45:30 +00:00
Abhay Padamani 8c23dd000e feat: multi-query support (#12374)
Design At:
https://github.com/openobserve/designs/tree/main/dashboards/multi-sql-query-support

Issue list : https://github.com/openobserve/openobserve/issues/11278
2026-06-08 10:51:37 +00:00
Abhay Padamani 3cff28ce45 fix: dashboard shows no data while chart is in rendering state #11205 (#11332) 2026-04-27 11:23:05 +00:00
ktx-vaidehi 79154bcbce fix: dashboard markline text overlap (#11355)
#11029
2026-04-21 12:53:23 +00:00
1337a04058 fix: alert revamp version 3 (#11253)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 13:15:39 +05:30
easonandeasonysliu 8ef8e07c36 fix(dashboard): display '(empty)' for empty breakdown values in chart legends (#11102)
## Summary

Fixes #10780

When a breakdown field contains an empty value (`""`), the chart legend
displayed the y-axis label (e.g., `"count"`) as the series name. This
made the legend misleading because the empty-breakdown series was
indistinguishable from the metric name.

### Root Cause

In `seriesBuilder.ts`, `getYAxisLabel()` checked `xAXisKey !== ""` and
fell through to the raw y-axis `label` for empty breakdown values. For
multi-y-axis charts, it produced `" (count)"` with a leading space and
no breakdown identifier.

### Fix

Normalize empty breakdown values to `"(empty)"` before building the
display label, consistent with how `sqlProcessData.ts` already treats
null/undefined/empty breakdown values as a single group.

**Before:** empty breakdown → series labeled `"count"` (misleading)  
**After:** empty breakdown → series labeled `"(empty)"` (clear)

## Changes

- `web/src/utils/dashboard/sql/shared/seriesBuilder.ts` — 1 file, ~5
lines changed

## Test Plan

- [ ] Create a dashboard panel with a breakdown field that contains
empty string values
- [ ] Verify the chart legend shows `"(empty)"` instead of the y-axis
field name
- [ ] Verify non-empty breakdown values still display correctly
- [ ] Verify multi-y-axis panels show `"(empty) (metricName)"` format

Co-authored-by: easonysliu <easonysliu@tencent.com>
2026-04-10 07:53:26 +00:00
ByteBakerandHengfei Yang b948361769 chore: update copyright year to 2026 (#11166)
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-04-07 09:57:53 +08:00
ktx-vaidehi 108cc3b2e1 refactor: dashboard long files (#10680) 2026-03-05 19:37:14 +05:30