Backport #29067 database schema and container lazy-loading to 1.13 - #31046
Open
shah-harshit wants to merge 7 commits into
Conversation
* feat(ui): split CustomizePageUtils.ts into 3 focused modules (#28937) * feat(ui): split CustomizePageUtils.ts into 3 focused modules Closes open-metadata/openmetadata-collate#4230 Splits 830-line CustomizePageUtils.ts (with 25 eager ClassBase imports) into three focused files to eliminate unnecessary bundle weight on every entity detail page: - CustomizePageEntityTabUtils.ts — tab display helpers (no ClassBase deps) sortTabs, getTabDisplayName, getTabLabelMapFromTabs, checkIfExpandViewSupported, getDetailsTabWithNewLabel - CustomizePageDispatchUtils.ts — dispatch/admin flow helpers (keeps all 25 ClassBase singletons; only imported by admin/customize pages) getDefaultTabs, getDefaultWidgetForTab, getCustomizableWidgetByPage, getDummyDataByPage, getWidgetsFromKey, getWidgetHeight, getGlossaryTermDefaultTabs, getGlossaryDefaultTabs - CustomizePageWidgetUtils.ts — widget/layout helpers (no ClassBase deps) getAddWidgetHandler, updateWidgetHeightRecursively, getLayoutFromCustomizedPage, asyncNoop CustomizePageUtils.ts deleted; all ~50 consumer files updated to import directly from the correct split module. No re-export facade. Test mocks updated: removed stale mock blocks on wrong paths (previously mocking CustomizePageUtils which had no effect once consumers moved to CustomizePagePureUtils); added correct mocks on CustomizePagePureUtils for FileClassBase and DirectoryClassBase tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix checkstyle --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(ui): lazy-load tab-level and heavy components with withSuspenseFallback (#28830) * feat(ui): lazy-load tab-level and heavy components with withSuspenseFallback Convert 105 component/util files from eager imports to React.lazy() + withSuspenseFallback() for heavy components: SchemaEditor, ActivityFeedTab, ContractTab, CustomPropertyTable, TaskTabNew, EntitySummaryPanel, ModalWithMarkdownEditor, BlockEditor, CodeEditor, and others. Lazy constants are placed after all traditional imports. Removed eager component imports are replaced with import type for props interfaces where applicable. Zero TypeScript errors introduced. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix failing test * fix failing test * improve performance * update * address comments * fix failing e2e tests * fix failing tests * Fix failing tests * fix failing test * address comments * fix ui checkstyle * fix query page import * fix checkstyle --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(ui): use reachable my data loading state --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> (cherry picked from commit 159cee8)
* feat(ui): split CustomizePageUtils.ts into 3 focused modules (#28937) * feat(ui): split CustomizePageUtils.ts into 3 focused modules Closes open-metadata/openmetadata-collate#4230 Splits 830-line CustomizePageUtils.ts (with 25 eager ClassBase imports) into three focused files to eliminate unnecessary bundle weight on every entity detail page: - CustomizePageEntityTabUtils.ts — tab display helpers (no ClassBase deps) sortTabs, getTabDisplayName, getTabLabelMapFromTabs, checkIfExpandViewSupported, getDetailsTabWithNewLabel - CustomizePageDispatchUtils.ts — dispatch/admin flow helpers (keeps all 25 ClassBase singletons; only imported by admin/customize pages) getDefaultTabs, getDefaultWidgetForTab, getCustomizableWidgetByPage, getDummyDataByPage, getWidgetsFromKey, getWidgetHeight, getGlossaryTermDefaultTabs, getGlossaryDefaultTabs - CustomizePageWidgetUtils.ts — widget/layout helpers (no ClassBase deps) getAddWidgetHandler, updateWidgetHeightRecursively, getLayoutFromCustomizedPage, asyncNoop CustomizePageUtils.ts deleted; all ~50 consumer files updated to import directly from the correct split module. No re-export facade. Test mocks updated: removed stale mock blocks on wrong paths (previously mocking CustomizePageUtils which had no effect once consumers moved to CustomizePagePureUtils); added correct mocks on CustomizePagePureUtils for FileClassBase and DirectoryClassBase tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix checkstyle --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(ui): lazy-load tab-level and heavy components with withSuspenseFallback (#28830) * feat(ui): lazy-load tab-level and heavy components with withSuspenseFallback Convert 105 component/util files from eager imports to React.lazy() + withSuspenseFallback() for heavy components: SchemaEditor, ActivityFeedTab, ContractTab, CustomPropertyTable, TaskTabNew, EntitySummaryPanel, ModalWithMarkdownEditor, BlockEditor, CodeEditor, and others. Lazy constants are placed after all traditional imports. Removed eager component imports are replaced with import type for props interfaces where applicable. Zero TypeScript errors introduced. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix failing test * fix failing test * improve performance * update * address comments * fix failing e2e tests * fix failing tests * Fix failing tests * fix failing test * address comments * fix ui checkstyle * fix query page import * fix checkstyle --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(ui): extract pure utility functions and add lazy-loading infrastructure (#29061) * feat(ui): extract pure utility functions and add lazy-loading infrastructure Extracts pure (React-free) utility logic into dedicated *ClassBase.ts files for better code splitting and testability. Adds new utility files: ExploreFilterUtils.ts, GlossaryTreeUtils.ts, TagTransformUtils.ts, LazyTagComponents.tsx. Updates AppRouter to use lazy-loaded components with withSuspenseFallback for improved initial load performance. Adds test coverage for extracted utility functions. Ref: open-metadata/openmetadata-collate#4230 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * address comments * fix: apply ui-checkstyle fixes for feat/lazy-util-pr1-new-utils-infra Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix failing tests * fix checkstyle * address comments * address comments --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(ui): address lazy foundation review comments * test(ui): mock data quality pure helper --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> (cherry picked from commit f26af1c)
…#30126) * feat(ui): split CustomizePageUtils.ts into 3 focused modules (#28937) * feat(ui): split CustomizePageUtils.ts into 3 focused modules Closes open-metadata/openmetadata-collate#4230 Splits 830-line CustomizePageUtils.ts (with 25 eager ClassBase imports) into three focused files to eliminate unnecessary bundle weight on every entity detail page: - CustomizePageEntityTabUtils.ts — tab display helpers (no ClassBase deps) sortTabs, getTabDisplayName, getTabLabelMapFromTabs, checkIfExpandViewSupported, getDetailsTabWithNewLabel - CustomizePageDispatchUtils.ts — dispatch/admin flow helpers (keeps all 25 ClassBase singletons; only imported by admin/customize pages) getDefaultTabs, getDefaultWidgetForTab, getCustomizableWidgetByPage, getDummyDataByPage, getWidgetsFromKey, getWidgetHeight, getGlossaryTermDefaultTabs, getGlossaryDefaultTabs - CustomizePageWidgetUtils.ts — widget/layout helpers (no ClassBase deps) getAddWidgetHandler, updateWidgetHeightRecursively, getLayoutFromCustomizedPage, asyncNoop CustomizePageUtils.ts deleted; all ~50 consumer files updated to import directly from the correct split module. No re-export facade. Test mocks updated: removed stale mock blocks on wrong paths (previously mocking CustomizePageUtils which had no effect once consumers moved to CustomizePagePureUtils); added correct mocks on CustomizePagePureUtils for FileClassBase and DirectoryClassBase tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix checkstyle --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(ui): lazy-load tab-level and heavy components with withSuspenseFallback (#28830) * feat(ui): lazy-load tab-level and heavy components with withSuspenseFallback Convert 105 component/util files from eager imports to React.lazy() + withSuspenseFallback() for heavy components: SchemaEditor, ActivityFeedTab, ContractTab, CustomPropertyTable, TaskTabNew, EntitySummaryPanel, ModalWithMarkdownEditor, BlockEditor, CodeEditor, and others. Lazy constants are placed after all traditional imports. Removed eager component imports are replaced with import type for props interfaces where applicable. Zero TypeScript errors introduced. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix failing test * fix failing test * improve performance * update * address comments * fix failing e2e tests * fix failing tests * Fix failing tests * fix failing test * address comments * fix ui checkstyle * fix query page import * fix checkstyle --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(ui): extract pure utility functions and add lazy-loading infrastructure (#29061) * feat(ui): extract pure utility functions and add lazy-loading infrastructure Extracts pure (React-free) utility logic into dedicated *ClassBase.ts files for better code splitting and testability. Adds new utility files: ExploreFilterUtils.ts, GlossaryTreeUtils.ts, TagTransformUtils.ts, LazyTagComponents.tsx. Updates AppRouter to use lazy-loaded components with withSuspenseFallback for improved initial load performance. Adds test coverage for extracted utility functions. Ref: open-metadata/openmetadata-collate#4230 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * address comments * fix: apply ui-checkstyle fixes for feat/lazy-util-pr1-new-utils-infra Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix failing tests * fix checkstyle * address comments * address comments --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(ui): update DataQuality & IncidentManager components for lazy-load utility pattern (#29064) * feat(ui): update DataQuality & IncidentManager components for lazy-load utility pattern Updates DataQuality and IncidentManager components to import from extracted pure utility modules. Updates DataQualityUtils, TestCaseUtils imports. Updates dataQualityDashboardAPI for consistent utility usage. Ref: open-metadata/openmetadata-collate#4230 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * address comments * fix checkstyle, tests and build --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * test(ui): fix data quality backport unit tests --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> (cherry picked from commit a0692c3)
… utility pattern (#29062) (#30128) * feat(ui): update ActivityFeed & Announcement components for lazy-load utility pattern Updates ActivityFeed components to import from extracted pure utility modules. Updates FeedUtils, TasksUtils imports to use new utility structure. Updates TasksPage and tasksAPI for consistent utility usage. Ref: open-metadata/openmetadata-collate#4230 * fix imports * address gitar-bot comments * fix checkstyle * fix failing tests --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> (cherry picked from commit 874dbed)
* feat(ui): update Domain & Glossary components for lazy-load utility pattern (#29065) * feat(ui): update Domain & Glossary components for lazy-load utility pattern Updates Domain and Glossary components to import from extracted pure utility modules. Updates DomainUtils, GlossaryUtils, ClassificationUtils, TagsUtils imports. Updates Tag components and pages for consistent utility usage. Ref: open-metadata/openmetadata-collate#4230 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix build and unit tests * fix checkstyle * Fix conflicts * fix test, build, checkstyle * fix checkstyle --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * test(ui): update task tab feed utils mock --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> (cherry picked from commit 5b92d40)
* feat(ui): update Common Components, Pages & Settings for lazy-load utility pattern (#29070) * feat(ui): update Common Components, Pages & Settings for lazy-load utility pattern Updates Common Components, MyData, Customization, DataAssets and remaining pages to import from extracted pure utility modules. Updates EntityUtils, BlockEditorUtils, formUtils, CuratedAssetsUtils imports. Updates Settings, Knowledge Center, Context Center components for consistent utility usage. Ref: open-metadata/openmetadata-collate#4230 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix build, test and checkstyle * fix checkstyle --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix 1.13 group 12 unit tests * Fix task description submit tests * Fix popup container imports * Fix block editor pure util imports --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> (cherry picked from commit f5426b7)
…#30132) * feat(ui): update Database, Schema & Container components for lazy-load utility pattern (#29067) * feat(ui): update Database, Schema & Container components for lazy-load utility pattern Updates Database, Schema, Container and DriveService components to import from extracted pure utility modules. Updates TablePureUtils, ContainerDetailUtils, ColumnUpdateUtils imports. Updates related pages for consistent utility usage. Ref: open-metadata/openmetadata-collate#4230 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * address gitar-bot comments * fix build --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * test(ui): update version utility mocks --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> (cherry picked from commit bb102eb)
Code Review ✅ ApprovedBackports database schema and container lazy-loading updates to the 1.13 branch to maintain feature parity with upstream changes. No issues found. OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar | Powered by Gitar — free for open source |
Contributor
|
shah-harshit
force-pushed
the
ui/direct-1.13-seq26-29070-common-pages-settings-lazy
branch
from
August 6, 2026 07:51
1f1eee2 to
76c2699
Compare
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.



Summary
Tracking
Testing