martinpetricko / filament-sentry-feedback
FilamentPHP package that integrates Sentry User Feedback
Fund package maintenance!
MartinPetricko
Requires
- php: ^8.2
- filament/filament: ^3.3
- spatie/laravel-package-tools: ^1.15
Requires (Dev)
- larastan/larastan: ^3.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.6
- orchestra/testbench: ^10.0
- pestphp/pest: ^3.7
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.1
README
Filament Sentry Feedback integrates the Sentry User Feedback widget with FilamentPHP.
Installation
You can install the package via composer:
composer require martinpetricko/filament-sentry-feedback
If you'd like to customize the translations used by the package, you can publish the language files:
php artisan vendor:publish --tag="filament-sentry-feedback-translations"
Optionally, publish the config file:
php artisan vendor:publish --tag="filament-sentry-feedback-config"
These are the contents of the published config file:
return [ /** * https://docs.sentry.io/concepts/key-terms/dsn-explainer/#where-to-find-your-data-source-name-dsn */ 'dsn' => env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')), /** * https://docs.sentry.io/platforms/javascript/user-feedback/configuration/ */ 'widget' => [ 'element_id' => 'sentry-feedback', 'color_scheme' => ColorScheme::Auto, 'show_branding' => false, 'show_name' => true, 'is_name_required' => false, 'show_email' => true, 'is_email_required' => true, 'enable_screenshot' => true, ], ];
Set your Sentry DSN in the .env
file:
SENTRY_LARAVEL_DSN=https://examplePublicKey@o0.ingest.sentry.io/0
Register the plugin in your Filament panel:
->plugins([ \MartinPetricko\FilamentSentryFeedback\FilamentSentryFeedbackPlugin::make(), ])
You can preload authenticated user data for Sentry Feedback widget by defining SentryUser entity:
->plugins([ \MartinPetricko\FilamentSentryFeedback\FilamentSentryFeedbackPlugin::make() ->sentryUser(function (): ?SentryUser { return new SentryUser(auth()->user()->name, auth()->user()->email); }), ])
You can override the global config per panel:
->plugins([ \MartinPetricko\FilamentSentryFeedback\FilamentSentryFeedbackPlugin::make() ->dsn('https://examplePublicKey@o0.ingest.sentry.io/0') ->elementId('sentry-feedback') ->colorScheme(ColorScheme::Auto) ->showBranding(true) ->showName(true) ->isNameRequired(true) ->showEmail(true) ->isEmailRequired(true) ->enableScreenshot(true), ])
CSS Customization
To customize the appearance of the feedback widget:
- Create a custom theme for your panel.
- Override the Sentry Feedback widget's CSS variables
Testing
composer test
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.