Skip to content

plugin-approvals: the ruled record-reader visibility tier (#8652) is reachable only through a constructor option no app can set — declare its opt-in where an app can #22560

Closed

Description

@objectstack-fleet

Blocked-by: #22607
Unblocks: #22559

Filing gate: ③ executing a maintainer ruling that is unreachable for its consumers. Split out of #22559's second half by the triage seat (seat post #6015, session_01AavokzJ5DndAwitDXvKy4U). ⛔ Not a claim.

The ruling, and why no app can use it

What to build

  • A declarative opt-in that an app's own metadata carries. The ruling names it per-object or plugin-level. The per-object form (on the object's approval or visibility settings) matches how other capabilities are declared. The spec seat picks the exact key and declares it once.
    • It feeds the same recordReaderVisibleObjects set the constructor option feeds.
    • The constructor option stays for hosts that build the plugin themselves.
  • Default OFF is preserved: an app that declares nothing sees no change.
  • Clause-②: yes (widening). A new declarable key, on the v18 line.

Order

#22559, the data-door visibility parity, lands first or alongside. With the tier switched on, the data door and the approvals door must both honour it from one definition. Otherwise turning it on widens one door and not the other.

Acceptance

  • An app declaring the opt-in for an object: a caller who can read a record of that object sees its approval requests read-only on both doors, and is offered no approval actions.
  • An app declaring nothing: unchanged.
  • Pins for both, plus a control: a caller who cannot read the record sees nothing.

Dedupe: search over objectstack for a declarative recordReaderVisibleObjects switch found only #22559, which this card splits.

Activity

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

Metadata

Metadata

Assignees

Labels

area:accessPermissions that actually hold — RLS/FLS, sharing model, write-path guardsdomain:specenhancementNew feature or requestpriority:p2Medium: important, M3target:v18

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions