Skip to content

feat(notifications): public host for Pusher-protocol servers - #14

Merged
3m1n3nc3 merged 2 commits into
mainfrom
feat/pusher-public-host
Oct 11, 2026
Merged

3m1n3nc3 merged 2 commits into
mainfrom
feat/pusher-public-host

Conversation

@3m1n3nc3

@3m1n3nc3 3m1n3nc3 commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Summary

PusherRealtimeDriver.clientConfig() gave browsers the same host / port / TLS the server uses to reach Pusher. That breaks when the two differ, such as soketi inside Docker (soketi:6001 for the API, localhost:6001 for the browser) or soketi behind a TLS proxy.

Added

  • transports.pusher.public_host, public_port and public_use_tls (env PUSHER_PUBLIC_HOST, PUSHER_PUBLIC_PORT, PUSHER_PUBLIC_USE_TLS).
  • They change only the wsHost / wsPort / forceTLS that clientConfig() hands to clients. Each defaults to its server-side counterpart, so existing setups are unchanged.
  • The notifications guide documents when to set them.

Templates

  • All three scaffold templates' notifications config now include realtime.push (REALTIME_PUSH).
  • The Pusher host / port lines were dropped from the Express template, so the templates stay lean.

Test plan

  • New tests:
    • public address, port and TLS from options;
    • port and TLS default to the server values;
    • PUSHER_PUBLIC_* env.
  • pnpm lint, pnpm build, pnpm docs:build; template typechecks clean
  • vitest run: 583 passed, 5 skipped

@codecov

codecov Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@3m1n3nc3
3m1n3nc3 merged commit 58a27d6 into main Oct 11, 2026
4 checks passed
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