Skip to content

Fixes #26939: Add FQN subtitle to Custom Property entity references#27362

Closed
mohitjeswani01 wants to merge 3 commits intoopen-metadata:mainfrom
mohitjeswani01:fix/26939-customproperty-show-fqn
Closed

Fixes #26939: Add FQN subtitle to Custom Property entity references#27362
mohitjeswani01 wants to merge 3 commits intoopen-metadata:mainfrom
mohitjeswani01:fix/26939-customproperty-show-fqn

Conversation

@mohitjeswani01
Copy link
Copy Markdown

Description:

Fixes #26939

I worked on updating the rendering logic inside CustomPropertyTable/PropertyValue.tsx to display the fullyQualifiedName (FQN) as a secondary, muted subtitle beneath the primary entity name. This resolves an issue where multiple tables/entities sharing the exact same name across different remote systems could not be safely distinguished. The layout now follows the established getEntityLabel pattern for UI consistency and falls back safely when the FQN is absent.

All related testing scenarios have successfully passed.

Test Results

image

Type of change:

  • Bug fix

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.
  • I have added a test that covers the exact scenario we are fixing. For complex issues, comment the issue number in the test for future reference.

@mohitjeswani01 mohitjeswani01 requested a review from a team as a code owner April 14, 2026 16:07
Copilot AI review requested due to automatic review settings April 14, 2026 16:07
@github-actions
Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@github-actions
Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Custom Property entity reference rendering in the UI to include the referenced entity’s fully qualified name (FQN) as a secondary subtitle, improving disambiguation when multiple entities share the same display name.

Changes:

  • Render item.fullyQualifiedName as a muted subtitle under the primary entity name for entity reference values.
  • Adjust and add Jest tests to validate FQN subtitle rendering for entityReference and entityReferenceList cases.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
openmetadata-ui/src/main/resources/ui/src/components/common/CustomPropertyTable/PropertyValue.tsx Adds a second (muted) line under entity reference names to display FQN when available.
openmetadata-ui/src/main/resources/ui/src/components/common/CustomPropertyTable/PropertyValue.test.tsx Updates existing assertions and adds coverage for FQN subtitle rendering and fallback behavior.

Comment on lines +592 to +594

// Asserting that the subtitle did not mistakenly render 'undefined' or an empty variable text
expect(screen.queryByText('undefined')).not.toBeInTheDocument();
Copy link

Copilot AI Apr 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The negative assertion here is too broad: checking that the literal text 'undefined' is absent doesn't actually verify that the FQN subtitle element is not rendered (and could also give false confidence if the subtitle renders as an empty string). Prefer asserting that the FQN subtitle node is absent, e.g., by querying for the known FQN text, or by adding a dedicated test id/role for the subtitle and asserting it is not in the document when fullyQualifiedName is missing.

Suggested change
// Asserting that the subtitle did not mistakenly render 'undefined' or an empty variable text
expect(screen.queryByText('undefined')).not.toBeInTheDocument();
expect(
screen.queryByText('service.schema.entityReferenceName')
).not.toBeInTheDocument();

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 63%
63.99% (59824/93485) 43.71% (31316/71632) 46.81% (9410/20102)

@gitar-bot
Copy link
Copy Markdown

gitar-bot Bot commented Apr 14, 2026

Code Review ✅ Approved

Adds FQN subtitles to Custom Property entity references to resolve the visibility issue in #26939. No issues found.

Options

Display: compact → Showing less information.

Comment with these commands to change:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown
Contributor

🟡 Playwright Results — all passed (26 flaky)

✅ 3630 passed · ❌ 0 failed · 🟡 26 flaky · ⏭️ 84 skipped

Shard Passed Failed Flaky Skipped
🟡 Shard 1 476 0 4 4
🟡 Shard 2 641 0 4 7
🟡 Shard 3 648 0 5 1
🟡 Shard 4 622 0 4 22
✅ Shard 5 612 0 0 42
🟡 Shard 6 631 0 9 8
🟡 26 flaky test(s) (passed on retry)
  • Flow/Tour.spec.ts › Tour should work from help section (shard 1, 1 retry)
  • Flow/Tour.spec.ts › Tour should work from welcome screen (shard 1, 1 retry)
  • Flow/Tour.spec.ts › Tour should work from URL directly (shard 1, 1 retry)
  • Pages/UserCreationWithPersona.spec.ts › Create user with persona and verify on profile (shard 1, 1 retry)
  • Features/BulkEditEntity.spec.ts › Table (shard 2, 1 retry)
  • Features/BulkEditEntity.spec.ts › Glossary (shard 2, 1 retry)
  • Features/BulkImport.spec.ts › Keyboard Delete selection (shard 2, 1 retry)
  • Features/ChangeSummaryBadge.spec.ts › Automated badge should appear on entity description with Automated source (shard 2, 1 retry)
  • Features/Permissions/GlossaryPermissions.spec.ts › Team-based permissions work correctly (shard 3, 1 retry)
  • Features/RestoreEntityInheritedFields.spec.ts › Validate restore with Inherited domain and data products assigned (shard 3, 2 retries)
  • Features/RestoreEntityInheritedFields.spec.ts › Validate restore with Inherited domain and data products assigned (shard 3, 1 retry)
  • Features/RTL.spec.ts › Verify Following widget functionality (shard 3, 1 retry)
  • Flow/PersonaFlow.spec.ts › Set default persona for team should work properly (shard 3, 1 retry)
  • Pages/Customproperties-part2.spec.ts › entityReferenceList shows item count, scrollable list, no expand toggle (shard 4, 1 retry)
  • Pages/DataContracts.spec.ts › Create Data Contract and validate for Directory (shard 4, 1 retry)
  • Pages/DataContracts.spec.ts › Create Data Contract and validate for Spreadsheet (shard 4, 1 retry)
  • Pages/DataContractsSemanticRules.spec.ts › Validate Description Rule Is_Not_Set (shard 4, 1 retry)
  • Features/AutoPilot.spec.ts › Create Service and check the AutoPilot status (shard 6, 1 retry)
  • Pages/Glossary.spec.ts › Cancel glossary term delete operation (shard 6, 1 retry)
  • Pages/Lineage/DataAssetLineage.spec.ts › verify create lineage for entity - Metric (shard 6, 1 retry)
  • Pages/Lineage/LineageFilters.spec.ts › Verify lineage schema filter selection (shard 6, 1 retry)
  • Pages/Lineage/LineageRightPanel.spec.ts › Verify custom properties tab IS visible for supported type: searchIndex (shard 6, 1 retry)
  • Pages/ODCSImportExport.spec.ts › Multi-object ODCS contract - object selector shows all schema objects (shard 6, 1 retry)
  • Pages/Tag.spec.ts › Add and Remove Assets for Data Steward (shard 6, 1 retry)
  • Pages/Users.spec.ts › Permissions for table details page for Data Consumer (shard 6, 1 retry)
  • Pages/Users.spec.ts › Check permissions for Data Steward (shard 6, 1 retry)

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

@PubChimps
Copy link
Copy Markdown
Contributor

Hello @mohitjeswani01, thank you for your pr, but we already have on for this here, so I will be closing this pr. Please make sure that you are assigned an issue before submitting code for it. We will reopen this if necessary.

@PubChimps PubChimps closed this Apr 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CustomProperty lists tables, only table name is shown (and not fqn)

4 participants