Commit Graph
431 Commits
Author SHA1 Message Date
Shrinath RaoandClaude Sonnet 4.6 4d2291d335 test: switch playwright CI runners from ubicloud to repo-openobserve (#12317)
## Summary
- Switch `ui_integration_tests`, `merge_and_upload_reports`, and
`playwright_summary` jobs from `ubicloud-standard-8` to
`repo-openobserve-standard-8`
- `build_binary` remains on `ubicloud-standard-16` (unchanged)

## Test plan
- [ ] Verify CI triggers and jobs pick up the correct `repo-openobserve`
runners
- [ ] Confirm `build_binary` still runs on ubicloud

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 19:11:18 +05:30
Shrinath RaoandClaude Sonnet 4.6 63b28f68c6 test: fix playwright CI hangs and add browser caching (#12258)
## Problem

Playwright CI jobs were hanging for 2–6 hours and then timing out
without running a single test. Root cause: `npx playwright install
--with-deps chromium` downloads the browser binary successfully (~3s),
but the `--with-deps` flag then runs a second `apt-get` call that waits
indefinitely for the dpkg lock held by Ubuntu's `unattended-upgrades`
background daemon on ubicloud runners.

Evidence: in a 2h8m run, Chromium downloaded at `08:51:49`, but the
`playwright install` process was still listed as a zombie when the job
was killed at `11:00:23`.

## Fix

Two-layer fix applied to all four workflow files (`playwright.yml` +
`playwright_regression.yml` in both OSS and enterprise):

**1. Kill background apt services at job start** (new first step)
```bash
sudo systemctl stop apt-daily.service apt-daily-upgrade.service unattended-upgrades.service
sudo systemctl stop apt-daily.timer apt-daily-upgrade.timer
sudo systemctl disable apt-daily.service apt-daily-upgrade.service unattended-upgrades.service
sudo flock --wait 30 /var/lib/dpkg/lock-frontend true
```
This eliminates the root cause — the dpkg lock contender is gone before
`playwright install` runs.

**2. Cache the browser binary** (`actions/cache@v4` keyed on
`package-lock.json` hash)

On cache hit, only system dependencies are installed (`playwright
install-deps chromium`), avoiding apt entirely. On cache miss, the full
`playwright install --with-deps chromium` runs with apt services already
stopped.

**3. Filter TestDino uploads to failures only**

Before uploading to TestDino, the JSON report is filtered to only
include tests with `status === 'unexpected'`. This prevents passing
tests from polluting the TestDino failure history.

## Files changed
- `.github/workflows/playwright.yml` — kill apt, cache browser,
cache-aware install, TestDino filter
- `.github/workflows/playwright_regression.yml` — kill apt, cache
browser, split into separate npm/playwright/test steps

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 02:43:06 +00:00
Neha PandClaude Opus 4.7 7157b8feb3 test: add E2E regression tests for scroll retention (#9044) and undefined length (#7354) (#12061)
## Summary
- Adds 2 new E2E regression test specs to `RegressionSet/` for recently
fixed bugs
- Adds 13 new page object methods to `logsPage.js` for scroll,
pagination, scheduled search, and sidebar navigation

https://github.com/openobserve/openobserve/issues/7354
https://github.com/openobserve/openobserve/issues/9044
## Tests Added

### scroll-retention-9044.spec.js (3 tests) 
- Scroll resets to top when navigating page 1 → page 2 via page number
button
- Scroll resets to top when navigating page 2 → page 1
- Scroll resets to top via Next Page (>) button

### undefined-length-7354.spec.js (2 tests)
- No "Undefined Length" error after navigating Logs → Scheduled Search →
Streams → Logs
- No console errors containing "undefined" or "length" after the
reproduction path

## CI
- Updated `playwright_regression.yml` to include both new spec files in
the `Logs-Regression` matrix

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 09:09:20 +00:00
Neha PandClaude Opus 4.7 ab86391649 test: add E2E tests for report folders functionality (#11985)
## Summary
- **Add `reportFoldersPage.js`** page object with 30+ methods for folder
CRUD, report move, search, and cross-folder toggle
- **Add `reportFolders.spec.js`** with 12 tests covering:
  - **P0 Smoke**: Sidebar renders with default folder, create new folder
- **P1 Functional**: Create report via API (creates temp dashboard from
scratch), move report between folders, cross-folder search, folder
sidebar search filter
- **P2 Edge Cases**: Move button disabled when source=destination, save
disabled for empty name, cancel closes dialog, default folder has no
edit/delete options, special characters allowed in folder names
- **Cleanup**: Deletes all test reports, folders, and leaves no
resources behind
- **Add `createDashboardViaApi`** to apiCleanup.js — creates a minimal
v8 dashboard from scratch, removing dependency on pre-existing
dashboards
- **Add `createReportViaApi`**, `fetchReportFolders`,
`deleteReportFolder`, `cleanupReportFolders` methods to apiCleanup.js
- Register ReportFoldersPage in PageManager

## Approach
- Everything created from scratch — unique report via API, unique
folders via UI, all cleaned up afterward
- No dependency on pre-existing dashboards or reports
- Zero `waitForTimeout` calls — all waits use `waitForLoadState`,
`waitFor({ state: 'visible/hidden' })`, or role-based waits
- Serial execution (tests build on each other: create folder → create
report → move report → cleanup)

## Test Results
```
12 passed (2.1m)
```

## CI Integration
- Added to `.github/workflows/playwright.yml` under `Reports` testfolder
alongside existing report tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 07:53:49 +00:00
Harsh Mahajan f877299d31 fix: deepseek write error: Broken pipe and Argument list too long (#11940) 2026-05-19 12:04:00 +00:00
Harsh Mahajan 2423a4b5d4 feat: deepseek pr review (#11858)
resolves https://github.com/openobserve/openobserve/issues/11880
2026-05-18 12:18:19 +00:00
Ashish Kolhe 3161d13785 fix: refactor ssrf (#11734) 2026-05-14 08:32:40 +00:00
Shrinath RaoandClaude Opus 4.7 4211cf37cf test: move QB ingestion to beforeAll, skip redundant initial queries (#11797)
## Summary
- Moves `ingestTestData` from `beforeEach` to `beforeAll` across all QB
describe blocks (one ingestion per describe instead of per test)
- For describe blocks where ALL tests call `setupQueryAndSwitchToBuild`
(run their own query), uses a lite `beforeEach` that skips the initial
`match_all` `/_search` call
- Adds `ingestForQueryBuilderTest` helper that works with Playwright's
`request` fixture (no page needed in `beforeAll`)
- Adds `initQueryBuilderTestLite` helper for describe blocks that don't
need the initial query

**Impact:** ~74 fewer redundant ingestions and ~41 fewer redundant
`/_search` calls per shard run. Estimated reduction: Logs-Builder from
~19 min to ~10-12 min.

## Files changed
| File | Change |
|------|--------|
| `queryBuilder-helpers.js` | Add `ingestForQueryBuilderTest` +
`initQueryBuilderTestLite`, remove ingestion from `initQueryBuilderTest`
|
| `logsQueryBuilder-filters.spec.js` | Split SQL OFF tests into separate
describe, add `beforeAll`, use lite init for main block |
| `logsQueryBuilder-chart.spec.js` | Add `beforeAll` to 5 describe
blocks, use lite init for Chart Type + Chart Auto-Selection blocks |
| `logsQueryBuilder-editor.spec.js` | Add `beforeAll` to 7 describe
blocks, use lite init for Bare Field Select + FieldList visibility
blocks |

## Test plan
- [ ] CI: Logs-Builder shard completes in < 13 minutes (currently ~19
min)
- [ ] All 77 QB tests pass (no regressions)
- [ ] No changes to test assertions or coverage

## Fallback
If this doesn't bring Logs-Builder below ~13 min, Plan B (4-shard split)
is documented in `tests/ui-testing/MD_Files/Logs Shard
Split/4-shard-strategy.md`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 07:18:37 +00:00
Shrinath RaoandClaude Sonnet 4.6 22b23bfb9b test: split logsQueryBuilder into 3 files and rebalance Logs CI shards (#11752)
## Summary

- Splits the monolithic `logsQueryBuilder.spec.js` (82 tests, 1,968
lines) into 3 parallel-friendly files by describe-block grouping:
- `logsQueryBuilder-chart.spec.js` — 28 tests (P0 critical, tab
navigation, chart types, entry conditions, chart auto-selection)
- `logsQueryBuilder-filters.spec.js` — 26 tests (all filter operator
tests)
- `logsQueryBuilder-editor.spec.js` — 23 tests (builder tab
improvements, edge cases, mode toggles, bare field select, field list
visibility)
- Replaces the 2 uneven Logs shards (`Logs-Core` 175 tests /
`Logs-Queries` 57 tests) with 3 balanced shards:
- `Logs-Builder` (~102 tests) — the 3 split files + logsquickmode,
logshistogram, pagination, unflattened
- `Logs-Core` (~92 tests) — logspage, logstable, logsqueries, join,
shareLink, logsAnalyzeDimensions, monaco-query-prefill,
logsqueries.matchall
- `Logs-Features` (~77 tests) — autocomplete, searchJobInspector,
searchPatterns, jobSearch, sql-autocomplete, CTE, downloads,
secondsPrecision, searchpartition, indexquery, region

## Why

The old `Logs-Core` shard took **28 minutes** because
`logsQueryBuilder.spec.js` (82 serial tests in one file) pinned a single
worker while 4 others sat idle. With the split, all 5 workers can
process files in parallel, bringing estimated shard time to **~10-12
minutes each**.

## Test plan

- [x] All 3 new files verified with `--list` (77 tests parsed correctly)
- [x] Shard 1 (Logs-Builder): 65 passed, 5 failed — all 5 failures are
pre-existing timing/flake issues, confirmed against CI run
[#25556422716](https://github.com/openobserve/openobserve/actions/runs/25556422716/job/75017482996)
- [x] Shard 2 (Logs-Core): 88 passed, 4 failed — all 4 failures
pre-existing in untouched files
- [x] Shard 3 (Logs-Features): 62 passed, 15 failed — 11 are
`@enterprise` tests expected to fail on OSS, 4 pre-existing flakes
- [x] Zero import errors, zero missing utility function errors across
all 3 files
- [x] ENT `playwright.yml` updated in companion PR:
openobserve/o2-enterprise

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 15:42:19 +00:00
Harsh Mahajan ac9d365ce2 fix: claude PR is using opus models hence causing high cost (#11744) 2026-05-13 07:20:55 +00:00
Neha PandClaude Opus 4.7 7eed0d0289 test: add regression E2E batch-1 for traces, logs, and alerts (#11706)
## Summary
- Adds 8 bug regression tests across 3 spec files covering Traces, Logs,
and Alerts
- Expands page objects with `skipNavigation` support in
LogsPage.selectStream()
- Fixes `isSuggestionWidgetVisible()` in TracesPage to use
`page.evaluate()` (CSS override bypass)
- Integrates all 3 specs into the CI regression pipeline

## Tests Covered

| Suite | Bug # | Description |
|-------|-------|-------------|
| Traces | #10743 | Stream persistence across navigation |
| Traces | #11580 | Query editor resets after stream type switch |
| Traces | #11217 | Trace editor autocomplete when typing |
| Logs | #10821 | Quick mode toggle click interaction |
| Logs | #10595 | Single row expansion after run query |
| Logs | #9049 | Decimal values rejected in datetime picker |
| Alerts | #10110 | Template not duplicated in override input |
| Alerts | #11577 | Preview chart renders with numeric y-axis |

## Test Results
- **8 passed, 0 skipped, 0 failed** against dev env

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 03:24:52 +00:00
Neha PandClaude Opus 4.7 a86199ec89 test: add Playwright E2E tests for service catalog (#11703)
## Summary
- Adds 21 Playwright E2E tests for the Service Catalog tab
(`/web/traces?tab=services-catalog`)
- New page object at
`tests/ui-testing/pages/tracesPages/servicesCatalogPage.js` with
verified `data-test` selectors
- Registers `ServicesCatalogPage` in PageManager

## Test Coverage (21 tests)
| Category | Tests |
|----------|-------|
| Smoke | 5 — page load, default sort, search filter, clear filter
regression (#11689), row click/side panel |
| Pagination | 5 — default 25/page, 10/page, page nav, prev/next, last
page |
| Column Sorting | 5 — Status, Requests, Error Rate, Service Name, P95
Duration |
| Status Pills | 3 — pill counts, visibility, non-negative values |
| Edge Cases | 3 — rapid typing stability, key services exist, console
errors |

## Key Design Decisions
- **Parallel mode** — avoids serial session degradation
- **Isolated test stream** (`e2e-service-catalog`) — `stream-name`
header on ingestion prevents false positives from default stream data
- **No shared library modifications** — ingestion uses
`getAuthHeaders()` directly in `beforeAll` to add the `stream-name`
header without changing `service-graph-ingestion.js`
- **No `force: true`** — portal interference handled via Escape key
after dropdown selection
- **Zero raw selectors in spec** — all selectors live in the page object
per framework conventions

## Test Plan
- [x] All 21 tests pass locally against dev environment
- [ ] CI passes with `npx playwright test
playwright-tests/Traces/service-catalog.spec.js --config
playwright.config.js`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-09 07:47:34 +00:00
Shrinath RaoandClaude Opus 4.7 511bb5ef67 test: add dedicated playwright regression workflow and sync tests with ENT (#11677)
## Summary
- Added `playwright_regression.yml` with one-shard-per-spec parallelism
(11 regression specs)
- Removed `RegressionSet` shard from main `playwright.yml` (tests now
run via dedicated regression workflow)
- Added `Cache test failures to TestDino` step to regression workflow
(matching main playwright.yml)
- Uses `ubicloud-standard-8` runners for all regression jobs

## Schedule
- Auto-triggers every 4 hours starting from 9 AM IST (3:30, 7:30, 11:30,
15:30, 19:30, 23:30 UTC)
- Manual trigger via `workflow_dispatch`

## Test Plan
- [ ] Confirm `playwright_regression.yml` appears in Actions tab
- [ ] Trigger a manual run to verify all 11 regression specs run in
parallel
- [ ] Verify `playwright.yml` no longer includes RegressionSet shard

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 10:57:27 +00:00
Shrinath RaoandClaude Opus 4.7 284442c9f0 test: add dedicated playwright regression workflow (#11669)
## Summary
- Split regression tests out of main `playwright.yml` into a dedicated
`playwright_regression.yml` workflow
- Regression tests now run with **one shard per spec** for maximum
parallelism
- Removed `RegressionSet` shard from main `playwright.yml`

## Schedule
- Auto-triggers every 4 hours starting from 9 AM IST (3:30, 7:30, 11:30,
15:30, 19:30, 23:30 UTC)
- Manual trigger via `workflow_dispatch` on any branch (always runs on
localhost)

## Test Plan
- [ ] Confirm `playwright_regression.yml` appears in Actions tab
- [ ] Trigger a manual run to verify all 10 regression specs run in
parallel
- [ ] Verify `playwright.yml` no longer includes RegressionSet shard

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 06:34:44 +00:00
ktx-akshay 5d86357fdd test: add regression tests for same-dashboard drilldown-URL clobbering (#11661) 2026-05-08 05:42:40 +00:00
Shrinath RaoandClaude Opus 4.7 3faa3d2ecc test: skip TestDino upload and cache on green runs (#11668)
## Summary
- Skip TestDino "Cache test failures" and "Upload to TestDino" steps
when all tests pass
- Both steps now gate on `needs.ui_integration_tests.result ==
'failure'` so they only run when at least one test shard failed
- The retry mechanism (`tdpw last-failed`) is unaffected — when there
are failures the cache step still runs, and the re-run flow works as
before

## Why
TestDino bills per test case uploaded. Running both steps on green
builds wastes quota with zero value since the user only uses TestDino
for failure analysis.

## Changes
- `merge_and_upload_reports` job: "Cache test failures" step condition
changed from `always()` to `needs.ui_integration_tests.result ==
'failure'`
- `merge_and_upload_reports` job: "Upload to TestDino" step condition
changed from `(success() || failure())` to
`needs.ui_integration_tests.result == 'failure'`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 17:19:08 +00:00
Neha PandClaude Opus 4.7 c41779f779 test: add alerts stream-switching regression tests for 5 canvas/graph bugs (#11651)
## Summary

- Adds 18 new POM methods to `alertsPage.js` for stream-type/query-mode
coherence verification, chart state assertions, query editor
interaction, and aggregation field filtering
- Adds 5 helper methods to `alertCreationWizard.js` for full editor
open/close, stream switching, and query execution
- Adds new regression spec `alerts-stream-switching-regression.spec.js`
covering 5 closed bugs:

| Bug | Description |
|-----|-------------|
| #11580 | Metrics+PromQL -> Logs, PromQL editor persists |
| #11572 | Logs -> Metrics -> Logs, chart error "No field named value" |
| #11571 | Builder -> SQL, chart blank table instead of line |
| #11573 | Full editor open/close blanks the graph |
| #11578 | Agg functions don't filter to integer fields |

## Test plan

- [ ] Run `alerts-stream-switching-regression.spec.js` against dev
environment
- [ ] All 5 tests pass with no raw selectors in spec (POM-compliant)
- [ ] Chart assertions verify canvas child exists (not just bounding
box)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 14:46:49 +00:00
ktx-kirtan 7316ae311f chore: enhance frontend linting and build process (#11643) 2026-05-07 06:00:29 +00:00
Harsh Mahajan f29102fd9d fix: ubi-30 to ubi-16 (#11621) 2026-05-06 17:17:37 +05:30
dependabot[bot] 5098928085 chore(deps): bump slackapi/slack-github-action from 3.0.2 to 3.0.3 (#11600)
Bumps
[slackapi/slack-github-action](https://github.com/slackapi/slack-github-action)
from 3.0.2 to 3.0.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/slackapi/slack-github-action/releases">slackapi/slack-github-action's
releases</a>.</em></p>
<blockquote>
<h2>Slack GitHub Action v3.0.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>66834e4: feat: add instrumentation to address error rates</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/slackapi/slack-github-action/blob/main/CHANGELOG.md">slackapi/slack-github-action's
changelog</a>.</em></p>
<blockquote>
<h2>3.0.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>66834e4: feat: add instrumentation to address error rates</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/45a88b9581bfab2566dc881e2cd66d334e621e2c"><code>45a88b9</code></a>
chore: release</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/1c0bcf08feaa559a9bcfcc249184e13b136ffa55"><code>1c0bcf0</code></a>
chore: release (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/606">#606</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/66834e4b0cad4cbf09ca680587ad8af71d615d4b"><code>66834e4</code></a>
feat: add instrumentation to address error rates (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/600">#600</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/0fe0f902b9f8da107ca0e1314a388c0f57e20d48"><code>0fe0f90</code></a>
build(deps): bump <code>@​actions/github</code> from 9.0.0 to 9.1.1 (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/605">#605</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/c5e70597945c255539c5218d4178ed3c7d8188be"><code>c5e7059</code></a>
build(deps): bump <code>@​slack/web-api</code> from 7.15.0 to 7.15.1 (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/604">#604</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/0325526875571a27abcfd2b302453a90871abbff"><code>0325526</code></a>
build(deps-dev): bump <code>@​biomejs/biome</code> from 2.4.10 to 2.4.13
(<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/601">#601</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/900cd3e6fa9d6eacd8a5512ecff230d08e65aec7"><code>900cd3e</code></a>
build(deps-dev): bump <code>@​types/node</code> from 24.12.0 to 24.12.2
(<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/603">#603</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/53fdcffeb6e4d34cbdf3276f7beadb0ecc7c9fcd"><code>53fdcff</code></a>
build(deps): bump <code>@​actions/core</code> from 3.0.0 to 3.0.1 (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/602">#602</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/26856cc7fb2c1c2951483645f5fdc3643dbe96eb"><code>26856cc</code></a>
build(deps): bump slackapi/slack-github-action from 3.0.1 to 3.0.2 (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/596">#596</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/feba1e29702383a5a3cd5136af0559ba10859b04"><code>feba1e2</code></a>
ci: skip publish step if no release is needed (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/599">#599</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/slackapi/slack-github-action/compare/v3.0.2...v3.0.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=slackapi/slack-github-action&package-manager=github_actions&previous-version=3.0.2&new-version=3.0.3)](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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-05 04:14:38 +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
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
Harsh MahajanandShrinath Rao ce80448cb8 ci: parallel frontend+binary build, remove coverage reporting (#11470)
Build frontend and Rust binary in parallel using /tmp/dist trick
Remove VITE_COVERAGE/COVERAGE env vars and coverage instrumentation
Remove generate_coverage_report job and all nyc upload/report steps
Rename artifact debug-binary → release-ci-binary, add frontend-dist
artifact
Update playwright_summary needs to drop generate_coverage_report

---------

Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
2026-04-28 09:54:30 +00:00
dependabot[bot]andHengfei Yang 7d3c474070 chore(deps): bump slackapi/slack-github-action from 3.0.1 to 3.0.2 (#11501)
Bumps
[slackapi/slack-github-action](https://github.com/slackapi/slack-github-action)
from 3.0.1 to 3.0.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/slackapi/slack-github-action/blob/main/CHANGELOG.md">slackapi/slack-github-action's
changelog</a>.</em></p>
<blockquote>
<h2>3.0.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>79529d7: fix: resolve url.parse deprecation warning for webhook
techniques</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/03ea5433c137af7c0495bc0cad1af10403fc800c"><code>03ea543</code></a>
chore: release</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/90fee45e5a24e9528739e92f00a117715b567f60"><code>90fee45</code></a>
chore: release (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/593">#593</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/b0fbce7f9b4377c9f74655f874e49a08e87de628"><code>b0fbce7</code></a>
ci: send release announcements on publish (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/594">#594</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/0b9c067e72046525581ec13e37caa9d9435cbaec"><code>0b9c067</code></a>
build: automate release packaging and version bumps with changesets (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/592">#592</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/dd817b08e9a373b33f039b7d0ab4328a71425c78"><code>dd817b0</code></a>
docs: update broken hyperlinks to docs (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/591">#591</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/7ce931db3e03539a3974cdb86b42df650e98ce36"><code>7ce931d</code></a>
docs: streamlines doc structure (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/590">#590</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/093434f78f68609806ff1bed395f480e8ada3f8c"><code>093434f</code></a>
build(deps): bump follow-redirects from 1.15.11 to 1.16.0 (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/589">#589</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/1f09fc7124315577beed7be7ebf027afb94ef524"><code>1f09fc7</code></a>
build(deps-dev): bump typescript from 5.9.3 to 6.0.2 (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/584">#584</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/79529d74f960df86c8beb7e51fb8e174fed0c65e"><code>79529d7</code></a>
build(deps): bump axios from 1.14.0 to 1.15.0 (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/588">#588</a>)</li>
<li><a
href="https://github.com/slackapi/slack-github-action/commit/4414b7f01f5b1da26c98314521dcc5c802d0419e"><code>4414b7f</code></a>
build(deps): bump codecov/codecov-action from 5.5.2 to 6.0.0 (<a
href="https://redirect.github.com/slackapi/slack-github-action/issues/581">#581</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/slackapi/slack-github-action/compare/v3.0.1...v3.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=slackapi/slack-github-action&package-manager=github_actions&previous-version=3.0.1&new-version=3.0.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)


</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-04-28 06:26:05 +00:00
Abhay Padamani f1f70f47b4 fix: enhance PR review workflow to manage existing comments (#11447) 2026-04-28 05:49:36 +00:00
Shrinath RaoandClaude Opus 4.7 53b4c543b7 fix: skip milestone on PRs not targeting main branch (#11503)
## Summary
- Adds `github.event.pull_request.base.ref == 'main'` guard to the "Add
milestone to PR" step
- PRs opened against non-main branches (feature, release, etc.) will no
longer receive auto-assigned milestones
- Issue milestone logic is unchanged (issues don't have a target branch)

## Test plan
- [ ] PR opened against `main` → milestone is assigned (existing
behavior preserved)
- [ ] PR opened against a non-`main` branch (e.g., `feature/xyz`) →
milestone step is skipped

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-28 03:46:15 +00:00
Shrinath RaoandClaude Sonnet 4.6 cb4c799476 ci: make merge-reports-to-TestDino non-blocking for playwright_summary (#11457)
## Summary

- In `playwright_summary`, `merge_and_upload_reports` result of
`failure` is now treated as non-blocking (same as `success`/`skipped`)
- The Playwright summary check will pass even if the TestDino
merge/upload job fails (e.g. network issues, bad token, API outage)
- Actual test results (`build_binary`, `ui_integration_tests`) still
gate the summary as before

## Why

The TestDino upload is observability/reporting infrastructure — it
should never cause a PR's required check to fail when the tests
themselves passed. Previously a transient TestDino failure would block
merges.

## Test plan

- [ ] Verify `playwright_summary` passes when `merge_and_upload_reports`
succeeds (existing behavior)
- [ ] Verify `playwright_summary` passes when `merge_and_upload_reports`
fails (new behavior)
- [ ] Verify `playwright_summary` still fails when
`ui_integration_tests` fails (unchanged)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 12:22:27 +00:00
Shrinath Rao 90f2d4e33e ci: auto-assign metadata to PRs and issues (#11455)
## Summary

- Auto-assigns the PR creator as assignee when a PR is opened or marked
ready for review
- Auto-assigns the issue creator if no assignee is set when an issue is
opened
- Adds both PRs and issues to org Project (number 19)
- Sets the lowest open milestone on PRs (non-draft) and issues that
don't already have one set

**Milestone selection logic:**
- Prefers the lowest semver milestone whose due date has not yet passed
(milestones with no due date are treated as not expired)
- If all milestones are past due, falls back to the most recently
expired one

Uses `ORG_ADMIN_TOKEN` (fine-grained PAT) for all operations. Workflow
uses `pull_request_target` so fork PRs also get metadata without needing
checkout.

## Test plan
- [ ] Open a non-draft PR → creator assigned, lowest non-expired
milestone set, added to project
- [ ] Open a PR when all milestones are past due →
least-recently-expired milestone is set
- [ ] Open a PR that already has a milestone → milestone not overwritten
- [ ] Open an issue with no assignee → creator assigned, milestone set,
added to project
- [ ] Open an issue with an existing assignee → assignee not overwritten
2026-04-25 04:07:04 +00:00
udev 1bfbb70a62 chore: improve ci rust build cache (#11426) 2026-04-25 03:57:30 +00:00
Shrinath Rao 42531a808a ci: unify PR/issue metadata automation into single workflow (#11442)
## Summary
- Replaces `label_milestone.yml` and `get_next_milestone.js` with a
single `auto-assign-metadata.yml`
- Fixes a bug in the old workflow where `github.event` (object) was
compared to a string instead of `github.event_name`, causing milestone
assignment to silently never run

## What the workflow does

| Trigger | Actions |
|---|---|
| PR opened / ready for review | Assign creator, set lowest open
milestone (skip if already set), add to project board |
| Issue opened | Assign creator (if unassigned), set lowest open
milestone (skip if already set), add to project board |

## Requirements
Org-level secret `ORG_ADMIN_TOKEN` (fine-grained PAT) with:
- Repository permissions: Issues (R/W), Pull requests (R/W)
- Organization permissions: Projects (R/W)
2026-04-24 13:56:42 +00:00
ktx-kirtan 8bdd333a0f Revert "feat: dashboard validation sync from BE" (#11437)
Reverts openobserve/openobserve#11034
2026-04-24 10:38:50 +05:30
78b7b7b622 feat: dashboard validation sync from BE (#11034)
Design at:
https://github.com/openobserve/designs/blob/main/dashboards/dashboard-validation-sync

---------

Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: udev <uddhav@openobserve.ai>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Abhay Padamani <undefined@users.noreply.github.com>
2026-04-23 08:13:30 +00:00
dependabot[bot] 48280be9a5 chore(deps): bump actions/github-script from 6 to 9 (#11255) 2026-04-23 08:24:16 +08:00
dependabot[bot] 56439f6990 chore(deps): bump softprops/action-gh-release from 2 to 3 (#11256) 2026-04-23 08:23:41 +08:00
dependabot[bot] c9b2b618c3 chore(deps): bump docker/login-action from 3 to 4 (#11345) 2026-04-23 08:17:07 +08:00
ktx-vaidehi 4a6bb5326b fix: dashboard table chart copy cell format (#11357) 2026-04-21 12:04:14 +00:00
32009bd2a5 feat: dashboard auto complete suggestion for sql (#11251)
Design at:
https://github.com/openobserve/designs/blob/main/dashboards/sql-autocomplete/design.md

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: undefined <undefined@users.noreply.github.com>
2026-04-21 09:36:06 +00:00
mmosarafO2 712b530f1b ci: added step to push images to ghcr (#11284) 2026-04-16 14:10:57 +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
85d261b5d0 fix: vulnerability scan fixes (#11249)
| # | Severity | Category | File |
| :--- | :--- | :--- | :--- |
| 1 | **High** | SSRF bypass (IPv6) | `ssrf_guard.rs` |
| 2 | **High** | SSRF bypass (retry) | `enrichment_table/mod.rs` |
| 3 | **High** | SSRF defense-in-depth | `alert.rs` |
| 4 | **Critical** | CORS + credentials | `router/mod.rs` |
| 5 | **Critical** | SQL Injection | `postgres.rs`, `sqlite.rs` |
| 6 | **High** | Privilege escalation (token) | `users.rs` |
| 7 | **Medium** | Panic/DoS | `users.rs` |
| 8 | **Low** | Integer overflow | `alerts/mod.rs` |
| 9 | **Medium** | XSS | `alertSummaryGenerator.ts`, `colorizeQuery.ts`
|
| 10 | **Medium** | Credential exposure in logs | `validator.rs`,
`organization.rs`, `users.rs` |

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
Co-authored-by: Prabhat Sharma <hi.prabhat@gmail.com>
2026-04-14 07:22:11 +00:00
ktx-vaidehi 85c3fd4eda fix: dashboard promql autocomplete (#11233) 2026-04-13 06:59:27 +00:00
Neha PandClaude ed5eca54fb test: tests for bug fixes (#11178)
https://github.com/openobserve/openobserve/issues/11174

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-09 13:28:54 +00:00
Abhay Padamani 5b71a27729 fix: cross link issue with multi stream (#11200) (#11214)
fix #11200
2026-04-09 10:04:18 +00:00
7552a57377 feat: replace variable value with mustache (#11085)
Design at:
https://github.com/openobserve/designs/tree/main/dashboards/mustache-migration

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Abhay Padamani <undefined@users.noreply.github.com>
Co-authored-by: omkark06 <omkar@zinclabs.io>
2026-04-09 08:25:30 +00:00
7389c5b23e fix: service discovery, incidents, service graph (#11180)
Following fixes and enhancements have been made:

**Service Discovery**:
- default field tracker is now used to distinguish services as well in
absence of a user config, the system works out of box
- UI issues
- incorrect field was displayed when a card in recommendation was
clicked
  - scope/workload selectors were leftover
  - stream based service search

**Incidents**:
- AI Analysis failure now emits a failure event correctly, avoiding
false-positive and preventing UI from getting stuck when a prior
`AIAnalysisBegin` event remained in place
- correlate alerts by alert ID, this was a regression after correlation
revamp, useful for correlation in absence of alert ID
- fix sqlx issue wherein `u64` wasn't supported for sqlite, now turned
into `i64`

**Service graph**:
- now ingests using HTTP bulk API. Was failing since recently moved
service graph daemon to alertmanager, which used internal ingest call,
which was unsupported on alertmanager

- Also add Python 2.0 license support for JS

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: ByteBaker <undefined@users.noreply.github.com>
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 11:28:52 +05:30
Abhay Padamani 981e3a3d48 fix: metric chart render issue with camelcase alias (#11118) 2026-04-02 10:05:17 +00:00
udev 0c050cfbbf ci: add merge_group trigger to CI workflows for merge queue support (#11105)
Add merge_group event trigger to all required CI workflows so they run
when PRs enter the merge queue. Fix github.event.pull_request references
in dispatch-event-enterprise.yml to handle merge_group context.
2026-04-01 14:03:37 +05:30
udev ed4e476b48 fix: npm ci axios version (#11090)
- **fix: grpc use native/webpki trust store**
- **use enum to parse values**
- **cargo fmt**
- **fix: pin axios versions in CI**
2026-03-31 15:03:58 +05:30
udev ef57256eeb fix(ci): pass PR target branch in enterprise build dispatch payload (#11074) 2026-03-31 13:56:40 +05:30
258eecd447 test: add E2E tests for autocomplete value suggestions feature (#11027)
Add Playwright E2E tests for the new autocomplete value suggestions
feature that persists field values in IndexedDB and shows them when
typing `field =`.

Tests cover:
- IndexedDB capture from field expansion (Values API)
- IndexedDB capture from search results (marked as expected-to-fail due
to bug)
- Autocomplete suggestions for operators: =, !=, <>, >=, <=, IN, NOT IN,
LIKE
- Numeric value quoting (no quotes for numbers)
- TTL expiry filtering
- Stream/org isolation
- Traces page autocomplete

Note: One test marked as expected-to-fail due to BLOCKER BUG where
captureFromSearchHits() doesn't write to IndexedDB (schemaFields
filtering issue)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Neha P <undefined@users.noreply.github.com>
2026-03-27 12:02:07 +05:30