Commit Graph
2784 Commits
Author SHA1 Message Date
ktx-mihirandAbhay Padamani e483e26b9d fix: pipeline module form migration with zod (#13077)
- form migration with zod schema for pipeline module

---------

Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
2026-07-13 12:03:24 +00:00
ktx-mihirandAbhay Padamani 44866b482e fix: billing and others form migration with zod (#12905)
- form migration with zod schema for billing , marketplaces and other
module

---------

Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
2026-07-13 11:38:38 +00:00
ktx-vaidehi 67aec54d27 fix: ui header inconsistency (#13150) 2026-07-13 11:33:39 +00:00
ktx-vaidehi 75fec14891 fix: prevent dialog focus loss from leaking page shortcuts (#13157)
OSelect's trigger lacked role="combobox", so a focused select wasn't
recognized as an input by the shortcut guard — pressing a single-letter
key (e.g. "s" on logs) fired the page-level shortcut instead of typing
into the select. ODialog's auto-focus also skipped selects entirely and
never re-focused after a body swap (e.g. Create/Update toggle), leaving
focus on a button where keystrokes leaked past the modal.

- OSelect: mark the trigger role="combobox" and add type-to-search so a
focused, closed trigger opens the dropdown and seeds the filter.
- ODialog: auto-focus falls back to a combobox trigger when there's no
text field, re-focuses the first field after body content swaps, and now
swallows any bare printable keydown that doesn't land in an input-like
element so page shortcuts can never fire while the dialog is open,
regardless of what has focus.
2026-07-13 11:29:26 +00:00
Subhra264 13c0c77703 feat: sso user blocklist (#13119)
Design at: security/domain-management
2026-07-13 08:01:02 +00:00
Ashish Kolhe 4cdad21f50 feat(org): org deletion with grace period, resurrection & cleanup (#13092)
design at: cloud/org%20deletion/org-deletion-design.md

## Summary

Self-service cloud org deletion with a **recoverable grace period**,
followed by complete, retryable, auditable hard cleanup.

**Lifecycle:** `active → pending_deletion → deleting → gone`

- **Delete** soft-deletes into `pending_deletion` — data intact, org
hidden from the switcher + all API access blocked, `deleted_at`
recorded. With `grace=0` it deletes immediately (legacy path).
- A **promotion scheduler** flips expired pending orgs to `deleting`
after the grace window; the background **cleanup worker** then tears
down all data across object store, file_list, DB, OpenFGA, and billing —
per-step tracked and retried (`MAX_ATTEMPTS`).
- **Resurrect** (`_meta`/root only) flips `pending_deletion` back to
`active` — no data was ever touched.

## Key changes

- New `org_cleanup_tasks` ledger table +
`organizations.status`/`deleted_at` columns (2 migrations);
`DB_SCHEMA_VERSION` 47→48.
- `OrgStatus::PendingDeletion` cache + coordinator events + watch;
`is_blocked` middleware hides & blocks pending/deleting orgs.
- Grace window from enterprise `O2_ORG_DELETION_GRACE_PERIOD_DAYS`
(default 30), read from OSS behind `#[cfg]`.
- Cleanup worker + promotion scheduler run on **compactor** nodes;
dist-lock + atomic CAS make execution exactly-once cluster-wide. Task
rows purged immediately on hard-delete completion and on resurrect (no
retention sweep).
- Audit-trail entry to `_meta` on every status transition
(fire-and-forget).
- Resurrect endpoint (dual-impl, cloud-gated) + list surfaces
`deleted_at`/grace days.
- UI: pending-deletion badge + countdown + resurrect action,
deletion-progress dialog, Danger Zone restyle with type-to-confirm.

## RBAC

In-handler role checks (no OFGA middleware): **delete** = root OR org
Admin; **resurrect** = root only via `_meta`.

## Companion PR

Enterprise side: `openobserve/o2-enterprise` #2128 (config + ofga +
cloud billing).

## Testing

Unit suites pass; full flow live-verified end-to-end (soft-delete →
resurrect with data intact, grace=0 immediate delete, audit entries,
RBAC 403s).

> Requires ≥1 compactor node running for deletions to progress (always
true for single-binary / `ZO_NODE_ROLE=all`).
2026-07-13 07:54:16 +00:00
ktx-mihir efb12a59d8 fix: form migration of ai toolsets module with zod (#12945)
- form migration with zod schema ai toolsets module
2026-07-13 07:33:02 +00:00
Bhargav ff5ddaf6f2 fix: tooltip fix on logs histogram (#13146) 2026-07-13 05:52:58 +00:00
Bhargav 3dfdaa4cc6 fix: disappearing fields on collapse (#13145) 2026-07-13 05:17:26 +00:00
Simran KumariandHengfei Yang 9accadd02f fix: Update awsIntegrations.ts (#12980)
update dashboard link for AWS RDS

---------

Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-07-10 10:08:13 +00:00
a9b67f7b8b chore: update translations from en.json (#13099)
Auto-generated translation updates from the English source file
(`web/src/locales/languages/en.json`).

🤖 Generated with automated translation workflow

Co-authored-by: oasisk <35160958+oasisk@users.noreply.github.com>
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-07-10 09:00:05 +00:00
Ashish Kolhe ddf1935e5c chore: enable-usage-reporting CTA + default reporting OFF (#13128)
## What

Adds an **"Enable usage reporting" call-to-action** to the Cloud Billing
→ Usage tab for organizations that have self-usage reporting turned off,
a **"waiting for usage data" illustrated state** for orgs that have it
on but haven't reported any usage yet, and flips the per-org default for
the setting to **OFF** so the CTA is the entry point.

Previously, when `usage_stream_enabled` was off the Usage tab showed
only the billing-cycle cards and nothing where the daily chart would be.
And when it was on but the org's `usage` stream didn't exist yet, the
panel showed a raw `Search stream not found: usage` error. Now:

- **Reporting OFF** → an illustrated empty state (`OEmptyState`,
`wave-bars`) invites the user to enable reporting. Clicking **Enable**
opens a `ConfirmDialog` explaining the per-org, reversible effect before
the merge-and-POST enable flow runs.
- **Reporting ON, no data yet** → the raw "stream not found" error is
suppressed (on this panel only) and replaced with an illustrated
**"Waiting for usage data"** state. When usage lands, the search
succeeds, the error clears, and the daily chart shows through
automatically.
- **Reporting ON, has data** → unchanged: the daily line chart
(Ingestion + Search + Pipelines) renders.

## Behavior change (please review)

`default_usage_stream_enabled()` now returns **`false` in every build**
(previously cloud builds defaulted to ON when
`ZO_USAGE_REPORT_TO_OWN_ORG` was set). `ZO_USAGE_REPORT_TO_OWN_ORG`
remains the deploy-wide master switch but no longer flips the per-org
default. This is the intentional pairing with the CTA — an "enable"
prompt only makes sense when reporting is off by default. Explicit
stored values (opt-in or opt-out) still win in every build.

## How the waiting state is scoped

The "stream not found" suppression is set via `error_config` **only on
the usage panel's schema** (`usageDailyPanelSchema.ts`) —
`custom_error_handeling: true` with no `custom_error_message` silences
PanelSchemaRenderer's own error blocks. `usage.vue` catches the panel's
`@error`, detects the stream-not-found case specifically (unrelated
query errors still surface), and overlays the graphic. No other chart is
affected.

## Testing

- `web`: 417/417 billing specs pass, incl. new coverage for the enable
CTA, merged-settings POST, the schema silencing the renderer, and the
waiting overlay showing only for stream-not-found (not other errors).
- `cargo check -p openobserve` (non-release): clean.

## Note

These commits were cherry-picked onto a fresh branch from `main` — the
original branch (`chore/usage-ui-cloud-changes`) had already merged its
base work via #13112 and carried divergent, pre-squash history that
would have produced a conflicting diff.
2026-07-10 14:46:36 +05:30
23d8e19826 fix(clipboard): prevent false-success toast when execCommand copy silently no-ops inside a focus-trapped drawer (#13076)
## Summary

Fixes #13062.

On deployments served over plain HTTP (`isSecureContext = false`) the
Clipboard API is disabled, so `writeClipboard` falls back to
`document.execCommand("copy")`. The hidden textarea was appended to
`document.body` — outside reka-ui's `FocusScope` subtree — so the
drawer's focus trap immediately reclaimed focus, cleared the textarea
selection, and `execCommand` ran on an empty selection. Chrome returns
`true` for an empty-selection copy, so no error was thrown and the
"Content Copied Successfully!" toast appeared even though nothing was
copied.

## Changes (`web/src/utils/clipboard.ts`)

**1. Append inside the dialog, not `document.body`**

```ts
const activeEl = document.activeElement as HTMLElement | null;
const container: HTMLElement =
  activeEl?.closest<HTMLElement>('[role="dialog"]') ?? document.body;
container.appendChild(textarea);
```

The temporary textarea is now inserted inside the nearest
`[role="dialog"]` ancestor (the drawer's `DialogContent`). The
`FocusScope` trap does not fire for focus changes that stay within its
own subtree, so the selection survives until `execCommand` runs.

**2. Gate the copy on focus still being held**

```ts
const focused = document.activeElement === textarea;
const copied = focused && document.execCommand("copy");
if (!copied) throw new Error("execCommand copy failed");
```

If focus was reclaimed (edge case) the copy is a known no-op; we throw
so `copyToClipboard` shows an error toast instead of a false-success.

**3. Fall through from `navigator.clipboard` on permission error**

The `navigator.clipboard.writeText()` call is now wrapped in its own
`try/catch` so a `NotAllowedError` (permission denied) falls through to
the `execCommand` path rather than propagating as an unhandled
rejection.

## Test plan

- [ ] HTTP deployment (non-secure context): open Source Details drawer →
click "Copy to clipboard" → paste confirms content is copied; no
false-success toast on failure
- [ ] HTTPS / localhost: `navigator.clipboard` path still used;
behaviour unchanged
- [ ] Deny clipboard permission in browser settings on HTTPS: falls
through to `execCommand` path gracefully

Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-07-10 08:54:57 +00:00
ktx-vaidehiandsai nikhil kethe 467dd0ed55 fix: backfill number input save (#13124)
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
2026-07-10 06:44:31 +00:00
Ashish Kolhe 380c24e628 fix(dashboards): keep Home pin in sync on move/delete (o2-enterprise#2139, #2140) (#13121)
## Summary

Fixes the "pin dashboard to Home" feature going stale when the pinned
dashboard is **moved** or **deleted**.

- **o2-enterprise#2139** (P1) — pin a dashboard, delete it, click the
pin → **404**.
- **o2-enterprise#2140** (P2) — pin a dashboard in Folder B, move it to
Folder A, click the pin → navigates to the **stale folder**.

### Root cause
The pin is stored as an org setting `home_dashboard` holding a static
snapshot `{ dashboardId, folderId, label }`, written once at pin-time
and never reconciled with the dashboard's live state. Both issues are
instances of the same class: a stored reference that drifts out of sync
on move/delete/rename.

## Approach — defense in depth

**L1 — authoritative server-side reconciliation (root fix).**
`move_dashboard` / `delete_dashboard` (OSS
`src/service/dashboards/mod.rs`) now keep the `home_dashboard` org
setting in sync at the mutation source:
- **move** → update the stored `folderId` to the destination folder.
- **delete** → clear the setting.

This is authoritative across every client and API caller (incl. **bulk
delete**, which loops `delete_dashboard`). Reconciliation is
**best-effort** — it runs *after* the primary op succeeds and
logs-and-swallows any error, so it can never fail the move/delete. No
`folder_id` is added to the GET response (no folder-membership info
leak).

**L2 — read-side re-sync (cross-system convergence).** The FE re-reads
the now-authoritative setting when the pinned tab is opened and when the
Dashboards page mounts, so a snapshot that went stale on **another
system** self-corrects before navigation.

**L3 — graceful degradation.** A deleted pin clears + toasts instead of
routing to a 404 (both the Home pinned tab and the Dashboards shortcut
button). Deliberate unpin (× button) stays silent.

## Deferred (follow-ups, out of scope)
- **Super-cluster cross-region reconciliation** — the replication queue
consumer (`src/super_cluster_queue/dashboards.rs`) applies moves/deletes
via table ops directly (bypassing the service layer where L1 lives), and
`system_settings` is not super-cluster-replicated. In a multi-region
deployment the non-originating region's pin isn't reconciled on **move**
(delete still converges via L3). Follow-up: add the same reconcile calls
to the queue consumer.
- **403-on-move (RBAC)** — moving a pin into a folder the current user
can't access. L3 handles 404 only for now; whether to clear the org-wide
setting vs. hide per-user is a separate design.

## Testing
- **Backend:** 6 new unit tests for the reconcile decision logic
(match/no-match, folder-changed, malformed value). `cargo test -p
openobserve home_pin` ✅
- **Frontend:** extended `HomeView.spec.ts` — re-sync on tab activation,
error toast on unavailable, silent deliberate unpin. `HomeView` +
`PinnedDashboardTab` specs: **40 passing** ✅
- **rcheck:** `cargo fmt --all --check` + `cargo clippy -- -D warnings`
clean ✅
- The `openHomeDashboard` shortcut guard is a small guard mirroring the
already-tested `PinnedDashboardTab` unavailable path; it's covered by
manual repro rather than a brittle full-mount of the 1400-line
`Dashboards.vue`.

### Manual reproduction
- **#2140:** pin in B → move to A → pin opens in **A** (correct
URL/breadcrumb); setting shows `folderId: "A"`.
- **#2139:** pin → delete → click pin/shortcut → no 404, toast,
pin/tab/shortcut gone; setting removed.
- **Cross-system:** move on client B while client A sits on Home/AI tab
→ A opens the pinned tab → resolves to the new folder.

## Layer compliance
All changes are OSS and unconditional (no enterprise gating, no
migrations, no new HTTP handlers) — `home_dashboard` is a generic system
setting readable by both builds. Reconciliation lives in the service
layer and reuses `src/service/db/system_settings.rs`.
2026-07-10 06:12:52 +05:30
Ashish Kolhe c2ac5fb89c chore: usage ui cloud changes (#13112)
## What

Adds a **daily usage view** to Cloud Billing → Usage for orgs with usage
reporting enabled, layered on top of the existing billing-cycle cards.
Cloud-only.

### Frontend (cloud billing components)
- **Merged into the existing Usage tab** (no separate tab): the billable
usage cards are always shown; when self-usage reporting is on, a
dashboards **date-range picker** (in the toolbar next to the GB/MB
toggle) drives **both** the cards and a daily chart.
- **Daily line chart** — a single query via `PanelSchemaRenderer` over
the org's own `usage` stream, broken down by event into **Ingestion /
Search / Pipeline / Remote Pipeline** lines (connect-nulls on).
- **Six billable usage tiles** on one row with **automatic unit
scaling** (GB→TB→PB / MB→GB→…) so large numbers stay readable; AI
Credits shown as a count.
- Cards re-fetch over the calendar range (derived `<N>days`, hardened
against bad values).

### Backend (all cloud-gated)
- `usage_stream_enabled` **defaults to `ZO_USAGE_REPORT_TO_OWN_ORG`** in
cloud builds, so orgs report to their own `usage` stream by default; a
per-org opt-out persists an explicit `false`. OSS / self-hosted default
stays `false`.
- **Reserved self-reporting streams** (`usage`, `stats`, `triggers`,
`errors`, `data_retention_usage`) are blocked from user **create /
ingest / delete** — cloud-only; the internal self-reporting writer
(`IngestionRequest::Usage`) is exempt.
- `get_org_usage`: a **missing `usage` / `data_retention_usage` stream
is tolerated** (treated as zero) instead of failing the whole request
with a 400.

## Notes
- No enterprise-repo or DB-migration changes; backend logic stays in OSS
behind `#[cfg(feature = "cloud")]`, per the OSS/Enterprise layer map.
- `Cargo.toml` / `Cargo.lock` are intentionally **not** included (local
`downloadO2.sh` dev-setup).

## Testing
- `cargo check` (OSS) and `cargo check --features cloud` — pass; `cargo
fmt` clean.
- Frontend: **411 billing unit tests** pass; `vue-tsc` typecheck clean;
production build succeeds.
2026-07-09 14:51:01 +00:00
ktx-vaidehi 5ec3e960c7 fix: ui improvement (#13106) 2026-07-09 11:00:22 +00:00
Abhay Padamani d04df5c72d fix: multi sql variable improve ux (#13114)
1. Variable dropdown closes automatically after selecting "Select All"
in multi-select mode.
2. not able to unselect all.
3. for multi select dropdown, requires to click 2 times to close
dropdown list.
2026-07-09 10:29:14 +00:00
Abhay Padamani 4eda24e4af build: filter console logs by feature group in dev and strip log/debug/info from production builds (#13105)
- #13102

## Logging: dev filtering + production strip

### Setup

1. Add to `web/.env` (git-ignored):
   ```ini
VITE_DEBUG_GROUPS=dashboards,auth:* # comma-separated, * wildcard
supported
   ```
2. Run `npm run dev` (editing `.env` auto-restarts Vite — just reload
the page).
3. Log with the feature group as the first argument:
   ```ts
   console.debug('dashboards', 'panel refreshed', panelId);
   ```
4. In DevTools, enable the **Verbose** level to see `console.debug`.

### Default behavior (`VITE_DEBUG_GROUPS` unset)

- **Dev:** all `console.log/debug/info` are hidden — logging is opt-in
per feature group.
- **Production build:** `console.log/debug/info` are always stripped
from the bundle, regardless of env.
- `console.error` / `console.warn` are never filtered or stripped.

Design At: designs/ui/feature-group-console-logging.md
2026-07-09 07:54:18 +00:00
232642bef2 fix: form migration with zod for management module (#12877)
- form migration with zod schema for management module

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
2026-07-09 06:59:45 +00:00
Omkar Kesarkhane be8e0adda3 fix: Removed native scrollIntoView from SpanBlock onMounted as it was blocking scroll (#12837)
## What changed

- **Removed** the native `scrollIntoView()` call from `SpanBlock.vue`'s
`onMounted` hook, which was fighting the user's manual scroll in a
virtualized list.
- **Added** `cancelScroll()` to `TraceTree.vue` — clears pending
timeouts and aborts the TanStack virtualizer retry loop by resetting
`currentScrollToIndex`.
- **Wired cancellations** in `TraceDetails.vue` — calls
`traceTreeRef.value?.cancelScroll?.()` when the sidebar closes, trace
details reset, or a new trace is loaded.
- **Added `onBeforeUnmount`** cleanup in `TraceTree.vue` so a queued
scroll can't fire against a torn-down virtualizer.
- **Added regression tests** in `SpanBlock.spec.ts`,
`TraceTree.spec.ts`, and `TraceDetails.spec.ts` covering all
scroll-cancellation paths.

## Why

When `TraceDetails.vue` is opened with a `span_id` query parameter,
`SpanBlock.vue` called `element.scrollIntoView()` on mount. Because rows
are virtualized via `@tanstack/vue-virtual`, a `SpanBlock` remounts
every time it scrolls into the viewport — so each remount snapped the
viewport back to the pre-selected span, fighting the user's manual
scroll. The issue only manifested when a `span_id` was pre-selected at
page load.
2026-07-09 05:33:35 +00:00
Omkar KesarkhaneandClaude Sonnet 5 9a8aa0a11d fix: Traces run query button UI fix (#13103)
## What changed

- **`web/src/plugins/traces/SearchBar.vue`**: Fixed the Run Query button
by changing `variant="ghost"` to `variant="primary"`, restoring its
primary action styling (matches Logs SearchBar behavior).
- **`web/src/components/TenstackTable.vue`**: Fixed skeleton loader
background color to match the logs version. Added
`bg-(--o2-log-table-row-bg)` and `border-(--o2-log-table-row-border)`
tokens to skeleton rows. Replaced inline shimmer gradients with a
reusable `.o2-skel-pill` CSS class that uses OTable skeleton token
variables (`--color-skeleton-base`, `--color-skeleton-highlight`).

## Why

The Traces Run Query button had lost its primary styling and appeared
visually broken — it was rendering as a ghost button instead of the
prominent primary action button. The generic `TenstackTable.vue`
skeleton loaders had a different background color than the logs-specific
`TenstackTable.vue`, causing visual inconsistency.

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 05:19:08 +00:00
ktx-vaidehi 3ebb8158f9 fix: table listing missing refresh and column toggle (#13065) 2026-07-08 12:53:23 +00:00
ktx-mihirandAbhay Padamani 205d77f007 fix: dashboard form migration with zod (#12906)
- form migration with zod schema for dashboard module

---------

Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
2026-07-08 11:32:35 +00:00
Alexander peczon 78a6f1605f fix: allow Teams workflow webhook URLs (#12872) 2026-07-08 19:39:14 +08:00
Ashish Kolheandktx-abhay c07e4a6879 feat(dashboards): org-wide home dashboard (#13078)
## What

Lets an org pin a single dashboard as a tab on the **Home** page for the
whole organization. The chosen dashboard is stored server-side (per org)
so it persists across devices/browsers, and every member of the org sees
the same home tab.

## How

- **New `useHomeDashboard` composable** — single-value, server-backed
store using the existing `settings/v2` KV API (`setting_key:
"home_dashboard"`, org scope). Optimistic writes with revert-on-failure
(403 → permission toast), a falsy-org guard, and label auto-sync that
persists.
- **Loads in the existing `getOrganizationSettings()` hook** (boot + org
switch), so it is naturally **org-scoped** — switching orgs shows that
org's home dashboard, with no cross-org leak.
- **HomeView** renders the single home tab (read-only
`PinnedDashboardTab` embedding `RenderDashboardCharts` with its own time
picker); the tab × removes it.
- **Set / remove** from the dashboard list ⋮ overflow menu and the
ViewDashboard header button, with an at-a-glance indicator on the home
dashboard.

## Scope

- **Frontend only — no backend changes.** Reuses the existing
`system_settings` table + `settings/v2` handler + its RBAC gate.
- Single value (max 1); pinning a new dashboard replaces the previous
one.
- Permissions are enforced by the settings API (a 403 reverts the
optimistic change + toasts) — no client-side RBAC logic.

## Testing

- **74 unit tests**: composable (optimistic/revert/403/falsy-org
guard/label persist), HomeView (single tab render, ×
pointerdown-activation regression), PinnedDashboardTab (time/panel
contracts, µs time shape, tab-id provide).
- **Verified live against a local server**: set → server persists →
**fresh browser context with no localStorage** renders the tab → replace
swaps the single value → remove clears it. **Org isolation confirmed**
(`default` vs `demo` resolve independent values).
- 0 type errors in touched files.

Single squashed commit; 10 files, +1154/-11.

---------

Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
2026-07-08 08:26:01 +00:00
github-actions[bot]andgithub-merge-queue[bot] 56d467a29f chore: update translations from en.json (#13084)
Auto-generated translation updates from the English source file
(`web/src/locales/languages/en.json`).

🤖 Generated with automated translation workflow

Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com>
2026-07-08 08:24:16 +00:00
Ashish Kolhe 37a92fa87b chore: service graph fixes (#13070) 2026-07-08 05:49:13 +00:00
Bhargav 5c288c3444 fix: logs table FF. UI fix (#13067) 2026-07-08 04:22:15 +00:00
github-actions[bot]andgithub-merge-queue[bot] 4cdcdcc0b2 chore: update translations from en.json (#13075)
Auto-generated translation updates from the English source file
(`web/src/locales/languages/en.json`).

🤖 Generated with automated translation workflow

Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com>
2026-07-08 01:44:06 +00:00
2c087d6953 fix: empty states (#13058)
Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com>
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
2026-07-07 15:38:39 +00:00
Abhay Padamani 717351254f fix: dashboard issues (#13050)
- #13004 
- support styling for HTML panel
<img width="1812" height="651" alt="image"
src="https://github.com/user-attachments/assets/bfa3d3ff-c54d-4deb-823b-c2be9ba6e49b"
/>
<img width="1820" height="720" alt="image"
src="https://github.com/user-attachments/assets/6d31a719-a0a0-4a8b-b7c8-28277a310687"
/>

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

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



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


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


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


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

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

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

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

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

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

- tooltip highlights all values
<img width="600" height="221" alt="image"
src="https://github.com/user-attachments/assets/8ab57fc1-27f7-410c-a279-56ff4cf2295b"
/>
<img width="610" height="305" alt="image"
src="https://github.com/user-attachments/assets/951334ea-9fb2-4249-880b-d564ba1c19c7"
/>
2026-07-07 15:03:13 +00:00
Bhargav 7a8ecab307 fix: player issue fix after 7.4.0 upgrade (#13069) 2026-07-07 12:15:27 +00:00
6422c7fdb6 fix: form migration with zod for iam module (#12841)
- form migration with zod schema for iam module
- https://github.com/openobserve/o2-enterprise/issues/2080

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
2026-07-07 10:54:32 +00:00
BhargavandClaude Opus 4.8 2a3416ee35 fix: Rum automation (#13064)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 10:09:16 +00:00
ktx-vaidehi 177920a048 fix: colors, text based on browser theme (#13053) 2026-07-06 11:52:33 +00:00
Abhay Padamani 63f528c474 fix: left nav issue while hover/click (#13055) 2026-07-06 11:48:14 +00:00
github-actions[bot] 2338196d35 chore: update translations from en.json (#13040) 2026-07-06 19:35:39 +08:00
ktx-vaidehi 19152e23d3 fix: tw prefix pending file (#13052) 2026-07-06 09:59:13 +00:00
5229a8d1e3 fix:tw prefix removal (#13017)
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 08:51:22 +00:00
Bhargav ca056a4098 fix: Rum page error tracking UI improvements (#13047) 2026-07-06 05:50:35 +00:00
Sai Nikhil f16f156693 fix: ai observabilty session list cache (#13023) 2026-07-06 05:48:10 +00:00
Bhargav 9cbc586ca4 fix: rmum datasources cdn integration (#13039) 2026-07-04 12:43:03 +00:00
Bhargav 26ab4864e6 fix: Rum > sessions UI improvement (#13028) 2026-07-03 13:48:02 +00:00
Bhargav 04718da854 fix: no stream selection banner should come when there is no stream s… (#13025)
…elected
2026-07-03 13:43:59 +00:00
Abhay Padamani 70a716f76c fix: tabs issue for tables, forms and date time picker (#13022) 2026-07-03 12:58:51 +00:00
ktx-akshay aeebf03e4e fix: wrap logo in anchor tag to enable right-click open in new tab (#12909)
…mponent
2026-07-03 12:30:21 +00:00
Bhargav cffab89a57 fix: histogram no data availavble fix (#13020) 2026-07-03 09:23:42 +00:00
b3df84b978 fix: frontend keyboard shortcut (#13005)
- when in input trying to write ? dialog is getting open
- dialog stop clickable actions

---------

Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
2026-07-03 09:13:40 +00:00
Omkar Kesarkhane cb60a1a042 fix: fixed correaltion tabs height (#12993) 2026-07-03 06:19:18 +00:00