Easily add Telescope, Horizon and Laravel Pulse to Filament admin panel.
You can install the package via composer:
composer require stephenjude/filament-debugger
use Stephenjude\FilamentDebugger\DebuggerPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugin(
DebuggerPlugin::make()
);
}
You can authorize the plugin for users with a specific role/permission:
DebuggerPlugin::make()
->authorize(condition: fn() => auth()->user()->can('view.debuggers'));
You can customize the navigation group:
use Stephenjude\FilamentDebugger\DebuggerPlugin;
$panel->plugin(
DebuggerPlugin::make()
->navigationGroup(condition: true, label: 'Debugger')
);
You can customize the navigation items:
use Stephenjude\FilamentDebugger\DebuggerPlugin;
$panel->plugin(
DebuggerPlugin::make()
->horizonNavigation(
condition: fn () => auth()->user()->can('view.horizon'),
label: 'Horizon',
icon: 'heroicon-o-globe-europe-africaglobe-europe-africa',
url: url('horizon'),
openInNewTab: fn () => true
)
->telescopeNavigation(
condition: fn()=> auth()->user()->can('view.telescope'),
label: 'Telescope',
icon: 'heroicon-o-sparkles',
url: url('telescope'),
openInNewTab: fn () => true
)
->pulseNavigation(
condition: fn () => auth()->user()->can('view.pulse'),
label: 'Pulse',
icon: 'heroicon-o-bolt',
url: url('pulse'),
openInNewTab: fn () => true
)
);
When using filament debuggers (Horizon, Telescope & Pulse) in production environment, we need to make sure that they are accessible to the authorized filament admin user.
To achive this, we need to use filament default authorization guard and your application defined permissions provided by overidding the gate()
and authorization()
methods inside the HorizonServiceProvider, TelescopeServiceProvider and PulseServiceProvider respectively.
protected function gate()
{
Gate::define('viewHorizon', function ($user) {
return $user->can('view.debuggers');
});
}
protected function authorization()
{
Auth::setDefaultDriver(config('filament.auth.guard'));
parent::authorization();
}
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.