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
plugin-detail still advertises and carries the retired record:highlights field icon — drop the input-description spelling and the normalizer carry on the next pin bump #5601
Filed unassigned by the objectstack#10054 dev seat (session session_01B4h3medzvhB9rpfoja9jcw) as the cross-repo half of that retirement, per the maintainer ruling of 2026-08-21 on objectstack#10054 (「其他接受」, option A: retire RecordHighlightsField.icon upstream; "the objectui-side advertisement edit follows the cross-repo rule — consuming-repo follow-up card"). Dedup checked: searched open and closed objectui issues for record:highlights icon, plugin-detail input description, and HeaderHighlight dead-key phrasings — no match.
Blocked-by: objectstack-ai/objectstack#10054 (the spec-side retirement; proceeds on the next @objectstack/spec pin bump, the objectui#3829 pattern).
What the spec-side retirement removed
@objectstack/spec retires icon from the object arm of RecordHighlightsField (ADR-0049 enforce-or-remove, ADR-0087 conversion record-highlights-field-icon-removed, retired-key entry ui/RecordHighlightsField:icon). Measured dead at the 2026-08-20 census: the renderer normalizes the authored object and carries icon: f?.icon into HeaderHighlight, whose chip has no icon slot (its only icon occurrence is a button size="icon"); the key is structurally unable to travel useRegisterHighlightFields (names: string[]); and the Studio block designer publishes the field list as a string[] input. From that spec version, an authored icon is a named unrecognized_keys refusal at publish.
What this repo still does (measured at 60d452e)
packages/plugin-detail/src/index.tsx:522 — the record:highlightsfields input description still advertises the retired spelling: bare names or {name,label?,icon?,type?,readonly?}. An author or agent copying this description now authors a key the spec refuses.
packages/plugin-detail/src/renderers/record-highlights.tsx — the normalizer still carries icon: f?.icon into HeaderHighlight, which never reads it (dead carry; harmless at runtime but it is the declaration-side half that keeps the parity gate agreeing over a key nothing honours).
Ask
On the pin bump that brings the retiring spec version:
Delete the icon: f?.icon carry in the record-highlights.tsx normalizer (and the icon member of any local field type it feeds), so the declaration surface matches the render surface.
No renderer behaviour changes — the chip renders label and value only, before and after.
Filed unassigned by the objectstack#10054 dev seat (session
session_01B4h3medzvhB9rpfoja9jcw) as the cross-repo half of that retirement, per the maintainer ruling of 2026-08-21 on objectstack#10054 (「其他接受」, option A: retireRecordHighlightsField.iconupstream; "the objectui-side advertisement edit follows the cross-repo rule — consuming-repo follow-up card"). Dedup checked: searched open and closed objectui issues forrecord:highlightsicon, plugin-detail input description, and HeaderHighlight dead-key phrasings — no match.Blocked-by: objectstack-ai/objectstack#10054 (the spec-side retirement; proceeds on the next
@objectstack/specpin bump, the objectui#3829 pattern).What the spec-side retirement removed
@objectstack/specretiresiconfrom the object arm ofRecordHighlightsField(ADR-0049 enforce-or-remove, ADR-0087 conversionrecord-highlights-field-icon-removed, retired-key entryui/RecordHighlightsField:icon). Measured dead at the 2026-08-20 census: the renderer normalizes the authored object and carriesicon: f?.iconintoHeaderHighlight, whose chip has no icon slot (its onlyiconoccurrence is a buttonsize="icon"); the key is structurally unable to traveluseRegisterHighlightFields(names: string[]); and the Studio block designer publishes the field list as astring[]input. From that spec version, an authorediconis a namedunrecognized_keysrefusal at publish.What this repo still does (measured at
60d452e)packages/plugin-detail/src/index.tsx:522— therecord:highlightsfieldsinput description still advertises the retired spelling:bare names or {name,label?,icon?,type?,readonly?}. An author or agent copying this description now authors a key the spec refuses.packages/plugin-detail/src/renderers/record-highlights.tsx— the normalizer still carriesicon: f?.iconintoHeaderHighlight, which never reads it (dead carry; harmless at runtime but it is the declaration-side half that keeps the parity gate agreeing over a key nothing honours).Ask
On the pin bump that brings the retiring spec version:
icon?from thefieldsinput description atplugin-detail/src/index.tsx:522(keep thereadonlyprose — that key is live, [console 17.0.0] record-header 自定义动作偶发丢 recordId:页头存在两种 DOM 变体,其中一种不注入请求体,端点回 missing_record_id #5176 / objectstack#5176 enforcement).icon: f?.iconcarry in therecord-highlights.tsxnormalizer (and theiconmember of any local field type it feeds), so the declaration surface matches the render surface.No renderer behaviour changes — the chip renders label and value only, before and after.
Generated by Claude Code