Commit Graph
2620 Commits
Author SHA1 Message Date
Omkar Kesarkhaneandgithub-actions[bot] b8054bb77c feat: added an DB tab to the trace details sidebar (#11675)
Design at: Design at: ui/traces/trace-details/

#11583

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 10:33:46 +00:00
ef0ad3453b feat: dashboard reports as csv (#11282)
Design at: dashboards/reports-as-csv

---------

Co-authored-by: Subhradeep Chakraborty <chakrabortysubhradeep556@gmail.com>
Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
2026-05-08 10:19:06 +00:00
Omkar Kesarkhane bf0a2a5f6a fix: added default key log fields as columns in logs correaltion table (#11676)
#11584 


## What changed

Updated `CorrelatedLogsTable.vue` to load key fields from the service
correlation configuration and use them as default visible columns
alongside `_timestamp`. Added 5 new test cases covering key field
matching, fallback behavior, and user customization preservation.

## Why

The correlated logs table was only showing `_timestamp` by default,
missing relevant log fields that should appear as columns. Key fields
defined in the service correlation config (e.g., `field1`, `field2`)
were not being surfaced unless the user manually customized columns.

## Approach

- Imported `useServiceCorrelation` composable and its `loadKeyFields`
method
- On mount, fetch key fields config and store in `defaultLogFields` ref
- Added `initializeVisibleColumns()` that creates a default set from
`_timestamp` + any key fields present in the available fields
- Updated the `availableFields` watcher to check `visibleColumns.size <=
1` (instead of `=== 0`) — accounts for `_timestamp` being persisted in
localStorage
- Added a separate `watch` on `defaultLogFields` to re-initialize when
key fields arrive after `availableFields`
- Both watchers skip re-initialization if the user has already
customized columns (more than just `_timestamp`)

## Risk

Medium. The column initialization logic now runs in two watchers
(`availableFields` and `defaultLogFields`). If `defaultLogFields` loads
before `availableFields`, the first watcher applies (with an empty key
fields list) and the second watcher skips because `visibleColumns.size`
is already `> 1`. Reviewers should verify that the ordering of these
watchers doesn't leave key fields unapplied in edge cases.
2026-05-08 08:49:02 +00:00
Omkar Kesarkhaneandgithub-actions[bot] 75f6557a52 feat: added an "Error" tab to the trace details sidebar (#11655)
Design at: ui/traces/trace-details/

#11581  

## What changed

Added an "Error" tab to the trace details sidebar, extracted
error-detection logic from the sidebar into a dedicated
`useTraceDetails` composable, and moved the error/exception UI into a
new `TraceErrorTab` component. Active tab management was changed from
internal sidebar state to a parent-controlled prop with two-way binding.
Hover state (`hoveredSpanId`) was added to `TraceDetails` and
`TraceTree` — when set, hovered spans take visual priority over
`selectedSpanId`. A missing `hoveredSpanId` prop declaration was added
to `TraceTree.vue`. The `error` i18n key was added across all 12
languages. Test coverage spans 84 composable tests, 55 error-tab tests,
and updates to all three existing spec files.

## Why

Trace detail spans can fail for reasons beyond HTTP status codes (gRPC
errors, exception events, process exit codes, DB response codes).
Previously, there was no dedicated, consistently surfaced view for these
errors — they were either buried in the attributes tab or shown as
inline exception tables in the sidebar. The new error tab provides a
centralized home for all error indicators.

## Approach

Extracted error detection (HTTP status, gRPC status/name/message,
exception events, error type, DB response status, process exit code)
into `useTraceDetails` composable so it can be reused across sidebar and
error tab without duplication. Moved the error/exception UI into
`TraceErrorTab.vue`, keeping the sidebar as the orchestrator. Made
`activeTab` parent-controlled so `TraceDetails` can auto-select the
preview tab for LLM spans without conflicting with sidebar internal
state.

## Risk

The refactored active tab logic (parent-controlled via prop+emit instead
of internal state) could affect tab selection behavior in edge cases —
particularly the LLM preview auto-selection and the correlated-metrics
tab watch. The `hoveredSpanId` added to `TraceTree` was previously
undeclared as a prop (referenced but never defined), so adding it is an
unambiguous fix, not a behavioral risk. All 5 spec files pass with 357
total tests.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 07:01:42 +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
Omkar Kesarkhane b5c15c12a5 fix: update eslint config (#11664) 2026-05-07 14:50:54 +00:00
Ashish Kolheandgithub-actions[bot] 30991ca2e1 fix: corelation fixes (#11646) (#11649)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 12:29:20 +00:00
ktx-kirtan 7316ae311f chore: enhance frontend linting and build process (#11643) 2026-05-07 06:00:29 +00:00
Sai Nikhil 28aae818cc fix: check if slack url exists or not if exists then only use otherwise use default (#11636)
This Pr fixes the issue in #11604
2026-05-07 05:32:33 +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
Bhargav c6574a81fa fix: Issue 11606 search term logs page (#11607)
## What changed

Fixed `addFieldTerm` in `SearchBar.vue` so that include/exclude search
terms are inserted at the correct position in SQL aggregation queries.
Previously the code checked for `ORDER BY` before `GROUP BY`, causing
the injected `WHERE` clause to land after `GROUP BY` (invalid SQL). The
fix scans all terminating clauses (`GROUP BY`, `HAVING`, `ORDER BY`,
`LIMIT`) and inserts `WHERE` before whichever appears earliest. The
remaining diff is Prettier-driven reformatting with no logic changes.

## Why

The old sequential `if/else if` checked `ORDER BY` first. On a query
containing both `GROUP BY` and `ORDER BY`, it would split at `ORDER BY`
and produce `… WHERE <filter> ORDER BY … GROUP BY …` — structurally
invalid SQL. The fix enforces correct SQL clause ordering (`FROM → WHERE
→ GROUP BY → HAVING → ORDER BY → LIMIT`).

## Approach

The new algorithm iterates over all four terminating clauses, records
the index of each that is present, picks the one with the smallest index
(`firstClause`), then uses the existing `queryIndexSplit` utility to
splice the `WHERE <filter>` token in before it. If no terminating clause
exists the filter is appended. The spec file was extended with 14 new
unit tests covering the core bug scenario (GROUP BY + ORDER BY
together), each individual clause in isolation, all-clauses-present,
AND-append paths, and edge cases (case-insensitive matching, column
names containing clause keywords, special characters in filter values).

## Risk

The logic change is isolated to the `else` branch of `addFieldTerm` that
handles queries with no existing `WHERE` clause. Queries that already
have a `WHERE` clause follow a separate code path and are unaffected.
Reviewers should confirm the `queryIndexSplit` utility is
case-insensitive-safe (the fix lowercases only for the index scan, then
splits the original string) and verify the preserved trailing
`afterClause` string includes the space/newline that was previously part
of the `" order by"` / `" group by"` literals.
2026-05-06 10:17:48 +00:00
Sai Nikhilandgithub-actions[bot] a447b9fb7d fix: add alert top bar changes (#11605)
Before
<img width="757" height="418" alt="image"
src="https://github.com/user-attachments/assets/d088524c-ca56-4bf6-8288-447934f4b435"
/>

After

<img width="757" height="443" alt="image"
src="https://github.com/user-attachments/assets/3c3dd849-caeb-41fb-af1c-b0dc0d090bd4"
/>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-06 05:23:53 +00:00
Omkar Kesarkhane 508ea1e220 fix: replace vue-json-pretty with CodeQueryEditor for LLM JSON rendering (#11597)
## What changed

Replaced `VueJsonPretty` (`vue-json-pretty`) with `CodeQueryEditor.vue`
(Monaco-based) for JSON rendering in `LLMContentRenderer.vue`. Inlined
the `MessageItem` sub-component directly into the template with
`CodeQueryEditor` for JSON message content. Added `showLineNumbers` and
`stickyScroll` props to `CodeQueryEditor`. Removed the unused
`vue-json-pretty` dependency from `package.json`. Passed unique editor
IDs from `TraceDetailsSidebar` via a new `instanceId` prop to prevent
Monaco editor ID collisions.

## Why

`vue-json-pretty` formats the entire JSON tree on initial render,
causing lag on long JSON payloads. Monaco (via `CodeQueryEditor`)
renders only visible viewport lines, making performance O(visible)
instead of O(total).

## Approach

- Replaced all 7 `VueJsonPretty` instances in `LLMContentRenderer.vue`
with `<CodeQueryEditor>` in read-only mode (`:read-only="true"`,
`:show-line-numbers="false"`, `:sticky-scroll="false"`)
- Inlined the `MessageItem` sub-component as a `v-for` block with
`CodeQueryEditor` for JSON message content and the existing `v-html`
markdown renderer for non-JSON content
- Converted the component to `<script setup lang="ts">` with
`defineAsyncComponent` for `CodeQueryEditor`
- Added `showLineNumbers` and `stickyScroll` props (both default `true`)
to `CodeQueryEditor.vue` to support the JSON viewer use case
- Added a `watch` on `showLineNumbers` to dynamically toggle line
numbers in Monaco
- Passed `instanceId` from `TraceDetailsSidebar` down to
`LLMContentRenderer` to generate unique editor IDs like
`trace-id-msg-json-editor-0`

## Considered & rejected

- **Render function approach with synchronous import of
CodeQueryEditor** — rejected because it forced manual editor height
computation and module-level counters for editor IDs. Inlining
`MessageItem` as a template component was cleaner and consistent with
the other 5 template `CodeQueryEditor` locations.
- **Retaining `MessageItem` as a separate component with render
function** — rejected because the render function approach was
over-engineering for what is now a simple `v-for` with conditional
`CodeQueryEditor` / markdown branching.

## Risk

Medium. Monaco editor initialization has non-trivial overhead; rendering
multiple editors on one page (e.g., many messages in a conversation)
could impact initial render time. Reviewers should check that the
`instanceId` prop is correctly wired from `TraceDetailsSidebar` to avoid
duplicate Monaco editor IDs, and that the `tw:h-full` class application
on content-wrapper divs doesn't break non-JSON (plain text / markdown)
layouts.
2026-05-05 17:19:27 +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 Kesarkhane eaf81fe7da fix: traces important fields are not visible in field list (#11608)
## What changed

Removed the `label` property from important field entries pushed into
`selectedStreamFields` in the traces `extractFields()` function.

## Why

The `label` field was redundant — it duplicated the `name` property —
and caused display issues in the traces fields sidebar where both `name`
and `label` were shown. The data model already uses `name` as the
display key.

## Approach

Stripped the `label: rowName` assignment from the important fields
branch in `extractFields()`.

## Risk
The field removal changes the object shape pushed to
`selectedStreamFields` for important fields. Verify that no downstream
code (field grouping, semantic matching, search building) depends on
`field.label` being present.
2026-05-05 16:38:03 +00:00
Bhargav 4f881c513f fix: home page UI fix (#11585) 2026-05-04 13:08:49 +00:00
Abhay Padamani 511eccf363 fix: correct field access order for CSV download in TableRenderer (#11591)
- #11574
2026-05-04 12:22:01 +00:00
Ashish Kolhe 3ef50a23e3 fix: field grouping on logs and traces pages (#11576) 2026-05-04 11:39:07 +00:00
Sai Nikhil d6fa94ae74 fix: alert issue -11577 (#11589)
This Pr fixes the issue in #11577
2026-05-04 10:17:55 +00:00
Bhargav 53aca97ca2 fix: default query change when user create schedule pipeline (#11579) 2026-05-04 09:42:40 +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 388c2b496d fix: add alert v3 issues (#11582) 2026-05-04 08:02:39 +00:00
Bhargav f5a8fc6c02 fix: removed duplicate api while view logs from traces with auto run … (#11567)
…enabled
2026-05-04 06:55:41 +00:00
Bhargavandgithub-actions[bot] 852dc329c9 feat: Datasources integration (#11564)
Design at: ui folder

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-01 10:43:47 +00:00
Sai Nikhil d662dc4b31 fix: remove actions scripts from dialog (#11553) 2026-04-30 11:00:49 +00:00
Loakesh Indiran 731a78efaa fix: correct inflated took time in streaming search (search + histogram) (#11551)
**Problem:**
Backend sent cumulative `took` per partition (monotonically increasing:
69, 130, 192...ms). Frontend summed all values → O(n²) inflation (e.g.
23s displayed vs 1.4s actual).

**Fix:**
- Backend: timer now created independently per partition → each
partition reports only its own processing time

**Result:** `took = search + histogram` sums correctly. Verified against
SSE data for both no-cache and cache flows
2026-04-30 10:39:03 +00:00
Sai Nikhil 729ff5181d fix: o2 assistant changes (#11544) 2026-04-30 09:47:54 +00:00
Sai Nikhil 2eedb3f801 fix: log table sync histogram color (#11545)
Thsi pr fixes the issue of mismatch of histogram color and search result
left border color
2026-04-30 08:23:21 +00:00
Sai Nikhil 9c07ab54ec fix: should pass is aggregation value when shifting from promql / sql… (#11548)
This Pr fixes the issue in #11549
2026-04-30 06:12:20 +00:00
Omkar Kesarkhane c46712c8d2 fix: SQL query gets corrupted when replacing [WHERE_CLAUSE] containing $ (#11542)
#11543
2026-04-29 20:38:01 +00:00
Bhargavandomkark06 5807ec112e fix: in sql mode, view logs from traces page to not prefill trace_id … (#11541)
…filter on logs page

---------

Co-authored-by: omkark06 <omkar@zinclabs.io>
2026-04-29 19:34:39 +00:00
Omkar Kesarkhane ca77ce8ef2 fix: fixed sorting by in traces for spans mode (#11538) 2026-04-29 13:41:42 +00:00
Omkar Kesarkhane 1096193a22 fix: In traces changing org should reset the trace results (#11517)
#11384 
#11392
2026-04-29 09:40:06 +00:00
Bhargav 4a36ac75d4 fix: O2 aichatbot fullscreen (#11530) 2026-04-29 09:12:26 +00:00
Bhargav b71ed9cdb6 fix: switching include exclude fix (#11521) 2026-04-29 05:26:43 +00:00
Omkar Kesarkhane 9bf4da294b fix: Show error when selected span id from traces page does not matches in trace (#11519)
#11513
2026-04-28 12:51:54 +00:00
Ashish Kolhe 5deb867f47 fix: load previously used filters (#11515)
- load filter used by users in last session for logs and traces
- we only use keys from co-relation settings
2026-04-28 12:09:52 +00:00
Bhargavandgithub-actions[bot] ee6827e7ce fix: stream page, user defined fields should not have option to Add to defined schema (#11508)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-28 11:36:48 +00:00
Bhargavandgithub-actions[bot] 384251641d fix: on stream or organization change it should load respective data (#11510)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-28 11:35:21 +00:00
4745e7cdc6 chore(deps): bump uuid from 13.0.0 to 14.0.0 in /web (#11438)
Bumps [uuid](https://github.com/uuidjs/uuid) from 13.0.0 to 14.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/uuidjs/uuid/releases">uuid's
releases</a>.</em></p>
<blockquote>
<h2>v14.0.0</h2>
<h2><a
href="https://github.com/uuidjs/uuid/compare/v13.0.0...v14.0.0">14.0.0</a>
(2026-04-19)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>expect <code>crypto</code> to be global everywhere (requires
node@20+) (<a
href="https://redirect.github.com/uuidjs/uuid/issues/935">#935</a>)</li>
<li>drop node@18 support (<a
href="https://redirect.github.com/uuidjs/uuid/issues/934">#934</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>drop node@18 support (<a
href="https://redirect.github.com/uuidjs/uuid/issues/934">#934</a>) (<a
href="https://github.com/uuidjs/uuid/commit/dc4ddb87272ed2843faccd130bcc41d492688bd3">dc4ddb8</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>expect <code>crypto</code> to be global everywhere (requires
node@20+) (<a
href="https://redirect.github.com/uuidjs/uuid/issues/935">#935</a>) (<a
href="https://github.com/uuidjs/uuid/commit/f2c235f93059325fa43e1106e624b5291bb523c4">f2c235f</a>)</li>
<li>Use GITHUB_TOKEN for release-please and enable npm provenance (<a
href="https://redirect.github.com/uuidjs/uuid/issues/925">#925</a>) (<a
href="https://github.com/uuidjs/uuid/commit/ffa31383e8e4e1f0b4e22e504561272041b8738c">ffa3138</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md">uuid's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/uuidjs/uuid/compare/v13.0.0...v14.0.0">14.0.0</a>
(2026-04-19)</h2>
<h3>Security</h3>
<ul>
<li>Fixes <a
href="https://github.com/uuidjs/uuid/security/advisories/GHSA-w5hq-g745-h8pq">GHSA-w5hq-g745-h8pq</a>:
<code>v3()</code>, <code>v5()</code>, and <code>v6()</code> did not
validate that writes would remain within the bounds of a caller-supplied
buffer, allowing out-of-bounds writes when an invalid
<code>offset</code> was provided. A <code>RangeError</code> is now
thrown if <code>offset &lt; 0</code> or <code>offset + 16 &gt;
buf.length</code>.</li>
</ul>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li><code>crypto</code> is now expected to be globally defined (requires
node@20+) (<a
href="https://redirect.github.com/uuidjs/uuid/issues/935">#935</a>)</li>
<li>drop node@18 support (<a
href="https://redirect.github.com/uuidjs/uuid/issues/934">#934</a>)</li>
<li>upgrade minimum supported TypeScript version to 5.4.3, in keeping
with the project's policy of supporting TypeScript versions released
within the last two years</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/uuidjs/uuid/commit/7c1ea087a8149b57380fc8bb7f68c3a215cb6e4b"><code>7c1ea08</code></a>
chore(main): release 14.0.0 (<a
href="https://redirect.github.com/uuidjs/uuid/issues/926">#926</a>)</li>
<li><a
href="https://github.com/uuidjs/uuid/commit/3d2c5b0342f0fcb52a5ac681c3d47c13e7444b34"><code>3d2c5b0</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/uuidjs/uuid/commit/f2c235f93059325fa43e1106e624b5291bb523c4"><code>f2c235f</code></a>
fix!: expect <code>crypto</code> to be global everywhere (requires
node@20+) (<a
href="https://redirect.github.com/uuidjs/uuid/issues/935">#935</a>)</li>
<li><a
href="https://github.com/uuidjs/uuid/commit/529ef0899f5dd503d2ee90d690585d63d78bc212"><code>529ef08</code></a>
chore: upgrade TypeScript and fixup types (<a
href="https://redirect.github.com/uuidjs/uuid/issues/927">#927</a>)</li>
<li><a
href="https://github.com/uuidjs/uuid/commit/086fd7976f11433edf9ac80be876b3ad243fe087"><code>086fd79</code></a>
chore: update dependencies (<a
href="https://redirect.github.com/uuidjs/uuid/issues/933">#933</a>)</li>
<li><a
href="https://github.com/uuidjs/uuid/commit/dc4ddb87272ed2843faccd130bcc41d492688bd3"><code>dc4ddb8</code></a>
feat!: drop node@18 support (<a
href="https://redirect.github.com/uuidjs/uuid/issues/934">#934</a>)</li>
<li><a
href="https://github.com/uuidjs/uuid/commit/0f1f9c9c9cedbae5a1d363d5406c5dfbabe81404"><code>0f1f9c9</code></a>
chore: switch to Biome for parsing and linting (<a
href="https://redirect.github.com/uuidjs/uuid/issues/932">#932</a>)</li>
<li><a
href="https://github.com/uuidjs/uuid/commit/e2879e64bf125add903c1eff6e0860542c605013"><code>e2879e6</code></a>
chore: use maintained version of npm-run-all (<a
href="https://redirect.github.com/uuidjs/uuid/issues/930">#930</a>)</li>
<li><a
href="https://github.com/uuidjs/uuid/commit/ffa31383e8e4e1f0b4e22e504561272041b8738c"><code>ffa3138</code></a>
fix: Use GITHUB_TOKEN for release-please and enable npm provenance (<a
href="https://redirect.github.com/uuidjs/uuid/issues/925">#925</a>)</li>
<li><a
href="https://github.com/uuidjs/uuid/commit/0423d49df2dc8efc300c804731d25f4d7e0fccc4"><code>0423d49</code></a>
docs: remove obsolete v1 option notes (<a
href="https://redirect.github.com/uuidjs/uuid/issues/915">#915</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/uuidjs/uuid/compare/v13.0.0...v14.0.0">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new
releaser for uuid since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=npm_and_yarn&previous-version=13.0.0&new-version=14.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/openobserve/openobserve/network/alerts).

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
Co-authored-by: udev <uddhav@openobserve.ai>
2026-04-28 11:16:34 +00:00
Sai Nikhilandgithub-actions[bot] 1639a35c31 fix: minor isues (#11502)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-28 08:52:07 +00:00
udev 0dd60a8986 fix(cloud): billing page (#11487) 2026-04-28 08:24:21 +00:00
Bhargav 619ee18a5c fix: when switching between organization and toggle sql mode if field… (#11506)
…s not found it should append *
2026-04-28 07:20:14 +00:00
dependabot[bot] 06b82839ea chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /web (#11456) 2026-04-28 15:35:20 +08:00
Sai Nikhil 3ae377a3cf fix: issues over autosuggestion value suggestions on query editor (#11403)
This pr fixes the issues on #11400
2026-04-27 11:29:38 +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
20ed7ee5de fix: add usage reporting to license (#11192)
Add support for license v2 and usage reporting

---------

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
2026-04-27 09:09:31 +00:00
Omkar KesarkhaneandAshish Kolhe 860062faa7 fix: correct Parsing of start_time and end_time Nanosecond Values (#11485)
Co-authored-by: Ashish Kolhe <ashish.j.kolhe@gmail.com>
2026-04-27 08:56:38 +00:00
ktx-kirtan a29c7dd9b7 fix: add tooltips for stream and group names in FieldList component (#11466) 2026-04-27 06:05:14 +00:00