Commit Graph
17 Commits
Author SHA1 Message Date
ByteBakerandHengfei 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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-310992fb4914c6eaffbbce225e0c0683c2edad2bb0ab0f8e43530fc38152ed2a">+583/-0</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>TimeRangeEditor.vue</strong><dd><code>Add time range editor
dialog component</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-fbebc998fca2093c7f168d13e720aa6606b21ace2e9f2185f81c49e59e9eec70">+498/-0</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>DimensionFilterEditor.vue</strong><dd><code>Add dimension
filter editor dialog component</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-6c9172f6882b50f84b5927c491c21702617c66ddde648170199bb11b360f4dde">+324/-0</a>&nbsp;
</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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-f5ec3243549ef3a5081acfb9b928fb87d26e86e04a669a85ad03a1a053ec4eac">+591/-0</a>&nbsp;
</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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-de54e5b8cd9503c53f3f802ac7bc7e3d25846f1657c77cd99534d9f60673992e">+6/-2</a>&nbsp;
&nbsp; &nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-ad7744a2edc4764be1c7d67feb7fe1473536af245821898a9136256b3aeb0342">+8/-3</a>&nbsp;
&nbsp; &nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
</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>&nbsp;
</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>&nbsp;
</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>&nbsp;
</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>&nbsp;
</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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-232fb84d995004ab5e3da68e3a9fc835808f460feb9f4478dca50ea4a48ed057">+104/-0</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>FeatureComparisonTable.vue</strong><dd><code>Refactor table
to load features from registry</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-450bc4b412ffde37d04f96046199090e3d41face1ee85b32e446c9b470ce299e">+31/-30</a>&nbsp;
</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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-7179e615740ebfe7a08143d567c20bdf7d813506f77c6efba463d105b48379ad">+253/-0</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>pr-slack.yml</strong><dd><code>Update Slack action with new
webhook syntax</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-c049020d06d481f16942b242608c22fa8377924730787f97288e03561768f51a">+3/-3</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>features.json</strong><dd><code>Add JSON-based features
configuration</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-f3c3ea1b3f6e34a0718bced5c01c09bfe13b5ba7936ee8b77eb66b8c14767d49">+262/-0</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>features.schema.json</strong><dd><code>Add JSON schema for
features.json validation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-42009a609f9d2eb5a6a7264d7c236ef538fd624f29edf02759bd3b231453be27">+71/-0</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
<td><strong>tsconfig.app.json</strong><dd><code>Enable JSON module
imports in app config</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-1fc2dc23685a64f037b0063bf18fc420a8faeb83e98a2cc2b407f1a25c4fc1f5">+1/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>tsconfig.json</strong><dd><code>Enable JSON module imports
in base tsconfig</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10010/files#diff-0dafb2d38c20327f4a74c03733790ccca87a4bbda69ec4c03aa362524b0522ca">+1/-0</a>&nbsp;
&nbsp; &nbsp; </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 SharmaandTaiming 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