docs(compose): clarify BUZZ_CORS_ORIGINS must match client origin, not BUZZ_DOMAIN - #2908
Open
jefflitt1 wants to merge 1 commit into
Open
docs(compose): clarify BUZZ_CORS_ORIGINS must match client origin, not BUZZ_DOMAIN#2908jefflitt1 wants to merge 1 commit into
jefflitt1 wants to merge 1 commit into
Conversation
Collaborator
|
🦾 DCO sign-off is failing on this PR. Each commit needs a |
…t BUZZ_DOMAIN Self-hosting operators intuitively set BUZZ_CORS_ORIGINS to their relay's own domain (matching the pattern of every other BUZZ_DOMAIN-derived variable in this file). That breaks the desktop/mobile client's community-connect flow with a generic browser "Load failed" error, because the relay actually responds 200 to GET /api/join-policy but the browser's CORS check rejects it since the client's real Origin (tauri://localhost in production, or http://localhost:<port> in a dev build) never matches BUZZ_DOMAIN. Hit this during a fresh self-hosted install: relay health, NIP-11, the raw WebSocket handshake, and the join-policy endpoint all worked fine via curl, but the desktop app failed silently until building from source with devtools enabled surfaced the actual CORS console error. Left BUZZ_CORS_ORIGINS empty (the relay's own supported "permissive" fallback) as the fix, which is safe once BUZZ_REQUIRE_AUTH_TOKEN / BUZZ_REQUIRE_RELAY_MEMBERSHIP already gate real data access. Docs-only change: expands the existing .env.example comment and adds a troubleshooting line to deploy/compose/README.md's Production notes. Signed-off-by: Jeff Litt <jglittell@gmail.com>
jefflitt1
force-pushed
the
docs/clarify-cors-origins-desktop-client
branch
from
July 29, 2026 19:17
bdd10c3 to
551b629
Compare
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
BUZZ_CORS_ORIGINSto their relay's own domain, matching the pattern of every otherBUZZ_DOMAIN-derived variable in.env.example. That breaks the desktop/mobile client's community-connect flow with a generic browser "Load failed" error — the relay actually responds200toGET /api/join-policy, but the browser's CORS check rejects the response because the client's realOrigin(tauri://localhostin production,http://localhost:<port>in a dev build) never matchesBUZZ_DOMAIN.curl, but the desktop app failed silently until building from source with devtools enabled surfaced the actual CORS console error.BUZZ_CORS_ORIGINSempty (the relay's own supported "permissive" fallback perconfig.rs), which is safe onceBUZZ_REQUIRE_AUTH_TOKEN/BUZZ_REQUIRE_RELAY_MEMBERSHIPalready gate real data access..env.examplecomment and adds a troubleshooting line todeploy/compose/README.md's Production notes, so the next self-hoster doesn't lose the same time we did.Test plan
.env.examplecomment reviewed for accuracy againstcrates/buzz-relay/src/config.rs's CORS parsing (comma-separatedBUZZ_CORS_ORIGINS, empty →CorsLayer::permissive()).env.example,README.md)