Skip to content

Add configurable public address distribution policy - #26

Merged
thystra merged 1 commit into
masterfrom
feature/public-address-distribution-policy
Aug 3, 2026
Merged

thystra merged 1 commit into
masterfrom
feature/public-address-distribution-policy

Conversation

@thystra

@thystra thystra commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Summary

Add an explicit operator-facing policy for deciding whether broadly
addressable activities enter public relay fan-out.

Configuration

PUBLIC_ADDRESS_DISTRIBUTION_POLICY accepts:

  • explicit_public_only

    • Public must appear in the primary to audience.
    • Public appearing only in cc is acknowledged and publisher-accounted,
      but is not distributed through public relay fan-out.
  • public_and_unlisted

    • Public may appear in either to or cc.
    • Preserves the pre-3.0 routing behavior.

Fresh example configurations explicitly select explicit_public_only.

An omitted value falls back to public_and_unlisted for compatibility with
existing installations. Unknown values are fatal during configuration loading.

Explicitly relay-addressed relationship traffic remains independent of this
public-address policy.

Operator visibility

The effective policy is included in the startup configuration banner.

Validation

Prospective validation passed before applying the exact patch:

  • focused configuration and policy tests
  • focused API routing and publisher-accounting tests
  • full serialized test suite
  • full serialized race suite
  • go vet
  • full build
  • exact prospective/applied patch comparison
  • exact prospective/applied Git tree comparison
  • post-application focused confirmation

Validated tree:

bf28ee74f646e5c18fa90f0f401a664636480c62

Validated patch SHA-256:

4eebb2d719aadbf1eae4b85d7d50597cb214e5c0e4a6b4a555cf7eba3d864e55

@thystra
thystra merged commit bcd6b0a into master Aug 3, 2026
2 checks passed
@thystra
thystra deleted the feature/public-address-distribution-policy branch August 3, 2026 22:24
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