OpenMetadata/openmetadata-ui
Sriharsha Chintalapani 897f9cfd1b
Add changeSummary API endpoint and UI components (#26533)
* Add changeSummary API endpoint and UI components for description source tracking

Add a new /v1/changeSummary/{entityType}/{id|name/fqn} endpoint that
returns per-field change metadata (who changed it, source type, timestamp).
Supports fieldPrefix filtering for column-level queries on large tables
and limit/offset pagination.

UI additions:
- DescriptionSourceBadge component showing AI badge on AI-generated descriptions
- useChangeSummary hook for fetching change summary data
- changeSummaryAPI REST client
- "accepted-by" translation key

Integration tests added to BaseEntityIT covering all entity types:
get by ID, get by FQN, fieldPrefix filtering, pagination, and 404 cases.

Closes #1648

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix checkstyle

* Integrate DescriptionSourceBadge into UI and address PR review comments

- Add authorization checks (VIEW_BASIC) to ChangeSummaryResource endpoints
- Fix pagination defaults and simplify pagination logic
- Remove silent try-catch in integration tests, use assertThrows for 404
- Wire useChangeSummary hook into GenericProvider context
- Render AI-generated badge on entity descriptions (DescriptionV1)
- Render AI-generated badge on column descriptions (TableDescription)
- Pass changeSummary entry to ColumnDetailPanel's DescriptionSection
- Fix stale useMemo dependency in DescriptionV1 header
- Fix missing Less variable import in description-source-badge.less
- Add Playwright E2E tests for ChangeSummary badge feature

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Address PR review feedback: fix column FQN parsing, badge labels, backend optimization

- Fix ColumnDetailPanel to use EntityLink.getTableColumnNameFromColumnFqn
  instead of naive substring for changeSummary key lookup
- Show correct badge label per source type (AI/Automated/Propagated)
  instead of always showing "Automated"
- Fetch only changeDescription field instead of * in both endpoints
- Add @Min/@Max validation for limit and offset parameters
- Pass uriInfo to repository calls instead of null
- Pass explicit limit=1000 in GenericProvider to avoid truncated results
- Import ChangeSource from generated/type/changeSummaryMap (correct schema)
- Add getChangeSummaryByFqn to REST client matching API surface
- Add keyboard accessibility (tabIndex, role) to badge
- Remove untranslated "accepted-by" from non-English locales (fallback to en-us)
- Add "ai" label key to en-us locale
- Strengthen integration test assertions to verify non-empty results

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Improve change summary description layout

* Expand change summary support across assets

* Fix changeSummary race condition and LLMModel entity type mismatch

- Add request cancellation to useChangeSummary hook to prevent stale data
  when users switch entities rapidly
- Fix LLMModelResourceIT entity type from "llmmodel" to "llmModel" to match
  the registered entity type in Entity.java

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix Playwright strict mode violation and sync i18n translations

- Use .first() for ai-suggested-badge locator in ChangeSummaryBadge test
  to handle DescriptionV1 rendering the badge in both header and metadata
- Reorder imports per organize-imports rules
- Sync ai-suggested and authored-by keys to all 18 locale files

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix

* fix

* fix

* implemented the new UI changes for AI description

* fixed the lint issues

* addressed gitar comment

* fixed the translations

* fixed unit test

* addressed PR comment

* fixed odcs playwright test

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com>
Co-authored-by: Rohit0301 <rj03012002@gmail.com>
Co-authored-by: Rohit Jain <60229265+Rohit0301@users.noreply.github.com>
2026-04-09 23:05:52 -07:00
..
src/main/resources/ui Add changeSummary API endpoint and UI components (#26533) 2026-04-09 23:05:52 -07:00
LICENSE
lombok.config Issue-19251: Upgrade dropwizard to 4.x and Jetty to 11.x (#19252) 2025-05-27 20:31:59 +05:30
pom.xml Add max old space size arg for build processes to avoid the OOM errors (#26244) 2026-03-06 09:56:36 +05:30
UI_PR_REVIEW_GUIDELINES.md chore(ui): add pr review instructions (#24536) 2025-11-25 12:03:14 +05:30