diff --git a/docs/frontend-analytics-manifest.json b/docs/frontend-analytics-manifest.json index 3b230fb59..6e280c546 100644 --- a/docs/frontend-analytics-manifest.json +++ b/docs/frontend-analytics-manifest.json @@ -352,9 +352,9 @@ {"file":"web/src/features/suite/suite-bundle-operation-detail.tsx","line":131,"host":"Button","prop":"data-analytics-id","event":"click","ids":["suite.draft.open"]}, {"file":"web/src/features/suite/suite-bundle-operation-detail.tsx","line":137,"host":"Button","prop":"data-analytics-id","event":"click","ids":["suite.operation.restart"]}, {"file":"web/src/features/suite/suite-bundle-operation-detail.tsx","line":181,"host":"Button","prop":"data-analytics-id","event":"click","ids":["suite.operation.refresh"]}, - {"file":"web/src/features/suite/suite-bundle-operation-detail.tsx","line":280,"host":"Button","prop":"data-analytics-id","event":"click","ids":["skill.detail.open"]}, - {"file":"web/src/features/suite/suite-bundle-operation-detail.tsx","line":310,"host":"ConfirmDialog","prop":"confirmAnalyticsId","event":"click","ids":["suite.operation.cancel.confirm"]}, - {"file":"web/src/features/suite/suite-bundle-operation-detail.tsx","line":310,"host":"ConfirmDialog","prop":"cancelAnalyticsId","event":"click","ids":["suite.operation.cancel.cancel"]}, + {"file":"web/src/features/suite/suite-bundle-operation-detail.tsx","line":283,"host":"Button","prop":"data-analytics-id","event":"click","ids":["skill.detail.open"]}, + {"file":"web/src/features/suite/suite-bundle-operation-detail.tsx","line":313,"host":"ConfirmDialog","prop":"confirmAnalyticsId","event":"click","ids":["suite.operation.cancel.confirm"]}, + {"file":"web/src/features/suite/suite-bundle-operation-detail.tsx","line":313,"host":"ConfirmDialog","prop":"cancelAnalyticsId","event":"click","ids":["suite.operation.cancel.cancel"]}, {"file":"web/src/features/suite/suite-management-actions.tsx","line":123,"host":"Button","prop":"data-analytics-id","event":"click","ids":["suite.draft.reopen"]}, {"file":"web/src/features/suite/suite-management-actions.tsx","line":128,"host":"Button","prop":"data-analytics-id","event":"click","ids":["suite.version.create"]}, {"file":"web/src/features/suite/suite-management-actions.tsx","line":131,"host":"Button","prop":"data-analytics-id","event":"click","ids":["suite.version.yank"]}, diff --git a/web/src/features/suite/suite-bundle-operation-detail.test.tsx b/web/src/features/suite/suite-bundle-operation-detail.test.tsx index 7823be0f6..21c086c4e 100644 --- a/web/src/features/suite/suite-bundle-operation-detail.test.tsx +++ b/web/src/features/suite/suite-bundle-operation-detail.test.tsx @@ -93,6 +93,37 @@ describe('SuiteBundleOperationDetail', () => { }) }) + it('clips a long immutable member version so it cannot bleed into the status column', () => { + const version = `snapshot-${'a'.repeat(60)}` + mocks.operation.data = { + operationId: 'operation-1', + status: 'CANCELLED', + mode: 'CREATE', + targetCoordinate: '@global/care-suite', + targetVersion: '1.0.0', + updatedAt: '2026-09-14T04:00:00Z', + members: [{ + position: 0, + redacted: false, + coordinate: '@global/member-under-review', + status: 'CANCELLED', + version, + sourceType: 'PACKAGE', + relationship: 'ADDED', + publishAction: 'CREATE_VERSION', + visibility: 'PUBLIC', + errors: [], + warnings: [], + }], + } + + render() + + const cell = screen.getByTitle(`v${version}`) + expect(cell.className).toContain('truncate') + expect(cell.textContent).toBe(`v${version}`) + }) + it('explains when a new member Skill does not exist yet', () => { mocks.operation.data = { operationId: 'operation-planned', diff --git a/web/src/features/suite/suite-bundle-operation-detail.tsx b/web/src/features/suite/suite-bundle-operation-detail.tsx index 4780f4b44..b44ae730e 100644 --- a/web/src/features/suite/suite-bundle-operation-detail.tsx +++ b/web/src/features/suite/suite-bundle-operation-detail.tsx @@ -264,8 +264,11 @@ export function SuiteBundleOperationDetail({ operationId }: { operationId: strin {member.publishAction ? ` · ${t(`suite.bundle.action.${member.publishAction}`)}` : null}

) : —} -

- {member.visibility ?? '—'}
v{member.version ?? '—'} +

+ {member.visibility ?? '—'}
+ + v{member.version ?? '—'} +