You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
objectui generic form widget override. ObjectForm (packages/plugin-form/src/ObjectForm.tsx) threads field.widget into the renderer; form.tsx resolves widget || type and looks it up as field: + widget in the ComponentRegistry (renderFieldComponent). Used to render pick-not-type controls for sys_sharing_rule (object-ref / filter-condition / recipient-picker) and sys_permission_set (capability-multiselect). Degrades to the type renderer when the widget is unregistered.
在实施 objectui#3308 的引用面扫描中顺带发现(
objectstack origin/main上git grep -nw "capability-multiselect"的唯一命中)。与该 issue 的修复面无关,单独记录。事实
packages/spec/liveness/field.json:109,Field.widget的 note:加粗那半句从未成立,现在则是明确错的:
ObjectStackAdapter.getObjectSchema的单一 choke point(objectuipackages/data-objectstack/src/index.ts的applyFieldWidgetOverrides),给sys_permission_set六个 facet —— 含system_permissions—— stamp 的是permission-facet-link,不是capability-multiselect。field:capability-multiselect只由 objectui 已废弃、仅文档站调用的registerFields()注册;活路径registerAllFields()遍历的fieldWidgetMap里没有它。→ (unknown):describeRegisteredDriver 不认connectionString#3793。note 里另一半(
sys_sharing_rule的 object-ref / filter-condition / recipient-picker)是准确的:这三个键确实在fieldWidgetMap里。为什么值得记一笔(observation class)
今天没有用户会撞到它:这是存活账本里的一条 note,不进任何运行时判断。但它是给下一个读账本的人(和 AI)的错误权威——一条被登记为「在用」的证据,指向一个从来渲染不出来的 widget 名。objectui#3308 的病根正是同一类(注释承诺不存在的能力),而存活账本恰恰是用来判定「某属性是死是活」的地方,一条失真的用例证据会让下一轮 enforce-or-remove 判断建立在假前提上。
note 的最后一句(
Degrades to the type renderer when the widget is unregistered)反而是准确且有用的——它正是 objectui#3308 里删掉 hint 分支后所依赖的既定行为。建议处置
把
sys_permission_set (capability-multiselect)改为sys_permission_set (permission-facet-link),并核一遍permission-facet-link的注册处(objectuipackages/plugin-detail/src/index.tsx:466,经withFieldCarrier)以确认新写法确有活路径支撑。顺手可复核该 note 提到的其余 widget 名是否都还在fieldWidgetMap里。参考
→ (unknown):describeRegisteredDriver 不认connectionString#3793docs/adr/0056-permission-editing-studio.mdP1 / P2