Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Filament Connection Badge

Filament Connection Badge Laravel Package

rawand201/filament-connection-badge

A drop-in connection status badge for Filament panels: a signal-bars icon in the topbar, a live ping graph on hover, and a full-screen overlay when the connection drops. Supports Filament v4 and v5, RTL, dark mode, permissions, and custom render hooks.

View on GitHub
Deep Wiki
Context7

A Filament topbar badge that shows real-time network quality (full/medium/low/offline) with a live ping graph tooltip and a full-screen offline overlay. Works with Filament v4 and v5, supports RTL and multi-language.

Frequently asked questions about Filament Connection Badge
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.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package