- How do I install tomatophp/pusher-notifications in a Laravel app?
- Run composer require tomatophp/pusher-notifications, publish its config, set the PUSHER_APP_* credentials in your environment, and add the package's channel to the via() method of the notification class. Installation is reported as near-zero effort, but that estimate excludes provisioning the broadcast backend and building the client-side subscription layer. Check composer.json for version constraints before locking it into a branch.
- Does tomatophp/pusher-notifications work with Laravel Reverb or Soketi, or only Pusher?
- The package is designed around the Pusher protocol, so a compatible backend such as Reverb or Soketi should be able to serve it in principle. However, the public documentation does not clearly state whether the channel is hardcoded to Pusher SaaS or configurable. Verify this in a spike before sign-off, because it determines your exit cost and vendor leverage.
- What does this package add over Laravel's built-in broadcast notification channel?
- Laravel's stock broadcast notification channel plus laravel-echo already covers the mainstream real-time path. This package's value must be a demonstrable convenience in event names, payload handling, or channel targeting, not just a wrapper around the same primitives. Run a spike that compares both approaches against your notification classes before accepting the dependency.
- How do I configure Pusher credentials for this package?
- Set PUSHER_APP_ID, PUSHER_APP_KEY, PUSHER_APP_SECRET, and PUSHER_APP_CLUSTER, or the equivalent Reverb/Soketi values, in your .env file, then publish and review the package config. Keep per-environment credentials separate and enforce TLS on the broadcast endpoint. The documented install path is composer require, publish config, add credentials, and add the channel to via().
- Does it support private and presence channels with Laravel's authorization callbacks?
- This remains an open question in the technical assessment: confirm that the channel respects Laravel's authorization callbacks for private and presence channels under per-notification targeting. Authorising those channels is a security change, not a passing test, and it should get explicit review against your existing auth guard. Test with Notification::fake and a real broadcast backend before production.
- What Laravel and PHP versions does tomatophp/pusher-notifications require?
- The package does not publish a compatibility matrix, and its changelog is only a compare link. Read composer.json directly for the declared Laravel and PHP ranges, then run composer why-not on a branch to catch conflicts with your locked set, especially the Pusher SDK constraint. Undeclared support is an upgrade hazard you absorb later.
- Is tomatophp/pusher-notifications actively maintained and safe for production?
- It is a v1.0.0 release from a single publisher, last updated March 2024, with zero stars and zero dependents at the time of assessment. There is no published API-stability signal, deprecation policy, or support cadence, so treat the public contract as unstable despite the major version. It is MIT licensed, which keeps redistribution simple but does not reduce the maintenance risk.
- Do I still need Laravel Echo and a WebSocket client to receive these notifications?
- Yes. This package is a server-side delivery adapter; it does not replace the client-side Echo/WebSocket subscription layer that receives the event. Budget for that front-end work separately, because it is often multi-sprint if the app has never held a persistent connection. Without it, the notification request can succeed while users see nothing.
- Can I customize channel names, event names, or the notification payload?
- The assessment flags this as an open question: event names, channel naming conventions, and payload envelopes may be baked into the channel. If they are, migrating from Pusher to Reverb becomes a package-level change rather than a config change. Confirm configurability before adoption to keep the exit cost low.
- How should I test real-time Pusher notifications in Laravel, and why do they fail silently?
- Real-time notifications fail quietly: the HTTP request succeeds, the queue job completes, and the user sees nothing. Use Notification::fake to assert the channel is selected, mock or fake the broadcast layer in unit tests, and add an end-to-end check against a real backend in staging. Because it is the least observable failure mode in the product, ordinary monitoring is unlikely to catch it.