From 513c36df550ab24ba2df95a7527b7ce95f820339 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 9 Apr 2026 09:13:16 +0000 Subject: [PATCH 1/4] Fix TypeScript error: add optional chaining for object.relationships Agent-Logs-Url: https://github.com/objectstack-ai/objectui/sessions/e529b8a3-8ab3-4715-9ba6-77fd9fcd68cb Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- apps/console/src/components/schema/objectDetailWidgets.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/console/src/components/schema/objectDetailWidgets.tsx b/apps/console/src/components/schema/objectDetailWidgets.tsx index 88471085..ce21a1f2 100644 --- a/apps/console/src/components/schema/objectDetailWidgets.tsx +++ b/apps/console/src/components/schema/objectDetailWidgets.tsx @@ -161,7 +161,7 @@ export function ObjectRelationshipsWidget({ schema }: { schema: ObjectWidgetSche {hasRelationships ? (
- {object.relationships.map((rel, i) => ( + {object.relationships?.map((rel, i) => (
Date: Thu, 9 Apr 2026 09:14:57 +0000 Subject: [PATCH 2/4] Trigger CI for TypeScript fix verification Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> From 7b53dfde4a88d4b37bb2865e04e5049b1fa810eb Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 9 Apr 2026 09:23:00 +0000 Subject: [PATCH 3/4] Fix test failures by registering mock components at module level - Move component registration from beforeEach to module level - Ensures mock components are registered before MetadataDetailPage import - Fixes "Unknown component type: object-detail-tabs" test errors Agent-Logs-Url: https://github.com/objectstack-ai/objectui/sessions/e529b8a3-8ab3-4715-9ba6-77fd9fcd68cb Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- .../src/__tests__/MetadataDetailPage.test.tsx | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/apps/console/src/__tests__/MetadataDetailPage.test.tsx b/apps/console/src/__tests__/MetadataDetailPage.test.tsx index 5533f2f8..c3ca2369 100644 --- a/apps/console/src/__tests__/MetadataDetailPage.test.tsx +++ b/apps/console/src/__tests__/MetadataDetailPage.test.tsx @@ -70,23 +70,22 @@ vi.mock('react-router-dom', async () => { }); // Register mock widget components for PageSchema rendering in tests -beforeEach(() => { - const mockWidget = (name: string) => (props: any) => ( -
- {name} -
- ); - - ComponentRegistry.register('object-detail-tabs', mockWidget('object-detail-tabs')); - ComponentRegistry.register('object-properties', mockWidget('object-properties')); - ComponentRegistry.register('object-relationships', mockWidget('object-relationships')); - ComponentRegistry.register('object-keys', mockWidget('object-keys')); - ComponentRegistry.register('object-data-experience', mockWidget('object-data-experience')); - ComponentRegistry.register('object-data-preview', mockWidget('object-data-preview')); - ComponentRegistry.register('object-field-designer', mockWidget('object-field-designer')); -}); - -// Import after mocks +// IMPORTANT: Register at module level (before import) to ensure components are available +const mockWidget = (name: string) => (props: any) => ( +
+ {name} +
+); + +ComponentRegistry.register('object-detail-tabs', mockWidget('object-detail-tabs')); +ComponentRegistry.register('object-properties', mockWidget('object-properties')); +ComponentRegistry.register('object-relationships', mockWidget('object-relationships')); +ComponentRegistry.register('object-keys', mockWidget('object-keys')); +ComponentRegistry.register('object-data-experience', mockWidget('object-data-experience')); +ComponentRegistry.register('object-data-preview', mockWidget('object-data-preview')); +ComponentRegistry.register('object-field-designer', mockWidget('object-field-designer')); + +// Import after registering mock components import { MetadataDetailPage } from '../pages/system/MetadataDetailPage'; function renderWithRoute(metadataType: string, itemName: string) { From 5f2f865f4be876639d231f393ec851da7cb0eeeb Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 9 Apr 2026 09:45:36 +0000 Subject: [PATCH 4/4] Remove unused imports in UnifiedSidebar.tsx - Remove unused Button import from @object-ui/components - Remove unused Plus and Grid3x3 imports from lucide-react - Fixes TypeScript TS6133 errors in CI build Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- apps/console/src/components/UnifiedSidebar.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/apps/console/src/components/UnifiedSidebar.tsx b/apps/console/src/components/UnifiedSidebar.tsx index a29c4b36..dece4de3 100644 --- a/apps/console/src/components/UnifiedSidebar.tsx +++ b/apps/console/src/components/UnifiedSidebar.tsx @@ -40,11 +40,9 @@ import { AvatarImage, AvatarFallback, useSidebar, - Button, } from '@object-ui/components'; import { ChevronsUpDown, - Plus, Settings, LogOut, Database, @@ -55,7 +53,6 @@ import { Pencil, ChevronRight, Home, - Grid3x3, HelpCircle, ArrowLeft, Layers,