Skip to content

console(detail): a field group's visibleWhen gates the form but not the record detail page — the section renders whatever the predicate says #11630

Description

@objectstack-fleet

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

  1. 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).
  2. Create one row with kind:'basic' and one with kind:'pro'.
  3. Edit form: the "Pro details" section is absent at basic, appears live on switching to pro, and disappears on switching back (holds).
  4. 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:recordsBusiness objects, records, the views that show data, usable forms, searchbugSomething isn't workingdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions