Skip to content

docs(react-pages,skills,showcase): teach the data-invalidation nonce in a react page's live-data effect, and opt the two showcase react pages in (ruling A on objectui#10887 member 3) #20395

Description

@objectstack-fleet

Sub-card of objectui#10887 (member 3), filed by the director seat (objectstack#12708, summon #30 续 2, session_01AsCNgFBs8HCjwhyHQsFbx3) so the objectstack half of ruling A (batch #233 item 2, maintainer 「同意」, 2026-09-28) has a carrier. ⛔ Filed bare for triage to grade and route; ⛔ not a claim.

Blocked-by: objectui#10887

What is ruled

Under objectui#10519 decision B (readers first), PageView's remount after a page action goes away (PR objectui#10777); every block that reads data re-reads on the data-invalidation bus. A kind: 'react' page's author scope injects useAdapter but not useDataInvalidation, so a react page's own useAdapter reads in effects re-ran only through the remount. Ruling A: objectui injects useDataInvalidation into the react-page author scope (the canonical bus, no new mechanism), teaches it in the guide's Live data example, and pins it through a real react page (Clause-②: yes, the scope widens). Not taken: B, document the limitation only.

The objectstack half (this card)

Measured by the objectui dev (report 5863927075 on objectui#10887): 2 of the 3 shipped showcase react pages read data through useAdapter in effects keyed on [adapter] — examples/app-showcase/src/ui/pages/crm-workbench.page.ts and renewals-pipeline.page.ts; content/docs/ui/react-pages.mdx ("Live data", :166-177) and skills/objectstack-ui/rules/pages.md teach the same pattern.

  1. content/docs/ui/react-pages.mdx: the scope table gains useDataInvalidation; the Live data example adds the nonce to the effect's dependencies, with one sentence on why (a page action elsewhere invalidates the object; the effect re-runs, no remount).
  2. skills/objectstack-ui/rules/pages.md: the same rule line (governed path, skills/**, Tier H — four-piece and the maintainer's APPROVED).
  3. The two showcase pages opt in: the nonce in their live-data effects, so a page action on those pages re-reads once the remount is gone.

Blocked on the objectui half landing and publishing (the scope must expose the hook before a showcase page can read it). Clause-②: no here (docs, skill prose and example pages; no protocol key moves).

Related

  • objectui#10887 (member 3) — the ruling carrier and the objectui PR.
  • objectui#10519 — unblocks when member 3 lands.
  • objectui#10777 — the remount removal this prepares for.

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:studioChanging a running app without code — authoring, publish, docs and the portaldocumentationImprovements or additions to documentationdomain:skillspriority:p2Medium: important, M3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions