Context center folder crud, integrate search api and bug fixes#28241
Merged
Conversation
Contributor
🟡 Playwright Results — all passed (11 flaky)✅ 4251 passed · ❌ 0 failed · 🟡 11 flaky · ⏭️ 88 skipped
🟡 11 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 |
69df2b4 to
a8e415b
Compare
elitesignaltrademanagement-cyber
approved these changes
May 25, 2026
|
karanh37
approved these changes
May 26, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 61 out of 61 changed files in this pull request and generated 9 comments.
Comments suppressed due to low confidence (5)
openmetadata-ui/src/main/resources/ui/src/utils/ContextCenterUtils.tsx:1
ContextFile.fileSizeis commonly optional in generated entity models; passingundefinedintoformatBytescan result in"NaN"output or a runtime error depending onformatBytesimplementation. Consider defaulting to0(or a fallback label) whenfile.fileSizeis missing.
openmetadata-ui/src/main/resources/ui/src/utils/ContextCenterUtils.tsx:1ContextFile.fileSizeis commonly optional in generated entity models; passingundefinedintoformatBytescan result in"NaN"output or a runtime error depending onformatBytesimplementation. Consider defaulting to0(or a fallback label) whenfile.fileSizeis missing.
openmetadata-ui/src/main/resources/ui/src/rest/knowledgeCenterAPI.ts:1- This changes the import of
PagingResponsefrom a relative path (../Models) to a bare module specifier (Models). Unless the project has apaths/alias entry forModels, this will fail at build time. Prefer keeping the import consistent with the previous relative path (or update all references consistently if the codebase is moving to aliased imports).
openmetadata-ui/src/main/resources/ui/src/rest/knowledgeCenterAPI.ts:1 - This changes the import of
PagingResponsefrom a relative path (../Models) to a bare module specifier (Models). Unless the project has apaths/alias entry forModels, this will fail at build time. Prefer keeping the import consistent with the previous relative path (or update all references consistently if the codebase is moving to aliased imports).
openmetadata-ui/src/main/resources/ui/src/utils/TagClassBase.ts:1 setFilterClassificationis an instance method but it mutates a static field. This is confusing for callers and makes the API look instance-scoped when it’s actually global. Consider makingsetFilterClassificationa static method (or changingfilterClassificationto be instance state if global behavior isn’t required).
| key={folder.id} | ||
| textValue={folder.displayName ?? folder.name}> | ||
| <Tree.ItemContent> | ||
| <div className="custom-group tw:flex tw:flex-1 tw:items-center tw:gap-2 tw:min-w-0"> |
Comment on lines
+187
to
+198
| <ButtonUtility | ||
| className="tw:opacity-0 group-hover-opacity-100 tw:shrink-0" | ||
| color="tertiary" | ||
| data-testid={`delete-folder-btn-${folder.id}`} | ||
| icon={Trash01} | ||
| size="xs" | ||
| tooltip={t('label.delete')} | ||
| onClick={(e) => { | ||
| e.stopPropagation(); | ||
| setFolderToDelete(folder); | ||
| }} | ||
| /> |
| </Tooltip> | ||
| <Dropdown.Popover className="tw:w-32"> | ||
| <Dropdown.Popover className="tw:w-46"> | ||
| <Dropdown.Menu |
Comment on lines
+113
to
+114
| <SubmenuTrigger> | ||
| <AriaMenuItem |
| </div> | ||
| )} | ||
| </AriaMenuItem> | ||
| <AriaPopover |
| className="tw:z-50 tw:w-52 tw:rounded-lg tw:bg-primary tw:py-1 tw:shadow-lg tw:ring-1 tw:ring-secondary_alt" | ||
| offset={4} | ||
| placement="right top"> | ||
| <AriaMenu className="tw:max-h-48 tw:overflow-y-auto tw:outline-hidden tw:select-none"> |
Comment on lines
+340
to
+359
| const hasMore = knowledgePages.length < paging.total; | ||
| if ( | ||
| isInView && | ||
| hasMore && | ||
| !isLoadingMore && | ||
| !searchQuery && | ||
| hasViewPermission | ||
| ) { | ||
| const nextOffset = pageOffset + PAGE_SIZE_MEDIUM; | ||
| setPageOffset(nextOffset); | ||
| fetchKnowledgePages(nextOffset); | ||
| } | ||
| }, [isInView, paging, isLoadingMore, hasViewPermission]); | ||
| }, [ | ||
| isInView, | ||
| paging.total, | ||
| knowledgePages.length, | ||
| isLoadingMore, | ||
| searchQuery, | ||
| hasViewPermission, | ||
| ]); |
Comment on lines
+155
to
+159
| {folders.map((folder) => { | ||
| const isSelected = selectedFolderId === folder.id; | ||
| const folderFiles = files.filter( | ||
| (f) => f.folderId === folder.id | ||
| ); |
| }); | ||
|
|
||
| test('download button triggers file download', async ({ page }) => { | ||
| test.fixme('download button triggers file download', async ({ page }) => { |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
Fixes #
I worked on ... because ...
Type of change:
High-level design:
N/A — small change.
Tests:
Use cases covered
Unit tests
Backend integration tests
Ingestion integration tests
Playwright (UI) tests
Manual testing performed
UI screen recording / screenshots:
Not applicable.
Checklist:
Fixes <issue-number>: <short explanation>Fixes #<issue-number>above.Summary by Gitar
DocumentFolderViewto wrap folder titles in adivfor better layout control.DocumentsViewby addingFolderIconto folder list items and standardizingTypographystyling for menu actions.deleteKnowledgePagein Playwright tests to match API expectations.CreateFolderModalandDocumentFolderViewimports to use absolute paths.KnowledgePagesHierarchy.This will update automatically on new commits.