agencetwogether/filament-alert-box
Filament Alert Box is a simple package for adding customizable alert banners to Filament admin panels. Show success, warning, info, or danger messages with configurable styles, icons, and dismissible behavior, making important notices easy to surface across resources and pages.
Architecture fit: The 2.0.0 release improves architectural alignment for multi-panel Filament applications. Alerts are now scoped per panel, which matches how Filament panels are typically used for separate audiences, permissions, and workflows. This is a meaningful correctness fix for installations where a single shared alert list leaked across admin, members, or other panels. The custom-hook exception is also architecturally reasonable: hooks rendered outside a panel need global registration, while panel-scoped alerts should remain isolated.
Integration feasibility: Technically feasible for typical Laravel/Filament stacks, but this is a major-version breaking change with a data migration. The package remains installable via Composer, and the migration path is documented with interactive, --all, and --dry-run modes. The fallback auto-migration on first save reduces the chance of data loss, but it also means behavior can change implicitly if operators skip the command. Integration effort is moderate: upgrade, run migration, validate per-panel visibility, and clean up duplicated alerts.
Technical risk: The primary risk is semantic, not syntactic. Existing shared alerts become per-panel data. Using --all duplicates legacy alerts into every registered panel, so users may see duplicate alerts until cleanup is completed. Custom hooks remain global by design, which could surprise teams expecting all alerts to be panel-scoped. The auto-migration path is safe from data loss but gives less control over which panels receive copies. The release also changes AlertBoxSeeder behavior, so any environment relying on demo data should be reviewed before running seeders.
Key questions:
AlertBoxPlugin, and which should receive migrated alerts?--all --no-interaction?admin is not visible or editable from members, while custom hooks still render globally?Stack fit: The release fits Laravel/Filament applications that use multiple panels and want panel-specific alert management. It is especially relevant for products where admin and customer/member panels share one Laravel codebase but require isolated operational content. Single-panel installations are less exposed but still need to validate the new storage format and custom-hook behavior.
Migration path: Treat this as a coordinated upgrade, not a routine dependency bump. Recommended sequence:
php artisan filament-alert-box:migrate-alerts --dry-run.--all for automation.Compatibility: This is a breaking change for existing installations that relied on a shared alert list. Code-level APIs are largely preserved, but data semantics change. The new helpers AlertBox::isCustomHook() and AlertBox::isLegacyAlertsFormat() may help with diagnostics or custom integrations. Teams using the seeder should expect demo alerts to be created per panel rather than as one shared list. The automatic legacy-format migration provides a safety net, but it should not replace an explicit migration decision.
Sequencing: Deploy the package update and migration command together, then run migration before announcing the upgraded alert-management behavior to panel owners. For CI/CD, prefer --dry-run in a pre-production step and --all --no-interaction only when duplicating to every panel is explicitly acceptable. After migration, complete cleanup before enabling users to edit alerts at scale, because otherwise operators may edit duplicated copies without realizing alerts exist in multiple panels.
Maintenance: Ongoing maintenance increases slightly because alert data is now partitioned per panel. Support and documentation should explain that alerts are panel-specific and that custom hooks are the deliberate exception. A runbook should cover adding a new panel, migrating alerts, and cleaning duplicates after a bulk migration.
Support: Expect user questions about why an alert created in one panel no longer appears in another. Support teams should know that this is intended behavior in 2.0.0. They should also know that custom hooks remain global, so those can still appear outside panel-scoped alert management. Clear internal documentation is needed for the migration command and the --all duplication behavior.
Scaling: Per-panel scoping is better operationally for multi-panel applications because it prevents cross-panel leakage and improves permission boundaries. Storage may grow when legacy alerts are duplicated across panels, but that is a one-time migration effect. Regular cleanup and governance are needed if many panels or many alerts are expected.
Failure modes: Key failure modes include skipping migration and relying on first-save auto-migration, using --all and leaving duplicated alerts visible in every panel, failing to clean up alerts after migration, assuming custom hooks are panel-scoped when they are global, and running the updated seeder in an environment where per-panel demo alerts are unwanted. The release does not appear to delete data, which lowers risk, but duplication can create operational confusion and incorrect alert visibility if cleanup is not completed.
Ramp-up: Ramp-up is low for developers familiar with Laravel/Filament, but moderate for operators and panel owners because the behavior change is user-visible. A short enablement session or written runbook should cover the breaking change, migration command options, per-panel management, custom-hook exception, and post-migration cleanup. TPM should define acceptance criteria around panel isolation, custom-hook rendering, and duplicate cleanup before marking the upgrade complete.
How can I help you explore Laravel packages today?