fix(spec): render action body editor as composite (language + source), not [object Object]#1855
Merged
Merged
Conversation
An action's `body` is a discriminated union (HookBodySchema: `{ language,
source, capabilities?, timeoutMs? }`), the same shape hooks use. The action
form layout mapped the whole field to `{ widget: 'code' }`, so the inspector
fed the union object to a single JS editor and rendered "[object Object]".
Mirror the working hook.form.ts layout: a composite with a `language`
select, a `source` code editor, and the L2-only capability/timeout knobs.
`visibleOn: data.type == 'script'` is preserved.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
xuyushun441-sys
added a commit
that referenced
this pull request
Jun 21, 2026
…or (9.x → 10.0.0) (#2116) * chore: bump objectui to 70a56e15152c fix(registry): silence bare-name collision warnings; keep display owners (#1855) objectui@70a56e15152c6e9ff602a9ff3675900e410531d7 * chore(release): make the sys_department system-object rename a breaking major (10.0.0) ADR-0057 D2 renames the shipped system object `sys_department` → `sys_business_unit` (object + `sys_department_member` → `sys_business_unit_member`, fields, i18n) with no compatibility alias. A renamed shipped system object is a breaking change to the platform's public data surface, so `@objectstack/platform-objects` and `@objectstack/plugin-sharing` move from `minor` to `major` — taking the 73-package fixed group from 9.11.0 to 10.0.0 on the next `changeset version`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
xuyushun441-sys
pushed a commit
that referenced
this pull request
Jun 21, 2026
fix(registry): silence bare-name collision warnings; keep display owners (#1855) objectui@70a56e15152c6e9ff602a9ff3675900e410531d7
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.
Found during a browser sweep of the Studio metadata designers.
A script action's inspector showed the 正文 (body) field as a JavaScript code editor containing literally
[object Object]. The actionbodyis a discriminated union (HookBodySchema:{ language, source, capabilities?, timeoutMs? }) — the exact shape hooks use — butaction.form.tsflattened it to{ field: 'body', widget: 'code' }, so the inspector fed the union object to a single string editor.This mirrors the already-shipped, working
hook.form.tslayout: atype: 'composite'with alanguageselect, asourcecode editor (javascript), and the L2-onlycapabilities/timeoutMsknobs.visibleOn: "data.type == 'script'"is preserved.Verification
The action
bodydata itself is fine — the design-canvas preview already renders the script correctly; only the inspector widget mapping was wrong. The fix is structurally identical to the hookbodylayout the SchemaForm already renders correctly. Live HotCRM verification was intentionally skipped to avoid rebuilding@objectstack/specand restarting the shared dev backend that other agents depend on; CI type-check + the equivalence tohook.form.tscover it.🤖 Generated with Claude Code