Commit Graph
122 Commits
Author SHA1 Message Date
Abhay PadamaniandClaude Opus 4.8 5ec9b89ff8 build: FE code format check for improved maintainability (#13351)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 07:11:39 +00:00
ktx-vaidehiandClaude Opus 4.8 50d3fda602 fix: UI token change (#13315)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 15:58:24 +00:00
BhargavandClaude Opus 4.8 ef2efdf5fc fix: logs sidebar table will be default view and draggable tabs (#13368)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 06:53:13 +00:00
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
ktx-vaidehi 177920a048 fix: colors, text based on browser theme (#13053) 2026-07-06 11:52:33 +00:00
5229a8d1e3 fix:tw prefix removal (#13017)
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 08:51:22 +00:00
Bhargav 26ab4864e6 fix: Rum > sessions UI improvement (#13028) 2026-07-03 13:48:02 +00:00
da867fb16a fix: scoped scss styles removal (#12764)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
2026-07-02 06:21:33 +00:00
Omkar Kesarkhane ea6c34ef90 fix: added streaming progress bar in logs explorer (#12741)
## What changed

Adds a streaming progress bar (the same `LoadingProgress.vue` used by
dashboard panels) to the logs results table and histogram chart. The
skeleton loader in `TenstackTable.vue` now hides once any rows exist,
keeping data visible while streaming updates replace values in-place.

## Why

During `streaming_aggs`, hits arrive and replace chunk-by-chunk while
`loading` stays `true` until the stream `end` signal. The full skeleton
covered the table on every refresh, so users couldn't watch the
incremental updates. The progress bar signals an in-progress refresh
without hiding existing data.
2026-06-18 05:58:54 +00:00
Bhargavandhengfei yang aed1c82562 fix: auto non-sql mode fix (#12725)
Co-authored-by: hengfei yang <hengfei.yang@gmail.com>
2026-06-17 08:50:49 +00:00
d20cd2e47a chore: theme & font ux changes (#12645)
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
2026-06-15 13:01:28 +00:00
02b86a0068 fix: minor UI fixes (#12622)
Co-authored-by: ktx-kirtan <124270523+ktx-kirtan@users.noreply.github.com>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: Omkar Kesarkhane <127078473+omkarK06@users.noreply.github.com>
2026-06-12 10:19:50 +00:00
4ecc066ac1 fix: dark theme color adjustments (#12614)
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
2026-06-12 06:59:45 +00:00
d79bbbe9e8 fix: layout bugs 2 (#12594)
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
2026-06-11 12:59:57 +05:30
5c56d05703 fix: layout ux3 (#12560)
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-10 14:17:21 +00:00
44d8e56f0f fix: Fix/layout exp1 (#12521)
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com>
Co-authored-by: Subhra264 <chakrabortysubhradeep556@gmail.com>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: Ashish Kolhe <ashish.j.kolhe@gmail.com>
2026-06-09 16:28:08 +00:00
61aebff552 fix: refactor!: remove SQL mode toggle in favor of auto-detection (#12483)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 04:43:00 +00:00
Bhargav 9c51524029 fix: Logs improvement (#12400) 2026-06-02 07:41:47 +00:00
ktx-mihir e82ef2a2b7 fix: pipeline view and table chart overlap (#12362)
- Main menu width and spacing

- Stream loader center 

- Stream details hover color fix 

- Pipeline view 

- Sticky column table overlap
2026-05-29 17:07:23 +00:00
ktx-mihir cf9c0ea179 fix: dark mode text area and pagination (#12339)
- SDR Save Settings trigger point discrepency 
- Edit the existing alert - Ai icon is overlapping
- On stream field Scroller is not working
- With other languages, the Side Navigation UI is broken
- Search box dont having any border (List search view )
- text area color not looks proper
- Pipeline history - pagination is not working properly
- iam page default pagination value change
2026-05-28 16:07:21 +00:00
+5 ae22a74e62 feat: ux improvement main (#11838)
#11720

Design at:

https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-dialog/design.md

---------

---------

Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com>
Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
Co-authored-by: Sai Nikhil <nikhil@openobserve.ai>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <127078473+omkarK06@users.noreply.github.com>
Co-authored-by: omkark06 <omkar@zinclabs.io>
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
2026-05-28 11:00:49 +00:00
ktx-kirtan 1829cd46f8 fix: ux improvement dialog - Revert (#11824)
Reverts openobserve/openobserve#11644
2026-05-14 14:35:28 +00:00
be427039f0 feat: ux improvement dialog (#11644)
#11720

Design at:
https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-dialog/design.md

---------

Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 12:00:25 +00:00
ktx-vaidehiandktx-mihir 3084211ddf fix: tabs and buttons UX (#11737)
#11733

---------

Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
2026-05-12 13:49:34 +00:00
Bhargavandgithub-actions[bot] f59f43b1d4 fix: Issue ent 1609 patterns inspector (#11648)
<h2 style="color: rgb(191, 191, 191); font-family: -apple-system,
&quot;system-ui&quot;, &quot;Segoe UI&quot;, Roboto, sans-serif;
font-style: normal; font-variant-ligatures: normal; font-variant-caps:
normal; letter-spacing: normal; orphans: 2; text-align: start;
text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; white-space: normal; background-color:
rgb(25, 26, 27); text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial;">Title</h2><p style="white-space: pre-wrap; margin-top: 0.1em;
margin-bottom: 0.2em; color: rgb(191, 191, 191); font-family:
-apple-system, &quot;system-ui&quot;, &quot;Segoe UI&quot;, Roboto,
sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures:
normal; font-variant-caps: normal; font-weight: 400; letter-spacing:
normal; orphans: 2; text-align: start; text-indent: 0px; text-transform:
none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(25, 26, 27); text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color: initial;"><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size: 0.9em;">feat: wildcard value
distribution popover for pattern inspector</code></p><h2 style="color:
rgb(191, 191, 191); font-family: -apple-system, &quot;system-ui&quot;,
&quot;Segoe UI&quot;, Roboto, sans-serif; font-style: normal;
font-variant-ligatures: normal; font-variant-caps: normal;
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px;
text-transform: none; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; white-space: normal; background-color:
rgb(25, 26, 27); text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial;">Summary</h2><ul style="padding-inline-start: 2em; color:
rgb(191, 191, 191); font-family: -apple-system, &quot;system-ui&quot;,
&quot;Segoe UI&quot;, Roboto, sans-serif; font-size: 13px; font-style:
normal; font-variant-ligatures: normal; font-variant-caps: normal;
font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start;
text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; white-space: normal; background-color:
rgb(25, 26, 27); text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial;"><li>Replaces inline Quasar<span> </span><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size:
0.9em;">q-tooltip</code><span> </span>on wildcard chips with a
new<span> </span><code style="font-family: monospace; color: rgb(140,
140, 140); background-color: rgb(38, 38, 38); padding: 2px 4px;
border-radius: 3px; word-break: break-word; font-size:
0.9em;">WildcardValuePopover</code><span> </span>that shows a bar chart
distribution of sample values</li><li>Adds<span> </span><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size:
0.9em;">useWildcardHover</code><span> </span>composable to manage hover
state with delayed hide (200ms) shared across<span> </span><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size:
0.9em;">PatternCard</code>,<span> </span><code style="font-family:
monospace; color: rgb(140, 140, 140); background-color: rgb(38, 38, 38);
padding: 2px 4px; border-radius: 3px; word-break: break-word; font-size:
0.9em;">PatternDetailsDialog</code>, and<span> </span><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size:
0.9em;">PatternList</code></li><li>Adds<span> </span><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size:
0.9em;">addWildcardValueToSearch</code><span> </span>action to filter by
individual wildcard values (include/exclude via<span> </span><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size:
0.9em;">match_all</code>)</li><li>Hardens<span> </span><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size:
0.9em;">tokenizeTemplate</code><span> </span>to handle multiple API
response shapes for wildcard value arrays (<code style="font-family:
monospace; color: rgb(140, 140, 140); background-color: rgb(38, 38, 38);
padding: 2px 4px; border-radius: 3px; word-break: break-word; font-size:
0.9em;">sample_values</code>,<span> </span><code style="font-family:
monospace; color: rgb(140, 140, 140); background-color: rgb(38, 38, 38);
padding: 2px 4px; border-radius: 3px; word-break: break-word; font-size:
0.9em;">sampleValues</code>,<span> </span><code style="font-family:
monospace; color: rgb(140, 140, 140); background-color: rgb(38, 38, 38);
padding: 2px 4px; border-radius: 3px; word-break: break-word; font-size:
0.9em;">top_values</code>, etc.)</li><li>Adds unit test coverage
for<span> </span><code style="font-family: monospace; color: rgb(140,
140, 140); background-color: rgb(38, 38, 38); padding: 2px 4px;
border-radius: 3px; word-break: break-word; font-size:
0.9em;">WildcardValuePopover</code>,<span> </span><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size:
0.9em;">useWildcardHover</code>,<span> </span><code style="font-family:
monospace; color: rgb(140, 140, 140); background-color: rgb(38, 38, 38);
padding: 2px 4px; border-radius: 3px; word-break: break-word; font-size:
0.9em;">usePatternActions</code>, and<span> </span><code
style="font-family: monospace; color: rgb(140, 140, 140);
background-color: rgb(38, 38, 38); padding: 2px 4px; border-radius: 3px;
word-break: break-word; font-size:
0.9em;">useTemplateTokenizer</code></li><li>Updates existing tests to
match new<span> </span><code style="font-family: monospace; color:
rgb(140, 140, 140); background-color: rgb(38, 38, 38); padding: 2px 4px;
border-radius: 3px; word-break: break-word; font-size:
0.9em;">&lt;*&gt;</code><span> </span>wildcard template format and
hover-based interaction model</li></ul><h2 style="color: rgb(191, 191,
191); font-family: -apple-system, &quot;system-ui&quot;, &quot;Segoe
UI&quot;, Roboto, sans-serif; font-style: normal;
font-variant-ligatures: normal; font-variant-caps: normal;
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px;
text-transform: none; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; white-space: normal; background-color:
rgb(25, 26, 27); text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color: initial;">Files
changed</h2>
File | Change
-- | --
WildcardValuePopover.vue | New — popover with bar chart distribution,
auto-flip positioning
useWildcardHover.ts | New — shared hover state composable
PatternCard.vue | Replaced q-tooltip with hover → popover pattern
PatternDetailsDialog.vue | Same + wired filter-value emit
PatternList.vue | Hosts WildcardValuePopover outside virtual scroll
usePatternActions.ts | New addWildcardValueToSearch action
useTemplateTokenizer.ts | Multi-format wildcard value extraction
SearchResult.vue | Wires filter-value event to new action
*.spec.ts (6 files) | New + updated tests

<h2 style="color: rgb(191, 191, 191); font-family: -apple-system,
&quot;system-ui&quot;, &quot;Segoe UI&quot;, Roboto, sans-serif;
font-style: normal; font-variant-ligatures: normal; font-variant-caps:
normal; letter-spacing: normal; orphans: 2; text-align: start;
text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; white-space: normal; background-color:
rgb(25, 26, 27); text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color: initial;">Test
plan</h2><ul class="contains-task-list" style="padding-inline-start:
2em; color: rgb(191, 191, 191); font-family: -apple-system,
&quot;system-ui&quot;, &quot;Segoe UI&quot;, Roboto, sans-serif;
font-size: 13px; font-style: normal; font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400; letter-spacing: normal;
orphans: 2; text-align: start; text-indent: 0px; text-transform: none;
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
white-space: normal; background-color: rgb(25, 26, 27);
text-decoration-thickness: initial; text-decoration-style: initial;
text-decoration-color: initial;"><li class="task-list-item"><input
type="checkbox" disabled="" style="appearance: none; border-color:
rgb(42, 43, 44); border-style: solid; border-width: 1px; border-image:
none 100% / 1 / 0 stretch; position: relative; pointer-events: none;
vertical-align: middle; border-radius: 2px; width: 1em; height: 1em;
margin: 2px 4px 2px 2px;"><span> </span>Hover over a wildcard chip in
the pattern list → popover shows value distribution bars</li><li
class="task-list-item"><input type="checkbox" disabled=""
style="appearance: none; border-color: rgb(42, 43, 44); border-style:
solid; border-width: 1px; border-image: none 100% / 1 / 0 stretch;
position: relative; pointer-events: none; vertical-align: middle;
border-radius: 2px; width: 1em; height: 1em; margin: 2px 4px 2px
2px;"><span> </span>Hover over a wildcard chip in the pattern details
dialog → same popover</li><li class="task-list-item"><input
type="checkbox" disabled="" style="appearance: none; border-color:
rgb(42, 43, 44); border-style: solid; border-width: 1px; border-image:
none 100% / 1 / 0 stretch; position: relative; pointer-events: none;
vertical-align: middle; border-radius: 2px; width: 1em; height: 1em;
margin: 2px 4px 2px 2px;"><span> </span>Click "Include" / "Exclude" in
the popover (when wired) → adds<span> </span><code style="font-family:
monospace; color: rgb(140, 140, 140); background-color: rgb(38, 38, 38);
padding: 2px 4px; border-radius: 3px; word-break: break-word; font-size:
0.9em;">match_all</code><span> </span>filter and switches to logs
view</li><li class="task-list-item"><input type="checkbox" disabled=""
style="appearance: none; border-color: rgb(42, 43, 44); border-style:
solid; border-width: 1px; border-image: none 100% / 1 / 0 stretch;
position: relative; pointer-events: none; vertical-align: middle;
border-radius: 2px; width: 1em; height: 1em; margin: 2px 4px 2px
2px;"><span> </span>Verify popover repositions upward when near bottom
of viewport</li><li class="task-list-item"><input type="checkbox"
disabled="" style="appearance: none; border-color: rgb(42, 43, 44);
border-style: solid; border-width: 1px; border-image: none 100% / 1 / 0
stretch; position: relative; pointer-events: none; vertical-align:
middle; border-radius: 2px; width: 1em; height: 1em; margin: 2px 4px 2px
2px;"><span> </span>Verify popover closes when mouse leaves chip and
doesn't enter popover</li><li class="task-list-item"><input
type="checkbox" disabled="" style="appearance: none; border-color:
rgb(42, 43, 44); border-style: solid; border-width: 1px; border-image:
none 100% / 1 / 0 stretch; position: relative; pointer-events: none;
vertical-align: middle; border-radius: 2px; width: 1em; height: 1em;
margin: 2px 4px 2px 2px;"><span> </span><code style="font-family:
monospace; color: rgb(140, 140, 140); background-color: rgb(38, 38, 38);
padding: 2px 4px; border-radius: 3px; word-break: break-word; font-size:
0.9em;">npm run test:unit</code><span> </span>passes</li></ul>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 06:23:04 +00:00
9f9576f6f3 fix: ux revamp of buttons and tabs (#11652)
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
2026-05-07 15:35:40 +00:00
87da57db50 feat: ux improvement tabs and buttons (#11595)
Design at:
https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-tabs-buttons/design.md

---------

Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
2026-05-06 15:00:37 +00:00
Omkar Kesarkhane 82395a9b4c fix: added combined scroll in logs for histogram and logs table (#11415)
#11404
2026-05-05 16:51:52 +00:00
Omkar Kesarkhaneandgithub-actions[bot] 58fc36fabf feat: service catalog in traces (#11555)
Design at: ui/traces
#11367

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-04 08:54:02 +00:00
Sai Nikhil abac6d95db fix: should convert non strings to strings for histogram stack (#11440) 2026-04-24 14:21:33 +00:00
Sai Nikhil 7b3bea4fc7 fix: remove labels from analze and inspect buttons (#11431) 2026-04-24 11:03:57 +08:00
aec4a083d9 fix: stack histogram based on stream fields (#11390)
This PR fixes the issue in #11353 

 ## New Env
```sh
name = "ZO_HISTOGRAM_BREAKDOWN_FIELDS",
help = "Comma-separated ordered list of stream fields used for stacked histogram breakdown. First match wins."
default = "severity,log_level,level,status"
```

## Flow Chart

```
UI histogram request (is_ui_histogram = true)
                │
                ▼
    ┌───────────────────────┐
    │  is_multi_stream_search?│
    └───────────────────────┘
         │ yes          │ no
         ▼              ▼
  breakdown_field    stream_names.first()
      = None              │
         │                ▼
         │       infra::schema::get(org, stream, type)
         │                │
         │         ┌──────┴──────┐
         │       fails          ok
         │         │              │
         │         ▼              ▼
         │   breakdown_field   detect_histogram_breakdown_field(fields)
         │       = None              │
         │                   priority scan (case-insensitive):
         │                     1. severity?  ──yes──▶  breakdown_field = severity
         │                     2. log_level? ──yes──▶  breakdown_field = log_level
         │                     3. level?     ──yes──▶  breakdown_field = level
         │                     4. status?    ──yes──▶  breakdown_field = status
         │                     5. none match ──────▶  breakdown_field = None
         │                          │
         └──────────────────────────┘
                          │
                          ▼
          convert_to_histogram_query(sql, streams, multi, breakdown_field)
                          │
             ┌────────────┴────────────┐
          None                      Some(field)
             │                          │
             ▼                          ▼
   SELECT zo_sql_key,        SELECT zo_sql_key,
          zo_sql_num                "field" AS zo_sql_breakdown,
   FROM stream                      zo_sql_num
   WHERE ...              FROM stream
   GROUP BY zo_sql_key    WHERE ...
   ORDER BY zo_sql_key    GROUP BY zo_sql_key, zo_sql_breakdown
                          ORDER BY zo_sql_key
             │                          │
             └────────────┬─────────────┘
                          │
                          ▼
                    execute search
                          │
                          ▼
         Response {
           hits: [{ zo_sql_key, zo_sql_breakdown?, zo_sql_num }]
           histogram_breakdown_field: Option<String>
         }
                          │
             ┌────────────┴────────────┐
          None                      Some(field)
             │                          │
             ▼                          ▼
   generateHistogramData()    generateHistogramData()
   flat map:                  breakdown map:
   key → count                (key, category) → count
   xData / yData              breakdownSeries per category
             │                          │
             ▼                          ▼
     convertLogData()         convertStackedLogData()
     single-series            multi-series stacked
     ECharts options          ECharts options
                              + per-category color (palette)
                              + scrollable legend
             │                          │
             ▼                          ▼
     flat bar chart          stacked bar chart
      (unchanged)            (one color per category)
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: bjp232004 <551527+bjp232004@users.noreply.github.com>
Co-authored-by: Loakesh Indiran <66478092+Loaki07@users.noreply.github.com>
Co-authored-by: Loakesh Indiran <rustyloaki@gmail.com>
2026-04-23 12:06:49 +00:00
Sai Nikhil bacdeab047 fix: show refresh button inline (#11405) 2026-04-23 13:34:35 +05:30
65666e4ed9 chore: last refreshed for logs and traces (#11398)
<img width="2658" height="420" alt="image"
src="https://github.com/user-attachments/assets/90d7bd1a-012d-4185-a832-35135d696baf"
/>
<img width="2640" height="486" alt="image"
src="https://github.com/user-attachments/assets/d9543813-1cca-4f83-8da6-a12b7514a986"
/>

---------

Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-23 11:30:00 +05:30
dcfbbce906 fix: removed spans limit from trace details (#11333)
#11280

---------

Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <undefined@users.noreply.github.com>
2026-04-21 16:30:02 +00:00
9433404e32 feat: dashboard refactor to table chart to tanstack table (#11036)
Design at:
https://github.com/openobserve/designs/blob/main/dashboards/tanstack-table-refactor/design.md

- #11191

---------

Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
Co-authored-by: omkark06 <omkar@zinclabs.io>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
2026-04-20 10:40:20 +00:00
Bhargav 7c8c6af802 fix: ui fixes (#11314) 2026-04-17 13:38:34 +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
udevandBhargav 6f8ea1b772 fix: pagination support for values api (#11237)
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
2026-04-16 13:03:42 +05:30
Bhargav 0d4df71206 feat: added webinar banner (#11240)
Design at: /ui
2026-04-15 08:10:25 +00:00
cb64eb56e9 fix: fixed span kind value mapping in traces editor (#11257)
1. Updated span kind value mapping in traces editor
2. Fixed overflowing operation-name in trace details
3. Changed Service Map to Trace Graph in trace details tabs

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <undefined@users.noreply.github.com>
2026-04-15 05:06:12 +00:00
ByteBaker baa1e34e83 fix: use gRPC endpoint to ingest service graph (#11258)
In a recent change, service graph ingestion was moved from ingesters to
alert managers. Since alertmanager cannot run bulk::ingest, we switched
to HTTP API using root credentials.

This created a side effect wherein environments without root
credentials, such as cloud started throwing 401.

To mitigate this, we switched to gRPC API, which is also used for
various other internal calls.

- also fix dark mode on service graph's stream selector
2026-04-13 18:49:54 +00:00
Omkar Kesarkhaneandgithub-actions[bot] 0c92272d0b fix: added metrics tab in service graph node details panel (#11203)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-12 02:03:44 +00:00
76db6890a8 fix: updated view_url and resource_url in RUM sessions fields (#11106)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <undefined@users.noreply.github.com>
2026-04-02 09:44:51 +00:00
Omkar Kesarkhane 46a90368af feat: Traces service graph improvements (#11097)
Design at: observability/traces
2026-04-02 08:49:03 +00:00
bf3b36fcf7 feat: traces table improvements (#10941)
Design at: traces

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <undefined@users.noreply.github.com>
2026-03-25 07:53:12 +05:30
Sai Nikhil d2861433fa fix: search inspector UI (#10749) 2026-03-13 09:57:29 +08:00
ae988c7219 feat: Search on all spans in Traces (#10826)
Design at: Traces

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <undefined@users.noreply.github.com>
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
2026-03-10 22:34:50 +05:30
Bhargav f8e8cc8dd3 fix: Logs datatype icon remove main (#10827) 2026-03-10 17:11:33 +05:30
7320831928 feat: Traces Duration field improvement (#10814)
Design at: traces

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <undefined@users.noreply.github.com>
2026-03-10 15:42:40 +05:30