Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
80ce045
refactor(ui): remove antd from AI-mode Observability
ShaileshParmar11 Oct 8, 2026
7234df4
chore(playwright): auto-refresh impact-map.generated.json
github-actions[bot] Oct 8, 2026
b7fc2a0
Merge remote-tracking branch 'origin/main' into ShaileshParmar11/ai-o…
ShaileshParmar11 Oct 8, 2026
8f9b977
Merge remote-tracking branch 'origin/ShaileshParmar11/ai-observabilit…
ShaileshParmar11 Oct 8, 2026
cc7d688
fix(ui): keep migrated components compatible with the nightly AUT
ShaileshParmar11 Oct 9, 2026
f7f933f
Merge remote-tracking branch 'origin/main' into ShaileshParmar11/ai-o…
ShaileshParmar11 Oct 9, 2026
e303ab1
chore(playwright): auto-refresh impact-map.generated.json
github-actions[bot] Oct 9, 2026
448e012
fix(ui): keep main's core layout in SchemaTable
ShaileshParmar11 Oct 9, 2026
6105619
Merge remote-tracking branch 'origin/ShaileshParmar11/ai-observabilit…
ShaileshParmar11 Oct 9, 2026
c3cf9be
fix(ui): use core primitives and resolve design token drift
ShaileshParmar11 Oct 9, 2026
36d8680
chore(playwright): auto-refresh impact-map.generated.json
github-actions[bot] Oct 9, 2026
37ea522
fix(ui): align incident filters and simplify feed drawer styles
ShaileshParmar11 Oct 9, 2026
4312200
Merge origin/main into ShaileshParmar11/ai-observability-antd-free
ShaileshParmar11 Oct 9, 2026
44d1007
fix(ui): remove unnecessary slideout z-index override
ShaileshParmar11 Oct 9, 2026
7ec6ec7
fix(ui): align CI baselines with migrated components
ShaileshParmar11 Oct 9, 2026
49c688e
test(ui): align incident date filters with core controls
ShaileshParmar11 Oct 10, 2026
f04defb
Merge main into ai-observability-antd-free
ShaileshParmar11 Oct 10, 2026
b69d759
Merge latest main into ai-observability-antd-free
ShaileshParmar11 Oct 10, 2026
76f445a
fix(ui): preserve bundle suite search and virtualize test case selection
ShaileshParmar11 Oct 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 20 additions & 4 deletions .github/playwright/impact-map.generated.json
Original file line number Diff line number Diff line change
Expand Up @@ -740,8 +740,10 @@
"playwright/e2e/Features/AppMode/AppModeResolver.spec.ts",
"playwright/e2e/Features/AppMode/AppModeRouteIsolation.spec.ts",
"playwright/e2e/Features/AppMode/AppModeUrlHandling.spec.ts",
"playwright/e2e/Features/DataQuality/IncidentManagerDateFilter.spec.ts",
"playwright/e2e/Features/DataQuality/RunTestCase.spec.ts",
"playwright/e2e/Features/DataQuality/TestCaseDetailsPage.spec.ts",
"playwright/e2e/Features/IncidentManager.spec.ts",
"playwright/e2e/Features/ProfilePlatformSettings.spec.ts",
"playwright/e2e/Pages/BotsProfile.spec.ts"
]
Expand Down Expand Up @@ -5130,6 +5132,7 @@
"playwright/e2e/Features/CustomizeDetailPage.spec.ts",
"playwright/e2e/Features/DataProductPersonaCustomization.spec.ts",
"playwright/e2e/Features/DataQuality/DataQuality.spec.ts",
"playwright/e2e/Features/DataQuality/IncidentManagerDateFilter.spec.ts",
"playwright/e2e/Features/DataQuality/TableTestCasePagination.spec.ts",
"playwright/e2e/Features/FailedTestCaseSampleData.spec.ts",
"playwright/e2e/Features/Glossary/GlossaryAdvancedOperations.spec.ts",
Expand Down Expand Up @@ -5249,6 +5252,15 @@
"playwright/e2e/Features/FeedEditorDuplicateId.spec.ts"
]
},
{
"sources": [
"openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedDrawer/ActivityFeedDrawer.tsx"
],
"specs": [
"playwright/e2e/Features/ActivityFeed.spec.ts",
"playwright/e2e/Features/Tasks/TaskNavigation.spec.ts"
]
},
{
"sources": [
"openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedEditor/ActivityFeedEditorNew.tsx"
Expand Down Expand Up @@ -5433,6 +5445,7 @@
"specs": [
"playwright/e2e/Features/AIMode/InboxTasks.spec.ts",
"playwright/e2e/Features/DataQuality/DataObservabilityGovernanceTab.spec.ts",
"playwright/e2e/Features/DataQuality/IncidentManagerDateFilter.spec.ts",
"playwright/e2e/Features/DataQuality/TestDefinitionFilters.spec.ts",
"playwright/e2e/Features/DomainFilterQueryFilter.spec.ts",
"playwright/e2e/Features/ExploreFilterComposition.spec.ts",
Expand All @@ -5441,6 +5454,7 @@
"playwright/e2e/Features/ExploreSortOrderFilter.spec.ts",
"playwright/e2e/Features/ExploreUrlState.spec.ts",
"playwright/e2e/Features/ImpactAnalysis.spec.ts",
"playwright/e2e/Features/IncidentManager.spec.ts",
"playwright/e2e/Features/Pagination.spec.ts",
"playwright/e2e/Flow/ExploreDiscovery.spec.ts",
"playwright/e2e/Pages/AuditLogs.spec.ts",
Expand Down Expand Up @@ -5490,6 +5504,7 @@
"playwright/e2e/Features/ExploreQuickFilters.spec.ts",
"playwright/e2e/Features/ExploreSortOrderFilter.spec.ts",
"playwright/e2e/Features/ExploreUrlState.spec.ts",
"playwright/e2e/Features/IncidentManager.spec.ts",
"playwright/e2e/Features/NestedColumnsExpandCollapse.spec.ts",
"playwright/e2e/Features/SearchExport.spec.ts",
"playwright/e2e/Flow/ExploreDiscovery.spec.ts",
Expand Down Expand Up @@ -5696,6 +5711,7 @@
"playwright/e2e/Features/ExploreQuickFilters.spec.ts",
"playwright/e2e/Features/ExploreSortOrderFilter.spec.ts",
"playwright/e2e/Features/ExploreUrlState.spec.ts",
"playwright/e2e/Features/IncidentManager.spec.ts",
"playwright/e2e/Features/NestedColumnsExpandCollapse.spec.ts",
"playwright/e2e/Features/SearchExport.spec.ts",
"playwright/e2e/Flow/ExploreDiscovery.spec.ts",
Expand Down Expand Up @@ -7343,6 +7359,7 @@
"openmetadata-ui/src/main/resources/ui/src/components/IncidentManager/IncidentManager.component.tsx"
],
"specs": [
"playwright/e2e/Features/DataQuality/IncidentManagerDateFilter.spec.ts",
"playwright/e2e/Features/DomainIsolation/DomainIncidentIsolation.spec.ts",
"playwright/e2e/Features/IncidentManager.spec.ts"
]
Expand Down Expand Up @@ -8432,9 +8449,7 @@
],
"specs": [
"playwright/e2e/Features/AgentLogStreamHandover.spec.ts",
"playwright/e2e/Features/ServiceAgentsPauseResume.spec.ts",
"playwright/e2e/Features/ServiceAgentsStatusDegradation.spec.ts",
"playwright/e2e/Flow/ServiceCreationPermissions.spec.ts",
"playwright/e2e/Pages/LogsViewer.spec.ts"
]
},
Expand Down Expand Up @@ -9062,8 +9077,6 @@
"openmetadata-ui/src/main/resources/ui/src/components/common/DatePickerMenu/DatePickerMenu.component.tsx"
],
"specs": [
"playwright/e2e/Features/DataQuality/IncidentManagerDateFilter.spec.ts",
"playwright/e2e/Features/IncidentManager.spec.ts",
"playwright/e2e/Pages/AuditLogs.spec.ts",
"playwright/e2e/Pages/DataInsight.spec.ts"
]
Expand Down Expand Up @@ -9738,6 +9751,7 @@
"playwright/e2e/Features/DataQuality/DataQualityDashboard.spec.ts",
"playwright/e2e/Features/Glossary/GlossaryAdvancedOperations.spec.ts",
"playwright/e2e/Features/Glossary/GlossaryRemoveOperations.spec.ts",
"playwright/e2e/Features/IncidentManager.spec.ts",
"playwright/e2e/Features/QueryEntity.spec.ts",
"playwright/e2e/Flow/PersonaFlow.spec.ts",
"playwright/e2e/Pages/DataContractInheritance.spec.ts",
Expand Down Expand Up @@ -9945,6 +9959,7 @@
"playwright/e2e/Features/AIMode/ObservabilityFilters.spec.ts",
"playwright/e2e/Features/DataAssetRulesDisabled.spec.ts",
"playwright/e2e/Features/DataQuality/DataQualityDashboard.spec.ts",
"playwright/e2e/Features/IncidentManager.spec.ts",
"playwright/e2e/Features/QueryEntity.spec.ts",
"playwright/e2e/Pages/DomainUIInteractions.spec.ts",
"playwright/e2e/Pages/TestSuite.spec.ts"
Expand Down Expand Up @@ -12787,6 +12802,7 @@
"playwright/e2e/Features/ExploreQuickFilters.spec.ts",
"playwright/e2e/Features/ExploreSortOrderFilter.spec.ts",
"playwright/e2e/Features/ExploreUrlState.spec.ts",
"playwright/e2e/Features/IncidentManager.spec.ts",
"playwright/e2e/Features/NestedColumnsExpandCollapse.spec.ts",
"playwright/e2e/Features/SearchExport.spec.ts",
"playwright/e2e/Flow/ExploreDiscovery.spec.ts",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Alert widgets consume form values, and the Observability migration merges OSS before Collate

