feat(detail): related-list add-by-picker + generic 'Assigned Users' for permission sets#1999
Merged
Merged
Conversation
…or permission sets Implements the SDUI side of spec RecordRelatedListProps.add: the related-list primitive now renders an 'Add' button that opens a record picker over the far object and creates link rows (junction) or re-parents (1:m) — declaratively, via metadata, instead of a hand-coded editor. Errors from server-side insert rules (e.g. the AI-seat cap) surface inline; the list refreshes after add/remove. - types: RecordRelatedListComponentProps.add - plugin-detail RelatedList: Add button, RecordPickerDialog, create/refresh/error - plugin-detail record-related-list renderer: pass `add`, wire generic remove - app-shell AssignedUsersSection: reuses the generic RelatedList over sys_user_permission_set; embedded in the permission-set editor → every role (incl. `ai_seat`) gets a 'Manage Assignments' UI with zero bespoke CRUD. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
❌ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the SDUI side of spec
RecordRelatedListProps.add(objectstack-ai/objectstack#2324): the related-list primitive now LINKS existing records via a picker, declaratively via metadata — instead of hand-coding a bespoke editor for each case.RelatedList: an "Add" button opens the reusableRecordPickerDialogover the far object; selections create link rows (junction) or re-parent (1:m) viadataSource; the list refreshes after add/remove; server insert errors (e.g. the AI-seat cap) surface inline. Lookup labels gain anemailfallback.record-related-listrenderer: passesadd+ wires a generic remove.RecordRelatedListComponentProps.add.AssignedUsersSection: reuses the genericRelatedListoversys_user_permission_set, embedded in the permission-set editor → every role (incl.ai_seat) gets a "Manage Assignments" UI with zero bespoke CRUD. This is the previously-missing RBAC assignment surface.Browser-E2E'd (objectos-ee, licensed, cap=1): open the
ai_seatpermission set → "Assigned Users" + "Add user" → picker lists users → add while at cap → inline "AI-seat cap reached: 1 of 1" → free a seat → add a user → they gain AI (/ai/agents= [build,ask]).Why this shape: the founder's call — enhance the SDUI to express custom record-detail sections via METADATA, don't hard-code each one.
🤖 Generated with Claude Code