ByteBaker and Hengfei Yang
b948361769
chore: update copyright year to 2026 ( #11166 )
...
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com >
2026-04-07 09:57:53 +08:00
Bhargav
2cd84ff77b
fix: Load pricing from json ( #10857 )
2026-03-12 17:58:42 +05:30
83e1edc06d
fix: 10159 replace dashboard panel with custom component in correlation logs tab v1 ( #10246 )
...
### **PR Type**
Enhancement, Tests
___
### **Description**
- Introduce `useCorrelatedLogs` composable for streaming correlated logs
- SQL builder with semantic field mapping and request cancellation
- Caching of semantic patterns and dynamic filter management
- Add `TimeRangeEditor.vue` and `DimensionFilterEditor.vue` UIs
- Preset and custom time window selection
- Stable/unstable dimension filter editing with wildcard toggle
- Extend cell actions to respect `hideSearchTermActions` flag
- Add comprehensive unit tests for new composables and components
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["useCorrelatedLogs\n(composable)"] -- "provides state & methods" --> B["CorrelatedLogsTable.vue\n(table UI)"]
B -- "opens filter editor" --> C["DimensionFilterEditor.vue\n(filter UI)"]
B -- "opens time editor" --> D["TimeRangeEditor.vue\n(time UI)"]
A -- "used by" --> E["CellActions.vue\n(hide search term)"]
```
<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>3
files</summary><table>
<tr>
<td><strong>useCorrelatedLogs.ts</strong><dd><code>Add correlated logs
composable with streaming API</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-310992fb4914c6eaffbbce225e0c0683c2edad2bb0ab0f8e43530fc38152ed2a ">+583/-0</a>
</td>
</tr>
<tr>
<td><strong>TimeRangeEditor.vue</strong><dd><code>Add time range editor
dialog component</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-fbebc998fca2093c7f168d13e720aa6606b21ace2e9f2185f81c49e59e9eec70 ">+498/-0</a>
</td>
</tr>
<tr>
<td><strong>DimensionFilterEditor.vue</strong><dd><code>Add dimension
filter editor dialog component</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-6c9172f6882b50f84b5927c491c21702617c66ddde648170199bb11b360f4dde ">+324/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>1
files</summary><table>
<tr>
<td><strong>useCorrelatedLogs.spec.ts</strong><dd><code>Add unit tests
for correlated logs composable</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-f5ec3243549ef3a5081acfb9b928fb87d26e86e04a669a85ad03a1a053ec4eac ">+591/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Bug
fix</strong></td><td><details><summary>1 files</summary><table>
<tr>
<td><strong>CellActions.vue</strong><dd><code>Respect
hideSearchTermActions in cell actions</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-de54e5b8cd9503c53f3f802ac7bc7e3d25846f1657c77cd99534d9f60673992e ">+6/-2</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Refactoring</strong></td><td><details><summary>1
files</summary><table>
<tr>
<td><strong>useLogsHighlighter.ts</strong><dd><code>Move cache inside
hook and format regex</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-ad7744a2edc4764be1c7d67feb7fe1473536af245821898a9136256b3aeb0342 ">+8/-3</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Additional
files</strong></td><td><details><summary>20 files</summary><table>
<tr>
<td><strong>features.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-f3c3ea1b3f6e34a0718bced5c01c09bfe13b5ba7936ee8b77eb66b8c14767d49 ">+18/-0</a>
</td>
</tr>
<tr>
<td><strong>de.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264 ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>en.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824 ">+64/-1</a>
</td>
</tr>
<tr>
<td><strong>es.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778 ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>fr.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2 ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>it.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>ja.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3 ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>ko.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48 ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>nl.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906 ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>pt.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815 ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>tr.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818 ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>zh.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e ">+65/-4</a>
</td>
</tr>
<tr>
<td><strong>CorrelatedLogsTable.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-2cbeccd1d13276ca572faf566cbfef3adb2a54fa65d8197ade08dd8414464293 ">+514/-0</a>
</td>
</tr>
<tr>
<td><strong>CorrelatedLogsTable.vue</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-57e0ec3ac2762de21e67254edf83a4559490f717a8826762c0566fa3b70b6fb8 ">+978/-0</a>
</td>
</tr>
<tr>
<td><strong>DimensionFilterEditor.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-94cbaad5e0f29d5cb695077c9b7915cfee73e0b510b87503660407ce349848cb ">+581/-0</a>
</td>
</tr>
<tr>
<td><strong>DimensionFiltersBar.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-852ddb2775c9f58605e39ff8aa8b6a22ae07a8330b9acf9d22535dd49f3f0ea4 ">+356/-0</a>
</td>
</tr>
<tr>
<td><strong>DimensionFiltersBar.vue</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-6199755ef4f3b11c06759aabe761173fe475a21daefb0a3e503c9b31b934f257 ">+155/-0</a>
</td>
</tr>
<tr>
<td><strong>TelemetryCorrelationDashboard.vue</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38 ">+901/-477</a></td>
</tr>
<tr>
<td><strong>DetailTable.vue</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7 ">+88/-2</a>
</td>
</tr>
<tr>
<td><strong>TenstackTable.vue</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-bc3c669f5ab65a42ae378df1f7d6b35014c9c220790bdcc72b47f55d1385dc22 ">+48/-0</a>
</td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: omkark06 <omkar@zinclabs.io >
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 19:31:17 +05:30
Bhargav
576671d14f
fix: automate update process of feature master list on about us page ( #10010 )
...
### **PR Type**
Enhancement
___
### **Description**
- Centralize features in JSON registry
- Refactor ComparisonTable to load from registry
- Add GitHub Action for auto-updating features.json
- Update Slack PR notification configuration
- Enable JSON module imports in tsconfig
___
### Diagram Walkthrough
```mermaid
flowchart LR
PRDesc["PR description feature section"]
AutoUpdate["Auto-update features.json Workflow"]
featuresJSON["features.json"]
featuresTS["features.ts registry"]
TableComp["FeatureComparisonTable.vue"]
PRDesc -- "triggers" --> AutoUpdate
AutoUpdate -- "updates" --> featuresJSON
featuresJSON -- "loaded by" --> featuresTS
featuresTS -- "used by" --> TableComp
```
<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>2
files</summary><table>
<tr>
<td><strong>features.ts</strong><dd><code>Add central feature registry
and helper functions</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-232fb84d995004ab5e3da68e3a9fc835808f460feb9f4478dca50ea4a48ed057 ">+104/-0</a>
</td>
</tr>
<tr>
<td><strong>FeatureComparisonTable.vue</strong><dd><code>Refactor table
to load features from registry</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-450bc4b412ffde37d04f96046199090e3d41face1ee85b32e446c9b470ce299e ">+31/-30</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Configuration
changes</strong></td><td><details><summary>6 files</summary><table>
<tr>
<td><strong>auto-update-features.yml</strong><dd><code>Add workflow to
auto-update features.json</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-7179e615740ebfe7a08143d567c20bdf7d813506f77c6efba463d105b48379ad ">+253/-0</a>
</td>
</tr>
<tr>
<td><strong>pr-slack.yml</strong><dd><code>Update Slack action with new
webhook syntax</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-c049020d06d481f16942b242608c22fa8377924730787f97288e03561768f51a ">+3/-3</a>
</td>
</tr>
<tr>
<td><strong>features.json</strong><dd><code>Add JSON-based features
configuration</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-f3c3ea1b3f6e34a0718bced5c01c09bfe13b5ba7936ee8b77eb66b8c14767d49 ">+262/-0</a>
</td>
</tr>
<tr>
<td><strong>features.schema.json</strong><dd><code>Add JSON schema for
features.json validation</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-42009a609f9d2eb5a6a7264d7c236ef538fd624f29edf02759bd3b231453be27 ">+71/-0</a>
</td>
</tr>
<tr>
<td><strong>tsconfig.app.json</strong><dd><code>Enable JSON module
imports in app config</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-1fc2dc23685a64f037b0063bf18fc420a8faeb83e98a2cc2b407f1a25c4fc1f5 ">+1/-0</a>
</td>
</tr>
<tr>
<td><strong>tsconfig.json</strong><dd><code>Enable JSON module imports
in base tsconfig</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-0dafb2d38c20327f4a74c03733790ccca87a4bbda69ec4c03aa362524b0522ca ">+1/-0</a>
</td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
2026-01-17 18:06:23 +05:30
9444447498
fix: Free trial rebase ( #6922 )
...
Cherry pick of https://github.com/openobserve/openobserve/pull/6807
after cloud branch was merged into main
---------
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com >
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com >
Co-authored-by: Bhargav <BJP232004@GMAIL.COM >
Co-authored-by: Taiming Liu <liutaiming3@gmail.com >
Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com >
Co-authored-by: Subhra264 <chakrabortysubhradeep556@gmail.com >
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
2025-07-10 11:23:41 -07:00
+2
0d9f47966b
feat: Organization revamp ( #5579 )
...
Fixes #5131
Addresses #5408
### Revamp
- Created a new table to store organizations in the `organizations`
table. Earlier, we never stored organizations in any table, rather we
used to store the organizations in the meta table as part of the `user`
json.
- The users and organization membership relations are now moved to its
own separate tables - `users` and `org_users`.
### New changes
**API changes** -
- `/organizations` - `POST` api to create an org and save it in the meta
table. In non-enterprise version, currently only the root user can
create the org. For enterprise version with rbac enabled, anyone with
`CREATE` access for organizations can create the organization and
becomes an admin. Root user can always create an organization.
- `/{org_id}/rename` - `PUT` api to rename the existing org. Only root
user and the admins of the org can access this API.
The payload for following APIs are changed -
- `POST api/{org_id}/roles` - `{"name":"new_role"}` is changed to
`{"role":"new_role"}
- `POST api/{org_id}/users/{user}` -
`{"role":"viewer","custom_role":["role_name"]}` is the new payload where
`custom_role` is optional and is array of custom roles (only works in
enterprise with rbac enabled) which will be assigned to the user. The
value of `role` can be standard role or as well as any custom role (when
it is custom role, the standard role assigned to the user is decided
based on the enterprise env variable - `O2_DEX_DEFAULT_ROLE`).
- `POST api/{org_id}/users`- the payload -
```
{"email":"user@user.com ","role":"viewer","custom_role":["create_org_permission"],"password":"12345678", "first_name": "", "last_name":""}
```
- `PUT api//{org_id}/users/{email_id}` the payload -
```
{"first_name":"Hello","last_name":"j","role":"viewer","isExternal":false,"change_password":false,"password":"","custom_role":["create_org_permission"]}
```
A new ENV variable is introduced - `ZO_CREATE_ORG_THROUGH_INGESTION`
(default `false`) which if true, an org will automatically created when
ingesting data to a new org. If false, user can not create org by
ingesting data to new org, they need to first call the `POST
/organizations` API.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
**New Features**
- Added a `cloud` feature for enhanced organizational management
capabilities.
- Introduced new methods for managing organizational users and
asynchronous message processing.
- Enhanced user invitation and membership features, including improved
role handling.
- Implemented configurable ingestion URL support across various
components.
- Added new functionality for user management and organization handling
in the super cluster architecture.
**Improvements**
- Refined user authentication and authorization processes, including
error handling.
- Updated database schema to support multi-organization architecture.
- Enhanced pagination settings and UI components for better user
experience.
- Improved handling of organization names and user roles in
notifications and alerts.
- Streamlined service account token management with visibility
enhancements.
- Enhanced the `AddUpdateOrganization` component with improved user
input handling and validation.
- Updated the `AppOrganizations` component to dynamically load the
appropriate organization management interface.
- Improved the `ServiceAccountsList` component with updated pagination
options and token handling logic.
**Bug Fixes**
- Resolved issues with user role assignments and organization management
inconsistencies.
- Corrected routing and navigation logic for login and logout processes.
- Addressed various error handling scenarios in user and organization
processes.
- Fixed issues with the visibility of service account options in the
`EditGroup` and `EditRole` components based on the cloud configuration.
**Breaking Changes**
- Significant restructuring of user and organization data models.
- Changes to authentication workflows and configuration handling.
- Removal of certain components related to user and organization
management.
- Updated the logic for determining the ingestion URL across various
components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com >
Co-authored-by: Bhargav <BJP232004@GMAIL.COM >
Co-authored-by: Taiming Liu <liutaiming3@gmail.com >
Co-authored-by: hengfei yang <hengfei.yang@gmail.com >
Co-authored-by: harshiv-7 <harshiv@openobserve.ai >
Co-authored-by: Huaijin <haohuaijin@gmail.com >
Co-authored-by: Zhao.wei <weizhao029@gmail.com >
Co-authored-by: ShyamOOAI <shyam@openobserve.ai >
Co-authored-by: oasisk <ashish.j.kolhe@gmail.com >
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
Co-authored-by: Yashodhan Joshi <yashodhan@openobserve.ai >
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com >
2025-05-25 21:53:55 -07:00
Prabhat Sharma and Taiming Liu
9ace66ac75
chore: rename zinc to OpenObserve ( #4807 )
...
rename zinc to OpenObserve
---------
Co-authored-by: Taiming Liu <90490946+taimingl@users.noreply.github.com >
2024-10-16 10:12:34 -07:00
Prabhat Sharma
1b3aec6911
docs: update license in other missing files ( #2062 )
...
update license in other missing files to AGPL
2023-11-27 19:50:14 -08:00
Hengfei Yang
af521fde54
fix: update license ( #1404 )
2023-08-21 15:37:50 +08:00
Bhargav
59c0b2438e
feat: stripe integration ( #938 )
2023-06-12 13:48:26 +05:30
Bhargav
176cb7799e
fix: billing plan changes ( #877 )
2023-06-02 16:25:24 +05:30
Bhargav
e62ac76366
fix: Billing UI changes ( #594 )
...
* fix: billing changes
* fix: ui changes for billing
* fix: ui changes for billing
2023-04-19 10:30:46 +05:30
Bhargav
2928fcf08f
fix: billing changes ( #591 )
2023-04-19 09:01:31 +05:30
omkarK06
3de53cdbf6
feat: Metrics explorer UI ( #575 )
2023-04-15 09:38:56 +08:00
Bhargav
e7d458e572
feat: Issue 435 single UI repo ( #510 )
...
* feat: merged mainlayout
* structured with composable
* fix login flow for single ui repo
* merged ui code for user & login module
* billing and organization module code merge
* feat: final merge single UI repo
* refactoring for enterprise code
* feat: merged mainlayout
* structured with composable
* fix login flow for single ui repo
* merged ui code for user & login module
* billing and organization module code merge
* feat: final merge single UI repo
* refactoring for enterprise code
* feat: removed files
* fix: added ext
* fix: organization not getting loaded
* merge with main
2023-04-07 10:25:29 +05:30
Bhargav
55c98d1250
license text ( #68 )
2023-02-14 11:59:58 +05:30
oasisk
147362cb40
zinc-observe initial commit
2023-02-02 09:03:11 +05:30