The GitHub Actions job "Required Checks" on 
texera.git/gh-readonly-queue/main/pr-6953-e7cd5b1ee030908455b65c79defc9c98e60a9372
 has failed.
Run started by GitHub user aicam (triggered by aicam).

Head commit for run:
1e92f6b329b89771306cb5d88a5c52060dae865d / Xuan Gu 
<[email protected]>
feat(dataset): add dataset contributor display and editing (#6953)

### What changes were proposed in this PR?

This PR adds the frontend for dataset contributor metadata so that
dataset authors and other contributors can be properly acknowledged, on
top of the backend added in #6952.

Changes:
- Dataset detail page: a new "Metadata" card in the Data Card tab with a
collapsible "Contributors" section. Each contributor is shown as a card
with name, email, affiliation, and comments; the dataset creator is
marked with a star. Long field values are truncated to two lines with
the full content shown in tooltips.
- Users with WRITE access can add, edit, and delete contributors through
a dropdown menu on each card, with optimistic updates and rollback if
saving fails.
- A new `user-dataset-contributor-editor` modal component for adding and
editing a contributor, backed by a shared Formly field group
(`contributor-form-fields.ts`) with client-side validation (required
name, email format, length limits).
- Dataset creation: the create-dataset form accepts an optional initial
list of contributors, sent with the create request.
- `DatasetService`: `createDataset` gains a contributors argument, and a
new `updateDatasetContributors` method posts the full list to `POST
/dataset/update/contributors`.
- Types: `Contributor` interface, `DashboardDataset.contributors`, and
an optional `isPlaceholder` flag on `User` with a "placeholder" tag in
the admin user list. The tag stays hidden until the follow-up backend
that auto-creates placeholder accounts for contributor emails lands; it
is included here so the admin UI is ready for it.

#### Demo

| Create a dataset with contributor metadata | Add a contributor from
the dataset detail page |
| --- | --- |
| ![Create a dataset with contributor
metadata](https://github.com/user-attachments/assets/82695b9d-f490-47a3-94f1-03313e83428e)
| ![Add a contributor from the dataset detail
page](https://github.com/user-attachments/assets/973f50d7-21b5-4bd9-b2db-8ef683845244)
|

Contributor list:
<img width="1261" height="563" alt="contributor_list"
src="https://github.com/user-attachments/assets/580bb431-b724-445d-b1b7-b0023fee8827";
/>

### Any related issues, documentation, discussions?

Depends on #6952
Closes #6926

### How was this PR tested?

New vitest cases across four spec files: contributor card rendering and
add/edit/delete flows with rollback on failure (dataset-detail), editor
form validation and modal results (contributor-editor), request shapes
for create/update (dataset.service), and the extended create-dataset
form fields (version-creator). The flow was also manually tested in the
UI.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Fable 5)

---------

Co-authored-by: Claude Fable 5 <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/30843556470

With regards,
GitHub Actions via GitBox

Reply via email to