- How do I install Filament Connection Badge in a Laravel app?
- Run composer require rawand201/filament-connection-badge; the service provider is auto-discovered so no manual registration is needed. After that run php artisan filament:assets to publish the package assets. Optionally publish the config with the filament-connection-badge-config tag and the translations with the filament-connection-badge-translations tag. There is no npm or Vite build step involved.
- Which Laravel and Filament versions does the package support?
- It requires PHP ^8.2, Laravel 10.x through 13.x, and Filament ^4.0 or ^5.0. The badge is registered through a Filament render hook, so it works on both v4 and v5 panels. Note that Laravel 13 and Filament v5 support is declared by the package, so pin the version and test in your own environment if you rely on an unreleased framework version.
- How do I change the ping interval and connection quality thresholds?
- Publish the config file and adjust the ping_interval, thresholds and max_samples keys. The default interval is 5000 ms, and every setting has an env override such as FILAMENT_CONNECTION_BADGE_PING_INTERVAL, which makes per-environment tuning easy. Ping samples are kept in browser memory only, so max_samples controls the tooltip graph and nothing is persisted server-side.
- How do I disable the full-screen offline overlay?
- Set show_overlay to false in the published config/filament-connection-badge.php file. The overlay is enabled by default and covers the whole screen whenever the heartbeat request fails. Because a failed ping can also come from a 419 CSRF expiry, a 401 session timeout or an unrelated 500, disabling the overlay avoids visually locking an admin out of a working panel.
- Is the ping heartbeat route publicly accessible, and how do I secure it?
- Yes, by default the route only uses the web middleware group and is publicly reachable. Add auth or Filament\Http\Middleware\Authenticate to route.middleware and set route.throttle to limit abuse. You can also set the permission option to a Gate ability, which gates both the badge and the route and returns a 403 for unauthorized users.
- Can I move the badge somewhere other than the user menu?
- Yes, change the render_hook value in the config, or set FILAMENT_CONNECTION_BADGE_RENDER_HOOK. The default is panels::user-menu.before, which places the badge just before the avatar in the topbar. The value must be a valid constant from Filament\View\PanelsRenderHook.
- Does the badge support RTL layouts and translations?
- Yes. The package uses CSS logical properties so it mirrors correctly in right-to-left locales, and it uses Filament design tokens so it follows your panel theme and dark mode. Translations can be published and overridden with the filament-connection-badge-translations tag, and show_label controls whether text appears next to the signal-bars icon.
- Does it work with Filament SPA mode and Livewire navigation?
- SPA mode and wire:navigate interactions are not documented by the package, so behavior is unverified. Possible issues include duplicated Alpine components, orphaned timers or a stale sample buffer carried across navigations. Test it in your own panel, particularly if you enable Filament's SPA mode, before rolling it out broadly.
- How much extra server load does the badge add in production?
- At the default 5000 ms interval each open panel sends about 12 heartbeat requests per minute through the full Laravel bootstrap. With 150 concurrent admins that is roughly 1,800 additional requests per minute hitting the same PHP workers that serve your app. Raise ping_interval and apply route throttling so the badge does not become the load it is measuring.
- Is Filament Connection Badge production ready, and what are the alternatives?
- It is at version 1.0.0 with a single maintainer and a small install base, so there is little evidence of hardening across Filament subversions. It has no schema, migrations or persistence and no server-side telemetry, so it should be treated as a presentation-layer component rather than an observability tool. Budget a fork: reproducing the badge, heartbeat route and Alpine component is roughly two to four developer days if the package stalls.