Area: Data Products → Owners panel (OwnershipPanel). Affects any entity that renders the shared ownership panel.
Version: v1.0.0 (09b2b31)
Summary
When a data product has an Owner Team assigned, the Owners panel shows a "Copy from Team" button. It lists the team's members; clicking Assign on a member is meant to hand off to the "Assign Owner" flow pre-filled with that member. Instead, the Assign Owner dialog opens empty, so each member must be re-typed by hand — which defeats the purpose of the feature.
Steps to reproduce
- Open a Data Product that has an Owner Team assigned (with permission to assign owners).
- In the Owners panel, click Copy from Team.
- The team members are listed. Click Assign next to one.
- The Copy-from-Team dialog closes and the Assign Owner dialog opens — but the User field is blank (no email/name pre-filled).
Expected
The Assign Owner dialog opens pre-populated with the selected member's identifier/name (role still chosen by the user), matching the dialog's own copy: "They will be assigned via the 'Assign Owner' flow where you can choose a role."
Root cause
src/frontend/src/components/common/ownership-panel.tsx — the per-member Assign handler only toggles dialog visibility and passes no member context:
onClick={() => {
setCopyFromTeamOpen(false);
setAssignDialogOpen(true);
}}
src/frontend/src/components/common/assign-owner-dialog.tsx — AssignOwnerDialog exposes no prop to seed the owner (open, onOpenChange, objectType, objectId, onSuccess) and resets its internal email/name state to empty whenever it opens.
Suggested fix
- Add optional
initialEmail / initialName (and optionally initialType) props to AssignOwnerDialog; seed the form fields from them on open instead of always clearing.
- In
OwnershipPanel, capture the clicked member in state (e.g. pendingMember) and pass initialEmail={pendingMember?.member_identifier} / initialName={pendingMember?.member_name} into AssignOwnerDialog.
Related
PRD #431 (Consolidate Team and Ownership Model).
Area: Data Products → Owners panel (
OwnershipPanel). Affects any entity that renders the shared ownership panel.Version: v1.0.0 (
09b2b31)Summary
When a data product has an Owner Team assigned, the Owners panel shows a "Copy from Team" button. It lists the team's members; clicking Assign on a member is meant to hand off to the "Assign Owner" flow pre-filled with that member. Instead, the Assign Owner dialog opens empty, so each member must be re-typed by hand — which defeats the purpose of the feature.
Steps to reproduce
Expected
The Assign Owner dialog opens pre-populated with the selected member's identifier/name (role still chosen by the user), matching the dialog's own copy: "They will be assigned via the 'Assign Owner' flow where you can choose a role."
Root cause
src/frontend/src/components/common/ownership-panel.tsx— the per-member Assign handler only toggles dialog visibility and passes no member context:src/frontend/src/components/common/assign-owner-dialog.tsx—AssignOwnerDialogexposes no prop to seed the owner (open, onOpenChange, objectType, objectId, onSuccess) and resets its internal email/name state to empty whenever it opens.Suggested fix
initialEmail/initialName(and optionallyinitialType) props toAssignOwnerDialog; seed the form fields from them on open instead of always clearing.OwnershipPanel, capture the clicked member in state (e.g.pendingMember) and passinitialEmail={pendingMember?.member_identifier}/initialName={pendingMember?.member_name}intoAssignOwnerDialog.Related
PRD #431 (Consolidate Team and Ownership Model).