spokospace/filament-ops-notify
spokospace/filament-ops-notify is a Laravel/Filament package that adds operational notifications to admin panels, helping teams surface alerts, status updates, and system events directly in the dashboard so issues are noticed, triaged, and handled faster without leaving the panel.
SlackNotifier class and regrets six months later. Adopting it removes an item from the backlog rather than adding one.OpsMessage::send() degrades to a log line when the cache is unreachable instead of 500-ing the request that triggered it. That is a product guarantee you can cite in design review when deciding whether a notification is inline, queued, or fire-and-forget.ops-notify:test --queue exits non-zero when nothing was queued — this supports CI smoke checks and on-call trust instead of false green.Adopt when:
BurstGuard::pullHeld() with heldCount() + clearHeld().Look elsewhere when:
Risk to carry forward: a patch release fixed data-loss-class defects — a counter that could lose its TTL and suppress an event forever with no digest, digests swallowed by a DB hiccup, and digests sent to the wrong destination. Fixed is good, but it signals the burst/digest path is young. Pilot it on non-critical alerts before making it the only path for paging.
For executives: a small, low-risk dependency that makes operational alerting reliable without asking engineering to build and maintain a notifier, a dedupe layer, a digest scheduler, and an admin panel. v1.3.1 is a hardening pass with no migrations, no config changes, and no breaking changes for normal use. It removes the two failure modes that actually cost money: an alerting outage taking down a user-facing request (an unreachable cache used to 500 the request that triggered the alert), and silent alert loss at window boundaries (counters that suppressed an event forever, digests lost to a database hiccup). It also fixes routing so one event fanned out to two chats no longer cross-contaminates counters, and stops the UI reporting "Queued" when nothing was queued.
For engineering: 285 tests, Larastan level 8, and a clear failure-isolation contract — send() logs and sends rather than throwing, and the ops channel no longer aborts Laravel's loop over notifiables and drops database/mail for the remaining recipients. Upgrade is a composer bump; the only internal change is BurstGuard::pullHeld() splitting into heldCount()/clearHeld(), so the blast radius is limited to anyone who extended internals.
For on-call and support: fewer duplicate pages during spikes, digests that report the real held count even after a retry, and a panel whose Resend state can be trusted — so triage time isn't spent chasing phantom retries.
Recommendation: adopt for operational notifications where the alert is a side effect of a user action. Keep it off the critical paging path for one release cycle, then promote it once it has run quietly against non-critical events.
How can I help you explore Laravel packages today?