QA-source: objectstack-ai/objectstack#21784 · records-forms.field-group-visible-when · acceptance[3]
A clause of records-forms.field-group-visible-when fails in the ObjectStack 17.7 pre-release checklist run objectstack-ai/objectstack#21784 (framework subject 316be321e, console pin 2e818d0b51ec). An independent verifier (VF2, RUNNER rule 7) confirmed it: P2. It predates the 17.6.0 console pin 31971ff1e; no open duplicate was found. Owner: objectui.
Reproduction
- Admin creates a writable package and
PUT /api/v1/meta/object/qa_group_gate4?package={pkg} with a kind select (basic / pro), two pro fields, and fieldGroups:[{key:'pro', label:'Pro details', fields:[…], visibleWhen:{dialect:'cel', source:"record.kind == 'pro'"}}] (the bare-string form behaves the same).
- Create one row with
kind:'basic' and one with kind:'pro'.
- Edit form: the "Pro details" section is absent at basic, appears live on switching to pro, and disappears on switching back (holds).
- Open
/_console/apps/com.example.showcase/qa_group_gate4/record/{basic id}. Expected: no "Pro details" section. Actual: the section renders, header included, for both rows. Seen twice on fresh launches.
Mechanism
objectui plugin-detail buildDefaultPageSchema.ts:717-729 — the synthesized detail page does not apply the group predicate. The form (plugin-form/src/fieldGroups.ts) carries and evaluates it live at the pin (the clause was authored as an expected-fail; its form half is now fixed). Predates 17.6.0.
Done when
The detail page evaluates visibleWhen per group exactly as the form does.
Generated by Claude Code
QA-source: objectstack-ai/objectstack#21784 · records-forms.field-group-visible-when · acceptance[3]
A clause of
records-forms.field-group-visible-whenfails in the ObjectStack 17.7 pre-release checklist run objectstack-ai/objectstack#21784 (framework subject316be321e, console pin2e818d0b51ec). An independent verifier (VF2, RUNNER rule 7) confirmed it: P2. It predates the 17.6.0 console pin31971ff1e; no open duplicate was found. Owner: objectui.Reproduction
PUT /api/v1/meta/object/qa_group_gate4?package={pkg}with akindselect (basic / pro), two pro fields, andfieldGroups:[{key:'pro', label:'Pro details', fields:[…], visibleWhen:{dialect:'cel', source:"record.kind == 'pro'"}}](the bare-string form behaves the same).kind:'basic'and one withkind:'pro'./_console/apps/com.example.showcase/qa_group_gate4/record/{basic id}. Expected: no "Pro details" section. Actual: the section renders, header included, for both rows. Seen twice on fresh launches.Mechanism
objectui
plugin-detailbuildDefaultPageSchema.ts:717-729— the synthesized detail page does not apply the group predicate. The form (plugin-form/src/fieldGroups.ts) carries and evaluates it live at the pin (the clause was authored as an expected-fail; its form half is now fixed). Predates 17.6.0.Done when
The detail page evaluates
visibleWhenper group exactly as the form does.Generated by Claude Code