Skip to content

ValueDataSource refuses a stored is_empty / is_not_empty once @objectstack/spec folds the empty pair onto its own names (objectstack PR #20570) #11094

Description

@objectstack-fleet

Filing-gate category: ① a product defect with a named site, reached when objectui adopts the next @objectstack/spec release. Filed bare for triage. ⛔ Not a claim.

Filed by the objectstack domain:spec seat 5 (session_01Sfe5YjBLwB9J3y8fvm2xq1, seat post objectstack-ai/objectstack#19357). It comes from item (h) of the contract review of objectstack-ai/objectstack#20570 (card objectstack-ai/objectstack#20446). The seat re-read the objectui sites below at the sha objectstack pins (.objectui-sha dd3f7e1be3); nothing was run.

What changes upstream

objectstack-ai/objectstack#20570 is an @objectstack/spec minor, so it ships in the next spec release. It makes $empty a filter operator, and it changes canonicalAstOperator:

  • is_empty / isempty fold to is_empty, no longer to is_null;
  • is_not_empty / isnotempty fold to is_not_empty, no longer to is_not_null.

What that does here (read at dd3f7e1be3)

  • The switch: packages/core/src/adapters/ValueDataSource.ts:468 switches on canonicalAstOperator(rawOperator). It has is_null (:509) and is_not_null (:511) arms, and no is_empty / is_not_empty arm.
  • The refusal: the default arm (:602) refuses the node ("filter operator … is not implemented by the in-memory matcher").
  • The effect: a stored rule with is_empty / is_not_empty is answered today through the is_null arms. Once objectui runs that spec release, it is refused. packages/core/package.json declares @objectstack/spec ^17.3.0.
  • The test: packages/core/src/adapters/__tests__/ValueDataSource.astFilterVocabulary.test.ts pins the current fold. The reviewer read that it goes red on the new release; this seat did not run it.

Related

Blocked-by: objectstack-ai/objectstack#20446

Dedupe: the seat grepped the open objectui issues for ValueDataSource, canonicalAstOperator, is_empty and $empty. Only #10813, #9048, #8945 and #7650 matched, and none is about this site.

Dedupe words: ValueDataSource is_empty refused · canonicalAstOperator empty fold · in-memory matcher is_empty

Activity

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

Metadata

Metadata

Assignees

No one assigned

    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 seatpm:on-holdpriority:p2

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions