fix(desktop): authorize external channel-member mentions at send time - #5881
Open
cmyk wants to merge 1 commit into
Open
fix(desktop): authorize external channel-member mentions at send time#5881cmyk wants to merge 1 commit into
cmyk wants to merge 1 commit into
Conversation
Signed-off-by: Reinhold <310554180+reinhold-ph@users.noreply.github.com>
cmyk
marked this pull request as ready for review
August 14, 2026 15:59
cmyk
marked this pull request as draft
August 14, 2026 16:01
cmyk
marked this pull request as ready for review
August 14, 2026 16:01
17 tasks
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
External Gateway agents can be authoritative members of a channel while their relay directory metadata still has stale or missing
channelIds. In that state Buzz hides a legitimate member from mention autocomplete, creating a circular dependency: the agent cannot receive a canonical mention until its directory metadata is repaired manually.This change lets an authoritative channel roster supplement directory channel metadata for autocomplete, without weakening the existing authorization boundary:
respondTo, allowlist, owner/build policy, and exact-pubkey checks;ptag;The result is a canonical exact-pubkey
ptag for an authorized external channel member, while stale caches and revoked membership cannot authorize a send.Related issue
Security/reliability follow-up to #5681.
The basic eligibility slice overlaps #5806, but that PR does not implement authoritative-roster readiness or fresh fail-closed send-time authorization. This contribution is intentionally separate and focused on that boundary.
Testing
Verified on current
block/buzzmaincaa64b5e8f584a740e331887a5dd1cda32bcb958at commit7e126e0f88d5125062e85c98ae9570c31c267ae3:pnpm test: PASSpnpm typecheck: PASSpnpm build:e2e: PASSgit diff --check: PASSmentions.spec.tsPlaywright coverage: 67/67 passedptagptagptag after authoritative membership is establishedptag