Commit Graph
2670 Commits
Author SHA1 Message Date
Ashish Kolhe 6ecd9363be fix: refactor corealted metrics tab (#12242) 2026-05-27 09:41:42 +00:00
Ashish Kolhe e4e1a9b5d8 fix: badge text 200GB → 50GB for open_source variant in en.json (#12230)
## Summary
- The previous PR (#12229) fixed most instances of `200GB` in `en.json`
but missed the `open_source.badge_text` key which powers the \"Get
Enterprise Edition\" dialog shown to OSS users
- Fixed: `about.enterprise_offer.open_source.badge_text` → `Free up to
50GB / day`

## Test plan
- [ ] Open the app as an OSS user (no enterprise license)
- [ ] Trigger the Enterprise upgrade dialog
- [ ] Confirm badge reads "Free up to 50GB / day"

🤖 Generated with [Claude Code](https://claude.ai/claude-code)
2026-05-25 23:15:32 +05:30
Ashish Kolhe feb5194375 fix: ingestion limit wording main (#12229) 2026-05-25 21:03:26 +05:30
Sai Nikhil acf7b09959 fix: logs page issues main (#12185) 2026-05-25 10:49:48 +00:00
Ashish Kolhe 5a6681bca0 fix: anomoly history api (#12187) 2026-05-25 07:04:39 +00:00
Bhargav ec34dfac53 fix: checks added for nlp text (#12135) 2026-05-22 10:53:36 +00:00
Sai Nikhil dcc9fb6de9 fix: should allow != in alert import (#12077) 2026-05-21 11:03:25 +00:00
Sai Nikhil 7706658e70 fix: logs page getting auto log out (#12066) 2026-05-21 11:02:57 +00:00
Omkar Kesarkhane 140e630f7a fix: report list not getting refreshed after creating new report (#12054)
#11681 
#11674
2026-05-21 06:03:42 +00:00
Subhra264 6ec195ac81 fix: revamp rbac (#11610)
Revamps the complex rbac logic to make it simpler.
Also, 
- Adds RBAC for anomaly apis
- Fixes https://github.com/openobserve/openobserve/issues/11710
2026-05-20 15:03:23 +00:00
Ashish Kolheandgithub-actions[bot] 9867d6968d fix: IAM user role assignment changes (#11964)
fixes: 

- [x] In the IAM users view, please show the roles assigned to each user
alongside the user (currently not visible). Currently we only show
system roles.
- [x] If a system role has been assigned to an existing user, there's no
way to modify it. we should allow edits.
- [x] Customer expected to be able to set up users/roles ahead of
ingestion, when we click in IAM, it goes there but when we try to
perform operations then it redirects back to data sources section.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 11:07:57 +00:00
Omkar Kesarkhane 3320c7ef55 fix: handled multiple root nodes in trace graph (#11937)
#11936

## What changed

Fixed `TraceDetails.vue` so that `traceServiceMap` captures services
from **all** root span nodes in a trace, not just the first one.
Previously, traces with two or more root spans (e.g., from misconfigured
instrumentation) would show service data only for the first root.

## Why

When a trace has multiple root spans, the service-map waterfall widget
and trace-graph display were incomplete — only the first root's services
appeared. Users investigating instrumentation issues or multi-root
traces (which the existing UI already supports rendering) were missing
service data for the second and subsequent roots.
2026-05-19 06:02:47 +00:00
f736ec844c fix: sessions table (#11746)
- **fix latest sessions api**
- **fix: sessions phase 1 ui**
- **fix: minor ui issues**

---------

Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 19:20:43 +00:00
Abhay Padamani 611e9ee401 fix: do not fill missing vlaue for breakdown field (#11887) 2026-05-18 06:54:41 +00:00
Sai Nikhilandgithub-actions[bot] 65c6e9e050 fix: license ui issues (#11847)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 03:12:31 +00:00
Sai Nikhil 29abb5bab7 fix: alert issues main (#11849) 2026-05-18 03:12:01 +00:00
171ba0df0f fix: templates fetch issue (#11795)
Summary
Migrated the "Add Dashboard from Gallery" feature from GitHub API to S3
(direct bucket access), removing the GitHub rate-limit dependency, and
updated all corresponding test mocks to match the new S3 XML response
format.

What changed
1. Data source: GitHub API → S3 List Objects V2
The gallery was previously fetched from
api.github.com/repos/openobserve/dashboards/contents, which is subject
to GitHub's rate limiting (60 req/hr for unauthenticated requests). It
now reads directly from the S3 bucket openobserve-datasources-bucket via
the List Objects V2 XML API.

loadDashboards() — folder listing now calls:


GET
https://...s3.amazonaws.com/?list-type=2&prefix=dashboards/&delimiter=/
And parses the XML response via parseS3Folders(), which reads
<CommonPrefixes><Prefix> elements.

handleNext() — file listing inside a folder now calls the same S3
endpoint with a deeper prefix, parsed via parseS3Files() which reads
<Contents><Key> elements.

confirmAdd() — dashboard JSON download changed from
raw.githubusercontent.com/... to the direct S3 object URL.

2. Test mock format: JSON → S3 XML
All tests that mocked fetch were still returning the old GitHub JSON
format ([{name, type}]). Since the component now calls
DOMParser.parseFromString(xml, "application/xml"), the JSON strings were
unparseable as XML, resulting in empty dashboards arrays and causing the
"sort dashboards alphabetically" test to fail with undefined.

Added two helpers (s3FolderListXml, s3FileListXml) and updated every
affected fetch mock to return valid S3 List Objects V2 XML. Also
strengthened a few assertions that were previously passing vacuously (an
empty array also "doesn't contain .github").

---------

Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 06:05:26 +00:00
Abhay Padamani 578be0cc8f fix: dashboard table chart padding issue (#11845)
<img width="794" height="364" alt="image"
src="https://github.com/user-attachments/assets/286345df-c6af-4ffb-a71b-e09b48644933"
/>


After this pr:
<img width="429" height="120" alt="image"
src="https://github.com/user-attachments/assets/bfd39b11-ff55-4bb1-b9d3-55f9fe4b52b2"
/>
2026-05-15 13:36:59 +00:00
Abhay Padamani 558f55d11d fix: dashboard no data issue (#11840) 2026-05-15 10:39:49 +00:00
Omkar Kesarkhane fc9b174034 fix: trace details stream name was missing in short url (#11842)
#11841 

## What changed

Added `queryParams.stream = effectiveStreamName.value` to the share URL
generation in `TraceDetails.vue` so the stream name is included when
generating a share/short URL.

## Why

When sharing a URL from the Trace Details view, the stream name
parameter was missing from the generated URL. This caused the shared
link to open without the correct stream context, making it unable to
display the trace properly on navigation.

## Approach

The stream name is already resolved by the `effectiveStreamName`
computed property — which handles both embedded mode (via
`props.streamNameProp`) and standalone mode (via
`router.currentRoute.value.query.stream`). The fix simply passes this
value into the `queryParams` object before the URL is serialized.
2026-05-15 10:07:14 +00:00
Omkar Kesarkhane e207545426 fix: fixed duplicated traces search calls in live mode (#11820)
#11816 

## What changed

Added an optional `skipSearch` parameter to `SearchBar.vue`'s
`applyFilters` method. When `true`, the method applies filters to state
without emitting a `searchdata` event. In `Index.vue`,
`onMetricsFiltersUpdated` now passes `skipSearch=true` when live mode is
ON, letting the datetime trigger (`triggerAbsoluteQueryDebounced`)
handle the search call. When live mode is OFF, `skipSearch=false` so the
search still fires (since the datetime trigger won't run).

## Why

When auto-search is enabled and a user drags on RED charts to select a
time range, both `applyFilters` and `triggerAbsoluteQueryDebounced` were
called simultaneously — each triggering a separate `searchdata` API
call. Per the user, "searchdata should only be called from
triggerAbsoluteQueryDebounced." The fix ensures only one search call
happens by having `applyFilters` skip its own search when live mode is
on.
2026-05-15 06:12:41 +00:00
Omkar Kesarkhane e2742dfe75 fix: Traces LLM tab preview UI issue (#11830) 2026-05-15 05:01:28 +00:00
Omkar Kesarkhane 37f3ed37ca fix: traces spans column sorting (#11817)
#11815 

## What changed

Fixed a bug in `TenstackTable.vue` where the virtual scroll row click
handler used `tableRows[virtualRow.index]` instead of
`formattedRows[virtualRow.index]?.original` to emit row data. When the
table is sorted server-side, `tableRows` retains the original unsorted
order while `formattedRows` reflects the sorted order, so clicking the
first visible row emitted data from the wrong source row. Also added a
regression test for the sorted virtual-scroll case.

## Why

When a user sorted the Traces search results by the spans column and
clicked the first visible row, the `click:dataRow` event emitted the
original unsorted row (e.g., "alpha" at index 0) instead of the sorted
row (e.g., "gamma" at index 0 after sorting desc). This caused
downstream consumers to receive incorrect row data.
2026-05-14 17:20:53 +00:00
Bhargavandomkark06 8e7ddb9bca fix: dynamic budle name (#11831)
Co-authored-by: omkark06 <omkar@zinclabs.io>
2026-05-14 16:53:12 +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
ea5e0e1102 feat: org level storage configuration (#11614)
This adds supports for configuring storage at org level instead of
installation level in ent and cloud setup.

design at:
https://github.com/openobserve/designs/blob/main/infrastructure/custom-s3-bucket-support/design.md

---------

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>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 09:33:02 +00:00
Abhay Padamani acdc9871ee fix: timechart tab issues (#11803)
- https://github.com/openobserve/o2-enterprise/issues/1686
- https://github.com/openobserve/o2-enterprise/issues/1687
2026-05-14 09:05:45 +00:00
Ashish Kolhe 3161d13785 fix: refactor ssrf (#11734) 2026-05-14 08:32:40 +00:00
ktx-vaidehiandktx-mihir b88fa2d209 fix: UX revamp buttons (#11792)
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
2026-05-13 15:52:18 +00:00
Abhay Padamani 26dff8519f fix: timechart rendering issue from visualize to timechart (#11790)
- https://github.com/openobserve/o2-enterprise/issues/1682
2026-05-13 12:43:36 +00:00
Omkar Kesarkhane f79d123ef7 fix: two scrollbars were visible on logs page and logs tab in traces page (#11789) 2026-05-13 11:59:33 +00:00
ktx-vaidehi 8777ba0883 fix: alerts buttons text (#11751) 2026-05-13 09:58:12 +00:00
Sai Nikhil 71a6ccb0f1 fix: disable or enable llm ui using local storage (#11750) 2026-05-13 09:09:16 +00:00
Omkar Kesarkhane 1dac5a7615 fix(traces): open span details in Flame Graph view (#11713)
#11615 

## What changed

Extracted duplicate resize/mousedown/mousemove/mouseup logic from
`TraceDetails.vue` (horizontal resizer) and `FlameGraphView.vue`
(vertical resizer) into a shared `useResizer` composable. The flame
graph now embeds a `TraceDetailsSidebar` in a resizable bottom panel
directly, rather than only emitting `span-selected` events to a parent.

## Why

Both `TraceDetails.vue` and `FlameGraphView.vue` independently
implemented the same resize pattern (`mousedown` → `mousemove` delta
calculation → `mouseup` cleanup), creating duplicated logic that was
brittle and hard to maintain. Additionally, the flame graph view needed
to host the trace details sidebar inline to support the full span-detail
workflow without requiring a parent component to manage the panel.

## Approach

- Created `web/src/composables/useResizer.ts` accepting `direction`,
`initialValue`, `minValue`/`maxValue`, `unit`, `containerRef` (for
percentage mode), `throttleMs`, `invert`, and `onResize` callback —
returns `value`, `isResizing`, and `onMouseDown`.
- Replaced the manual event-binding code in `TraceDetails.vue` (both
left-panel and DAG resizers) with calls to `useResizer`.
- Replaced the duplicated resize code in `FlameGraphView.vue` with
`useResizer`; added a bottom panel section containing
`TraceDetailsSidebar`.
- Added `sidebarVisible` state and `selectedSpan` computed from a new
`spanMap` prop to `FlameGraphView.vue`.
- The `invert` option was added during the session because vertical
resizing worked in the opposite direction — moving the mouse up
increased the element height instead of decreasing it.
- Updated tests to cover sidebar visibility, `selectedSpanId` store
sync, and the new props.
2026-05-13 09:06:29 +00:00
Omkar Kesarkhaneandgithub-actions[bot] e659fb1bb9 fix: added support for schematic group fields mapping when creating multi stream queries (#11741)
#11740 

## Why

Users viewing correlated logs from traces saw results from only one
stream (the "primary" stream). Multi-stream setups where different
streams use different field names for the same semantic concept (e.g.,
`k8s_namespace_name` vs `service_k8s_namespace_name`) would silently
drop streams whose schemas didn't match the filter field exactly. This
PR makes correlation queries multi-stream-aware across both traces and
logs.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-13 05:29:08 +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
Omkar Kesarkhane 4679289aad fix: added multi stream api support in correlated logs (#11722)
## What changed

Replaced single-stream correlation log queries with multi-stream
support. The composable now builds independent SQL queries for each
correlated log stream and sends them as an array to
`_search_multi_stream`, merging and sorting results by `_timestamp` on
completion. Also temporarily disabled hover span selection in the trace
tree due to UX issues, and made the timestamp column configurable via
`store.state.zoConfig.timestamp_column`.

## Why

The previous implementation only queried the primary stream (first log
stream), missing correlated logs from other streams. Multi-stream
support is needed to show all correlated logs across streams. Hover span
selection was producing `null` span IDs on unhover, causing UX glitches
— disabled pending a proper fix.
2026-05-12 12:01:46 +00:00
udev 37c008130b fix: query explain analyze for enrichment tables (#11732)
- **fix enrichment table query explain analyze**
- **revert lock file changes**
2026-05-12 09:50:49 +00:00
99fb8e46a2 fix: support cycle in usage (#11547)
This adds support for current cycle for stripe users as period for usage
page

---------

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-05-12 08:17:34 +00:00
Sai Nikhilandudev 2a74243331 fix: llm observability issues (#11723)
Co-authored-by: udev <uddhav@openobserve.ai>
2026-05-12 07:41:59 +00:00
Neha PandClaude Opus 4.7 f2f467b96e test: add regression tests for traces bugs #11687 and #11689 (#11718)
- #11689: Service Catalog clear search filter blanks page regression
- #11687: Service graph side panel $ pattern fix verification
- Added clickServiceCatalogTab() and clickFilterClearButton() to
servicesCatalogPage

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 17:06:17 +00:00
dependabot[bot]andHengfei Yang 05561642d4 chore(deps): bump fast-uri from 3.1.0 to 3.1.2 in /web (#11704)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to
3.1.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.2</h2>
<h2>⚠️ Security Release</h2>
<ul>
<li>Fix for <a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-v39h-62p7-jpjc">https://github.com/fastify/fast-uri/security/advisories/GHSA-v39h-62p7-jpjc</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Handle malformed fragment decoding as a parse error by <a
href="https://github.com/mcollina"><code>@​mcollina</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/171">fastify/fast-uri#171</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.1...v3.1.2">https://github.com/fastify/fast-uri/compare/v3.1.1...v3.1.2</a></p>
<h2>v3.1.1</h2>
<h2>⚠️ Security Release</h2>
<ul>
<li>Fix for <a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-q3j6-qgpj-74h6">https://github.com/fastify/fast-uri/security/advisories/GHSA-q3j6-qgpj-74h6</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>build(deps-dev): bump tsd from 0.32.0 to 0.33.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/148">fastify/fast-uri#148</a></li>
<li>build(deps): bump actions/checkout from 4 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/149">fastify/fast-uri#149</a></li>
<li>chore(.npmrc): ignore scripts by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/150">fastify/fast-uri#150</a></li>
<li>build(deps-dev): remove <code>@​fastify/pre-commit</code> by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/151">fastify/fast-uri#151</a></li>
<li>build(deps): bump actions/setup-node from 4 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/152">fastify/fast-uri#152</a></li>
<li>ci(ci): add concurrency config by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/153">fastify/fast-uri#153</a></li>
<li>build(deps): bump actions/setup-node from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/154">fastify/fast-uri#154</a></li>
<li>build(deps): bump actions/checkout from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/156">fastify/fast-uri#156</a></li>
<li>chore(license): standardise license notice by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/159">fastify/fast-uri#159</a></li>
<li>style: remove trailing whitespace by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/161">fastify/fast-uri#161</a></li>
<li>ci: remove unused github files by <a
href="https://github.com/Tony133"><code>@​Tony133</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/162">fastify/fast-uri#162</a></li>
<li>chore: update readme by <a
href="https://github.com/Tony133"><code>@​Tony133</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/164">fastify/fast-uri#164</a></li>
<li>build(deps): bump
fastify/workflows/.github/workflows/plugins-ci-package-manager.yml from
5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/165">fastify/fast-uri#165</a></li>
<li>build(deps): bump fastify/workflows/.github/workflows/plugins-ci.yml
from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/166">fastify/fast-uri#166</a></li>
<li>build(deps-dev): bump neostandard from 0.12.2 to 0.13.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/167">fastify/fast-uri#167</a></li>
<li>ci: add lock-threads workflow by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/169">fastify/fast-uri#169</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Tony133"><code>@​Tony133</code></a> made
their first contribution in <a
href="https://redirect.github.com/fastify/fast-uri/pull/162">fastify/fast-uri#162</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.1">https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/919dd8ea7689fcc220d0d9b71307f5095e723ef9"><code>919dd8e</code></a>
Bumped v3.1.2</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c65ba573714af6b8e19e481d9444c27bc4355d07"><code>c65ba57</code></a>
fixup: linting</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6c86c17c3d76fb93aa3700ec6c0fa00faeb97293"><code>6c86c17</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/a95158ad308df4d92bbde4eba699ce5165e9f796"><code>a95158a</code></a>
Handle malformed fragment decoding without throwing (<a
href="https://redirect.github.com/fastify/fast-uri/issues/171">#171</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/cea547c91c6aae610041b17b75792ca4aa035a6d"><code>cea547c</code></a>
Bumped v3.1.1</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/876ce79b662c3e5015e4e7dffe6f37752ad34f35"><code>876ce79</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/dcdf690b71a7bb3a19887ada65a9ab160d83bcc0"><code>dcdf690</code></a>
ci: add lock-threads workflow (<a
href="https://redirect.github.com/fastify/fast-uri/issues/169">#169</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c860e6589b1ac346f66e114b4eadb9613768108c"><code>c860e65</code></a>
build(deps-dev): bump neostandard from 0.12.2 to 0.13.0 (<a
href="https://redirect.github.com/fastify/fast-uri/issues/167">#167</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9b4c6dc82fde0ca44e674403ece9185d85bb6d5f"><code>9b4c6dc</code></a>
build(deps): bump fastify/workflows/.github/workflows/plugins-ci.yml (<a
href="https://redirect.github.com/fastify/fast-uri/issues/166">#166</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/85d09a9f7aa76b32c2bb005a90a71e144c361d24"><code>85d09a9</code></a>
build(deps): bump
fastify/workflows/.github/workflows/plugins-ci-package-mana...</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.0&new-version=3.1.2)](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>
2026-05-11 09:15:18 +00:00
Bhargav 3e070bff8c fix: Patterns UI change (#11711) 2026-05-11 07:09:10 +00:00
Abhay Padamaniandktx-akshay 49502028b3 impr: builder tab improvements (#11586)
- #11565 

Design At:
https://github.com/openobserve/designs/tree/main/dashboards/builder-tab-impr


- Implemented parseWhereClauseToFilter to convert raw WHERE clause text
into a structured filter format.
- Added extractWhereClause to retrieve the WHERE clause from a full SQL
query.
- Enhanced unit tests for both functions to cover various scenarios
including empty inputs, valid conditions, and error handling.

---------

Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
2026-05-11 03:59:23 +00:00
Ashish Kolheandgithub-actions[bot] c686b359bf fix: corelation custom groups + settings fixes (cherry-pick from v0.90.0) (#11705)
## Summary
Cherry-picks two correlation fixes from `branch-v0.90.0` to `main`:

- `a077b760c` fix: corelation custom groups (#11662) — adds `group`
field to `FoundGroup` and threads `semantic_groups` through
`calculate_dimension_analytics`
- `211876a97` fix: corelation settings fixes (#11666) — validates
tracked alias IDs against bundled defaults + custom DB groups; sanitizes
payload (drops `service` and orphan IDs) before save

Conflicts resolved by taking v0.90.0 versions (the fixes are the point
of the cherry-pick). Companion PR on o2-enterprise:
openobserve/o2-enterprise#1648 — that PR is currently red because it
depends on the new `FoundGroup.group` field landing here first.

## Test plan
- [ ] CI green (build, unit, playwright)
- [ ] Verify save Identity Config rejects invalid alias IDs but accepts
default + custom IDs
- [ ] Verify `_analytics` endpoint returns `group` category on
FoundGroup

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 03:51:39 +00:00
aa98badd80 fix: refactor llm attribute trace (#11626)
- **fix: llm insights tab**
- **remove custom attributes and use gen ai spec**

---------

Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-05-10 03:38:14 +00:00
Omkar Kesarkhane b864b093f2 fix: service details operations table sorting (#11683)
#11590


## What changed

Fixed sorting on the operations and resource tables in the service
details side panel. Previously, columns like P99, P95, and P75 sorted by
their formatted string values (e.g., "1.23ms") instead of their raw
numeric values, producing incorrect sort order. Sorting is now handled
client-side via a custom sort function that compares raw latency values,
and the TenstackTable receives explicit `sort-by`/`sort-order` props
with a `sort-change` event handler.

## Why

The TenstackTable's built-in sorting handler sorted on the formatted
display value, which is a string — making numeric sorting incorrect for
latency percentile columns. The fix aligns with how sorting is handled
in `ServicesCatalog.vue` (referenced implementation pattern).
2026-05-08 12:10:58 +00:00
mac119 e68e0c5dfc fix(web): add frontend validation for alert name special characters (… (#11366)
## Summary
Fixes #9875

When creating an alert from a dashboard panel, the alert name may
contain
spaces or special characters that the backend rejects (HTTP 500). This
PR
adds frontend validation to catch these invalid characters before
submission.

## Changes
- **`useAlertForm.ts`**: Added regex `ALERT_NAME_UNSUPPORTED_CHARS`
matching
  backend `RE_OFGA_UNSUPPORTED_NAME` pattern. Three validation checks in
`validateAndFocus()`: empty name, unsupported chars (:#?'"%& and
whitespace),
  and forward slash.
- **`AddAlert.vue`**: Added `:rules` with `reactive-rules` on the alert
name
  `q-input` for real-time inline error display.
- **i18n**: Added `nameRequired`, `nameNoSpecialChars`, `nameNoSlash`
keys
  to 11 language files (en, zh, ja, de, fr, es, ko, it, nl, pt, tr).

## How to Test
1. Navigate to **Alerts → Add Alert**
2. Type `my alert` (with space) → red error shown immediately
3. Type `test:name` or `alert#1` → same validation error
4. Type `valid_alert` → passes validation
5. From **Dashboard panel → Create Alert** → auto-generated name should
   have no spaces (existing `sanitizePanelTitle` logic)

## Checklist
- [x] Frontend changes only
- [x] Validation matches backend regex
- [x] i18n translations added for all supported languages
- [x] No lint errors
2026-05-08 12:10:30 +00:00
BhargavandClaude Opus 4.7 9d13397c38 fix: home usage component (#11679)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 11:34:25 +00:00