- How do I install Filament Sentry Feedback in my Laravel app?
- Install it with composer require martinpetricko/filament-sentry-feedback, then optionally publish the translations and config using the vendor:publish tags. Add SENTRY_LARAVEL_DSN to your .env file and register the plugin in your Filament panel provider. Most developers can have it running on staging in an afternoon.
- Which Filament versions does this package support?
- Version 2.x tracks Filament v5, 2.0.0 was the release that moved to Filament v4 and Tailwind v4, and 1.x covers earlier Filament majors. Because it is a thin adapter, each major Filament release needs a matching package release. Add it to your Filament upgrade checklist so you know whether to wait for an update or patch your fork.
- Do I need a Sentry account and a DSN to use this package?
- Yes. You need a Sentry project with User Feedback provisioned and its DSN available to your app. The config reads env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')), so the standard Laravel Sentry variable works, and the DSN can also be overridden per panel. Without a valid DSN the browser widget cannot post feedback anywhere.
- How do I preload the logged-in user's name and email into the feedback form?
- Call sentryUser() on the plugin and return a SentryUser instance, for example sentryUser(fn () => new SentryUser(auth()->user()->name, auth()->user()->email)). The widget then opens pre-filled instead of anonymous, which is what turns vague reports into attributable, actionable feedback. Pair it with the show_name and show_email widget options to control what the user sees.
- Can I show the feedback widget on only one Filament panel or per tenant?
- Yes. The plugin is registered per panel in each PanelProvider, and the DSN plus widget options can be overridden fluently, so you can expose feedback only on internal admin panels. That keeps the feedback surface reviewable in the PanelProvider diff rather than buried in frontend config. Panels that do not register the plugin simply never load the widget.
- What widget options can I configure, such as screenshots or required email?
- The published config exposes element_id, color_scheme, show_branding, show_name, is_name_required, show_email, is_email_required and enable_screenshot. Set enable_screenshot to false if you do not want screenshots captured or uploaded, and enable show_branding only where Sentry branding is acceptable. Every option can also be overridden fluently for individual panels.
- Is the submitted feedback stored in my Laravel database?
- No. The widget is client-side JavaScript that posts feedback directly to Sentry's ingest endpoint, and the package ships no database table, queue job or Laravel route. Sentry is therefore the system of record. If you need an auditable local copy for support or analytics joins, plan a separate webhook ingestion path into a Laravel model.
- Does this package raise GDPR or PII compliance concerns?
- It can, and that is a legal question rather than an engineering one. With show_email enabled and sentryUser preloading names and addresses, personal data flows to Sentry as a third-party processor, so a DPA and DPIA review is sensible before enabling it in production. Decide up front whether Sentry is an acceptable system of record for that data.
- Will a Content-Security-Policy or ad blocker break the Sentry widget?
- The Sentry SDK loads in the browser, so your Content-Security-Policy must allow Sentry's script and connect origins or the widget fails silently. Confirm whether the SDK is CDN-loaded or bundled before committing, because CDN delivery is more exposed to ad blockers and privacy extensions, which is a real source of lost feedback. For air-gapped or on-prem deployments a CDN dependency is a blocker.
- Is this package production-ready, and what are the alternatives?
- It is a small, young project with a single maintainer and few dependents, so treat it as code you are adopting rather than a vendor you rely on. The surface area is tiny, so pin the version or fork it internally and budget roughly one to two days a year to track Sentry and Filament changes. If you do not run Filament panels or Sentry, use Sentry's JavaScript SDK directly or look at Bugsnag, Rollbar or Datadog instead.