h3ravel/framework

Feat: Add broadcasting subsystem (drivers + channel auth)

开放

#24 创建于 2025年9月25日

 (0 条评论) (0 个反应) (0 位负责人)TypeScript (14 个派生)auto 404
@h3ravel/broadcastenhancementhelp wantedmediumonlydust-wavereal-time

仓库指标

星标
 (22 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

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

贡献者指南