Sentry User Feedback plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Sentry User Feedback

Sentry User Feedback integration.

Tags: Analytics Developer Tool
Supported versions:
4.x 3.x
Martin Petričko avatar Author: Martin Petričko

Documentation

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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:

  1. Create a custom theme for your panel.
  2. 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.