feat(projects): let home-channel admins manage related channels - #7210
Draft
johnmatthewtennant wants to merge 4 commits into
Draft
feat(projects): let home-channel admins manage related channels#7210johnmatthewtennant wants to merge 4 commits into
johnmatthewtennant wants to merge 4 commits into
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.