From 2f092ff0633b962cadecf43f879f0202da13c8b3 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Thu, 19 Mar 2026 23:04:48 +0000 Subject: [PATCH] Reduce resource drawer identity empty-state copy --- .../v6/internal/subsystems/unified-resources.md | 3 +++ .../src/components/Infrastructure/ResourceDetailDrawer.tsx | 2 +- .../__tests__/ResourceDetailDrawer.history.test.tsx | 1 + .../__tests__/ResourceDetailDrawer.identity-runtime.test.tsx | 4 ++-- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/release-control/v6/internal/subsystems/unified-resources.md b/docs/release-control/v6/internal/subsystems/unified-resources.md index 7f021e0ca..fe23d558f 100644 --- a/docs/release-control/v6/internal/subsystems/unified-resources.md +++ b/docs/release-control/v6/internal/subsystems/unified-resources.md @@ -283,6 +283,9 @@ The identity card now follows the same rule: canonical identity rows stay in the primary summary, while aliases, IPs, and tags live in a smaller `Supporting context` block so the drawer answers "what is this resource" before showing every attached label. +When that card has no owned identity rows or supporting labels yet, the sparse +fallback now stays terse (`No identity metadata yet.`) so empty state chrome +does not read heavier than the data it is standing in for. Type-specific Docker, PBS, and PMG operational panels now also live inside a collapsed `Service details` support block, so lane-specific controls and breakdowns stay available without displacing the common runtime and identity diff --git a/frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx b/frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx index 1564ea9c5..cadaf3e0e 100644 --- a/frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx +++ b/frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx @@ -1120,7 +1120,7 @@ const DrawerContent: Component = (props) => {
- No enriched identity metadata yet. + No identity metadata yet.
diff --git a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx index 5ec9f7ac5..44669e324 100644 --- a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx +++ b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx @@ -190,6 +190,7 @@ describe('ResourceDetailDrawer change history section', () => { expect(screen.queryByText('Host details')).toBeNull(); expect(screen.queryByText('Service details')).toBeNull(); expect(screen.queryByText('Supporting context')).toBeNull(); + expect(screen.queryByText('No identity metadata yet.')).toBeNull(); expect(screen.getByText('Discovery context')).toBeInTheDocument(); expect( screen.queryByText('Supporting metadata only. The web interface path above stays primary.'), diff --git a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.identity-runtime.test.tsx b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.identity-runtime.test.tsx index 6107f0a0c..d65f05cf8 100644 --- a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.identity-runtime.test.tsx +++ b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.identity-runtime.test.tsx @@ -250,7 +250,7 @@ describe('ResourceDetailDrawer runtime and identity cards', () => { expect(getByText('Supporting context')).toBeInTheDocument(); expect(getByText('Aliases')).toBeInTheDocument(); expect(getAllByText('pmg-main').length).toBeGreaterThan(0); - expect(queryByText('No enriched identity metadata yet.')).toBeNull(); + expect(queryByText('No identity metadata yet.')).toBeNull(); const sparse = baseResource({ id: 'host-min', @@ -267,7 +267,7 @@ describe('ResourceDetailDrawer runtime and identity cards', () => { }); const sparseRender = render(() => ); - expect(sparseRender.getByText('No enriched identity metadata yet.')).toBeInTheDocument(); + expect(sparseRender.getByText('No identity metadata yet.')).toBeInTheDocument(); }); it('shows canonical metrics target identity for docker-backed host resources', () => {