5122275d05
feat: agent level filters ( #12691 )
...
- **add agent filters, agent name mapping and normalization**
- **chore: update translations from en.json**
- **agent filter, rebased**
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech >
2026-07-01 18:08:46 +00:00
Harsh Mahajan
0f08cfd999
fix: o2-ai frontend issue ( #12814 )
2026-06-25 11:17:14 +00:00
Bhargav and github-actions[bot]
c494fe93f9
fix: Issue 12803 language translation fix ( #12839 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-24 10:03:43 +00:00
Neha P and Claude Opus 4.7
84122a5fad
fix: return 403 Unauthorized from AI chat endpoints when user lacks access ( #12558 )
...
## Summary
Fixes - https://github.com/openobserve/o2-enterprise/issues/1892
- Added explicit permission check in `chat` and `chat_stream` handlers
that returns `MetaHttpResponse::forbidden("Unauthorized Access")` (HTTP
403) when the user lacks AI access, ensuring consistent 403 behavior
regardless of OpenFGA state
- Updated all 4 SSE error event handlers in `O2AIChat.vue` to recognize
authorization-related error messages and display the standard
"Unauthorized Access" message
## Why
When a user without AI permissions used the query editor, the auth
middleware could pass the request through (e.g., when OpenFGA was
disabled), and the agent service error would arrive as an SSE event
within a 200 response — bypassing the standard 403 flow. This fix
ensures the backend returns proper HTTP 403 and the frontend displays
the standard unauthorized message consistently.
## Test plan
- [ ] Verify non-root user without AI permission gets HTTP 403 from
`/api/{org}/ai/chat_stream`
- [ ] Verify non-root user without AI permission gets HTTP 403 from
`/api/{org}/ai/chat`
- [ ] Verify root users are unaffected (bypass permission check)
- [ ] Verify the frontend displays "Unauthorized Access: You are not
authorized to perform this operation..." for auth-related SSE errors
- [ ] Verify non-auth SSE errors continue to display normally
🤖 Generated with [Claude Code](https://claude.com/claude-code )
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-10 13:57:25 +00:00
ktx-mihir
004e320b6d
fix: ux revamp add condition layout and crosslink combobox ( #12443 )
...
- Add condition layout fix
- drilldown close button alignment and size sm
- OCombobox item align center
- Crosslink combobox and input based on condition
- Actions timezone alignment
- Ai toogle expand shortcut enhance
2026-06-04 11:55:35 +00:00
Bhargav
b5eba8eb99
fix: o2 ai prompt editor fix ( #12397 )
2026-06-02 05:15:44 +00:00
ktx-vaidehi
f8249d341c
fix: ux revamp search input component ( #12383 )
2026-06-01 12:03:44 +00:00
424425ce1d
fix: o2 ai assistant revamp ( #12343 )
...
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-29 17:06:33 +00:00
76959751f7
fix: FE shortcut support ( #11866 )
...
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-29 17:05:44 +00:00
ktx-vaidehi and Claude Sonnet 4.6
1d60431204
fix: ux revamp toast design ( #12336 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 15:49:12 +00:00
+5
ae22a74e62
feat: ux improvement main ( #11838 )
...
#11720
Design at:
https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-dialog/design.md
---------
---------
Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com >
Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com >
Co-authored-by: Sai Nikhil <nikhil@openobserve.ai >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech >
Co-authored-by: Bhargav <BJP232004@GMAIL.COM >
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech >
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <127078473+omkarK06@users.noreply.github.com >
Co-authored-by: omkark06 <omkar@zinclabs.io >
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech >
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech >
Co-authored-by: Shrinath Rao <shnath@openobserve.ai >
2026-05-28 11:00:49 +00:00
ktx-kirtan
1829cd46f8
fix: ux improvement dialog - Revert ( #11824 )
...
Reverts openobserve/openobserve#11644
2026-05-14 14:35:28 +00:00
be427039f0
feat: ux improvement dialog ( #11644 )
...
#11720
Design at:
https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-dialog/design.md
---------
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech >
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech >
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech >
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech >
Co-authored-by: Shrinath Rao <shnath@openobserve.ai >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 12:00:25 +00:00
87da57db50
feat: ux improvement tabs and buttons ( #11595 )
...
Design at:
https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-tabs-buttons/design.md
---------
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech >
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech >
Co-authored-by: Copilot <copilot@github.com >
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech >
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech >
2026-05-06 15:00:37 +00:00
Bhargav
4f881c513f
fix: home page UI fix ( #11585 )
2026-05-04 13:08:49 +00:00
Sai Nikhil
729ff5181d
fix: o2 assistant changes ( #11544 )
2026-04-30 09:47:54 +00:00
Bhargav
4a36ac75d4
fix: O2 aichatbot fullscreen ( #11530 )
2026-04-29 09:12:26 +00:00
cc466132a7
chore: new home page ( #11458 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Ashish Kolhe <undefined@users.noreply.github.com >
2026-04-25 19:18:21 +00:00
Hengfei Yang and Claude Opus 4.7
f897aa2cb2
feat(o2ai): render CLI tool_result summary and command ( #11449 )
...
## Summary
- Render `summary.return_code`, `stdout_lines`, `stderr_lines`, and
`truncated` in the chat tool-call details panel so CLI tool results show
parsed info like MCP tools do.
- Whitelist `command` in `getToolCallDisplayData` and add a "Command"
row with a copy button so the actual CLI command the agent ran is
visible.
## Context
The o2-ai server already emits a uniform `tool_result` shape for CLI
tools (see openobserve/o2-ai#96 — wait for that to merge):
```json
{
"type": "tool_result",
"tool": "cli_kubectl",
"success": true,
"message": "Exited 0 (12 lines stdout)",
"summary": { "return_code": 0, "stdout_lines": 12, "stderr_lines": 0 },
"call_args": { "command": "get pods -n default" },
"call_id": "call-uuid-v7"
}
```
`ContentBlock.summary` was already being captured from the event — the
template just had no conditionals for the CLI fields. This PR adds them.
## What this does NOT do
- Does not show raw `stdout`/`stderr` text (server currently only sends
line counts). If we want inline output, that's a separate backend
change.
- Does not add a custom header format for CLI — the default
`block.message` ("Exited 0 (12 lines stdout)") renders fine as plain
text.
## Test plan
- [x] `npm run type-check` — clean
- [ ] Manually verify in dev chat that a CLI tool call (`kubectl get
pods`) shows the Exit code / Stdout / Stderr rows and the Command row
with copy button
- [ ] MCP tools (SearchSQL, StreamList) still render the existing
Results / Duration rows unchanged
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-24 15:32:07 +00:00
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
f4d148ea65
fix: evaluations as a tab in traces clean ( #10988 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Ashish Kolhe <undefined@users.noreply.github.com >
2026-04-08 07:02:38 +00:00
Bhargav and Claude Opus 4.6
4dccaa377a
fix: O2 AI session response issue ( #11111 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 09:03:15 +00:00
d9ae7c2860
fix: created a single button toggle with Spans | Traces | Search Graph ( #11048 )
...
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <undefined@users.noreply.github.com >
2026-03-30 23:15:11 +05:30
udev
1c7a3135de
feat: add patch panel apis ( #11025 )
2026-03-28 03:15:34 +05:30
Bhargav
f8b2e5e9fa
fix: persist up and down vote in o2ai ( #11037 )
2026-03-27 09:52:30 +05:30
Bhargav
c0d9fc49de
fix: Ai logo enhancement ( #11006 )
2026-03-25 11:37:48 +05:30
udev
d3f6a333f9
feat: summary for tool responses ( #10955 )
2026-03-20 18:22:22 +05:30
udev and Harsh Mahajan
32fdd60b2d
fix: assistant issues ( #10893 )
...
- **require confirmation to update_stream_settings**
- **fix: adding query param into doc**
- ** fix: partial text rendering and traces search**
---------
Co-authored-by: Harsh Mahajan <007harshmahajan@gmail.com >
2026-03-13 17:25:50 +05:30
udev
a1ba8b1b71
feat: Ai metering for cloud ( #10824 )
2026-03-13 00:57:31 +05:30
udev
876c6b2686
fix: tool calls for get schema and navigation button ( #10801 )
2026-03-10 13:23:43 +08:00
418ccaa01e
fix: llm evaluations ( #10612 )
...
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 17:55:01 +05:30
Bhargav
72b90a93e3
fix: Feat nlp mode ( #10638 )
2026-02-27 18:26:36 +08:00
e486ef27f9
fix: navigation and improve sql skills ( #10622 )
...
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: udev <undefined@users.noreply.github.com >
2026-02-25 16:23:04 +05:30
udev
f59382dea1
feat: navigation for o2 assistant ( #10564 )
...
- **improve dashbaord tool prompt**
- **fix: pipeline create handler to return a pipeline ID and name**
- **feat: navigation event handler, button rendering**
2026-02-18 21:46:21 +05:30
Ashish Kolhe
e9785af1f0
fix: ai chat telemetry ( #10546 )
2026-02-17 17:37:59 +05:30
udev
b0eac49a3a
fix: [ITER 2] O2 Assistant improvements ( #10473 )
2026-02-13 17:53:05 +05:30
udev
c64197b2af
fix: O2A title and tool call improvements ( #10385 )
2026-02-05 23:55:12 +05:30
Harsh Mahajan
2e6d970946
fix: sre-agent error propogation ( #10383 )
...
### **PR Type**
Bug fix
___
### **Description**
- Display streamed `error` events in chat
- Finalize active tool calls on errors
- Persist error messages to history
- Stop further stream processing on error
___
### Diagram Walkthrough
```mermaid
flowchart LR
stream["Streamed event payloads"]
toolcall["Active tool call state"]
chat["Assistant chat message"]
history["Saved chat history"]
stream -- "type=error" --> toolcall
toolcall -- "finalize tool_call block" --> chat
stream -- "format error + suggestion" --> chat
chat -- "saveToHistory()" --> history
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>O2AIChat.vue</strong><dd><code>Handle streamed errors
and finalize tool calls</code>
</dd></summary>
<hr>
web/src/components/O2AIChat.vue
<ul><li>Add <code>data.type === 'error'</code> handling in stream
loops<br> <li> Convert any <code>activeToolCall</code> into a completed
<code>tool_call</code> block<br> <li> Append/create assistant message
with formatted error and optional <br>suggestion<br> <li> Save error to
history, scroll, then return</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10383/files#diff-a6a125719a7b32b31b53fcfe05c12081d82c139a401699affdda0db8e73887e3 ">+112/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
2026-02-05 15:20:33 +05:30
udev
b23f6273b7
fix: o2 assistant issues ( #10315 )
2026-02-02 02:23:36 +05:30
Sai Nikhil
ec2a9cc771
fix: o2 ai issues when enabled ( #10291 )
...
### **User description**
This PR fixes the issue in E: 1216 (1 & 3) , E: 1218 , along with append
the fields when sending to ai chat
___
### **PR Type**
Enhancement
___
### **Description**
- Add `appendMode` prop for AI Chat
- Auto-scroll input on append
- Propagate and clear chat context
- UI tweaks: widths, toggle styles, splitter
___
### Diagram Walkthrough
```mermaid
flowchart LR
SP["ScheduledPipeline.vue"] -- "sendToAiChat(value,append)" --> O2AIChat
ML["MainLayout.vue"] -- "sendToAiChat(value,append)" --> O2AIChat
O2AIChat["O2AIChat.vue"] --> AM["appendMode prop"]
AM -- "true" --> APPEND["append input with separator"]
AM -- "false" --> REPLACE["replace input"]
APPEND --> SCROLL["scrollInputToBottom()"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>10
files</summary><table>
<tr>
<td><strong>O2AIChat.vue</strong><dd><code>Add `appendMode` prop and
scroll input enhancements</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-a6a125719a7b32b31b53fcfe05c12081d82c139a401699affdda0db8e73887e3 ">+47/-1</a>
</td>
</tr>
<tr>
<td><strong>ScheduledPipeline.vue</strong><dd><code>Propagate
`appendMode` and update sendToAiChat signature</code> </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-63d8f838bb880356e7804b4a57fd9223d4f2c189de7aadc7cf33cba723b29aaf ">+10/-1</a>
</td>
</tr>
<tr>
<td><strong>MainLayout.vue</strong><dd><code>Bind `appendMode` and clear
context after send</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-91e4134141264c4624d4eb4cfa987b33ed31eb6f551e089c0b26f2610dd54362 ">+13/-3</a>
</td>
</tr>
<tr>
<td><strong>DetailTable.vue</strong><dd><code>Update sendToAiChat to
accept `append` parameter</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7 ">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>Index.vue</strong><dd><code>Adjust splitter when AI chat
opens or closes</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-0323c3da69b369843c5d72bf4df5b00ca6b5147192a213baf331659ecf92af62 ">+21/-2</a>
</td>
</tr>
<tr>
<td><strong>JsonPreview.vue</strong><dd><code>Extend sendToAiChat
signature with `append`</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-3985073134d35ff074742944b114d0905524038b42e6d2ac887fef2c8436fb16 ">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>SearchBar.vue</strong><dd><code>Add toggle CSS class and
dynamic width style</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-81893de4edf186b0556f610acb280c87baa2ffe67d3b48a60a866094c7635baf ">+10/-1</a>
</td>
</tr>
<tr>
<td><strong>SearchResult.vue</strong><dd><code>Add `append` flag to
sendToAiChat emit</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-5e65533aa4754bb6d0074fda18ffc1ecacded3b9ca6bc28a161c3f6b12f20195 ">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>TenstackTable.vue</strong><dd><code>Tweak AI button position
and append flag support</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-bc3c669f5ab65a42ae378df1f7d6b35014c9c220790bdcc72b47f55d1385dc22 ">+5/-5</a>
</td>
</tr>
<tr>
<td><strong>Functions.vue</strong><dd><code>Modify sendToAiChat to
include `append` argument</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10291/files#diff-ad825ec1b8d58aec9bf5d2553ea09394a30b22ac59d708bcf9e56168ca1daaf6 ">+2/-2</a>
</td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
2026-01-30 20:06:25 +05:30
udev
32e6ac9831
fix: add session id and traceparent to ai calls ( #10230 )
2026-01-30 00:02:24 +05:30
Sai Nikhil
67928b9c16
fix: remove sre chat completely ( #10197 )
...
### **User description**
1. Remove SRE chat completely , use existing ai component
___
### **PR Type**
Enhancement
___
### **Description**
- Remove SRE chat and related state/actions
- Consolidate AI chat integration across components
- Update tests to dispatch AI chat actions
- Prune unused payload fields and optional context injections
___
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><details><summary>2
files</summary><table>
<tr>
<td><strong>IncidentDetailDrawer.spec.ts</strong><dd><code>Remove SRE
chat mocks in tests</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-2f7f4d7de8c794b899f5ca1d765d18a4a13e92c1e595f580068ca4a7176bda10 ">+0/-7</a>
</td>
</tr>
<tr>
<td><strong>IncidentList.spec.ts</strong><dd><code>Rename SRE chat tests
to AI chat</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-633b95716cea25470b98f260f00e6fbc641c1fbe8ed82713e346eef014ca4d50 ">+9/-17</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>2
files</summary><table>
<tr>
<td><strong>incidentsContextProvider.ts</strong><dd><code>Remove
optional context fields injection</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-012246fbc305620dd85432d34ec1fecc32c7bb377474b7a02dc6ed3b6beba78c ">+0/-14</a>
</td>
</tr>
<tr>
<td><strong>useAiChat.ts</strong><dd><code>Strip agent_type and model
from payload builder</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-830ee4f21bdbbd0fa5c5c0f43b0a1d0200831e07ccddc91982cf0371c801b046 ">+0/-8</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Configuration
changes</strong></td><td><details><summary>1 files</summary><table>
<tr>
<td><strong>index.ts</strong><dd><code>Remove SRE chat state and
mutations</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-955a15c7ee060f1545e82be22911dd0c14307dee5a70071a394e9fd583bd2c55 ">+0/-12</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Refactoring</strong></td><td><details><summary>6
files</summary><table>
<tr>
<td><strong>O2AIChat.vue</strong><dd><code>Remove model selector UI and
logic</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-a6a125719a7b32b31b53fcfe05c12081d82c139a401699affdda0db8e73887e3 ">+1/-31</a>
</td>
</tr>
<tr>
<td><strong>SREChat.vue</strong><dd><code>Delete entire SREChat
component</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-a24e3f6392181aa741979fe1c0cbc6f0f02337de20e6ad2fd6668dd7abe9bada ">+0/-2074</a></td>
</tr>
<tr>
<td><strong>AlertList.vue</strong><dd><code>Remove openSREChat
handler</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-be3e41b823e163b226ffc270d95cc4981e59c600851e4e0d10ee5e4ee994ac8e ">+0/-9</a>
</td>
</tr>
<tr>
<td><strong>IncidentDetailDrawer.vue</strong><dd><code>Clean up logs and
remove openSREChat</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-6973d58a5f49658b07d3533d4db5d32cc6430433b51732481e7497243dadb0b0 ">+0/-18</a>
</td>
</tr>
<tr>
<td><strong>IncidentList.vue</strong><dd><code>Remove openSREChat
method</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-953ad015996758a8c86e489499cd3b0a614501b99b0c9c5c242a299e34c24ff2 ">+0/-8</a>
</td>
</tr>
<tr>
<td><strong>MainLayout.vue</strong><dd><code>Remove SREChat panel and
imports</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10197/files#diff-91e4134141264c4624d4eb4cfa987b33ed31eb6f551e089c0b26f2610dd54362 ">+1/-29</a>
</td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
2026-01-27 18:10:53 +05:30
udev
8ed1bba28b
feat: ai agent phase 2 ( #10054 )
2026-01-22 22:11:05 +05:30
Bhargav
890e8d7669
fix: Node package upgrade v1.8 ( #9773 )
...
### **PR Type**
Enhancement
___
### **Description**
- Upgrade Tailwind CSS from v3.4.4 to v4.1.18
- Bump rudder-sdk-js from 2.48.43 to 2.52.7
___
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Dependencies</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>package.json</strong><dd><code>Bump dependency versions
in package.json</code>
</dd></summary>
<hr>
web/package.json
<ul><li>Updated <code>tailwindcss</code> version to ^4.1.18<br> <li>
Updated <code>rudder-sdk-js</code> version to ^2.52.7</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9773/files#diff-b861012a5dd72b8a9f3281b7cf09f5a779c98569d040b1bbc1db50f1b15e7cce ">+2/-2</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
2025-12-29 20:00:34 +05:30
5fbdbe4f46
fix: traces, alert insights charts render issue ( #8977 )
...
Co-authored-by: omkark06 <omkar@zinclabs.io >
Co-authored-by: Bhargav <BJP232004@GMAIL.COM >
2025-11-06 18:38:13 +08:00
348ec6914d
fix: 8928 UI revamp issues ( #8940 )
...
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech >
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech >
2025-11-03 23:25:53 +05:30
db7f947089
fix: UI design implementation ( #8841 )
...
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
Co-authored-by: omkark06 <omkar@zinclabs.io >
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech >
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech >
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech >
2025-11-01 21:22:27 +05:30
Sai Nikhil
97f6cb078f
fix: o2 UI updates ( #8737 )
...
### **User description**
1. store user input in local storage and use shortcuts to explore (up
and down arrow keys)
2. changed bg icon for o2 ai icon
3. added scroll to bottom button
___
### **PR Type**
Enhancement
___
### **Description**
- Add scroll-to-bottom button with smooth scroll
- Persist last 10 queries in localStorage
- Keyboard history navigation via arrows
- Update AI button gradient and hover/rotate
___
### Diagram Walkthrough
```mermaid
flowchart LR
UI["Chat UI"]
ScrollBtn["Scroll-to-bottom button"]
History["LocalStorage query history"]
Keys["ArrowUp/Down navigation"]
Styles["AI button gradient/animations"]
UI -- "shows when scrolled up" --> ScrollBtn
ScrollBtn -- "click" --> UI
UI -- "save on send" --> History
Keys -- "navigate history" --> UI
UI -- "visual tweaks" --> Styles
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>O2AIChat.vue</strong><dd><code>Scroll control and
persistent query history</code>
</dd></summary>
<hr>
web/src/components/O2AIChat.vue
<ul><li>Add scroll-to-bottom button and styles.<br> <li> Implement
auto-visibility and smooth scrolling.<br> <li> Add query history with
localStorage (max 10).<br> <li> Add ArrowUp/Down history navigation
logic.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8737/files#diff-a6a125719a7b32b31b53fcfe05c12081d82c139a401699affdda0db8e73887e3 ">+224/-2</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>MainLayout.vue</strong><dd><code>AI button gradient and
hover behavior update</code>
</dd></summary>
<hr>
web/src/layouts/MainLayout.vue
<ul><li>Update AI button to gradient background.<br> <li> Adjust hover
transition timing and effect.<br> <li> Reverse icon rotation direction
on hover.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8737/files#diff-91e4134141264c4624d4eb4cfa987b33ed31eb6f551e089c0b26f2610dd54362 ">+4/-4</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
2025-10-07 08:52:41 +05:30
Sai Nikhil
f96b90e15f
fix: o2 ai updates ( #8734 )
...
### **User description**
Loading Indicator will be visible everytime user hits the generate
before it was hidden
Implemented abort functionality for responses, allowing users to stop
generation mid-way.
Fixed the issue where empty messages appeared before actual responses,
ensuring a cleaner chat log.
when there is so much content incoming and if I try to stop it , it
should stop scroll
UI Enhancements:
Differentiated user messages and AI responses visually for better
clarity.
Updated the Send button with a gradient color and added styling for the
Stop button.
Improved the input experience by automatically focusing the input and
highlighting its border when clicking anywhere in the chat area.
___
### **PR Type**
Enhancement, Bug fix
___
### **Description**
- Add abortable streaming for AI chat
- Improve UI: send/stop buttons, avatars, gradients
- Auto-scroll to loading indicator on generate
- Prevent empty assistant messages during stream
___
### Diagram Walkthrough
```mermaid
flowchart LR
UI["Chat UI (O2AIChat.vue)"]
Fetch["fetchAiChat with AbortSignal (useAiChat.ts)"]
AbortCtrl["AbortController lifecycle"]
Stream["Streaming parser & message updates"]
History["Save to history"]
Styles["Theming, gradients, layout"]
UI -- "Send -> creates AbortController" --> AbortCtrl
AbortCtrl -- "signal" --> Fetch
Fetch -- "stream chunks" --> Stream
Stream -- "append assistant content" --> UI
UI -- "Stop click" --> AbortCtrl
AbortCtrl -- "abort()" --> Fetch
Stream -- "on complete/error" --> History
UI -- "focus + auto-scroll to loading" --> Styles
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>useAiChat.ts</strong><dd><code>Abortable fetch with
streaming support and docs</code>
</dd></summary>
<hr>
web/src/composables/useAiChat.ts
<ul><li>Add JSDoc and AbortSignal param to <code>fetchAiChat</code><br>
<li> Include optional <code>signal</code> in fetch options<br> <li>
Handle <code>AbortError</code> distinctly; return <code>{ cancelled:
true }</code><br> <li> Generalize error handling and null fallback</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8734/files#diff-830ee4f21bdbbd0fa5c5c0f43b0a1d0200831e07ccddc91982cf0371c801b046 ">+38/-9</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>O2AIChat.vue</strong><dd><code>Streaming UX,
cancellation, and UI enhancements</code>
</dd></summary>
<hr>
web/src/components/O2AIChat.vue
<ul><li>Implement AbortController lifecycle and Stop button<br> <li>
Avoid pre-creating empty assistant messages during stream<br> <li>
Auto-scroll to loading indicator; focus input on click<br> <li> UI/UX:
themed avatars, gradient backgrounds, send/stop styles</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8734/files#diff-a6a125719a7b32b31b53fcfe05c12081d82c139a401699affdda0db8e73887e3 ">+382/-39</a></td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
2025-10-06 15:49:30 +05:30
Sai Nikhil
1b0098f93a
fix: pass additional context to the AI depending on the page ( #8697 )
...
### **User description**
1. This PR adds the additional context to the following pages
- logs, dashboards , pipelines , alerts
2. fixed auto scrolling when user trying to stop the scroll in ai chat
3. in add alert page when user opens the ai chat it was overlapping the
buttons of generate
___
### **PR Type**
Enhancement, Bug fix
___
### **Description**
- Introduce global AI context provider system
- Add page-specific context providers
- Fix AI chat auto-scroll behavior
- Prevent AI chat overlap on Add Alert
___
### Diagram Walkthrough
```mermaid
flowchart LR
Registry["ContextRegistry singleton"] -- "register/setActive" --> LogsProv["Logs context provider"]
Registry -- "register/setActive" --> PipesProv["Pipelines context provider"]
Registry -- "register/setActive" --> AlertsProv["Alerts context provider"]
Registry -- "register/setActive" --> DashProv["Dashboards context provider"]
Registry -- "fallback" --> DefaultProv["Default context provider"]
UIChat["AI Chat"] -- "getActiveContext()" --> Registry
Pages["Pages (Logs/Pipelines/Alerts/Dashboards)"] -- "mount/unmount" --> Registry
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>14
files</summary><table>
<tr>
<td><strong>alertsContextProvider.ts</strong><dd><code>New alerts page
context provider</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-95b95a1b18db00eb9a3b4b9155cf23a078e4d54032f023d6fdf7445afb9e4661 ">+52/-0</a>
</td>
</tr>
<tr>
<td><strong>dashboardsContextProvider.ts</strong><dd><code>New
dashboards context provider with intents</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-c3323cfc4d7015b1b51ff5ec85fe3371c817dcc614e52ebb4fac76abc719b872 ">+76/-0</a>
</td>
</tr>
<tr>
<td><strong>defaultContextProvider.ts</strong><dd><code>Default app-wide
context provider</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-dedeb11e8ee3b92acda8c30cb84d2a749dec11cb1387547c613220a29744e236 ">+59/-0</a>
</td>
</tr>
<tr>
<td><strong>index.ts</strong><dd><code>Export registry and
providers</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-2f5cd69b9d0b7e1c87c1dbe6ad7cdb7b182014a03594481085561a9d694d2659 ">+36/-0</a>
</td>
</tr>
<tr>
<td><strong>logsContextProvider.ts</strong><dd><code>Logs context
provider with time and fields</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-bd6b1c67f0d9ef96110421aac3dd3e8f90115da95adf28e79c88e1c6fc594ac2 ">+198/-0</a>
</td>
</tr>
<tr>
<td><strong>pipelinesContextProvider.ts</strong><dd><code>Pipelines
editor context provider</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-9f09180c5d32d87f8c89fc0a8edc8d2153b37515dcf906123fbd8017c435fa75 ">+52/-0</a>
</td>
</tr>
<tr>
<td><strong>registry.ts</strong><dd><code>Context registry singleton
with fallback</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-771da8f6897a25741c485f6637da004e3a62f6e4b70d6dbb2a408a56ba9e3923 ">+136/-0</a>
</td>
</tr>
<tr>
<td><strong>types.ts</strong><dd><code>Context provider/core
types</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-f0c33d88011ac1afc87b85a1be56756616a2a13105537cf6f6a8090747b2beb3 ">+34/-0</a>
</td>
</tr>
<tr>
<td><strong>useAiChat.ts</strong><dd><code>Use structured context; add
default provider init</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-830ee4f21bdbbd0fa5c5c0f43b0a1d0200831e07ccddc91982cf0371c801b046 ">+62/-8</a>
</td>
</tr>
<tr>
<td><strong>main.ts</strong><dd><code>Initialize global default context
provider</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-37b29c5a3b76595194070205d9a0cdedcd717bf7c4367022d1e2667395962f2e ">+5/-0</a>
</td>
</tr>
<tr>
<td><strong>PipelineEditor.vue</strong><dd><code>Register/cleanup
pipelines context provider</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-68c21f647336067eb79737ce9aca2d49632f2fa1c0878bcfdae55607e3473a15 ">+37/-0</a>
</td>
</tr>
<tr>
<td><strong>Index.vue</strong><dd><code>Register/cleanup logs context
provider</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-0323c3da69b369843c5d72bf4df5b00ca6b5147192a213baf331659ecf92af62 ">+42/-1</a>
</td>
</tr>
<tr>
<td><strong>ViewDashboard.vue</strong><dd><code>Register/cleanup
dashboards context provider</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-052badb6758aff09ceaf1645869b9ba96125e6a0ea21abb01a8ee0a40d6467f3 ">+16/-0</a>
</td>
</tr>
<tr>
<td><strong>AddPanel.vue</strong><dd><code>Register/cleanup context for
add/edit panel</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-c9632db1ad95af95aba10161bcbc7c5608318919f228637bdafae3f3a31267e8 ">+17/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Bug
fix</strong></td><td><details><summary>2 files</summary><table>
<tr>
<td><strong>O2AIChat.vue</strong><dd><code>Add auto-scroll control and
event handling</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-a6a125719a7b32b31b53fcfe05c12081d82c139a401699affdda0db8e73887e3 ">+22/-2</a>
</td>
</tr>
<tr>
<td><strong>AddAlert.vue</strong><dd><code>Avoid AI chat overlap;
register alerts context</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8697/files#diff-7b426bb23e9ed0250c3877d6d97b099c42b2d20e22ddf4459915381b2233a0a8 ">+15/-2</a>
</td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
2025-10-01 11:45:06 +05:30