You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The 10s timeout was added to the isEmpty(description) branch (line 731) to handle slow re-renders under CPU load during parallel test runs, but the else branch (lines 733-738) still uses Playwright's default 5s timeout. The same CPU load conditions that delay the "No Description" re-render would equally delay a description text re-render, potentially leaving flakiness in the non-empty description path.
✅ 2 resolved✅ Bug:Meta+A does not select all text on Linux CI (ubuntu)
📄 openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts:682🔗 Playwright keyboard.press docs
The new clear logic uses page.keyboard.press('Meta+A') to select all text before pressing Backspace. However, Playwright CI runs on ubuntu-latest (see .github/workflows/playwright-integration-tests-postgres.yml), and Playwright's documentation explicitly states that Meta+A maps to the Super/Windows key on Linux — not Ctrl. This means the select-all shortcut will silently do nothing on Linux, leaving the old description text intact instead of clearing it.
The Playwright docs say:
"on Windows and Linux: page.keyboard.press('Control+A') // on macOS: page.keyboard.press('Meta+A')"
Other test files in this repo already use Control+A correctly (e.g., BulkImport.spec.ts, user.ts, DataContracts.spec.ts). The DataProductAndSubdomains.spec.ts file has the same Meta+A bug — but that's a pre-existing issue outside this PR's scope.
This will cause updateDescriptionForChildren to fail when trying to clear/replace a description: the old text won't be selected, Backspace will delete at most one character, and the new text will be appended to the old text (or the field won't be cleared at all when description is empty).
✅ Quality: Inconsistent use of panelContainer vs duplicate locator
📄 openmetadata-ui/src/main/resources/ui/playwright/utils/customProperty.ts:1272
The panelContainer variable is created at line 1255 and used to scope searchContainer and the card count assertion, but at line 1272 a new container is created using page.locator('.entity-summary-panel-container') instead of reusing panelContainer. This is functionally identical but inconsistent with the PR's explicit goal of scoping everything through panelContainer to avoid parallel test interference. Using panelContainer.getByTestId(propertyName) would be more consistent and clearly communicate the intent.
🤖 Prompt for agents
Code Review: Solid flaky test fixes with well-targeted wait strategies. One minor timeout asymmetry remains from the previous review.
1. 💡 Edge Case: Extended timeout only applied to "No Description" branch
Files: openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts:728-738
The 10s timeout was added to the `isEmpty(description)` branch (line 731) to handle slow re-renders under CPU load during parallel test runs, but the `else` branch (lines 733-738) still uses Playwright's default 5s timeout. The same CPU load conditions that delay the "No Description" re-render would equally delay a description text re-render, potentially leaving flakiness in the non-empty description path.
Suggested fix:
} else {
await expect(
page
.locator(`[${rowSelector}="${rowId}"]`)
.getByTestId('viewer-container')
.getByRole('paragraph')
).toContainText(description, { timeout: 10000 });
}
Options
Auto-apply is off → Gitar will not commit updates to this branch. Display: compact → Showing less information.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
safe to testAdd this label to run secure Github workflows on PRsUIUI specific issues
3 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Describe your changes:
I worked on fixing the flakiness in entity.spec
Type of change:
Checklist:
Fixes <issue-number>: <short explanation>Summary by Gitar
waitForAllLoadersToDisappear()calls; use targetedwaitFor({ state: 'visible' })orwaitForSelector('[data-testid="loader"]', { state: 'detached' })updateCustomPropertyInRightPanel()to.entity-summary-panel-containerto avoid DOM interference across parallel test runsclear()/fill()with keyboard shortcuts (Ctrl+A, Backspace) to properly trigger editor state changesThis will update automatically on new commits.