Skip to content

feat(example-sets): a fragment may let the set's own accounts follow its objects - #4760

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feat/example-set-watchers
Oct 21, 2026
Merged

rubenvdlinde merged 1 commit into
developmentfrom
feat/example-set-watchers

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

What

  • A new example-set part, watchers. A fragment may let one of the set's own accounts follow one of its objects: {user, objectUuid, register?, schema?, notify?}.
    • The follow is written through WatcherMapper::subscribe and recorded as the user and object pair.
    • A later install proves it is still there; remove unsubscribes it.
    • The check refuses a follower who is not a set account, a row without an object, a non-boolean notify and any other field.
  • The Zuiddrecht cast gains Anouk Bakker (anouk.bakker, Juridische zaken), the AB the dossiq DqZaak board draws as a follower.

Why

Followers live in openregister_watchers, which no example-set part wrote. So no demo case could show who follows it.

Verified

  • The new ExampleSetWatchersTest covers a write, a second install that keeps the follow, a follow reported missing, remove, and 5 refusal cases.
  • The full tests/Unit/Service/ExampleSet suite passes: 158 tests. I updated the remove-report expectation and the cast count from 18 to 19.
  • phpstan is clean on lib/Service/ExampleSet; phpcs is clean on the new files.

Note

The watcher row that makes Anouk follow the DqZaak case goes in portaliq's fragment, not dossiq's. The case is portaliq's woo-fietspad, and dossiq's fragment installs before portaliq's, so dossiq cannot reference it.

AI-assisted: written with Claude Code (claude-opus-5-5) and reviewed before submission.

…its objects

A follower is a row in openregister_watchers. The loader had no part for
it, so no example case could show who follows it. A fragment's watchers
rows are now checked, written through WatcherMapper::subscribe, proved
and taken away on remove. The Zuiddrecht cast gains Anouk Bakker, who
follows dossiq's Woo case on the DqZaak board.

Assisted-by: ClaudeCode:claude-opus-5-5
@rubenvdlinde
rubenvdlinde merged commit c2905e5 into development Oct 21, 2026
36 of 39 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/openregister @ c74c563

Check PHP Vue Security License Tests
lint ✅
phpcs ✅
phpmd ❌
psalm ✅
phpstan ✅
phpmetrics ✅
eslint ✅
stylelint ✅
build ✅
check-specs ✅
test-l10n ✅
test-l10n-parity ✅
format ✅
check-schema-l10n ✅
composer ✅ ✅ 173/173
npm ✅ ✅ 648/648
app:check-code ⏭️
info.xml ✅
REUSE ✅
lockfile sync ✅
PHPUnit ❌
Newman ❌
Playwright ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development.
Hydra gates ❌

Quality workflow — 2026-10-21 20:46 UTC

Download the full PDF report from the workflow artifacts.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant