Skip to content

feat(acl): owner may release/tombstone own instance + export WriteAclMode#170

Merged
jrosskopf merged 2 commits into
mainfrom
chore/test-support-export-writeaclmode
Jun 15, 2026
Merged

feat(acl): owner may release/tombstone own instance + export WriteAclMode#170
jrosskopf merged 2 commits into
mainfrom
chore/test-support-export-writeaclmode

Conversation

@jrosskopf

@jrosskopf jrosskopf commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Two write-ACL fast-follows to #169:

  1. fix(acl): owner may release/tombstone their own instance. feat(acl): deterministic per-instance WRITE ACL (owner-or-admin) #169 re-checked the incoming owner on every write, which broke legitimate self-mutation — /delete-my-data repoints an owner wikilink at a deleted placeholder (unresolvable) and was denied. Now: owning the existing page authorises any rewrite (incl. release/tombstone); the incoming-owner check applies only to creates (no existing page), still blocking create-for-/transfer-to-another and public/admin-only creates. Adds owner_may_tombstone_own_instance; all prior write-ACL tests stay green.
  2. chore(test-support): re-export WriteAclMode so consumers (carl) can set ConfigOverrides.write_acl in their own integration tests.

🤖 Generated with Claude Code

So downstream consumers (e.g. carl) can set ConfigOverrides.write_acl in
their own integration tests without a direct escurel-server dependency.
The write check required the INCOMING owner to resolve to the caller, which
broke legitimate self-mutation: /delete-my-data repoints an owner wikilink at
a deleted placeholder (unresolvable) → was denied. Refine: owning the EXISTING
page authorises any rewrite of it (including release/tombstone); the
incoming-owner check applies only to CREATEs (no existing page) — still blocks
create-for-/transfer-to another subject and public/admin-only creates. All
prior write-ACL tests stay green; adds owner_may_tombstone_own_instance.
@jrosskopf jrosskopf changed the title chore(test-support): re-export WriteAclMode feat(acl): owner may release/tombstone own instance + export WriteAclMode Jun 15, 2026
@jrosskopf jrosskopf merged commit 321fcbc into main Jun 15, 2026
1 check passed
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