Repository navigation
Dark-mode and contrast fixes, Classic mode deprecation notice, Insights tile padding - #35609
Conversation
…ity icons - Ingestion/automation status counts use core Badge pills, left-aligned - Active tab counts use an outlined brand Badge instead of a solid fill - Core Table header divider uses border-primary in dark so it stays visible - FeaturedIcon light theme keeps its tinted tile in dark instead of going solid - Avatar gains placeholderIconColor; entity avatars use the brand tint by default
…-icon decision The Connections list footer sat inside the padded PageLayout.Content, so the AI composer stopped 8px above the canvas edge; it now mounts on the page root like Home's footer slot.
…etting Classic shows a Deprecated badge with a retirement notice and release-notes link only where a user changes mode (AI-shell switcher, classic profile dropdown) and on the admin Default App Mode setting.
Total Data Assets list, Platform Insights KPI cards and the Data Quality pie widgets render their content in Card.Content instead of caller padding (tw:p-3, a gray p-4 box, LESS padding on the DQ dashboard), and the embedded Insights sections drop their surface slab and extra header padding.
Users pick these colors, so design keeps the solid fill until custom colors are reworked. Reverts getEntityAvatarProps and drops the now-unused Avatar.placeholderIconColor; the decision record now covers FeaturedIcon only.
The title block, content wrappers and footer painted @grey-9/@grey-50, which resolve to bg-secondary (darker than the drawer's overlay surface) in dark; they are transparent there now. Key profile metric tiles use an outline instead of the darker fill in dark, and the custom properties list uses bg-surface instead of the page-colour bg-primary. Light mode is unchanged.
…chip overlap The header Contract Failed / Aborted / Running pill was a secondary Button recolored with ! classes; its 600 text measured 2.7:1 in dark. It is now a shared ContractLatestResultBadge (core Badge palette, 4.7:1 dark / 6.1:1 light) that links to the Contract tab, on both data assets and data products. Core Badge: a linked badge no longer adds tw:text-inherit, which won the tailwind-merge conflict and dropped the badge's own text color. TabsLabel: the Beta chip is no longer absolutely positioned over the next tab.
🔄 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 |
✅ Generated Sources Auto-UpdatedThe generated TypeScript types ( |
❌ UI Checkstyle Failed❌ Bundle Runtime CheckA route chunk loads but one of its chunks still exports 🔍 ESLint findings in this PR's files — 0 error(s), 29 warning(s)Errors block the build. Warnings do not yet — they are rules whose backlog is still 0 error(s), 29 warning(s) across 7 changed file(s).
All findings
Fix locally (fast - only checks files changed in this branch): make ui-checkstyle-changed |
…ix' into shah-harshit/automations-icons-fix
They were generated from the branch before the replayed main commits were dropped; this PR changes no schemas, and CI regenerates the impact map.
🔄 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 |
🚦 Removed from the merge queue —
|
Keep main's banner layout without its FeaturedIcon dark override (core now tints the light theme in dark). Take main's ai-explore baseline. Translate this PR's keys in the new it-it locale.
| // 12px padding + the 1px antd border that the core ::after outline no longer | ||
| // takes; not-last:-mr-px keeps antd's `.ant-btn + .ant-btn` 1px overlap with | ||
| // the next group button. | ||
| const CONTRACT_RESULT_BUTTON_BASE_CLASS = [ | ||
| 'tw:h-10 tw:gap-2 tw:rounded-xl tw:px-3.25 tw:py-1.5 tw:text-sm tw:font-semibold tw:not-last:-mr-px', | ||
| 'tw:shadow-[0px_2px_2px_-1px_var(--om-legacy-color-10-13-18-0-04),0px_4px_6px_-2px_var(--om-legacy-color-10-13-18-0-04),0px_12px_16px_-4px_var(--om-legacy-color-10-13-18-0-04)]!', | ||
| ].join(' '); | ||
|
|
||
| const CONTRACT_RESULT_BUTTON_BORDER_CLASS: Partial< | ||
| Record<ContractExecutionStatus, string> | ||
| > = { | ||
| [ContractExecutionStatus.Failed]: 'tw:after:outline-utility-error-200!', | ||
| [ContractExecutionStatus.Aborted]: | ||
| 'tw:after:outline-(--om-legacy-color-f9dbaf)! tw:dark:after:outline-utility-orange-200!', | ||
| [ContractExecutionStatus.Running]: 'tw:after:outline-utility-brand-200!', | ||
| }; | ||
|
|
||
| // Extracted from DataProductsDetailsPage's render to keep the component's | ||
| // complexity down. Builds the "Manage" dropdown menu content from the | ||
| // permission flags and the modal/action toggles the page owns. |
There was a problem hiding this comment.
💡 Quality: Orphaned comment left over from the removed contract button constants
This commit deleted CONTRACT_RESULT_BUTTON_BASE_CLASS and CONTRACT_RESULT_BUTTON_BORDER_CLASS, but kept the comment above them ("12px padding + the 1px antd border … not-last:-mr-px keeps antd's .ant-btn + .ant-btn 1px overlap"). That comment now runs straight into the getManageButtonContent doc comment, so it reads as if it describes the Manage menu builder. It refers to classes that no longer exist in the file. Delete lines 137-139.
Drop the stale comment and keep only the getManageButtonContent comment:
// Extracted from DataProductsDetailsPage's render to keep the component's
// complexity down. Builds the "Manage" dropdown menu content from the
// permission flags and the modal/action toggles the page owns.
Was this helpful? React with 👍 / 👎
Code Review 👍 Approved with suggestions 2 closed / 3 findings🔴 High risk · Changing OIDC token delivery and password-reset lockout behavior alters authentication controls and could enable unintended access if token handling or lockout reset is misapplied. Contract result pill, Classic mode deprecation notice, Insights tile padding, and dark-mode fixes across tabs, table headers, and the column drawer are in place. One open minor issue: an orphaned comment in 💡 Quality: Orphaned comment left over from the removed contract button constantsThis commit deleted Drop the stale comment and keep only the getManageButtonContent comment✅ 2 closed✅ Quality: Classic-mode retirement and auto-migration rule has no decision record
Closed: Bug: Release-notes link inside RadioButton hint won't open; it selects Classic
🤖 Prompt for agentsVerificationRules No rules evaluated Functional validation Not enabledAuto-approval Not enabledFor more verification details, comment OptionsDisplay: compact → Showing compact verification results. 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 open-metadata/openmetadata-collate#7533
Dark-mode (AI mode) review fixes, plus the Classic mode deprecation notice and consistent Insights tab tile padding. Every fix lives in OSS (
openmetadata-ui+ core components), so Collate picks them up through the submodule, with no Collate PR needed:PageLayout.Content, so the AI composer stopped 8px above the canvas edge and the list showed through below it. It now mounts on the page root, matching Home's footer slot (both measure 693→822px).Table.Headerdraws its divider withborder-secondary(8% white). Under the darker header band that resolves to the row surface below, so the edge vanished (Incident Manager, Data Quality, …). In dark only, it now usesborder-primary. Light is unchanged.FeaturedIcontheme="light"switched to a solid fill in dark; it now keeps the tinted tile Home uses (utility-*-50/-600). Two caller workarounds for the old solid fill are removed or updated. Domain and data product avatars (Data Marketplace) intentionally stay solid in both themes: users pick those colors, and design will revisit them with custom colors. Recorded inADR:2026-10-16-light-featured-icons-stay-tinted-in-dark.Badge: outlined brand pill when selected, gray otherwise. The antd LESS rule that repainted it solid is removed.Badgepills (success/error/warning), left-aligned.Badge, warning) and a "Classic mode is being retired" card (coreHoverCard, hover or keyboard focus) with a release-notes link. Per the product thread, it appears only where a user changes mode, never on the always-visible trigger:Card.Content(24px inset) instead of caller padding:tw:p-3on the Platform Insights KPI cards, a graytw:p-4box for Total Data Assets, and LESS padding on the DQ dashboard pie cards. The embedded (AI-mode) sections also drop theirbg-surfaceslab, which showed as a lighter block in dark, and the extra header padding. The Collate-side layout (grid gaps, dark-only frames) is in open-metadata/openmetadata-collate#7535.@grey-9/@grey-50, which resolve tobg-secondaryin dark: bands darker than the drawer's overlay surface. They are transparent in dark now. The key profile metric tiles use an outline instead of the darker fill in dark. The custom properties list usestw:bg-surfaceinstead of the page-colourtw:bg-primary, which also fixes the Explore summary panel. Light mode is unchanged.Buttonrecolored with!classes, with600text: 2.70:1 in dark, failing AA. It is now a sharedContractLatestResultBadge(coreBadgepalette:utility-*-50fill,-700text,-200outline), 4.67:1 in dark and 6.05:1 in light, measured in the app. It is a link to the Contract tab, on both data asset and data product headers. CoreBadgefix: a linked badge no longer addstw:text-inherit, which won the tailwind-merge conflict and dropped the badge's own text color; this also makes linked tags use their own text color like non-linked ones.TestCaseStatusAreaChartWidgetputs its no-data placeholder in a coreTooltipwhose trigger isw-max, so the placeholder SVG'swidth: 100%resolved to its intrinsic 313px and spilled across neighbouring cards (table Data Observability overview). The trigger now takes the card width. The matching dimension-bar collapse and the placeholder's dark colour are Collate code, fixed in open-metadata/openmetadata-collate#7535.ai-explore.pngpredates the Lineage nav item that Fixes #33865: Inline lineage editing via node and column menus #34551 added tomain(its own merge-queue visual run failed the same snapshot). The new baseline is CI's actual render from the pinned Playwright container. It is pixel-identical with and without this PR, so this PR changes nothing on that page.ADR:2026-10-16-classic-mode-is-deprecated.Type of change:
High-level design:
Each fix goes in the shared layer every caller passes through, not in individual pages:
Table.Headerdivider andFeaturedIconlight theme in dark.getCountBadge→ coreBadge, andIngestionStatusCount→ coreBadge.Light mode changes only where the request covers it: tab counts, which are no longer solid.
Table.HeaderandFeaturedIconchange only their dark classes.Alternative rejected: restyling
FeaturedIconfrom callers viaclassNamewould spread overrides across call sites and drift from core.Tests:
Use cases covered
Unit tests
AppModeSwitcher.test.tsx,InterfaceModeMenuItem.test.tsx,DefaultAppModePage.test.tsx,AppModeSettings.test.tsx,IngestionStatusCount.test.tsx(new),EntityDisplayPureUtils.test.tsx,TabsLabel.test.tsx,ConnectionsPage.test.tsxyarn check-i18nclean.make ui-checkstyle-changedclean;tsc --noEmitclean.Backend integration tests
Ingestion integration tests
Playwright (UI) tests
Local Playwright: partial run, stopped on request; remaining specs pending
make playwright_affected): 191 (189 + 2--no-deps).e7bda4048ea) against a local backend (2.0.0-SNAPSHOT), Chromium, 2 workers, no retries.playwright/e2e/Pages/DataContractsSemanticRules.spec.ts(covers the new contract result badge)Interrupted: the next chunk (
DataContracts,DataContractInheritance,DataContractSLAValidation,DataQualityDashboard) was stopped after setup at test 4/71, with no failures before the stop. It is counted as pending below.Pending: 190 specs not yet run locally
playwright/e2e/Pages/DataContracts.spec.tsplaywright/e2e/Pages/DataContractInheritance.spec.tsplaywright/e2e/Pages/DataContractSLAValidation.spec.tsplaywright/e2e/Features/DataQuality/DataQualityDashboard.spec.tsplaywright/e2e/Features/DataQuality/Dimensionality.spec.tsplaywright/e2e/Features/IncidentManager.spec.tsplaywright/e2e/Features/IncidentManagerPagination.spec.tsplaywright/e2e/Features/AppMode/AppModeAiPersonaLandsAtRoot.spec.tsplaywright/e2e/Features/AppMode/AppModeAuthGating.spec.tsplaywright/e2e/Features/AppMode/AppModeCrossDevice.spec.tsplaywright/e2e/Features/AppMode/AppModePageSizeIsolation.spec.tsplaywright/e2e/Features/AppMode/AppModePrecedence.spec.tsplaywright/e2e/Features/AppMode/AppModePreferenceRoundTrip.spec.tsplaywright/e2e/Features/AppMode/AppModeResolver.spec.tsplaywright/e2e/Features/AppMode/AppModeRouteIsolation.spec.tsplaywright/e2e/Features/AppMode/AppModeSettings.spec.tsplaywright/e2e/Features/AppMode/AppModeUrlHandling.spec.tsplaywright/e2e/Features/ProfilePlatformSettings.spec.tsplaywright/e2e/Features/AIMode/PersonaSettings.spec.tsplaywright/e2e/Pages/DataMarketplace.spec.tsplaywright/e2e/Features/LandingPageWidgets/DomainDataProductsWidgets.spec.tsplaywright/e2e/Features/LandingPageWidgets/DomainWidgetFilter.spec.tsplaywright/e2e/Features/LandingPageWidgets/FollowingWidget.spec.tsplaywright/e2e/Features/LandingPageWidgets/LandingPage.spec.tsplaywright/e2e/Features/LandingPageWidgets/LandingPageContextCenter.spec.tsplaywright/e2e/Features/LandingPageWidgets/LandingPageCriticalAnnouncements.spec.tsplaywright/e2e/Features/LandingPageWidgets/LandingPageDataEstate.spec.tsplaywright/e2e/Features/LandingPageWidgets/LandingPagePlatformHealth.spec.tsplaywright/e2e/Features/LandingPageWidgets/LandingPageTopicWidgets.spec.tsplaywright/e2e/Flow/CustomizeLandingPage.spec.tsplaywright/e2e/Pages/Entity.spec.tsplaywright/e2e/Features/Table.spec.tsplaywright/e2e/Features/ActivityFeedTabBadge.spec.tsplaywright/e2e/Features/DataQuality/TestSuiteListAfterReindex.spec.tsplaywright/e2e/Features/DataQuality/TestSuiteSummaryAfterReindex.spec.tsplaywright/e2e/Features/TestSuiteMultiPipeline.spec.tsplaywright/e2e/Features/TestSuitePipelineRedeploy.spec.tsplaywright/e2e/Pages/TestSuite.spec.tsplaywright/e2e/Pages/TestSuiteDetailsPage.spec.tsplaywright/e2e/Pages/DataProducts.spec.tsplaywright/e2e/Features/DataQuality/Profiler.spec.tsplaywright/e2e/Features/DataQuality/TableLevelTests.spec.tsplaywright/e2e/Features/ServiceAgentsDeploymentSummary.spec.tsplaywright/e2e/Features/ServiceAgentsKillVisibility.spec.tsplaywright/e2e/Features/ServiceAgentsLiveProgress.spec.tsplaywright/e2e/Features/ServiceAgentsPauseResume.spec.tsplaywright/e2e/Features/ServiceAgentsRefresh.spec.tsplaywright/e2e/Features/ServiceAgentsStatusDegradation.spec.tsplaywright/e2e/Features/ActivityAPI.spec.tsplaywright/e2e/Features/ActivityFeed.spec.tsplaywright/e2e/Features/ActivityStream.spec.tsplaywright/e2e/Features/AdvancedSearch.spec.tsplaywright/e2e/Features/AdvancedSearchSuggestions.spec.tsplaywright/e2e/Features/AgentLogStreamHandover.spec.tsplaywright/e2e/Features/AutoPilot.spec.tsplaywright/e2e/Features/BulkImport.spec.tsplaywright/e2e/Features/Dashboards.spec.tsplaywright/e2e/Features/DataAssetRulesDisabled.spec.tsplaywright/e2e/Features/DataAssetRulesEnabled.spec.tsplaywright/e2e/Features/DataProductDomainMigration.spec.tsplaywright/e2e/Features/DataProductPersonaCustomization.spec.tsplaywright/e2e/Features/DataProductRename.spec.tsplaywright/e2e/Features/DataProductRenameConsolidation.spec.tsplaywright/e2e/Features/DataQuality/AddTestCaseNewFlow.spec.tsplaywright/e2e/Features/DataQuality/BundleSuiteBulkOperations.spec.tsplaywright/e2e/Features/DataQuality/CertificationFilter.spec.tsplaywright/e2e/Features/DataQuality/ColumnLevelTests.spec.tsplaywright/e2e/Features/DataQuality/ColumnProfileGraphsAfterReindex.spec.tsplaywright/e2e/Features/DataQuality/DataObservabilityGovernanceTab.spec.tsplaywright/e2e/Features/DataQuality/DataObservabilityTabsAfterReindex.spec.tsplaywright/e2e/Features/DataQuality/DataQuality.spec.tsplaywright/e2e/Features/DataQuality/DataQualityDashboardAfterReindex.spec.tsplaywright/e2e/Features/DataQuality/DataQualityListAfterReindex.spec.tsplaywright/e2e/Features/DataQuality/DataQualityPermissions.spec.tsplaywright/e2e/Features/DataQuality/FailureThreshold.spec.tsplaywright/e2e/Features/DataQuality/IncidentManagerAfterOwnerChange.spec.tsplaywright/e2e/Features/DataQuality/IncidentManagerAfterReindex.spec.tsplaywright/e2e/Features/DataQuality/IncidentManagerAfterSoftDelete.spec.tsplaywright/e2e/Features/DataQuality/IncidentManagerDateFilter.spec.tsplaywright/e2e/Features/DataQuality/IncidentManagerLocaleLayout.spec.tsplaywright/e2e/Features/DataQuality/IncidentManagerSqlQuery.spec.tsplaywright/e2e/Features/DataQuality/ProfilerIngestionForm.spec.tsplaywright/e2e/Features/DataQuality/ProfilerSettingsAfterReindex.spec.tsplaywright/e2e/Features/DataQuality/RunTestCase.spec.tsplaywright/e2e/Features/DataQuality/TableTestCasePagination.spec.tsplaywright/e2e/Features/DataQuality/TestCaseCrudAfterReindex.spec.tsplaywright/e2e/Features/DataQuality/TestCaseDetailsPage.spec.tsplaywright/e2e/Features/DataQuality/TestCaseImportExportBasic.spec.tsplaywright/e2e/Features/DataQuality/TestCaseImportExportE2eFlow.spec.tsplaywright/e2e/Features/DataQuality/TestCaseIncidentPermissions.spec.tsplaywright/e2e/Features/DataQuality/TestCaseResultPermissions.spec.tsplaywright/e2e/Features/DataQuality/TestCaseSoftDeleteRestore.spec.tsplaywright/e2e/Features/DataQuality/TestCaseStatusAfterReindex.spec.tsplaywright/e2e/Features/DataQuality/TestDefinitionFilters.spec.tsplaywright/e2e/Features/DataQuality/TestDefinitionPermissions.spec.tsplaywright/e2e/Features/DataQuality/TestDefinitionSortAndSearch.spec.tsplaywright/e2e/Features/DataQuality/TestLibrary.spec.tsplaywright/e2e/Features/DomainFilterQueryFilter.spec.tsplaywright/e2e/Features/DomainIsolation/DomainDropdownIsolation.spec.tsplaywright/e2e/Features/DomainIsolation/DomainIncidentIsolation.spec.tsplaywright/e2e/Features/DomainIsolation/DomainLineageIsolation.spec.tsplaywright/e2e/Features/DomainIsolation/DomainListingIsolation.spec.tsplaywright/e2e/Features/DomainIsolation/DomainSearchIsolation.spec.tsplaywright/e2e/Features/DomainIsolation/DomainTaskIsolation.spec.tsplaywright/e2e/Features/DomainNavFilter/PersistedDomainFilter.spec.tsplaywright/e2e/Features/DomainTierCertificationVoting.spec.tsplaywright/e2e/Features/ExploreColumnsSortLabel.spec.tsplaywright/e2e/Features/ExploreFilterComposition.spec.tsplaywright/e2e/Features/ExploreQueryBar.spec.tsplaywright/e2e/Features/ExploreQuickFilters.spec.tsplaywright/e2e/Features/ExploreSortOrderFilter.spec.tsplaywright/e2e/Features/ExploreUrlState.spec.tsplaywright/e2e/Features/GlobalSearchSuggestions.spec.tsplaywright/e2e/Features/Glossary/GlossaryAssets.spec.tsplaywright/e2e/Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.tsplaywright/e2e/Features/Pagination.spec.tsplaywright/e2e/Features/Permissions/DataProductPermissions.spec.tsplaywright/e2e/Features/Permissions/DomainPermissions.spec.tsplaywright/e2e/Features/Permissions/EntityPermissions.spec.tsplaywright/e2e/Features/Permissions/ServiceEntityPermissions.spec.tsplaywright/e2e/Features/PersonaAppLayout.spec.tsplaywright/e2e/Features/SampleDataDomainDataProduct.spec.tsplaywright/e2e/Features/SchemaSearch.spec.tsplaywright/e2e/Features/SearchExport.spec.tsplaywright/e2e/Features/SearchIndexNestedColumns.spec.tsplaywright/e2e/Features/SearchSeparation/ApiEndpoint.spec.tsplaywright/e2e/Features/SearchSeparation/Container.spec.tsplaywright/e2e/Features/SearchSeparation/Dashboard.spec.tsplaywright/e2e/Features/SearchSeparation/Database.spec.tsplaywright/e2e/Features/SearchSeparation/DatabaseSchema.spec.tsplaywright/e2e/Features/SearchSeparation/DomainRenamePrefixCascade.spec.tsplaywright/e2e/Features/SearchSeparation/ExploreFilterSeparation.spec.tsplaywright/e2e/Features/SearchSeparation/GlossaryRenameCascade.spec.tsplaywright/e2e/Features/SearchSeparation/GlossaryRenamePrefixCascade.spec.tsplaywright/e2e/Features/SearchSeparation/Metric.spec.tsplaywright/e2e/Features/SearchSeparation/MlModel.spec.tsplaywright/e2e/Features/SearchSeparation/Pipeline.spec.tsplaywright/e2e/Features/SearchSeparation/StoredProcedure.spec.tsplaywright/e2e/Features/SearchSeparation/Topic.spec.tsplaywright/e2e/Features/SettingsNavigationPage.spec.tsplaywright/e2e/Features/StorageMetadataAgentForm.spec.tsplaywright/e2e/Features/TableSearch.spec.tsplaywright/e2e/Features/Tasks/ActivityFeed.spec.tsplaywright/e2e/Features/Tasks/DomainFiltering.spec.tsplaywright/e2e/Features/TierWidget.spec.tsplaywright/e2e/Flow/CustomizeWidgets.spec.tsplaywright/e2e/Flow/ExploreAggregationCountsMatching.spec.tsplaywright/e2e/Flow/ExploreDiscovery.spec.tsplaywright/e2e/Flow/GlobalSearch.spec.tsplaywright/e2e/Flow/LineageSettings.spec.tsplaywright/e2e/Flow/MetricListSearch.spec.tsplaywright/e2e/Flow/MetricSearch.spec.tsplaywright/e2e/Flow/Navbar.spec.tsplaywright/e2e/Flow/NotificationAlerts.spec.tsplaywright/e2e/Flow/ObservabilityAlerts.spec.tsplaywright/e2e/Flow/SearchRBAC.spec.tsplaywright/e2e/Flow/ServiceCreationPermissions.spec.tsplaywright/e2e/Pages/DataProductAndSubdomains.spec.tsplaywright/e2e/Pages/DataProductCertificationFilter.spec.tsplaywright/e2e/Pages/DataProductODPS.spec.tsplaywright/e2e/Pages/DomainAdvanced.spec.tsplaywright/e2e/Pages/DomainDataProductsRightPanel.spec.tsplaywright/e2e/Pages/DomainUIInteractions.spec.tsplaywright/e2e/Pages/Domains.spec.tsplaywright/e2e/Pages/EntityDomainPropagation.spec.tsplaywright/e2e/Pages/ExploreBrowse.spec.tsplaywright/e2e/Pages/ExplorePageRightPanel.spec.tsplaywright/e2e/Pages/ExplorePageRightPanel_KnowledgeCenter.spec.tsplaywright/e2e/Pages/ExploreResilience.spec.tsplaywright/e2e/Pages/ExploreTree.spec.tsplaywright/e2e/Pages/Glossary.spec.tsplaywright/e2e/Pages/HealthCheck.spec.tsplaywright/e2e/Pages/Lineage/LineageControls.spec.tsplaywright/e2e/Pages/LogsViewer.spec.tsplaywright/e2e/Pages/ODCSImportExport.spec.tsplaywright/e2e/Pages/ODCSImportExportPermissions.spec.tsplaywright/e2e/Pages/OmdURLConfiguration.spec.tsplaywright/e2e/Pages/Policies.spec.tsplaywright/e2e/Pages/ProfilerConfigurationPage.spec.tsplaywright/e2e/Pages/Roles.spec.tsplaywright/e2e/Pages/SearchSettings.spec.tsplaywright/e2e/Pages/SubDomainPagination.spec.tsplaywright/e2e/Pages/TableCreationTime.spec.tsplaywright/e2e/Pages/Tags.spec.tsplaywright/e2e/Pages/TaskFormSettings.spec.tsplaywright/e2e/Search/ExploreSearchCounts.spec.tsplaywright/e2e/Search/SearchNightly.spec.tsplaywright/e2e/Search/SearchRelevance.spec.tsplaywright/e2e/Features/SystemCertificationTags.spec.ts (--no-deps)playwright/e2e/Pages/IntakeForm.spec.ts (--no-deps)Manual testing performed
rgb(55, 58, 65)).main, per design)./settings/preferences/appModepage (not saved).UI screen recording:
Not applicable: styling fixes. Before/after screenshots below.
FeaturedIcongiven the new dark tokens).Status counts (
IngestionStatusCount): no ingestion pipelines on the local stack to render them live; covered byIngestionStatusCount.test.tsx.Classic mode deprecation
Admin: classic settings page
Contract result pill (seeded a failed contract locally)
Beta chip (Knowledge Graph tab), after
Empty test-status chart (before = current Collate build; after = this PR + openmetadata-collate#7535)
Column detail drawer
Insights tab tile padding (before = current Collate build; after = this PR + openmetadata-collate#7535)
Checklist:
I have read the CONTRIBUTING document.
My PR title is
Fixes <issue-number>: <short explanation>. Not used: issue references stay in the description.My PR is linked to a GitHub issue via
Fixes …above.I have commented on my code, particularly in hard-to-understand areas.
For JSON Schema changes: not applicable.
For a UI feature or feature task: not applicable (styling fixes; screenshots attached).
I have added tests (unit / integration / Playwright as applicable) and listed them above.
Decision check: adds
docs/decisions/2026-10-16-light-featured-icons-stay-tinted-in-dark.md.I have added a test that covers the exact scenario we are fixing.
Summary by Gitar
Neo4jdatabase connectorDeltaLakeconnector and its ingestion schema entrieslineageview filtersPATCHrequestContractLatestResultBadgeAppModeSwitcherandInterfaceModeMenuItemCard.ContentinPlatformInsightsWidgetandTotalDataAssetsWidgetThis will update automatically on new commits.


Confidence Score: 5/5
The PR appears safe to merge; no new actionable issues were found.Summary
This PR updates dark-mode colors and contrast, adds Classic mode retirement notices, and makes Insights card spacing consistent.
Reviews (12) · Last reviewed commit: "Merge origin/main into shah-harshit/auto..." · Reviewed by Greptile