* add fixes for workflow API
* Fix the ingestion runner display name being passed to API
---------
Co-authored-by: Aniket Katkar <aniketkatkar97@gmail.com>
- Centralize all notifications in createEntityWithCoverImage
- Change handleCoverImageUpload to return uploadFailed flag instead of showing notifications
- Remove unused parameters (entityLabel, enqueueSnackbar, t) from UploadCoverImageOptions
- Show warning notification only when uploadFailed = true
- Show success notification only when uploadFailed = false
- Fixes issue where both warning and success notifications appeared when upload failed
🤖 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>
* Fix: Showing validation error if user enter duplicate service name
* Fix: validate service name field on field change instead of form submit
* Playwright: Added e2e test for service name field validation errors
* Fix: fixed the services unit tests
* Fix: fixed the ConfigureService unit tests
* Fix: fixed code smells
* Add assets API and deprecate inline assets field for Domain and Dataproduct
* fix mvn test
* fix py test and add new tests
* fix py test
* fix py test
* fix timeout for workflow test
* address pr feedback
* Update generated TypeScript types
* minor- remove unused function
---------
Co-authored-by: Bhanu Agrawal <bhanuagrawal2018@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* refactor: Domain and Data Product UI improvements and architecture enhancements
## Major Changes
### Architecture Improvements
- **Refactored AssetSelectionModal**: Split monolithic component into composable hooks
- Extracted `useAssetSelectionContent` hook (806 lines) for shared selection logic
- Created `AssetSelectionDrawer` component for drawer variant
- Reduced main modal component from 700+ to 18 lines
- Enables reuse across modal and drawer UI patterns
- **Domain component reorganization**:
- Renamed `DomainDetailsPage` → `DomainDetails` for consistency
- Deleted legacy `DomainPage.component.tsx` (336 lines)
- Centralized domain page styles in `DomainPageStyles.ts`
### UI/UX Enhancements
- **Breadcrumbs**: Changed to plural labels across all pages
- "Domain" → "Domains" in listings and detail pages
- "Data Product" → "Data Products" in listings and detail pages
- Updated sidebar navigation labels to match
- **Scroll behavior fixes**:
- Removed fixed height constraints causing nested scrolls in right panels
- Changed from `height: @domain-page-height` to `min-height: 70vh`
- Applied to both Domain (domain.less) and Data Product (data-products-details-page.less) detail pages
- Now uses single body scroll for better UX
- **Visual improvements**:
- Added white text color to MUI tooltips for better contrast on black background
- Enhanced GenericProvider with `muiTags` prop support
- Added new `CoverImage` component for domain/data product headers
- Improved `useBreadcrumbs` hook with 187 lines of enhancements
### Bug Fixes
- **TypeScript errors in NotistackUtils.tsx**:
- Fixed implicit 'any' type for `snackbarId` parameters (4 instances)
- Added type assertion for i18n.t() return value
- All type errors resolved
### Component Improvements
- Enhanced TagsViewer with MUI tooltip support
- Updated TagChip component for better tag display
- Improved EntityAvatar component
- Refined drawer hooks with better type safety
* feat: Add cover image upload with reposition functionality for domains
- Add MUICoverImageUpload component with drag-and-drop support
- Implement vertical reposition functionality for cover images
- Integrate cover image field in AddDomainForm
- Update CoverImage component to support position object format
- Add COVER_IMAGE_UPLOAD_MUI field type to form utils
- Support empty entityLink for uploads during domain creation
- Add translations for cover image upload UI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: Add cover image display with authenticated loading and test IDs
- Update DomainDetails and DataProductsDetailsPage to pass cover image URL and position to CoverImage component
- Implement authenticated image loading with proper loading states in CoverImage component
- Add gray background during authenticated image loading to prevent 401 error flash
- Implement conditional rendering in MUICoverImageUpload to show loading spinner for authenticated images
- Add comprehensive data-testid attributes for both components to improve testability
- Use theme colors for loading backgrounds instead of hardcoded values
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: Implement generic cover image upload flow and remove dead code
- Create reusable createEntityWithCoverImage utility function
- Refactor domain, subdomain, and data product creation to use generic function
- Fix cover image preview and reposition functionality for client-side handling
- Remove unused AddDomain component and /domain/add route
- Remove dead DomainLeftPanel component
- Reduce code duplication by 77% (344 lines → 79 lines)
- Add proper TypeScript types and ESLint compliance
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: Update coverImage structure to match new backend API
- Update CoverImageUploadUtils to send coverImage as nested object
- Change from flat structure (coverImage: url, coverImagePosition: number)
- Change to nested structure (coverImage: { url: string, position: string })
- Update DomainDetails to read from nested coverImage object
- Update DataProductsDetailsPage to read from nested coverImage object
- Convert position between CSS string format ("20px") and pixel number (20)
- Fix DomainRouter test by removing deleted AddDomain component references
- Add type assertions for compatibility until backend types are regenerated
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: Use percentage-based positioning for cover images
Fix cover image display inconsistency between upload field (622x103px)
and detail page (auto x 131px) by using CSS percentage values for
translateY instead of absolute pixels. This ensures the same visual
result regardless of container width.
- Store position as percentage string (e.g., "-16%") instead of pixels
- Convert between pixels (for dragging UX) and percentage (for storage)
- Update CoverImagePosition interface to use string type
- Simplify detail page rendering by removing parseInt conversions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix ts error
* refactor: Extract generic file upload component from cover image upload
- Create MUIFileUpload component with drag-and-drop, validation, and preview support
- Refactor MUICoverImageUpload to use MUIFileUpload (33% code reduction)
- Add 20 i18n keys across all 18 languages for file upload features
- Fix TypeScript types and ESLint formatting issues
- Fix upload zone height to match preview at 103px
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Revert entity-transfer-message change
* Update checkDefaultStateForNavigationTree for 2 domains tree and tree item
* Fix navigation page test
---------
Co-authored-by: Satish <satish@Satishs-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
* remove unwanted semantic rule and supported more playwright test
* fix data product filter not working and added playwright test for it
* fix test and some sonar issue
* fix the sonar issue
* fix the timeout issue
* refactor searchQuery to avoid AND and OR operators
* fix searchQuery function
* fix serviceDetails.tsx
* refactor for searchQuery
* update searchData calls with searchQuery
* fix unit test
* refactor queryFilter for dataContractUtil.ts
* fix authProvider for global domain filter
* address PR comments
* revert dataProduct fqn change
* refactor all query filtersusing getTermQuery function
* fix test
* fix tests
* fix e2e tests
* fix test
* fix service listing
* fix test
* fix service spec
* fix glossary spec and tag spec
* fix domains spec
* fix tag spec
* fix failing specs
* fix failed specs
* fix failing tests
* fix domain spec
* fix classification & service listing spec
* change query filter for following & change message for no online users
* add missing followers field in entity index mapping
* add missing owners field in entity index mapping
* address comments
* fix failing test
---------
Co-authored-by: Pranita <pfulsundar8@gmail.com>
Co-authored-by: Akash Jain <15995028+akash-jain-10@users.noreply.github.com>
Co-authored-by: sonikashah <sonikashah94@gmail.com>
* supported contract owner rule additional playwright
* added all operator test for owners
* supported addition test for description operator
* change the description value from empty quotes to undefined to get that removed from data asset and the validation should work correctly on this
* Adding actualCase keyword to team and user index mappings
* change the query to displayName search from the fqn and name for better validation
* change the owner rule to name and added domain playwright test
* Conditional Sensitive Case Normalising in Search Aggregation
* Remove to lower case introduced by accident
* push the actual case field setting
* added is condition with teams for owners
* Reverted the displayName.actualCase changes
* reverted the owner back to fqn and supported fqn value and displayOption
* set the default operator for description
* changes made as per comments
---------
Co-authored-by: Ram Narayan Balaji <ramnarayanb3005@gmail.com>
* chore(ui): fix data contract flaky test around contract tab not found
* modify the test to have their own table to run to avoid flakiness
* fix contract failing
* revert unwanted commit
* change the contract test admin page way
* fix the blank page issue after redirect
* 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>
* 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
* 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