5403 Commits

Author SHA1 Message Date
Shailesh Parmar
4059bccafa border style update 2025-10-09 22:07:39 +05:30
Shailesh Parmar
436aec7fab refactor: remove incident column rendering logic from DataQualityTab component 2025-10-09 21:55:05 +05:30
Shailesh Parmar
65b270e03f Merge remote-tracking branch 'origin/main' into revamp-data-obs-tabs 2025-10-09 21:29:08 +05:30
Ashish Gupta
9a18e14cb4
fix the wrong label displayed on semantic status (#23814) 2025-10-09 21:19:47 +05:30
Shailesh Parmar
dfabcd13cb feat: Introduce RequiredLabel component for consistent required field styling 2025-10-09 20:35:07 +05:30
Shailesh Parmar
3e4e55dc73 feat: Enhance InlineTestCaseIncidentStatus component with user search and improved UI elements 2025-10-09 18:17:21 +05:30
Harshit Shah
509295ed39
Playwright: Fix flaky user profile persona interactions (#23758)
* Playwright: Fix flaky user profile persona interactions

* add appropriate loading for curated assets

* add loaders at appropriate places

* fix failing tests

* fix waitForAllLoadersToDisappear
2025-10-09 14:21:01 +05:30
Uwais
7f5bda7d1a
Fixes: ISSUE-23316: change remove default persona icon (#23348)
* ISSUE-23316: icon used now CloseCircleOutlined

* ISSUE-23316: Using svg from projects assets

* fix the comments

* revert the unwanted changes

---------

Co-authored-by: Ashish Gupta <ashish@getcollate.io>
2025-10-09 11:39:09 +05:30
Ashish Gupta
6cf4d94285
chore(ui): Fix classification version flaky test (#23737) 2025-10-09 11:17:53 +05:30
Ashish Gupta
e748312799
fix the table column resize handler not visible (#23764) 2025-10-09 11:15:02 +05:30
Rohit Jain
e242e7cf8a
Fixes 23732: Hide owner and domain "Add" button if classification is disabled (#23748)
* Fix: Hide owner and domain add button if classification is disabled

* Playwright: Added e2e test case for disabled owner and domain add button

* Minor: Added network idle await in e2e

* Fix: fixed the classification util unit test

* Playwright: wait for loader to disappear before proceeding in UI tests
2025-10-09 11:14:31 +05:30
Shailesh Parmar
98ec6b5f51 feat: Refactor theme creation and integrate global styles
- Updated createMuiTheme.ts to improve theme structure and organization.
- Added GlobalStyles to App.tsx for consistent font sizing across the application.
- Introduced InlineTestCaseIncidentStatus component for better handling of test case statuses.
- Modified TestCaseIncidentManagerStatus to conditionally render InlineTestCaseIncidentStatus based on props.
- Enhanced DataQualityTab to include a new column for failed/aborted reasons and last run timestamps.
- Updated QualityTab to streamline pagination handling and improve layout.
- Added isInline prop to TestCaseStatusIncidentManagerStatus interface for inline rendering.
2025-10-08 21:38:42 +05:30
Shailesh Parmar
63336dd98c
fix(ui): updated default font size to 14px and grey color based on style guide (#23785)
* fix(ui): updated default font size to 14px and grey color based on style guide

* fix(ui): apply GlobalStyles for consistent font size of 14px across the application
2025-10-08 20:24:04 +05:30
Ram Narayan Balaji
9cc0441da2
Feat# Implementation of Custom Workflows (#23023)
* Draft Implementation of Custom Workflows

* Multiple Entities in the Same Trigger for Workflow, along with draft implementation of signal id

* Improved User Approval Task and Impl

* Custom Workflows - Draft Implementation 2, improved periodic batch entity filter and other improvements

* feat(governance): Implement transactional custom workflows - improved

This commit introduces a robust, transactional, and extensible framework for custom governance workflows in OpenMetadata.

Key features and improvements include:

Transactional Workflow Management: A new WorkflowTransactionManager ensures atomic operations for creating, updating, and deleting workflow definitions, maintaining consistency between the OpenMetadata database and the Flowable engine.

Safe ID Encoding: Implemented a WorkflowIdEncoder to generate safe, Base64-encoded, and collision-resistant IDs for Flowable processes, preventing errors from ID truncation.

Rollback and Deprecation Tasks:

Added RollbackEntityTask to revert entities to their last approved state.

Introduced DeprecateStaleEntityTask for automated lifecycle management of stale assets.

Enhanced Workflow Engine:

Improved WorkflowHandler to validate workflow definitions before deployment.

Added new custom functions to the rule engine for checking entity update timestamps and calculating field completeness scores.

CI/CD and Build Improvements:

Updated the CI Dockerfile with a multi-stage build and refined dependency installation.

Modified POM files to include necessary dependencies for new features.

* Adding DataCompleteness Task Node, Flowable Debug logs

* Transaction handling for Custom Workflow - Initial Draft

* add new tasks to node definition interface

* Update generated TypeScript types

* Draft Implementation of Multi Reviewer Approval Task with Migration

* Update generated TypeScript types

* Transaction handling fix, id truncation fix by migration, feed repo fix for multi reviewer pattern, copilot comments

* Update generated TypeScript types

* Fixed Multi Reviewer approval to take consideration of the namespaced variables, Fixed RollBackEntity task to follow subprocess like other automated tasks, copilot nitpicks

* Remove conditionalSetEntityAttributes as it is not needed anymore

* Update generated TypeScript types

* Completely remove the setConditionalAttributes to fix compilation errors

* Removed the comments in the schemaChanges

* Created a new Task called CreateDetailedApprovalTaskImpl, Fixed RollBackEntityTask to roll back to either Approved or Rejected state, use namespaced variables, Updated the workflow handler to resolve the tasks and remove them from the user who has approved the task in the feed during multi reviewer approval, TransactionManager updated to keep Transactions in place, Improve the Validation Node input in the Mainworkflow java to handle proper graph traversal, Find Proper Termination Message for the two user events that are conflicting, Include Message in the request approval thread task for proper messages

* Update generated TypeScript types

* Rendering of messages in task thread

* Fix PeriodicBatchEntityTriggerTask to separate workflows based on entities Draft, Fix: SetEntityAttributes Impl to handle multiple fields, Fix: DataCompletenessTask Draft

* Fix DataCompletenessTask BoundaryEvent in Flowable

* Introduced Wf Deployment Strategy for transaction Handling, Improved user tasks for better termination event naming, fix periodic batch entity trigger to fetch the entity instead of all the entities in the trigger, Migrated GlossaryApprovalWorkflow.json with new nodes and edges, Fixed test cases and some edge cases

* Update generated TypeScript types

* Added performTasks for TagRepository and DataProductRepository, Removed test api, removed unnecessary change from workflow json, improved DataCompletenessImpl, Improved CreateDetailedApprovalTaskImpl to show what updated and not updated in the thread response

* Remove Entity Certification and Entity Status tasks and make use of generic set entity attribute task

* Update generated TypeScript types

* Fix the compilation issues!

* Remove setCertification and setEntityAttributes from createWorkflowDefinition

* Test cases for custom workflows related to glossaryTermApprovalWorkflow

* Test cases for custom workflows

* Changed info to debug logs

* Update generated TypeScript types

* DetailedUserApprovalTask changed to reviewChange task, Have validations for workflows where user approval tasks can only be available for entities that support reviewers

* Fix compilation issues and mvn spotless apply

* Update generated TypeScript types

* Remove Extra assignees from user tasks

* Update generated TypeScript types

* Replace Tags/GlossaryTerms during Mutual Exclusivity and Append when there is no Mutual Exclusivity

* Workflow Transaction Manager to handle authorization as part of its functionality, Added Validation for workflows using /validate endpoint

* Increase the Flowable's polling time to 60 seconds to poll timer and async jobs table

* Update generated TypeScript types

* Enum for UserTask Termination Messages, Removed WorkflowUtils to use WorkflowHandler's terminateDuplicate Instances, Approval and rejecters list in the variables, using namespaced variables for updatedBy

* Reverted the enum for userTaskType for now

* Added new tests for dataContract, dataProduct and Tag for user approval tasks

* Glossary Approval Workflow changed to handle jsonLogic according to UI expectations

* Added a new Task type for change description tasks to review and suggest the changes, Added checkUpdatedByReviewer incase of perfom tasks, increase wf test timeout

* Update generated TypeScript types

* TaskWorkflow constructor public to be used by Collate Repo

* AutoApproveServiceTaskImpl incase the assignees are not there for the userTask with ExlusiveGateway builder with hasAssignees

* Fix Compilation Issues - Upgrade of deps to lang3

* ExclusiveGatewayBuilder set exclusive as true, and other minor changes for test and approval tasks

* Added a different wait mechanism for user tasks in WorkflowDefinitionResourceTest.java

* Combined UserApprovalTask and ChangeReviewTask into one to handle suggestions in the same task!

* Update generated TypeScript types

* Test Case Approval Workflow, Removing orphaned changeReviewTask, Test case fix and new test cases

* Update generated TypeScript types

* Treat empty strings, arrays as missing by default

* Update generated TypeScript types

* fix compilation issues by changing the schema properly

* Remove Stale ChangeReview Task

* Update generated TypeScript types

* Enhanced User Approval task to show changed fields along with what changed and the task resolve function as well

* Update generated TypeScript types

* Add Knowledge center page to workflows event consumer, remove legacy backward compatibility for triggers, lenient validations for workflows when there are no nodes

* EntitySpecific Filters for EventBased Trigger, Removing Backward Compatibility logic for filters, Removed unnecessary comments and execution variables, Handle Structured task resolver for dataProduct, dataContract, tag and testCase, Modified GlossaryApprovalWorkflow.json and improved the MigrationUtil

* Update generated TypeScript types

* Bring back entitycertification and glosarystatus task for backward compatibility

* Update generated TypeScript types

* Filter is a map, entity specific filters are stringified, have certification and glossary status tasks in nodeinterface

* Merge Main

* Remove Suggestions for RequestApproval

* Update generated TypeScript types

* Remove Old Deployments of Periodic Batch Entity Trigger and use hiphen to trigger to avoid accidental triggering

* Resolve Merge conflicts, Java Checkstyle

* Update generated TypeScript types

* Fix Migrations

* Added alter table queries in 1.6.0 to avoid cached plan queries in flowable

* Increase timeout in workflow definition resource test

* Increase polling in workflow definition resource test

* Fix java Checkstyle

* comment the flaky test

* COmmented out Flaky Test Cases, fixed a bug on team reviewers

* Resolve java checkstyle after resolving conflicts

* add updated at field in json logic for glossary

* update fields

* add version field

* Update the rule config of new term node with "and" and update the migration as well

* add equal not equal op

* Delete the trigger workflows using like condition

* Defensive Fallback for multiple task instances created by race condition, Terminate duplicate instances of main workflows

* reverting operators

* Approval Capabilities for Metrics

* Update generated TypeScript types

* Move Migrations to 1.10.1 from 1.10.0

* Removed the extra spaces in Migration 1.10

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: karanh37 <karanh37@gmail.com>
2025-10-08 18:57:44 +05:30
Sriharsha Chintalapani
69f64c3f0b
Fix #23754: test suite owner is getting blocked when trying to add test cases to a bundle suite (#23755)
* Fix #23754: test suite owner is getting blocked when trying to add test cases to a bundle suite

* add playwright test for test suite (#23768)

* addressing comment

---------

Co-authored-by: Shailesh Parmar <shailesh.parmar.webdev@gmail.com>
2025-10-08 17:35:42 +05:30
Eugenio
af0672e4cf
Fixes #22302: add table2.keyColumns parameter for table diff validation (#23667)
* Update `TableDiffParamsSetter` to move data at table level

This means that `key_columns` and `extra_columns` will be defined per table instead of "globally", just like `data_diff` expects

* Update `TableDiffValidator` to use table's `key_columns`

Call `data_diff` and run validations using each table's `key_columns`

* Create migration to update `tableDiff` test definition

* Fix Playwright test
2025-10-08 09:32:00 +02:00
Shailesh Parmar
3f8f89be96 Merge remote-tracking branch 'origin/main' into revamp-data-obs-tabs 2025-10-08 11:49:33 +05:30
Eugenio
a6ac42371d
Ensure recognizers are created (#23645)
* Add the migration classes and data for recognizers

This is so that we can run a migration that sets `json->recognizers` of `PII.Sensitive` and `PII.NonSensitive` tags from json values.

The issue with normal migrations was that the value of recognizers was too long to be persisted in the server migrations log.

Created a common `migration.utils.v1110.MigrationProcessBase`

* Ensure building automatically with the right parameters

* Update typescript types
2025-10-07 15:13:35 +00:00
Harshit Shah
c4a4b22295
Fix(ui): Revert non required query builder util changes (#23763) 2025-10-07 19:54:37 +05:30
Eugenio
47e953f9d3
PLAYWRIGHT FIXES: ensure sample data is passed to the right columns (#23761)
* Ensure we take columns ordered from the sampler

This is to avoid analyzing columns with data from other columns

* Remove expectation of address to have Sensitive tag

This is for a couple of reasons:
- First: per our internal definition it should actually be Non Sensitive.
- Second: presidio actually picks SOME of them up as PERSON (Sensitive) entities, but since we've raised the tolerance, now we're not classifying them as Sensitive.
2025-10-07 09:39:24 +02:00
Ashish Gupta
c41482c936
PLAYWRIGHT: fix the flaky test around tags and activity feed (#23750) 2025-10-07 10:22:09 +05:30
Harshit Shah
8c63ac21ff
Playwright: Fix failing AUT tests (#23745)
* Playwright: Fix failing KPI widget test

* fix failing e2e tests
2025-10-07 10:21:06 +05:30
harshsoni2024
9ba65ac0d2
Fix: Add support for datamodel source url (#23715) 2025-10-06 20:04:43 +00:00
Shailesh Parmar
ec8cf291f2 feat: Enhance QualityTab with search and filter options; refactor DataQualityTab and update styles 2025-10-06 20:35:27 +05:30
Aniket Katkar
c6b61f528a
Chore(UI): Fix the AUT failures (#23729)
* Fix the AUT failures

* Uncomment the commented config
2025-10-06 17:58:16 +05:30
Harshit Shah
a018c5e5cf
Playwright: Fix failing settings navigation tests (#23724)
* Playwright: Fix failing settings navigation tests

* remove hardcore limit of 3 from navigateToPersonaWithPagination

---------

Co-authored-by: Shailesh Parmar <shailesh.parmar.webdev@gmail.com>
2025-10-06 16:49:55 +05:30
sonika-shah
c761ce9fbe
Fix: Domain assets count mismatch between API and UI (#23620)
* Fix: Domain assets count mismatch between API and UI

* exclude SearchDerivedFields from reindex

* refactor fallback and have new field assetsCount

* Update generated TypeScript types

* refactor: clean up groupEntitiesByType function

* add tests

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-06 16:19:42 +05:30
Ashish Gupta
018623cdfc
Minor: fix the flaky tag spec playwright failure (#23726) 2025-10-06 15:25:15 +05:30
Ashish Gupta
d45aec1f93
fix the security select form dropdown in DataContract (#23723)
* Minor: fix the security select form dropdown in DataContract

* fix the security policy add button not enabled even if there is no policies

* fix the policies label being visible on ui, even though data is not present and added playwright test around it

* fix the unit test
2025-10-06 15:24:20 +05:30
Teddy
62b37477ef
MINOR - djl local embedding (#23563)
* feat: config for djl local embedding

* Update generated TypeScript types

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com>
2025-10-06 10:47:50 +02:00
satish
e604c67686
fix(ui): Reduce Data Product icon stroke width in sidebar (#23720)
- Add createIconWithStroke utility for custom icon stroke widths
- Apply stroke width 1.2 to Data Product icon (down from default 2)
- Matches visual weight with other sidebar icons

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Satish <satish@Satishs-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-06 13:58:20 +05:30
Harshit Shah
d22dd3cfad
Playwright: E2E tests for landing page widgets (#23694)
* Playwright: E2E tests for landing page widgets

* update tests

* address comments and fix failing tests

* fix failing tests

* fix failing users.spec

---------

Co-authored-by: Shailesh Parmar <shailesh.parmar.webdev@gmail.com>
2025-10-06 12:52:01 +05:30
Ashish Gupta
ebfb98a022
chore(ui):fix the activity feed flaky playwright test (#23721) 2025-10-06 12:34:23 +05:30
Shailesh Parmar
a4da0b90b9
playwright: update loader and pagination size for CustomizeDetailPage spec (#23714)
* playwright: update loader and pagination size for CustomizeDetailPage spec

* fix(playwright): improve response handling in Search Index Application installation step
2025-10-06 12:10:29 +05:30
satish
adada34284
fix(ui): Fix drawer body loading overlay scroll behavior (#23706)
- Add overflow: hidden to outer Box to prevent header/footer scroll
- Move scrolling to inner content container
- Increase overlay zIndex from 1 to 1000 to appear above form fields
- Overlay now stays fixed covering entire body viewport during scroll

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Satish <satish@Satishs-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-06 09:02:41 +05:30
Chirag Madlani
ef96430be7
fix(ui): settings icon for left sidebar (#23713) 2025-10-05 14:28:29 +05:30
Shailesh Parmar
fae21c5a76 feat: Refactor QualityTab component layout and enhance test case filtering options 2025-10-04 11:18:45 +05:30
Sweta Agarwalla
199ef14df4
update image extension (#23597)
Co-authored-by: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com>
2025-10-04 11:10:49 +05:30
Shailesh Parmar
f2b8f7786c feat: Remove SummaryPanel component and tests; replace with SummaryCardV1 in QualityTab 2025-10-04 11:01:12 +05:30
Sriharsha Chintalapani
fc7412f6dd
Add Timescale Connector (#23665)
* Add Timescale Connector

* Update generated TypeScript types

* Add UI changes for the Timescale

* lineage, usage and java

* Add beta tag

* update logo

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Aniket Katkar <aniketkatkar97@gmail.com>
Co-authored-by: Akash Verma <akashverma@Mac.lan>
2025-10-03 19:00:59 -07:00
Keshav Mohta
6f47baa264
Fixes: Drive Service (#23637)
* fix: added missing fields

* fix: java checkstyle and add mimeType

* Fix Data Asset Headers for drive assets

---------

Co-authored-by: Aniket Katkar <aniketkatkar97@gmail.com>
2025-10-03 17:06:30 +00:00
Aniket Katkar
1adc09f07e
Fix(UI): Tip tap editor bug (#23704)
* Fix the tip tap editor throwing error after hitting arrow keys when there are no suggestions

* Fix ServiceForm spec
2025-10-03 21:31:24 +05:30
Shailesh Parmar
f8df6c38c6 feat: Enhance column profiling with data quality test metrics and visualizations 2025-10-03 20:33:22 +05:30
Keshav Mohta
3d49b6689d
Fixes #23356: Databricks & UnityCatalog OAuth and Azure AD Auth (#23561)
* feat: databricks oauth and azure ad auth setup

* refactor: add auth type changes in databricks.md

* fix: test after oauth changes

* refactor: unity catalog connection to databricks connection code

* feat: added oauth and azure ad for unity catalog

* fix: unitycatalog tests, doc & required type in connection.json

* fix: generated tx files

* fix: exporter databricksConnection file

* refactor: unitycatalog example file

* fix: usage example files

* fix: unity catalog sqlalchemy connection

* fix: unity catalog client headers

* refactor: make common auth.py for dbx and unitycatalog

* fix: auth functions import

* fix: test unity catalog tags as None

* fix: type hinting and sql migration

* fix: migration for postgres
2025-10-03 19:53:19 +05:30
Aniket Katkar
7ecdf586ea
Fix the security vulnerability (#23698) 2025-10-03 19:42:30 +05:30
satish
1d3538a197
fix: async search and tree lazy loading improvements (#23701)
- Add freeSolo prop to MUITagSuggestion for immediate typing without selection
- Add ListboxProps key to force dropdown rerender on options change
- Implement proper loading state management to prevent dropdown flickering
- Handle empty search state by fetching all options on clear
- Remove backspace blocking code to allow tag removal

- Fix MUIUserTeamSelect empty dropdown issue by setting loading state on clear
- Remove duplicate lazy loading logic from useAsyncTreeSelect
- Create single source of truth for node expansion in MUIAsyncTreeSelect
- Fix keyboard navigation (ArrowRight) not triggering lazy load API calls
- Reorder utility functions to fix initialization error

- Remove unnecessary placeholders from AddDomainForm owner and expert fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Satish <satish@Satishs-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-03 19:24:09 +05:30
Ushran Gouhar
8552a086c6
Add no record found for card view (#23702) 2025-10-03 13:12:14 +00:00
Karan Hotchandani
45c2ad9d4a
move common code to classbase (#23700) 2025-10-03 18:36:17 +05:30
Aniket Katkar
b7545e6305
Chore(UI): Improve advanced search field value suggestions (#23139)
* Update the index mappings

* Add the Data Product field for filtering
Improve the field suggestions shown for filter values

* Fix unit tests

* update the application locale file

* Update suggestion APIs for tags, certification and tier filters

* Add tests for the new suggestion changes.

* Add the version and dataProduct fields for index mapping back

* fix: update autocomplete queries to use structured query format for classification filtering

* Fix the classification not showing in search api response

* Fix the failing playwright Advanced search

* Add lowercase_normalizer for the tier field similar to the tag field in the index mappings

* Fix the Curated Assets test

* Fix the failing playwright tests

* Fix the playwright tests

* update the API await logic

* Fix the Advanced search tests

* Fix the translation file eslint

* Work on the comments

* Add data product display name normalization for jp and ru langs
2025-10-03 17:44:13 +05:30
satish
0d860d28aa
fix(playwright): fix test timeout and domains sidebar validation (#23693)
- Replace promise catch with try-catch in waitForSearchDebounce to prevent
  silent error swallowing that caused 180s test timeouts
- Add DOMAINS to dropdown items condition in validateLeftSidebarWithHiddenItems
  to properly handle domains section validation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Satish <satish@Satishs-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-03 16:30:22 +05:30