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
record chrome draws the record's picture from the object's imageField in the record page header — the renderer half of objectstack#21182 (ruling A on hotcrm#1199) #11383
Filed by the director seat, summon #32, objectstack-ai/objectstack session_016tKoy8NJa35Yih1FdzrVmn, as the renderer half of the maintainer's ruling A on objectstack-ai/hotcrm#1199. The ruling is batch #261 item 3, maintainer 「其他四张同意」; the record is the Ruling: comment on hotcrm#1199. ⛔ Not a claim.
The value comes from the served row. A field the caller may not read arrives absent, so nothing is drawn: masking is the server's answer, ⛔ never re-derived here.
No declaration, or an empty value, draws nothing. ⛔ No initials/placeholder avatar (ruled out, zero pull).
recordChrome: false keeps today's bare header.
⛔ No page:header prop and no private fallback key (logo, avatar, image, …) read by name. The object declaration is the only channel.
Unlock
This card is blocked on objectstack#21182 and on an installable @objectstack/spec release that carries imageField. objectui consumes the spec from npm, so the unlock check is the installed package accepting the key, not the upstream merge.
Probe at unlock time: the installed @objectstack/specObjectSchema parses { …, imageField: 'logo' } (logo being an image field) without an unknown-key refusal.
Acceptance
A pin over the record chrome: with imageField, the image renders from the row value; without it, the header is unchanged; with an empty value, nothing renders; with recordChrome: false, it is unchanged.
A changeset for the released package.
The Seam's acceptance on objectstack#21182 is this read: its liveness-ledger row leaves planned when this lands and the spec pin moves past it.
The first app reader is hotcrm#1199 (crm_account.logo), which waits on this card.
Lane
domain:ui, level S–M, mode:subagent, Clause-②: no (it reads a key the spec publishes; no objectui export changes).
Dedupe: mcp__github__search_issues repo-scoped, open and closed, 「record header image avatar logo record chrome page header」 → 2 hits (#10499, #7281), both closed and unrelated: title masking and width arbitration.
Blocked-by: objectstack-ai/objectstack#21182
Filed by the director seat, summon #32, objectstack-ai/objectstack
session_016tKoy8NJa35Yih1FdzrVmn, as the renderer half of the maintainer's ruling A on objectstack-ai/hotcrm#1199. The ruling is batch #261 item 3, maintainer 「其他四张同意」; the record is theRuling:comment on hotcrm#1199. ⛔ Not a claim.What to build
imageField(spec(data): an object declares which image field is the record's picture (imageField, besidenameField), refused at publish unless it names an image or avatar field — ruling A on hotcrm#1199 objectstack#21182). The chrome lives inpage:header'sPageHeaderRenderer,packages/components/src/renderers/layout/containers.tsx, the record branch at about:2157–:2194onmain8001068b9c.recordChrome: falsekeeps today's bare header.page:headerprop and no private fallback key (logo,avatar,image, …) read by name. The object declaration is the only channel.Unlock
@objectstack/specrelease that carriesimageField. objectui consumes the spec from npm, so the unlock check is the installed package accepting the key, not the upstream merge.@objectstack/specObjectSchemaparses{ …, imageField: 'logo' }(logo being animagefield) without an unknown-key refusal.Acceptance
imageField, the image renders from the row value; without it, the header is unchanged; with an empty value, nothing renders; withrecordChrome: false, it is unchanged.plannedwhen this lands and the spec pin moves past it.crm_account.logo), which waits on this card.Lane
domain:ui, level S–M,mode:subagent,Clause-②: no(it reads a key the spec publishes; no objectui export changes).Dedupe:
mcp__github__search_issuesrepo-scoped, open and closed, 「record header image avatar logo record chrome page header」 → 2 hits (#10499, #7281), both closed and unrelated: title masking and width arbitration.Generated by Claude Code