laragear/poke
Laragear Poke is a small Laravel utility for poking your application: dispatch a quick signal, run a lightweight task, or confirm a service is alive using a clean, fluent API with minimal setup and no configuration. It fits neatly into Laravel's ecosystem, so pokes can run in tests, scheduled jobs,...
composer require laragear/poke. The service provider is auto-discovered; no manual registration needed.php artisan vendor:publish --tag=poke-config. This is where you set the default driver (broadcast, database, log), channel naming, and queue settings.Poke::to($user)->send('Message');. Pokes are lightweight, ephemeral signals—think toast notifications or badges.Pokeable trait to listen for pokes and display them.config/poke.php for driver and channel config; the Laragear\Poke namespace for the facade and the new Livewire and Filament helper classes.Poke facade from controllers, jobs, or event listeners. For async delivery, set the queue connection in config; pokes will be dispatched as jobs.Pokeable trait to your Livewire component. It registers a listener on the user's private poke channel and exposes a hook (e.g., onPoke) where you can dispatch a browser event to show a toast. No manual Echo setup needed.PokeAction in resource tables or page actions. It opens a modal to compose a poke and sends it to the record's user. Customize the recipient resolution and form via the action's fluent methods.BROADCAST_CONNECTION, queue workers, and that the user is authenticated on the private channel.getListeners(), ensure the trait's listeners are merged. In Livewire 3, the trait likely uses #[On('poke')], so no manual merge is needed—but verify after upgrading.php artisan filament:assets if the package ships JS/CSS for the action modal. Also clear cached views if the action doesn't appear.Poke::fake() to assert pokes were sent without hitting the broadcaster. For Filament, test the action via livewire() assertions on the table.poke.{user_id}; if you use multiple guards or a custom user model, adjust the channel resolution in config/poke.php. The driver can be swapped (broadcast, database, log) for local development.PokeDriver contract to add a custom delivery channel (e.g., SMS or Slack). The Livewire trait's getPokeChannel() method can be overridden for per-component channels.How can I help you explore Laravel packages today?