fix(ui): tier display names + service/domain icons in Explore quick filters - #33017
fix(ui): tier display names + service/domain icons in Explore quick filters#33017harsh-vador wants to merge 7 commits into
Conversation
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
❌ PR checklist incompleteThis PR cannot be merged until the following are addressed on its linked issue:
The fields live on the linked issue in the Shipping project (open the issue → right sidebar → Projects). After you set them, re-run this check (or push a commit) — issue/project changes do not re-trigger it automatically. Maintainers can bypass this check by adding the |
✅ Playwright Results — workflow succeededValidated commit ✅ 4483 passed · ❌ 0 failed · 🟡 5 flaky · ⏭️ 1 skipped · 🧰 0 lifecycle flaky PerformanceBlocking targets: ✅ met · Optimization targets: 🟡 in progress Shard-job maxima below are not the full workflow wall time; the linked run includes build, fixture, planning, and reporting. 🕒 Full workflow signal wall (to summary) 57m 52s ⏱️ Max setup 6m 3s · max shard execution 22m 27s · max shard-job elapsed before upload 26m 32s · reporting 18s 🌐 217.66 requests/attempt · 2.31 app boots/UI scenario · 38.46% common-shard skew Optimization targets still in progress:
🟡 5 flaky test(s) (passed on retry)
How to debug locally# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip # view trace |
…ilters Explore filter dropdowns showed the raw tier FQN (tier.tier1) and rendered Service Type and Domain options as plain text. - Tier options now show the tier name (Tier1, Tier2, …); the filter value stays the raw FQN. The label formatter in getOptionsFromAggregationBucket now runs after the sourceFields top-hits resolution so it formats the original-cased value instead of being overwritten by it. - Service Type options render the service logo (getServiceLogo), matching the Browse Estate tree. - Domain options render the domain entity icon next to the display name. Fixes items 3–5 of the explore-filter polish epic. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The tier formatter only ran in the dropdown option path, so a selected tier restored from a reload or shared URL showed the raw FQN (Tier.Tier1) on the chip while the dropdown showed Tier1. Move the formatter into AdvancedSearchPureUtils as getQuickFilterLabelFormatter and apply it in both label-recovery paths — hydrateQuickFilterLabels (labels from listed rows) and useQuickFilterLabels.resolvePending (targeted aggregation) — so every surface renders the same label for the same value. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
🔄 Playwright impact map auto-refreshedThis PR touched specs or UI source that changed the source→spec routing map. I regenerated What is this file? It is the auto-generated half of Playwright's PR planner. It routes "if source X changes, run specs Y" by walking spec imports and cross-referencing What if I want to regenerate locally instead? Run this before pushing your next change to skip the bot commit: python3 .github/scripts/generate_playwright_impact_map.py
git add .github/playwright/impact-map.generated.json
git commit --amend --no-edit # or a separate commit |
Output of .github/scripts/generate_playwright_impact_map.py on current main; the committed map had drifted (Tag.spec.ts split, StyleModal spec pruning). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2150f03 to
c6474ba
Compare
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Capitalizing the tier FQN leaf mangled custom tier names (pw-tier-Giraffe → Pw-tier-Giraffe). Format only the default tier1…tierN keys as Tier1…TierN and keep custom tier names exactly as authored. E2E: tier quick-filter options now render the tag name (FQN leaf), so the Explore casing spec asserts the name instead of the full FQN, and the Lineage tier filter clicks the option by its rendered name. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
| Count | Rule |
|---|---|
| 5 | openmetadata-imports/no-circular-imports |
| 2 | openmetadata-imports/no-lower-layer-page-imports |
All findings
| Location | Rule | Message | |
|---|---|---|---|
| 🟡 | src/components/Explore/ExplorePage.interface.ts:50:1 |
openmetadata-imports/no-circular-imports |
This runtime import participates in a circular dependency. Extract the shared type/constant/utility or invert the dependency. |
| 🟡 | src/components/Explore/ExplorePage.interface.ts:51:1 |
openmetadata-imports/no-lower-layer-page-imports |
Pages are route-level composition modules. Move the shared implementation/type to a lower layer instead of importing a page from here. |
| 🟡 | src/components/Explore/ExplorePage.interface.ts:52:1 |
openmetadata-imports/no-circular-imports |
This runtime import participates in a circular dependency. Extract the shared type/constant/utility or invert the dependency. |
| 🟡 | src/components/Explore/ExploreQuickFilters.tsx:24:1 |
openmetadata-imports/no-lower-layer-page-imports |
Pages are route-level composition modules. Move the shared implementation/type to a lower layer instead of importing a page from here. |
| 🟡 | src/components/Explore/ExploreQuickFilters.tsx:43:1 |
openmetadata-imports/no-circular-imports |
This runtime import participates in a circular dependency. Extract the shared type/constant/utility or invert the dependency. |
| 🟡 | src/components/Explore/ExploreQuickFilters.tsx:45:1 |
openmetadata-imports/no-circular-imports |
This runtime import participates in a circular dependency. Extract the shared type/constant/utility or invert the dependency. |
| 🟡 | src/components/Explore/ExploreQuickFilters.tsx:47:1 |
openmetadata-imports/no-circular-imports |
This runtime import participates in a circular dependency. Extract the shared type/constant/utility or invert the dependency. |
Fix locally (fast - only checks files changed in this branch):
make ui-checkstyle-changedTier quick-filter options render the tag name (FQN leaf), not the FQN, so the tier selectors in ImpactAnalysis waited on titles that no longer exist. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Code Review ✅ Approved 1 resolved / 1 findingsFixes tier display names and adds service/domain icons in Explore quick filters. Tier options now show formatted names (Tier1, Tier2, …) instead of raw FQNs, Service Type options render service logos, and Domain options include entity icons. The label formatter now runs after sourceFields resolution to preserve formatting on reload and shared URLs. No issues found. ✅ 1 resolved✅ Bug: Tier chip label shows raw FQN on reload/shared URL
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
|



Describe your changes
Fixes #33020
Part of the explore-filter polish epic (display-name items). Explore quick-filter dropdowns showed the raw tier FQN (
tier.tier1) and rendered Service Type / Domain options as plain text.getOptionsFromAggregationBucketnow runs after thesourceFieldstop-hits resolution, so it formats the original-cased value instead of being overwritten by it (behavior identical for the existing entity-type formatter, which has nosourceFields).getServiceLogohelper — the same icons the Browse Estate tree shows. The lowercased bucket key resolves fine becausegetServiceIconnormalizes its lookup key.Not covered here: the Service (name) filter's per-service icons — the aggregation bucket carries only
service.displayName, so per-service logos needserviceTypethreaded through the top-hits_source; worth doing when that filter's dropdown is migrated to the unified FilterSelect (#33011).Testing
AdvancedSearchPureUtils+ExploreQuickFilterssuites: 68/68 pass.🤖 Generated with Claude Code