Problem
The package can identify presence-channel registrations but cannot drive Echo's here(), joining(), or leaving() callbacks or maintain pusher-js presence member state.
Proposed direction
Simulate the real Pusher presence protocol through channel handleEvent() calls using subscription-succeeded, member-added, and member-removed payloads.
Acceptance criteria
- Tests can seed the initial presence member list.
- Tests can simulate one member joining and leaving.
- Echo's normal
here(), joining(), and leaving() callbacks receive the same shapes they receive from pusher-js.
- The underlying pusher-js member registry stays consistent after every transition.
- Real Laravel Echo/pusher-js browser coverage verifies the protocol shapes.
Problem
The package can identify presence-channel registrations but cannot drive Echo's
here(),joining(), orleaving()callbacks or maintain pusher-js presence member state.Proposed direction
Simulate the real Pusher presence protocol through channel
handleEvent()calls using subscription-succeeded, member-added, and member-removed payloads.Acceptance criteria
here(),joining(), andleaving()callbacks receive the same shapes they receive from pusher-js.