- **Status:** Accepted
- **Revisions:** v1 2026-10-10 (initial)
- **Deciders:** Shailesh Parmar
- **Guard:** `AlertEditModal.component.test.tsx` and Collate `TestAlertButton.test.tsx`; paired build and merge-order review
- **Related:** [OpenMetadata #34935](https://github.com/open-metadata/OpenMetadata/issues/34935), [OpenMetadata #34936](https://github.com/open-metadata/OpenMetadata/pull/34936), [Collate #7216](https://github.com/open-metadata/openmetadata-collate/pull/7216)

## Context

The AI Observability alert form now owns its state without Ant Design. Its footer widgets are
registered through `AlertsClassBase` and implemented downstream in Collate. The previous
`TestAlertButton` read an Ant Design form instance, which the AI form can no longer provide.
The same migration removes `pipeline-actions.less`, still imported by Collate main.

## Decision

Alert footer widgets read the current `ModifiedCreateEventSubscription` through the `values`
prop of `AddAlertFormWidgetProps`. Both Classic and AI callers supply these values. They are
the current editing state, not a promise of submission validation. Widgets remain responsible
for deciding whether their operation has the fields it requires.

The AI form does not pass `formRef`. The optional `formRef` remains available to existing
Classic widgets that write into the legacy form; read-only widgets such as Collate's
`TestAlertButton` must not require it. Collate uses `values` to derive availability and the
test-notification request, including edits made after the widget first rendered.

Validate the OSS and Collate migration branches together. Merge OSS #34936 first, then Collate
#7216 immediately afterward. Keep Collate's OpenMetadata submodule branch on `main` for merge.
The Collate change consumes the new OSS widget contract and removes the deleted stylesheet
import. Do not restore the deleted stylesheet or an Ant Design form instance to bridge the two
merges.

## Consequences

Widgets can serve both form implementations without importing Ant Design or retaining a form
instance. The companion PR is required for this migration: between the merges, Collate main
has an obsolete stylesheet import and its test-alert widget still expects `formRef`. Treat
that interval as a coordinated integration window, and verify Collate against the merged OSS
main before considering the migration integrated. A future independently deployable transition
would need an explicit compatibility phase instead of this immediate merge sequence.
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ const DialogHeader = ({ title, children, className }: DialogHeaderProps) => (
{title && (
<Heading
className="tw:text-md tw:font-semibold tw:text-primary"
data-testid="dialog-title"
slot="title">
{title}
</Heading>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ const getBoxItems = (
itemClassName: string,
keyPrefix = ''
): ReactNode[] =>
Children.toArray(children).flatMap((child, index) => {
Children.toArray(children).flatMap<ReactNode>((child, index) => {
const key = `${keyPrefix}/${isValidElement(child) ? child.key : index}`;

// Fragments group JSX, not layout items; keep their children independently spaced.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,12 @@ export * from './application/popover/popover';
export * from './application/progress-steps/progress-steps';
export { SlideoutMenu } from './application/slideout-menus/slideout-menu';
export * from './application/table/table';
export {
GridList,
GridListItem,
ListLayout,
Virtualizer,
} from 'react-aria-components';
export * from './application/tabs/tabs';
export * from './application/toast/toast';
export * from './application/toast/toast-provider';
Expand Down
2 changes: 1 addition & 1 deletion openmetadata-ui/src/main/resources/ui/docs/colors.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ Use background tokens for surfaces, containers, cards, modals, and page-level ba

| Tailwind Class | CSS Variable | Light | Dark | When to Use |
|---|---|---|---|---|
| `tw:bg-brand-primary` | `--color-bg-brand-primary` | `#eff8ff` | Brand 500 at 16% | Light brand tint surface |
| `tw:bg-brand-primary` | `--color-bg-brand-primary` | `#eff8ff` | Brand 500 at 14% | Light brand tint surface |
| `tw:bg-brand-primary_alt` | `--color-bg-brand-primary_alt` | `#eff8ff` | `#191919` | Alternate brand tint |
| `tw:bg-brand-secondary` | `--color-bg-brand-secondary` | `#d1e9ff` | `#1570ef` | Stronger brand tint |
| `tw:bg-brand-solid` | `--color-bg-brand-solid` | `#1570ef` | `#1570ef` | Primary CTA button fill |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -812,7 +812,7 @@
},
"playwright/utils/taskWorkflow.ts": {
"om-playwright/no-positional-locator": {
"count": 3
"count": 2
},
"playwright/no-wait-for-selector": {
"count": 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ test.describe('FeedWidget on landing page', () => {
await expect(seededCard).toBeVisible();
await seededCard.click();

const drawer = page.locator('.activity-feed-drawer');
const drawer = page.getByTestId('activity-feed-drawer');

await expect(drawer).toBeVisible();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,16 +221,16 @@ test.describe('Column Bulk Operations - Tags & Glossary Select in Drawer', () =>
await searchRes;
});

await test.step('Option renders inside the drawer top layer', async () => {
// Before the fix this option portaled to document.body, outside the
// drawer — so scoping the locator to the drawer would not find it.
await test.step('Option renders above the drawer', async () => {
// The core listbox is a react-aria popover nested in the drawer's modal,
// so it portals to the body yet stays interactive above the drawer.
await expect(
drawer.getByTestId(`tag-${CLASSIFICATION_TAG_FQN}`)
page.getByTestId(`tag-${CLASSIFICATION_TAG_FQN}`)
).toBeVisible();
});

await test.step('Clicking the option selects the tag', async () => {
await drawer.getByTestId(`tag-${CLASSIFICATION_TAG_FQN}`).click();
await page.getByTestId(`tag-${CLASSIFICATION_TAG_FQN}`).click();

await expect(
tagsField.locator('[data-testid^="selected-tag-"]')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -750,8 +750,11 @@ test.describe(

await test.step('Reopen the incident as Acknowledged from the header', async () => {
await page.click('[data-testid="edit-resolution-icon"]');
await page.click('[data-testid="test-case-resolution-status-type"]');
await page.click('[title="Ack"]');
await page
.getByTestId('test-case-resolution-status-type')
.getByRole('button')
.click();
await page.getByRole('option', { name: 'Ack', exact: true }).click();

const reopenResponse = page.waitForResponse(
(response) =>
Expand Down
Loading
Loading