mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 08:09:27 +00:00
c8bdada9da9db92ee2e71aa24fb9fcac979f2fb1
3838
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
c8bdada9da |
test:pipeline-core-tests (#7404)
### **PR Type** Tests, Enhancement ___ ### **Description** - Introduce core pipeline Playwright test suite - Skip redundant pipeline tests in pipelines.spec.js - Increase CI workers count in config - Add helper functions for login and ingestion ___ ### **Changes diagram** ```mermaid flowchart LR CT["pipeline-core.spec.js"] PT["pipelines.spec.js"] PC["playwright.config.js"] CI["CI pipeline"] CT -- "adds core tests" --> CI PT -- "skip redundant tests" --> CI PC -- "increase CI workers" --> CI ``` ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>pipeline-core.spec.js</strong><dd><code>Add core pipeline UI tests</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/pipeline-core.spec.js <li>Add new Playwright tests for core pipeline flows<br> <li> Implement helper functions: login, ingestion, exploration<br> <li> Test source-destination, function, and condition nodes<br> <li> Configure tests to run in parallel mode </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7404/files#diff-e6249b045437e7f087b825dc0ee2d8ccebed0894d10c84b7bc9b12dca7a25754">+269/-0</a> </td> </tr> <tr> <td> <details> <summary><strong>pipelines.spec.js</strong><dd><code>Skip redundant pipeline tests</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/pipelines.spec.js <li>Mark three pipeline tests as skipped<br> <li> Update tests: source & destination, function, condition flows<br> <li> Retain old tests but disable execution </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7404/files#diff-9b48f5edc53f2413789549b189d4a80f134a320dd5beebf96d738069eb43033a">+3/-3</a> </td> </tr> </table></td></tr><tr><td><strong>Configuration changes</strong></td><td><table> <tr> <td> <details> <summary><strong>playwright.config.js</strong><dd><code>Increase CI workers count</code> </dd></summary> <hr> tests/ui-testing/playwright.config.js - Increase CI `workers` from 1 to 2 for parallel runs </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7404/files#diff-91cb9615068914b2e4f5d66fcbed50d3e9771ea2d882f8e8048bbe54eab3c414">+1/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
5efc5e7a3a | fix: tantivy panic when the records mismatch (#7412) | ||
|
|
3c3a8d178a |
fix: dashboard cancel api on unmounted (#7405)
### **PR Type** Bug fix, Enhancement ___ ### **Description** - Extend cancelQuery with showNotification parameter - Guard notifications by optional flag - Inject cancelQuery into panel data loader cleanup - Pass false to suppress notifications in loader ___ ### **Changes diagram** ```mermaid flowchart LR A["usePanelDataLoader"] -- "initializes" --> B["useCancelQuery"] B -- "searchRequestTraceIds" --> C["traceIdRef"] B -- "cancelQuery(showNotification)" --> D["delete_running_queries"] D -- "success" --> E["showPositiveNotification"] D -- "failure" --> F["showErrorNotification"] ``` ___ ### **Changes walkthrough** 📝 <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>useCancelQuery.ts</strong><dd><code>Support optional notifications in cancelQuery</code> </dd></summary> <hr> web/src/composables/dashboard/useCancelQuery.ts <li>Added <code>showNotification</code> parameter to <code>cancelQuery</code><br> <li> Wrapped notifications under the new flag<br> <li> Updated JSDoc for <code>cancelQuery</code> parameter </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7405/files#diff-c8ecf4052412642d3a64203b2b5cdc2d35f2e2260b185b7927f9f357dba72b1d">+10/-7</a> </td> </tr> <tr> <td> <details> <summary><strong>usePanelDataLoader.ts</strong><dd><code>Integrate cancelQuery into panel data loader</code> </dd></summary> <hr> web/src/composables/dashboard/usePanelDataLoader.ts <li>Imported and initialized <code>useCancelQuery</code> composable<br> <li> Integrated composable in cleanup logic<br> <li> Suppressed notifications by passing <code>false</code> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7405/files#diff-5a42e9493a7bcd722b88e61fd38883c4f61001bc9cafa399f65f8eafda3aace9">+10/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
ebe4be0e61 |
feat: use StrinView to speed up query for main (#7400)
Tow new env ``` ZO_SEARCH_INSPECTOR_ENABLED = false ZO_UTF8_VIEW_ENABLED = true ``` |
||
|
|
8fb4b74b93 | fix: aws aurora do not support limit subquery (#7403) v0.15.0-rc3 | ||
|
|
53fdf3d04b |
fix: disable write to cache in cache handler if req is streaming (#7379) & fix: histogram interval for http2 streaming (#7389) (#7392)
- fix: disable write to cache in cache handler if req is streaming (#7379) - fix: histogram interval for http2 streaming (#7389) ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Add `is_http2_streaming` flag to cache searches - Skip result caching for streaming requests - Update cache search signature and logic - Enhance cache miss logs with query info ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><details><summary>7 files</summary><table> <tr> <td><strong>mod.rs</strong><dd><code>Add streaming flag to gRPC search cache call</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7392/files#diff-8dcdb10340635be8bb58d45a815569026877f6fdbb3b69a773a30698b91674b0">+1/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Add streaming flag to HTTP search cache call</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7392/files#diff-96630a0dbb6dd7b2b0248fa325c7c7041ce31340c32826675a4a70772e9d29f6">+2/-0</a> </td> </tr> <tr> <td><strong>multi_streams.rs</strong><dd><code>Pass streaming flag to multi-stream search</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7392/files#diff-c3233cdf1e68cb2455f91457719b9c2f477e735ee16546fdfe111e76768bd054">+1/-0</a> </td> </tr> <tr> <td><strong>search_inspector.rs</strong><dd><code>Add streaming flag to inspector search calls</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7392/files#diff-f818db4ca10b411c3559cc2a2659c49a59a45ecde0e4a22f9ef023da0bf4a009">+1/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Add HTTP2 streaming check before caching</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7392/files#diff-f07bfacc0501b9c234e64b16c1dd8eb0ae8fcbe231f90c81fed72bcc94946f74">+2/-0</a> </td> </tr> <tr> <td><strong>search_stream.rs</strong><dd><code>Pass streaming flag to streaming cache search</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7392/files#diff-b952a89375f2745a0daa273f1bdefc80c22997759a9b17a8fccbc70ae294e8e4">+1/-0</a> </td> </tr> <tr> <td><strong>search.rs</strong><dd><code>Pass streaming flag to websocket search cache</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7392/files#diff-13476631e2e604b75e2dfdd8fb7b7a91c46dcd85faa50813afa0b87583bcdb26">+1/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>multi.rs</strong><dd><code>Enhance cache miss logging details</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7392/files#diff-7eb49bf810eab33aedff3aa5af2f03dfef49c27d62dcaf85d182e8dad10b66d8">+6/-4</a> </td> </tr> </table></details></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
61c23fb416 |
fix: o2 ai changes (#7397)
### **User description** 1. This PR added beta text to o2 ai 2. added search history functionality to the chat history 3. added clearing of history functionality so here it will delete the history that was stored in indexDB if it reaches 100 so it will delete the old history 4. now we only show top 100 history to the users. ___ ### **PR Type** Enhancement ___ ### **Description** - Add "Beta" label to O2 AI chat header - Introduce searchable chat history menu - Limit history to latest 100 entries - Auto-delete excess history from IndexedDB ___ ### **Changes diagram** ```mermaid flowchart LR A["User clicks history icon"] --> B["Load history from IndexedDB"] B --> C["Trim history to 100 entries"] C --> D["Delete older entries in DB"] D --> E["Assign to chatHistory.value"] E --> F["Show history menu"] F --> G["Filter via search input"] G --> H["Display filteredChatHistory"] ``` ___ ### **Changes walkthrough** 📝 <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>Chat component UI enhancements</code> </dd></summary> <hr> web/src/components/O2AIChat.vue <li>Added "Beta" badge next to O2 AI title<br> <li> Replaced static history list with search-enabled menu<br> <li> Limited history to top 100 items and auto-deletion<br> <li> Defined <code>historySearchTerm</code> and <code>filteredChatHistory</code> computed<br> <li> Added CSS classes for beta badge and history menu layout </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7397/files#diff-a6a125719a7b32b31b53fcfe05c12081d82c139a401699affdda0db8e73887e3">+133/-25</a></td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
3aad96721d | chore: maintenance and cleanup (#7289) | ||
|
|
b03245cd07 |
fix: http and http2 partition pagination fixes (#7241)
### **PR Type** Bug fix, Enhancement ___ ### **Description** Fix HTTP/HTTP2 streaming in Safari Improve partition-based pagination logic Add region and cluster query parameters Refine aggregation and streaming pagination flows ___ ### **Changes walkthrough** 📝 <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>ShortUrl.vue</strong><dd><code>Fix original URL redirection for deeper paths</code> </dd></summary> <hr> web/src/views/ShortUrl.vue - Updated handleOriginalUrl to join URL segments dynamically </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7241/files#diff-b7ffcc5de24f9e1db5a3a8e78a686727360f9061ca6f9f8ae60456c3d603f9b7">+3/-2</a> </td> </tr> <tr> <td> <details> <summary><strong>useStreamingSearch.ts</strong><dd><code>Add Safari-compatible HTTP2 streaming</code> </dd></summary> <hr> web/src/composables/useStreamingSearch.ts <li>Manually read streams with TextDecoder for Safari<br> <li> Post decoded chunks to worker for processing<br> <li> Retain start and end stream control messages </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7241/files#diff-8fce3e25a161cd458e734bd9b1f98aadefe3482da7b6529a5b1f4fa20ec115e2">+37/-4</a> </td> </tr> </table></td></tr><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>useLogs.ts</strong><dd><code>Enhance log pagination and cluster support</code> </dd></summary> <hr> web/src/composables/useLogs.ts <li>Inject regions and clusters into query and URL<br> <li> Fix partition pagination for zero or multiple partitions<br> <li> Add fetchAllParitions for complete partition fetch<br> <li> Apply dynamic histogram_interval to SQL queries </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7241/files#diff-1040f61354f92711e0e77ed4e9bfa15586d45a94c7e2ab06cc37372068030e7b">+116/-23</a></td> </tr> <tr> <td> <details> <summary><strong>streamWorker.js</strong><dd><code>Refactor worker for chunk-based streaming</code> </dd></summary> <hr> web/src/workers/streamWorker.js <li>Remove transferable ReadableStream handling<br> <li> Introduce processChunk to buffer and parse SSE<br> <li> Consolidate message parsing and error handling </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7241/files#diff-8534facfcca68c16701832f43a501abcdb92847115c46fced5d69792e5594dd9">+75/-94</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
d7a040e0fd |
fix: dashboard tooltip error (#7387)
### **User description** - Try to lower the frequency of the following error. - Mainly, it's due to echarts.  ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Enable lazyUpdate and notMerge in setOption - Wrap formatter functions with try-catch - Provide safe default returns on errors - Improve chart lazy loading and error resilience ___ ### **Changes walkthrough** 📝 <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>ChartRenderer.vue</strong><dd><code>Enable lazy chart updates in ChartRenderer</code> </dd></summary> <hr> web/src/components/dashboards/panels/ChartRenderer.vue <li>Added <code>lazyUpdate: true</code> and <code>notMerge: true</code> options to <code>chart.setOption</code><br> <li> Enabled legend updates with lazy loading<br> <li> Updated initial chart set up calls for performance </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7387/files#diff-353fab39cd76197438814db862c4a506636ea7e15633ee92d9269adbd97fe67c">+6/-6</a> </td> </tr> </table></td></tr><tr><td><strong>Error handling</strong></td><td><table> <tr> <td> <details> <summary><strong>convertSQLData.ts</strong><dd><code>Add exception handling in formatters</code> </dd></summary> <hr> web/src/utils/dashboard/convertSQLData.ts <li>Wrapped tooltip and formatter functions in try-catch<br> <li> Added safe default return values on errors<br> <li> Used optional chaining for null-safe access </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7387/files#diff-88c0e865040a20b2c8bb7d77e7f6bd187a5b07c1645c120223bc9d59603752c3">+451/-368</a></td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
d1eab9e387 |
fix: ensure minimum loading progress percentage is 5 (#7385)
### **PR Type** Bug fix ___ ### **Description** - Enforce minimum loading progress percentage at 5% - Update displayPercentage computed property ___ ### **Changes walkthrough** 📝 <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>LoadingProgress.vue</strong><dd><code>Clamp minimum loading progress to 5%</code> </dd></summary> <hr> web/src/components/common/LoadingProgress.vue <li>Introduce clamp for minimum progress of 5%<br> <li> Return 5% when loadingProgressPercentage < 5 </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7385/files#diff-0e124527ca2b1d19c4f098616e1cdeb8c405d4f89b68bf119a09b9a518eba23a">+3/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
8f826c88bd | chore(deps): bump pbkdf2 from 3.1.2 to 3.1.3 in /web (#7314) | ||
|
|
b0e9fde4b7 |
fix: return reports list data that ui needs to show (#7274)
### **User description** Because of the report migration merged recently, there are some fields that were not getting returned for the list reports api. Also, there was a bug in the report migration logic where the report frequency stored in the migrated table was not correct. This pr fixes both the issues. ___ ### **PR Type** Enhancement, Bug fix ___ ### **Description** - Extend ListReports API with time and dashboard fields - Update migration for align_time and JSON serialization - Expand query to include dashboards and frequency - Fix front-end snake_case field mappings ___ ### **Changes walkthrough** 📝 <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>reports.rs</strong><dd><code>Expand ListReportsResponseBodyItem with new fields</code> </dd></summary> <hr> src/handler/http/models/reports.rs <li>Imported <code>DateTime</code>, <code>ReportFrequency</code>, <code>ReportTimerange</code><br> <li> Added <code>created_at</code>, <code>dashboards</code>, <code>frequency</code>, <code>org_id</code> fields<br> <li> Changed error type to <code>anyhow::Error</code><br> <li> Introduced <code>ReportDashboard</code> struct and JSON parsing </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7274/files#diff-eddffe2b67f00de168167533f31cd12adbb541fa66af4c56e6a96a03469ec5fb">+38/-7</a> </td> </tr> <tr> <td> <details> <summary><strong>m20250611_000002_populate_reports_table.rs</strong><dd><code>Add align_time and simplify frequency serialization</code> </dd></summary> <hr> src/infra/src/table/migration/m20250611_000002_populate_reports_table.rs <li>Derived <code>Serialize</code> for <code>ReportFrequency</code> types<br> <li> Added <code>align_time</code> default property<br> <li> Removed custom <code>ReportFrequency</code> enum<br> <li> Simplified JSON serialization calls </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7274/files#diff-8247af6d6f8ccb6a5a51daff4cb1e352585be2d1c785d86ae5ebfea1dbc1099c">+12/-55</a> </td> </tr> <tr> <td> <details> <summary><strong>queries.rs</strong><dd><code>Expand ListReportsQueryResult for report dashboards</code> </dd></summary> <hr> src/infra/src/table/reports/queries.rs <li>Added <code>report_created_at</code>, <code>report_frequency</code>, <code>org_id</code> fields<br> <li> Joined <code>report_dashboards</code> and <code>dashboards</code> tables<br> <li> Included dashboard IDs, tabs, and timerange in query<br> <li> Updated tests to cover new columns and joins </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7274/files#diff-144c4572241c5b3f13abe628832674ad8cebb72e51acb1d1b14fae2a8307208a">+93/-22</a> </td> </tr> </table></td></tr><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>ReportList.vue</strong><dd><code>Fix ReportList snake_case field mapping</code> </dd></summary> <hr> web/src/components/reports/ReportList.vue <li>Renamed <code>lastTriggeredAt</code> to <code>last_triggered_at</code><br> <li> Updated data mapping for <code>last_triggered_at</code> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7274/files#diff-f7d700f7e67fbaba3c58ab5d2c614925db743101828214445ce9dae35dc29067">+3/-3</a> </td> </tr> <tr> <td> <details> <summary><strong>ScheduledDashboards.vue</strong><dd><code>Align ScheduledDashboards with snake_case response</code> </dd></summary> <hr> web/src/views/Dashboards/ScheduledDashboards.vue <li>Aligned snake_case for <code>last_triggered_at</code>, <code>created_at</code>, <code>org_id</code><br> <li> Updated column labels to match new fields<br> <li> Adjusted data formatting conversions </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7274/files#diff-2aae6e201775bf68f6beb59704f131f7aca0da0fd9d8ba8ac4bdb5b9b289f41e">+6/-6</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> --------- Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai> |
||
|
|
c21bbe77fc |
fix: scheduled pipeline should catch up when there is failures for a timerange (#7375)
### **User description** For a scheduled pipeline, we have a logic to catch up the delay whenever there is a delay. For example, say, at 10:00am, there are some errors while triggering scheduled pipeline, it will retry 3 times and then retry again after the given frequency (say 2 mins). Now when the error is resolved at 11:02am, the scheduled pipeline will again try to run the timerange of 10:00am - 10:02am first. But since there is a bug in the current code, this 1 hour delay will always be there. At, 11:04am it will run for 10:02-10:04, at 11:06, 10:04-10:06am etc. This pr fixes this bug. So, after the delay due to failures, the next time it runs successfully, it will be able to catch up the timerange by immediately retriggering the pipelines until it is in sync with the current time. ___ ### **PR Type** Bug fix ___ ### **Description** - Add debug logs for run-at time comparisons - Bound cron frequency with next cron evaluation - Refactor next_run_at calculation for catch-up - Reset retries count on successful runs ___ ### **Changes walkthrough** 📝 <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>handlers.rs</strong><dd><code>Improve trigger timing and catch-up behavior</code> </dd></summary> <hr> src/service/alerts/scheduler/handlers.rs <li>Insert debug log of <code>supposed_to_be_run_at</code> vs actual times<br> <li> Use <code>std::cmp::min</code> for cron trigger time selection<br> <li> Restructure <code>next_run_at</code> logic to enable catch-up </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7375/files#diff-5eca8995a88fcecb6d6b8efd3c7c4496f4a96a4b060fb4ed85593574f7cf49eb">+40/-11</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> Co-authored-by: Taiming Liu <liutaiming3@gmail.com> |
||
|
|
3c5474c4a0 |
fix: simplify isPartialData logic on complete (#7373)
### **PR Type** Bug fix, Enhancement ___ ### **Description** - Always set `isPartialData` on event progress - Clear `isPartialData` when loading completes - Remove conditional checks on partial data - Simplify flag handling in data loader ___ ### **Changes walkthrough** 📝 <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>usePanelDataLoader.ts</strong><dd><code>Simplify partial data flag logic</code> </dd></summary> <hr> web/src/composables/dashboard/usePanelDataLoader.ts <li>Always mark <code>isPartialData</code> true on event_progress<br> <li> Unconditionally clear <code>isPartialData</code> on complete<br> <li> Remove conditional partial data checks<br> <li> Simplify flag logic in data loader </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7373/files#diff-5a42e9493a7bcd722b88e61fd38883c4f61001bc9cafa399f65f8eafda3aace9">+2/-11</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
610bd1e367 |
fix: single node schedulable (#7376)
### **PR Type** Bug fix ___ ### **Description** - Make local node mutable for status update - Set `node.status` to Online - Enable scheduling by setting `node.scheduled` ___ ### **Changes walkthrough** 📝 <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>mod.rs</strong><dd><code>Enable local node scheduling and online status</code> </dd></summary> <hr> src/common/infra/cluster/mod.rs <li>Changed <code>load_local_node()</code> to return a mutable node<br> <li> Assigned <code>NodeStatus::Online</code> to <code>node.status</code><br> <li> Enabled scheduling by setting <code>node.scheduled = true</code> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7376/files#diff-d15434a27e2b8406811f5a707b605203b603dad4a262c0642326be860bd2b568">+3/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
f6b166788b |
fix: use random tmp directory for concurrent report server chromium instances (#7322)
### **User description** Ref: https://github.com/openobserve/o2_report_server/pull/19 concurrent chromium instances tries to create singletonock file in the `tmp/chromiumoxide-runner/SingletonLock` which throws error because only one instance can create that at a particular time. This pr fixes this by creating temporary user directories for chromium. ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Use `tempfile::tempdir` for isolated browser dirs - Change launcher options to return builder - Build browser config with `user_data_dir` - Ensure tempdir cleaned up with error logging ___ ### **Changes walkthrough** 📝 <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>report.rs</strong><dd><code>Add tempdir-based user_data_dir and builder config</code> </dd></summary> <hr> src/report_server/src/report.rs <li>Switch <code>CHROME_LAUNCHER_OPTIONS</code> to <code>BrowserConfigBuilder</code><br> <li> Modify <code>init_chrome_launch_options</code> to return builder<br> <li> Introduce <code>tempfile::tempdir()</code> for per-run user data<br> <li> Build browser config with <code>user_data_dir</code> and map errors<br> <li> Add tempdir cleanup in error and success paths </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7322/files#diff-a8d5d0e0fc56e67b38a20a46b91cc2e6bf76ade360a37ad29fce51cc4661a9a6">+24/-7</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
908e41fb57 | fix: set the node unscheduable before start http (#7364) | ||
|
|
48b19cc271 |
fix: cache delta start_time (#7367) (#7366)
### **User description** fix #7365 previous ref: #5872 ___ ### **PR Type** Bug fix, Tests ___ ### **Description** - Avoid duplicate end-gap query entries - Reset delta_start when exceeding end_time - Add unit test for delta intervals - Mark TODO in `check_cache` ___ ### **Changes walkthrough** 📝 <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>cacher.rs</strong><dd><code>Fix end-gap delta start calculation</code> </dd></summary> <hr> src/service/search/cache/cacher.rs <li>Wrap end-gap delta start computation<br> <li> Cap <code>expected_delta_start_time</code> to query start<br> <li> Add tests verifying delta interval validity<br> <li> Insert TODO in <code>check_cache</code> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7366/files#diff-8c387b22b2c0a282600ee41ca702b3db60f5a284d507c0feb7418608ff062c6c">+84/-3</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
b0f4bb5a5b | fix: node role should be already have value (#7358) | ||
|
|
925d3d04aa |
fix: dashboard hover issue (#7353)
### **PR Type** Bug fix ___ ### **Description** - Use `mouseOutEffectFn` on globalout event - Remove `mouseHoverEffectFn` reset call - Flush pending throttled hover resets immediately ___ ### **Changes walkthrough** 📝 <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>ChartRenderer.vue</strong><dd><code>Flush throttled hover resets on globalout</code> </dd></summary> <hr> web/src/components/dashboards/panels/ChartRenderer.vue <li>Replaced <code>mouseHoverEffectFn({})</code> with <code>mouseOutEffectFn()</code><br> <li> Added <code>.flush()</code> on <code>throttledSetHoveredSeriesIndex</code> and <br><code>throttledSetHoveredSeriesName</code><br> <li> Added comment explaining flush behavior </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7353/files#diff-353fab39cd76197438814db862c4a506636ea7e15633ee92d9269adbd97fe67c">+4/-3</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
5ddfe5d81a |
test: pagination for streaming in match all and limit playwright (#7268)
### **PR Type** Tests ___ ### **Description** - Add Playwright pagination streaming tests - match_all, count, limit queries - various join types - Validate interesting fields toggles and queries - Test histogram toggle behaviors and no-data cases ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>pagination.spec.js</strong><dd><code>Add streaming pagination and behavior tests</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/pagination.spec.js <li>Imported base fixtures and page objects<br> <li> Setup login, ingestion, management before tests<br> <li> Added tests for streaming pagination queries<br> <li> Added join, interesting-fields, histogram behavior tests </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7268/files#diff-5e44451149ef320c6c78668ff2a42a152fdc7b0565838c8d7f7385f5d4809cb5">+199/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
f64e5e6576 |
fix: stream_type for join (#7348)
### **PR Type** Bug fix ___ ### **Description** - Add fallback for empty stream_type in joins - Use `sql.stream_type` when no type provided - Retain existing mapping for provided stream types ___ ### **Changes walkthrough** 📝 <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>http.rs</strong><dd><code>Implement stream_type fallback logic</code> </dd></summary> <hr> src/service/search/cluster/http.rs <li>Add conditional branch for empty stream_type<br> <li> Fallback to <code>sql.stream_type</code> when missing<br> <li> Retain original <code>StreamType::from</code> mapping otherwise </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7348/files#diff-fe0a1bbec7ef6418120544b589a531e5144b28cd2650f99135ed8a70ac17ac03">+5/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
1f58057129 |
feat: dashboard custom value from input for variables (#7341)
### **PR Type** Enhancement, Bug fix ___ ### **Description** - Add custom value support in variable selectors - Preserve custom entries when filtering multi-select - Remove deprecated URL initial value logic - Standardize popup behavior and label casing ___ ### **Changes walkthrough** 📝 <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>VariablesValueSelector.vue</strong><dd><code>Custom value filtering in VariablesValueSelector</code> </dd></summary> <hr> web/src/components/dashboards/VariablesValueSelector.vue <li>Comment out URL-based initial value handling<br> <li> Merge custom typed values into filtered selections<br> <li> Adjust multi-select filter to include custom entries<br> <li> Minor formatting refactor for SQL query call </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7341/files#diff-5c6e3bcb87cb64f25bf8157a541604b7a4904c1282acf662cab5d76a5be6bd56">+36/-26</a> </td> </tr> <tr> <td> <details> <summary><strong>VariableQueryValueSelector.vue</strong><dd><code>Custom value support in VariableQueryValueSelector</code> </dd></summary> <hr> web/src/components/dashboards/settings/VariableQueryValueSelector.vue <li>Always show custom value option when typing<br> <li> Append <code>::CUSTOM_VALUE</code> to custom selections<br> <li> Update <code>filteredOptions</code> and <code>displayValue</code> to label customs<br> <li> Remove <code>SELECT_ALL_VALUE</code> and customs on regular select<br> <li> Close popup after custom or regular value selection </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7341/files#diff-2cca760c14e835bd1845485fb5517a60f71a6dc23626a6381c8559b82476f5f4">+62/-20</a> </td> </tr> </table></td></tr><tr><td><strong>Configuration changes</strong></td><td><table> <tr> <td> <details> <summary><strong>constants.ts</strong><dd><code>Add CUSTOM_VALUE constant</code> </dd></summary> <hr> web/src/utils/dashboard/constants.ts <li>Add <code>CUSTOM_VALUE</code> constant for custom entries<br> <li> Keep <code>SELECT_ALL_VALUE</code> export unchanged </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7341/files#diff-a5e1b14a291a4b42368faa0160f555b19bdc1a542624d4f89ea6e3ed7c4a664d">+2/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
665e207cd3 |
feat: allow pattern search in dropdown (#7339)
### **PR Type** Enhancement, Tests ___ ### **Description** - Add SQL pattern replacer for `::_o2_custom` suffix - Integrate replacer across search handlers and decode - Implement `StringMatchReplacer` visitor with tests - Cover multiple SQL scenarios in unit tests ___ ### **Changes walkthrough** 📝 <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>search.rs</strong><dd><code>Apply custom pattern replacement in decode</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7339/files#diff-373e83a31e5bbc82fba05d7ae274b0dbd624ed748272232cf7eb8b8c3b2f3afc">+20/-2</a> </td> </tr> <tr> <td><strong>query_select_utils.rs</strong><dd><code>Add pattern replacer and visitor for SQL</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7339/files#diff-2396baca05d001b681c6cc302c2acc901d4dc1e7acf32dd1be6fa9a759578a46">+521/-0</a> </td> </tr> <tr> <td><strong>around.rs</strong><dd><code>Integrate pattern replacement in around search</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7339/files#diff-93b3688de26f8f7c9dc0389763e9999a254bcded15b6ae8c8349f18aec83bd4f">+5/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Integrate replacer in main search endpoint</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7339/files#diff-96630a0dbb6dd7b2b0248fa325c7c7041ce31340c32826675a4a70772e9d29f6">+15/-0</a> </td> </tr> <tr> <td><strong>values_v1.rs</strong><dd><code>Apply replacer in values_v1 handler</code> </dd></td> <td><a href=""></a></td> </tr> <tr> <td><strong>search_partition.rs</strong><dd><code>Integrate replacer in partition search</code> </dd></td> <td><a href=""></a></td> </tr> <tr> <td><strong>multi_streams.rs</strong><dd><code>Apply replacer in multi-streams search</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7339/files#diff-c3233cdf1e68cb2455f91457719b9c2f477e735ee16546fdfe111e76768bd054">+5/-0</a> </td> </tr> <tr> <td><strong>search_job.rs</strong><dd><code>Integrate replacer in job submission</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7339/files#diff-d848b311eae318d198558c29a007c8973afb5f8867a31ec056f4e037dcd1b854">+6/-0</a> </td> </tr> <tr> <td><strong>search_stream.rs</strong><dd><code>Apply replacer in streaming search flow</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7339/files#diff-b952a89375f2745a0daa273f1bdefc80c22997759a9b17a8fccbc70ae294e8e4">+4/-0</a> </td> </tr> <tr> <td><strong>sql.rs</strong><dd><code>Replace patterns before SQL processing</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7339/files#diff-d9ccf393c53794b0ef2816eef12742c26e23d2788cde27780af7570662aea446">+10/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>mod.rs</strong><dd><code>Expose `query_select_utils` module</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7339/files#diff-f5df40ca59915d9d58ad04ea2440e6ebf29388afaeb8cb0d6c63d2a979df0c17">+1/-0</a> </td> </tr> </table></details></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
6379d0ea00 |
fix: histogram interval for http2 streaming (#7330)
### **PR Type** Bug fix ___ ### **Description** - Set `req.query.histogram_interval` directly - Remove manual SQL update and audit logging - Simplify imports in `search_stream.rs` ___ ### **Changes walkthrough** 📝 <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>search_stream.rs</strong><dd><code>Simplify histogram interval handling</code> </dd></summary> <hr> src/handler/http/request/search/search_stream.rs <li>Removed <code>update_histogram_interval_in_query</code> import <br> <li> Deleted manual SQL histogram update block <br> <li> Added direct <code>req.query.histogram_interval</code> assignment <br> <li> Streamlined HTTP utils imports grouping </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7330/files#diff-642de43ff6b19ae41087a9f1efc02d8b0b873809e0c92cbddfac1a30ef3f1184">+5/-40</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
0e7351af17 |
fix: stream_types for join (#7319) (#7320)
### **User description** fix #7319 ___ ### **PR Type** Bug fix ___ ### **Description** - Use TableReference stream_type in schema cache - Support join queries with prefixed stream names - Convert s.stream_type() to StreamType - Remove direct sql.stream_type usage ___ ### **Changes walkthrough** 📝 <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>http.rs</strong><dd><code>Update schema cache retrieval for join queries</code> </dd></summary> <hr> src/service/search/cluster/http.rs <li>Added comment explaining TableReference stream type<br> <li> Converted s.stream_type() to StreamType enum<br> <li> Replaced sql.stream_type with new stream_type value<br> <li> Removed old schema retrieval parameter </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7320/files#diff-fe0a1bbec7ef6418120544b589a531e5144b28cd2650f99135ed8a70ac17ac03">+5/-2</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
c4e5901abe |
fix: cherry-pick rc9 fixes (#7315)
Ref: - fix: streaming_id in htttp2 streaming response #7257 - feat: histogram_interval in search api #7271 - fix: remove streaming_id on search error #7284 - fix: limit in sql & write partial results to cache #7296 ### **User description** - `histogram_interval` as search body param - `aggregation_cache_enabled` support for settings `get` and `post` api --------- Co-authored-by: hengfei yang <hengfei.yang@gmail.com> Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech> Co-authored-by: omkark06 <omkar@zinclabs.io> ___ ### **PR Type** Enhancement ___ ### **Description** - Add `histogram_interval` support throughout search API - Propagate interval into Query, RPC, and optimizer - Replace websocket search toggle with `aggregation_cache_enabled` - Add UI toggle and localization for aggregation cache ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>organization.rs</strong><dd><code>Replace websocket with aggregation cache setting</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-4f089715a7ac4f78b45039d773f2fccbb4fbc6a409e0ab9ceee1fcf7911bc44b">+13/-6</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>18 files</summary><table> <tr> <td><strong>search.rs</strong><dd><code>Add histogram_interval to Query defaults</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-373e83a31e5bbc82fba05d7ae274b0dbd624ed748272232cf7eb8b8c3b2f3afc">+6/-0</a> </td> </tr> <tr> <td><strong>settings.rs</strong><dd><code>Handle aggregation_cache_enabled in settings API</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-1e807254f2faf8fd09b802f71b23412f203eed289033f96bfc62b15dd997db8c">+4/-5</a> </td> </tr> <tr> <td><strong>around.rs</strong><dd><code>Initialize histogram_interval in around requests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-93b3688de26f8f7c9dc0389763e9999a254bcded15b6ae8c8349f18aec83bd4f">+2/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Expose aggregation_cache_enabled in status API</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-ca09c9c9b020049bdbc3382c466bfcca80daac92e98760d9a9a76172abf34049">+4/-2</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Initialize histogram_interval in trace requests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-64694c886c809b6efe449e6eba9fbb33d31ce5a3c49cea1a30006fc1d9522665">+1/-0</a> </td> </tr> <tr> <td><strong>request.rs</strong><dd><code>Add histogram_interval to service Request</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-7f4d75d75758cf876ff1a3a450a9804caad031a91199d33dd066c88c0461800b">+5/-0</a> </td> </tr> <tr> <td><strong>sql.rs</strong><dd><code>Support custom histogram intervals in SQL</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-d9ccf393c53794b0ef2816eef12742c26e23d2788cde27780af7570662aea446">+8/-3</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Propagate histogram_interval in search service</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-c3b85ea662a885fbd39797968928b291cb59a58f53a03f7b7dfd7ba8b6a7985a">+1/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Include histogram_interval in optimizer rules</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-3b1c9f0a84041235ca3765361e8eadfd7e9309a52319da882dee0540c826eb3d">+5/-1</a> </td> </tr> <tr> <td><strong>rewrite_histogram.rs</strong><dd><code>Use custom interval in histogram rewrite</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-fa40d6f792f0ca212f799b0136f0f216c7f34cb3130738903a26c45749a81450">+14/-6</a> </td> </tr> <tr> <td><strong>flight.rs</strong><dd><code>Apply aggregation cache setting in flight</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-dbffb1a03b65f6a9163b18c5bb1241ba2966735657be39bbe9f4d0e3260d8c1d">+8/-2</a> </td> </tr> <tr> <td><strong>node.rs</strong><dd><code>Forward histogram_interval in distributed plan</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-6a811582bb8dc3a36152b94cb4984126ee4417532eed0554e042c55ea18011fb">+3/-0</a> </td> </tr> <tr> <td><strong>leader.rs</strong><dd><code>Leverage org cache setting in leader search</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-21a32af318adcd10e62fb0d45944993f623fb3d2d6df4bb70d882dfc8f677fdc">+13/-2</a> </td> </tr> <tr> <td><strong>follower.rs</strong><dd><code>Include histogram_interval in follower requests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-59e0cc386582cf8baf201977475fd9a7e479fd8ed000bbaa6746a51ecb28632f">+1/-0</a> </td> </tr> <tr> <td><strong>General.vue</strong><dd><code>UI toggle for aggregation cache</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-a191d0eb2843df5efa7f18d411a216e86558b49f7b6cdfa9501d69414b933fc3">+27/-1</a> </td> </tr> <tr> <td><strong>MainLayout.vue</strong><dd><code>Bind aggregation cache in layout</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-91e4134141264c4624d4eb4cfa987b33ed31eb6f551e089c0b26f2610dd54362">+2/-0</a> </td> </tr> <tr> <td><strong>usePanelDataLoader.ts</strong><dd><code>Fetch histogram_interval in panel loader</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-5a42e9493a7bcd722b88e61fd38883c4f61001bc9cafa399f65f8eafda3aace9">+24/-26</a> </td> </tr> <tr> <td><strong>useLogs.ts</strong><dd><code>Set histogram_interval in log queries</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-1040f61354f92711e0e77ed4e9bfa15586d45a94c7e2ab06cc37372068030e7b">+5/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>en.json</strong><dd><code>Add enableAggregationCache translation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+2/-1</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>6 files</summary><table> <tr> <td><strong>export.rs</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-b9ca11eac019064e747b0c75157c280c8e8fa6d75edb83ca9ae46777e9668cc0">+1/-7</a> </td> </tr> <tr> <td><strong>plan.proto</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-4f1a05aba1b09b2db2ffae983dcdf4ed294ed3698204af80d50ae2d7b711551b">+1/-0</a> </td> </tr> <tr> <td><strong>search.proto</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-789f17326b818d5fbd1b5b752bed17e5341fde3d3261951634edcf78cacf3dbe">+13/-12</a> </td> </tr> <tr> <td><strong>cluster.rs</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-542d8f27a174c845740ca1c3fe0b697db89c3db666437c1c4dd8c9745510080c">+4/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-ba9b65130898444f7815fd6068bdb0dc590612f74cc893f79d91b0afc44cc851">+1/-0</a> </td> </tr> <tr> <td><strong>wal.rs</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7315/files#diff-f47892ffc5d3076d37a66f49f55db4e83cb6f42df517da68c001a42c04adac72">+1/-0</a> </td> </tr> </table></details></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> --------- Co-authored-by: hengfei yang <hengfei.yang@gmail.com> Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech> Co-authored-by: omkark06 <omkar@zinclabs.io> |
||
|
|
3dc4e21176 |
feat: add typeahead query builder for variable selection (#7306)
### **PR Type** Enhancement ___ ### **Description** - Add dynamic SQL parser import for variable typeahead - Implement buildVariablesTypeAheadQuery with base64 SQL - Update query context builder to use typeahead - Remove redundant inline LIKE filter logic ___ ### **Changes walkthrough** 📝 <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>VariablesValueSelector.vue</strong><dd><code>Implement variable typeahead SQL builder</code> </dd></summary> <hr> web/src/components/dashboards/VariablesValueSelector.vue <li>Import and initialize <code>sqlParser</code> dynamically<br> <li> Add <code>buildVariablesTypeAheadQuery</code> for typeahead SQL<br> <li> Encode generated queries in base64 format<br> <li> Adjust query context builder to use new function </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7306/files#diff-5c6e3bcb87cb64f25bf8157a541604b7a4904c1282acf662cab5d76a5be6bd56">+64/-9</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
5aa1ab1820 |
feat: str_match placeholder and match_field alias (#7302)
cherry-pick - [x] https://github.com/openobserve/openobserve/pull/7285 - [x] https://github.com/openobserve/openobserve/pull/7298 |
||
|
|
06dfea9809 |
fix: improve Loki performance (#7301)
### **User description**
- [x] Change Loki API from `/api/{org}/loki/vi/push` to
`/api/{org}/loki/api/v1/push`
- [x] Improve Loki API performance
- [x] Correct usage report and metrics path for Loki API
___
### **PR Type**
Enhancement
___
### **Description**
- Add `Loki` ingestion variant to enums
- Update Loki API route to `/loki/api/v1/push`
- Extend ingest service for Loki and HEC
- Adjust HTTP handler and tests for new route
___
### **Changes walkthrough** 📝
<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>ingestion.rs</strong><dd><code>Add Loki request enum
variant</code>
</dd></summary>
<hr>
src/common/meta/ingestion.rs
<li>Added <code>Hec</code> and <code>Loki</code> variants to
<code>IngestionRequest</code><br> <li> Removed duplicate
<code>Hec</code> entry and reordered variants
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7301/files#diff-5effcbeb41f448c6f75b1f17baa683a02d668865eb09f898633797cd1327e3a2">+2/-1</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>usage.rs</strong><dd><code>Support Loki in UsageType
enum</code>
</dd></summary>
<hr>
src/config/src/meta/self_reporting/usage.rs
<li>Inserted <code>Loki</code> variant with serde rename<br> <li>
Included <code>Loki</code> in <code>is_ingestion</code> checks<br> <li>
Added Display case for <code>Loki</code>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7301/files#diff-b15a6adcb163dc27993c83528105a6726c44c86d8a84c5cf5d1d382c6ec8cc29">+5/-1</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>loki.rs</strong><dd><code>Change Loki HTTP API path and
tests</code>
</dd></summary>
<hr>
src/handler/http/request/logs/loki.rs
- Changed HTTP route attribute path
- Updated test URIs to new route
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7301/files#diff-34691872632b619be8aadf255104f0e004fcf701dba98f88e231de5966eed099">+4/-4</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>ingest.rs</strong><dd><code>Extend ingest service for
Loki and HEC</code>
</dd></summary>
<hr>
src/service/logs/ingest.rs
<li>Added match arms for <code>Hec</code> and <code>Loki</code>
ingestion<br> <li> Removed duplicate <code>Hec</code> handling block
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7301/files#diff-e62118e45be183266d39ffa08491f255017954235ff0f3d6937683e314da406f">+10/-5</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>loki.rs</strong><dd><code>Use Loki variant in ingest
call</code>
</dd></summary>
<hr>
src/service/logs/loki.rs
<li>Switched to <code>IngestionRequest::Loki</code> usage<br> <li>
Removed intermediate JSON-to-Bytes conversion<br> <li> Simplified log
error messages formatting
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7301/files#diff-a970c8c4785d4e4d878218615b17eec0cf4b4976121766b002c2b2f76371bfe6">+3/-14</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>router.rs</strong><dd><code>Update Loki ingester route
path</code>
</dd></summary>
<hr>
src/config/src/router.rs
<li>Updated Loki route path in <code>INGESTER_ROUTES</code><br> <li>
Changed "/loki/v1/push" to "/loki/api/v1/push"
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7301/files#diff-5227b263a6c37a040ee1e7482b6903ead2186dd71090ee70bdaf1c3b894487ad">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
___
> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
|
||
|
|
91495ffd9e |
fix: dashboards variables loading (#7293)
### **User description** - #7288 - #7291 ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Auto-close dropdown on value selection - Fix filter parsing fallback for queries - Remove suppressLoadOnNextPopup logic - Clear search text on popup hide ___ ### **Changes walkthrough** 📝 <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>VariablesValueSelector.vue</strong><dd><code>Improve filter parsing fallback</code> </dd></summary> <hr> web/src/components/dashboards/VariablesValueSelector.vue <li>Use optional chaining for filter parsing <br> <li> Default to empty array if filter missing </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7293/files#diff-5c6e3bcb87cb64f25bf8157a541604b7a4904c1282acf662cab5d76a5be6bd56">+1/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>VariableQueryValueSelector.vue</strong><dd><code>Auto-close selector popup on selection</code> </dd></summary> <hr> web/src/components/dashboards/settings/VariableQueryValueSelector.vue <li>Introduce closePopUpWhenValueIsSet helper <br> <li> Invoke popup close after selectAll/custom <br> <li> Remove suppressLoadOnNextPopup flag <br> <li> Reset filterText on popup hide/value set </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7293/files#diff-2cca760c14e835bd1845485fb5517a60f71a6dc23626a6381c8559b82476f5f4">+15/-15</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> --------- Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech> |
||
|
|
d03348582f |
feat: dashboard type ahead for variables (#7277)
### **PR Type** Enhancement, Bug fix ___ ### **Description** - Add debounced typeahead search in variable selectors - Implement unified cancellation to avoid race conditions - Extend loader functions to accept `searchText` parameter - Clean up controllers, timeouts and promises on unmount ___ ### **Changes walkthrough** 📝 <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>VariablesValueSelector.vue</strong><dd><code>Add search and cancellation support</code> </dd></summary> <hr> web/src/components/dashboards/VariablesValueSelector.vue <li>Pass <code>searchResults</code> and <code>onVariableSearch</code> to child selector<br> <li> Clean up search controllers, debounce timeouts, and promises on <br>unmount<br> <li> Check cancellation before processing responses and loading<br> <li> Extend <code>loadSingleVariableDataByName</code> and <code>handleVariableType</code> to handle <br><code>searchText</code> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7277/files#diff-5c6e3bcb87cb64f25bf8157a541604b7a4904c1282acf662cab5d76a5be6bd56">+238/-10</a></td> </tr> <tr> <td> <details> <summary><strong>VariableQueryValueSelector.vue</strong><dd><code>Implement debounced search in selector</code> </dd></summary> <hr> web/src/components/dashboards/settings/VariableQueryValueSelector.vue <li>Add <code>searchResults</code> prop and emit <code>search</code> event<br> <li> Debounce <code>filterText</code> watch for 1000ms before search emit<br> <li> Show <code>searchResults</code> during filter and track <code>searching</code> state<br> <li> Reset results and loading on clear and popup hide </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7277/files#diff-2cca760c14e835bd1845485fb5517a60f71a6dc23626a6381c8559b82476f5f4">+61/-3</a> </td> </tr> </table></td></tr><tr><td><strong>Miscellaneous</strong></td><td><table> <tr> <td> <details> <summary><strong>ViewDashboard.vue</strong><dd><code>Remove debug logging</code> </dd></summary> <hr> web/src/views/Dashboards/ViewDashboard.vue - Remove `console.log` debugging on time update </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7277/files#diff-052badb6758aff09ceaf1645869b9ba96125e6a0ea21abb01a8ee0a40d6467f3">+0/-5</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> --------- Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech> |
||
|
|
4e58c37786 | feat: secondary index str_match use tantivy index (#7273) | ||
|
|
dd25cd6f8f | fix: remove debug logs for Loki (#7278) | ||
|
|
78bc9204e8 |
fix: improve node status monitor (#7276)
### **User description** Add a separate task to update memory status every second. ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Use `std::cmp::max(1, …)` for node heartbeat TTL - Remove unused `min` imports from cluster modules - Spawn per-second node memory usage metric task - Minor formatting in `config.rs` ___ ### **Changes walkthrough** 📝 <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>etcd.rs</strong><dd><code>Use max for etcd heartbeat TTL</code> </dd></summary> <hr> src/common/infra/cluster/etcd.rs <li>Remove unused <code>cmp::min</code> import<br> <li> Replace TTL calculation with <code>std::cmp::max(1, ttl/4)</code> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7276/files#diff-37c2c2803d1c12ebb4ef9299bc79c9e6740fc5f19f7f4d84e7cfbb610b9561a9">+2/-2</a> </td> </tr> <tr> <td> <details> <summary><strong>mod.rs</strong><dd><code>Update cluster mod heartbeat TTL</code> </dd></summary> <hr> src/common/infra/cluster/mod.rs <li>Drop unused <code>min</code> import<br> <li> Compute TTL with <code>std::cmp::max(1, ttl/2)</code><br> <li> Simplify config retrieval in heartbeat task </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7276/files#diff-d15434a27e2b8406811f5a707b605203b603dad4a262c0642326be860bd2b568">+1/-3</a> </td> </tr> <tr> <td> <details> <summary><strong>nats.rs</strong><dd><code>Adjust NATS heartbeat TTL logic</code> </dd></summary> <hr> src/common/infra/cluster/nats.rs <li>Remove <code>core::cmp::min</code> import<br> <li> Switch TTL logic to <code>std::cmp::max(1, ttl/4)</code> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7276/files#diff-901773980aa255942e7865b977fe63811f31511ac40bc512d6bbb14dbb54bece">+1/-2</a> </td> </tr> </table></td></tr><tr><td><strong>Formatting</strong></td><td><table> <tr> <td> <details> <summary><strong>config.rs</strong><dd><code>Improve spacing in config definitions</code> </dd></summary> <hr> src/config/src/config.rs - Add blank line before `HealthCheck` definition </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7276/files#diff-9aeee4a74c0520daa40f9b81c7016f5b6b3254375b968dd7598e745630980d62">+1/-0</a> </td> </tr> </table></td></tr><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>stats.rs</strong><dd><code>Add node memory usage metrics task</code> </dd></summary> <hr> src/job/stats.rs <li>Spawn <code>update_node_memory_usage</code> in <code>run()</code><br> <li> Add <code>update_node_memory_usage</code> loop for metrics </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7276/files#diff-f3ca67d9d2c68beeafd6e5de947dbc9a648ac2d2699c5dc87458c369887d09b9">+12/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
102327e176 | feat: add TopN memory track for datafusion (#7262) | ||
|
|
e2b9334aa9 |
test: adding organizations revamp playwright (#7261)
### **PR Type** adding organizations revamp playwright ___ ### **Description** - Enabled "Add Organization Successfully" test - Enabled empty-name save-disabled test - Enabled cancel prevents addition test - Enabled blank-name error message test ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>usersOrg.spec.js</strong><dd><code>Unskip organization add tests</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/usersOrg.spec.js <li>Removed <code>test.skip</code> on org-add success test<br> <li> Removed skip on empty-name save-disabled test<br> <li> Removed skip on cancel prevents addition test<br> <li> Removed skip on blank-name error message test </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7261/files#diff-01a0201901f4022cf6708a20432f8a70bc20ac5ccdb9943fd5a6b41eaf0e550b">+4/-4</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
19a37e5992 |
fix: org related changes (#7187)
### **User description** 1. This PR fixes 2 issues Fetching user roles for OSS is not supported Introduce organization to oss ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Restrict fetchUserRoles to enterprise/cloud - Add organizations tab in OSS IAM view - Introduce organizations route for OSS - Remove duplicate org route in enterprise ___ ### **Changes walkthrough** 📝 <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>AddUser.vue</strong><dd><code>Conditional fetchUserRoles for OSS</code> </dd></summary> <hr> web/src/components/iam/users/AddUser.vue <li>Wrapped fetchUserRoles under environment check<br> <li> Prevent roles fetching in OSS mode </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7187/files#diff-47543c0488c8cb5bcf77e2bb4af9d0a5dd249993cd9577c4852f7950c7aaec91">+3/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>IdentityAccessManagement.vue</strong><dd><code>Add organizations tab for OSS</code> </dd></summary> <hr> web/src/views/IdentityAccessManagement.vue - Added "organizations" to OSS tabs list </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7187/files#diff-60b63024c98ee8927e12f9ebec93e99ba7ff419038cfe1cc57d49de1f6f342d6">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>useEnterpriseRoutes.ts</strong><dd><code>Add organizations route for OSS</code> </dd></summary> <hr> web/src/composables/shared/useEnterpriseRoutes.ts <li>Added OSS "organizations" route entry<br> <li> Removed duplicate enterprise org route </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7187/files#diff-962367ed3d329e73232da2c262cf10c60b14820dd43e95e94302cdcb2f080cbe">+10/-8</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
91a9a4b6ba |
fix: alerts module issues (#7186)
### **User description** 1. This PR fixes the following issues Search Bar issues on Alerts page Pagination needs to be implemented on the Templates page (# 527) When there are no results, number of records field should not display 1-0 of 0 #7129 This also provides one more improvement to the destinations dropdown 1. so it adds typeahead and also when you select with a typeahead and the typeahead should be get cleared because it is multiselect ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Reapply local alert filter after deletion - Extract local alert filtering function - Add pagination to template list - Fix zero-result display range ___ ### **Changes walkthrough** 📝 <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>AlertList.vue</strong><dd><code>Extract and apply local alert filtering</code> </dd></summary> <hr> web/src/components/alerts/AlertList.vue <li>Await getAlertsFn and reapply local search filter<br> <li> Replace inline filtering with <code>filterAlertsByQuery</code><br> <li> Extract <code>filterAlertsByQuery</code> for alerts </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7186/files#diff-be3e41b823e163b226ffc270d95cc4981e59c600851e4e0d10ee5e4ee994ac8e">+28/-19</a> </td> </tr> <tr> <td> <details> <summary><strong>TemplateList.vue</strong><dd><code>Add pagination controls to templates</code> </dd></summary> <hr> web/src/components/alerts/TemplateList.vue <li>Rename q-table ref to <code>qTableRef</code><br> <li> Integrate <code>QTablePagination</code> in top and bottom slots<br> <li> Add perPageOptions, resultTotal, pagination state<br> <li> Implement <code>changePagination</code> handler </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7186/files#diff-7df66364d7d69a26cfa25cbc555d0e090c2f73e51c8386d9b0435bae4412564c">+39/-4</a> </td> </tr> </table></td></tr><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>Pagination.vue</strong><dd><code>Fix zero-result range display</code> </dd></summary> <hr> web/src/components/shared/grid/Pagination.vue - Correct start index when no results </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7186/files#diff-b6efd6b9b819d4491cbe49faddf5134a0114567acb3197fbd2a0e60afb7fc44a">+1/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
5357c034b0 | test: limit-pagination-test (#7258) | ||
|
|
bf480bbe5e |
feat: dashboard variables add custom values from input (#7246)
### **PR Type** Enhancement ___ ### **Description** - Added Enter key handling for custom values - Appended new options dynamically from input - Introduced suppressLoadOnNextPopup to skip reload - Cleaned up debug comments in template ___ ### **Changes walkthrough** 📝 <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>VariableQueryValueSelector.vue</strong><dd><code>Add custom input option handling</code> </dd></summary> <hr> web/src/components/dashboards/settings/VariableQueryValueSelector.vue <li>Added <code>handleKeydown</code> for Enter key support<br> <li> Extended <code>filterOptions</code> to push new options<br> <li> Introduced <code>suppressLoadOnNextPopup</code> flag<br> <li> Removed commented debug template code </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7246/files#diff-2cca760c14e835bd1845485fb5517a60f71a6dc23626a6381c8559b82476f5f4">+54/-6</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> --------- Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech> Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech> |
||
|
|
a0b95b7cd3 |
fix: empty user session (#7162) (#7164)
### **PR Type** Bug fix ___ ### **Description** - Prevent panic on empty access tokens - Audit log and 400 on missing token - Skip empty session DB values - Handle JSON deserialization errors gracefully ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Error handling</strong></td><td><table> <tr> <td> <details> <summary><strong>mod.rs</strong><dd><code>Validate access token and add audit guard</code> </dd></summary> <hr> src/handler/http/request/status/mod.rs <li>Add empty access token check in redirect and refresh<br> <li> Log audit message and return 400 Unauthorized </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7164/files#diff-ca09c9c9b020049bdbc3382c466bfcca80daac92e98760d9a9a76172abf34049">+29/-0</a> </td> </tr> <tr> <td> <details> <summary><strong>session.rs</strong><dd><code>Improve DB session error handling</code> </dd></summary> <hr> src/service/db/session.rs <li>Annotate and skip empty session values in watch<br> <li> Handle JSON errors and skip empties in cache </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7164/files#diff-64311ff8ef53118e7611a2a2a28c5380a0e8b8213139b2c2108c728b1d460a2b">+14/-2</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
8559eb9389 |
fix: cancel query issue with http streaming (#7252)
- #7249 |
||
|
|
ee2e759838 | fix: tantivy time range not match for main (#7247) | ||
|
|
95a84df295 |
fix: make ZO_CREATE_ORG_THROUGH_INGESTION true by default (#7245)
|
||
|
|
c2c7ea6a95 |
test: match_all queries pytest (#7208)
### **User description** match_all queries pytest ___ ### **PR Type** Tests ___ ### **Description** - Add tests for match_all streaming queries ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>test_streaming.py</strong><dd><code>Add match_all streaming test cases</code> </dd></summary> <hr> tests/api-testing/tests/test_streaming.py <li>Added "match_all query one" test case<br> <li> Added "match_all query two" test case<br> <li> Added "match_all query three" test case </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7208/files#diff-f15e9b733130f72112380fda658264545435fbf956b08869b0ad5a9435d222f7">+21/-3</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> --------- Co-authored-by: Taiming Liu <liutaiming3@gmail.com> Co-authored-by: Shrinath Rao <shnath@openobserve.ai> |
||
|
|
7fe850326a |
test: Folder Structure changes for Alerts, updated yml file for running multiple spec files instead of one (#7212)
### **PR Type** Tests, Enhancement ___ ### **Description** - Fix import paths in Alerts page classes - Add template import and creation methods - Introduce new Alerts E2E, import, UI tests - Update CI workflow with new test specs ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>alertDestinationsPage.js</strong><dd><code>fix import path for common actions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-57e5c53b4ef998b3d8708149620ff94dcc46807927f1a3a9e9f28ed3ebe25b0a">+1/-1</a> </td> </tr> <tr> <td><strong>changeOrg.spec.js</strong><dd><code>update AlertsPage import path reference</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-607c77ca637716a5b8d37ec25dbaf7dc91cddd7d981b72f9c460f54498d14351">+1/-1</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>alertTemplatesPage.js</strong><dd><code>add template import locators and methods</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-f4ebd248b2140051e74dbbbd1aabe344f01c80704ce5857e9c28a04350e018f3">+71/-0</a> </td> </tr> <tr> <td><strong>alertsPage.js</strong><dd><code>improve locators and add timeouts</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-79ee01d6d7f145f19207b93b87143b545a1188cfc6a82bc8c45fecfbf68f8a1d">+8/-6</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>5 files</summary><table> <tr> <td><strong>alerts-e2e-flow.spec.js</strong><dd><code>add end-to-end alerts flow tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-32972e38c1fe0e8bb887f9f254b3130916a36f96ea924f9987493d44efefeab9">+162/-0</a> </td> </tr> <tr> <td><strong>alerts-import.spec.js</strong><dd><code>add import/export alerts functionality tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-62b6ec4818685eacc0a934d68aaadfd73b512ef4f4be25fcd5135b97c2844912">+129/-0</a> </td> </tr> <tr> <td><strong>alerts-ui-operations.spec.js</strong><dd><code>add alerts UI operations validation tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-c9b523b5f5dea834b69abdf20f4acef361bdf37b1585c450e10238b1d1984f2e">+255/-0</a> </td> </tr> <tr> <td><strong>emailTemplateImport.json</strong><dd><code>add email template import fixture</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-2f3913b2a88452f900baf8bec360cca87b30e26819c98483028ec98dc09a23d2">+7/-0</a> </td> </tr> <tr> <td><strong>webhookTemplateImport.json</strong><dd><code>add webhook template import fixture</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-7b0a644740e335227bc785d900c70972619e669ec2e0669f521d50de9d0425ba">+7/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Miscellaneous</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>alerts.spec.js</strong><dd><code>comment out legacy alerts spec file</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-a51e6bab2ebb7ff9069a707fd7da5bb3e0948db8013765b4a934ba594c1bcf57">+426/-354</a></td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>playwright.yml</strong><dd><code>include new alerts spec files in CI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7212/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+3/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
34e9285270 | fix: dashboard move to logs (#7238) | ||
|
|
d9f92d6d9a | fix: match all doesn't work on ingester (#7237) |