Skip to content

feat(projects): let home-channel admins manage related channels - #7210

Draft
johnmatthewtennant wants to merge 4 commits into
jtennant/project-state-read-modelfrom
jtennant/project-state-mutations
Draft

feat(projects): let home-channel admins manage related channels#7210
johnmatthewtennant wants to merge 4 commits into
jtennant/project-state-read-modelfrom
jtennant/project-state-mutations

Conversation

@johnmatthewtennant

Copy link
Copy Markdown
Contributor

Summary

Only a Project owner can currently change its related channels, even when the Project's home channel has admins who otherwise manage that collaboration space.

This adds a signed Project change event and CLI command for adding or removing related channels. The relay authorizes the Project owner or an active owner/admin of the Project home channel, applies the change with compare-and-swap semantics, and rejects ordinary members, duplicates, stale revisions, and replayed events. Later owner metadata updates preserve accepted collaborative changes.

Related issue

None found.

Testing

On a disposable real relay, created a Project with a home channel and verified the complete workflow: a home-channel admin added a related channel, an ordinary member was denied, an owner metadata update preserved the admin's addition, and the admin removed the channel. PostgreSQL-backed tests also passed for authorization, exact replay detection, concurrent compare-and-swap behavior, projection reconciliation, and owner-update preservation.

Signed-off-by: John Tennant <jtennant@squareup.com>
* jtennant/project-state-read-model:
  Generalize write-fence parity across migrations
  feat(buzz-agent): add DatabricksAuthCoordinator single-flight OAuth (#5545)
  fix(desktop): preserve keyring identity during recovery (#7203)
  feat(mobile): prepare `buzz-push-gateway` for deployment (#7158)
  ci: relax file-size ceilings by surface (#6485)
  fix(mobile): isolate extension linker flags; complete iOS build in CI (#7187)

Signed-off-by: John Tennant <jtennant@squareup.com>
…l' into jtennant/project-state-mutations

* origin/jtennant/project-state-read-model:
  Fix historical migration catalog tests
  fix(desktop): retain automatic mentions only in threads (#7144)
  feat: add databricks fable 5.1 model capabilities (#7213)
  docs(nip-fi): rewrite NIP-FI as stateless OSS Buzz spec v2 (#7214)
  feat(relay): add detailed readiness metrics (#7149)
  feat(desktop): add Pi agent preset (#7208)

Signed-off-by: John Tennant <jtennant@squareup.com>
Signed-off-by: John Tennant <jtennant@squareup.com>
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