h3ravel/framework

Feat: Add broadcasting subsystem (drivers + channel auth)

Open

#24 opened on Sep 25, 2025

View on GitHub
 (0 comments) (0 reactions) (0 assignees)TypeScript (14 forks)auto 404
@h3ravel/broadcastenhancementhelp wantedmediumonlydust-wavereal-time

Repository metrics

Stars
 (22 stars)
PR merge metrics
 (PR metrics pending)

Description

Background: Real-time features need an abstracted broadcast layer supporting multiple drivers (Pusher, Redis, WebSocket, log), plus channel authorization.

Tasks:

  • Create a @h3ravel/broadcast package in the framework/packages directory.
  • Define BroadcastManager and driver contract.
  • Implement at least two drivers (e.g., log and redis or a simple in-process WS).
  • Implement channel auth middleware for private/guarded channels.
  • Provide event interface (shouldBroadcast, broadcastOn channels).
  • Add integration tests for broadcasting events and auth checks.
  • Document configuration and examples.

Acceptance criteria:

  • App can broadcast events via chosen driver.
  • Private channel authorization flow works (authenticated user allowed/denied).
  • Interface mirrors laravel as much as possible, creating the familiar DX while also adding it own unique twists and turns.
  • Tests cover driver behavior.

Difficulty: large

Contributor guide