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 Browser Notifications Laravel Package

emuniq/filament-browser-notifications

Automatically turns every Filament database notification into a browser push notification, no code changes required. Installs VAPID keys, migrations, and the User trait in one command, then auto-registers across all panels with a subscription prompt and profile section.

View on GitHub
Deep Wiki
Context7
1.2.0

Fixed

  • Clicking a browser notification now opens the notification's action URL instead of always landing on the dashboard. Action URLs nested inside an ActionGroup are now resolved (previously only top-level actions were read, so grouped actions fell back to /admin).
  • The grouped/throttled push and the no-action fallback no longer hardcode /admin; they open the default panel's path.
  • silent notifications now work with Filament v5: the flag is read from ->viewData(['silent' => true]) (Filament's Notification has no ->data() method). README updated accordingly.
  • The generated manifest.json no longer hardcodes start_url: "/admin" and theme_color: "#d97706". Both are now derived from the active Filament panel — the panel path and primary color respectively — so installed PWAs open the correct route with on-brand chrome. The primary color is converted to hex across Filament majors (RGB triplets in v3, oklch() in v4/v5).

Added

  • Browser notifications now respect ->openUrlInNewTab() on actions — the service worker opens a new window/tab instead of navigating the existing one.
  • manifest.start_url and manifest.theme_color config options to override the derived manifest values.
1.1.1

Fixed

  • The profile section now renders on simple profile pages (->profile(isSimple: true)). It is registered on both the PAGE_END and SIMPLE_PAGE_END render hooks, scoped to the panel's profile page, so it appears consistently for both simple and standard profile pages.
  • browser-notifications:install now applies the HasPushSubscriptions trait correctly when Notifiable is declared alongside other traits (e.g. use Notifiable, HasRoles; or use HasApiTokens, Notifiable;). Previously the trait was imported but never added to the class body, causing BadMethodCallException on User::pushSubscriptions().
  • The install command's idempotency guard now detects whether the trait is actually applied in the class body rather than merely imported, so a half-finished install can be completed by re-running the command instead of reporting "already present".
  • The profile section no longer sits flush against the profile form; it now has top spacing.
  • The install command no longer throws a raw filesystem exception when the User model is read-only (e.g. some Docker setups). It now degrades gracefully, skipping the trait step and printing instructions to add HasPushSubscriptions by hand. The write-permission requirement is documented in the README.

Added

  • Test suite (Pest) covering the User model trait patcher across Notifiable arrangements and idempotency.
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.
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode