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
v1.2.0

Fixed

  • Click en la notificación abre la URL de acción (resuelve ActionGroup), no el dashboard.
  • Sin /admin hardcodeado: push agrupado y fallback usan el path del panel.
  • silent funciona en Filament v5 vía ->viewData(['silent' => true]).
  • manifest.json deriva start_url y theme_color del panel (color a hex en v3/v4/v5).

Added

  • Respeta ->openUrlInNewTab() (el service worker abre pestaña nueva).
  • Config manifest.start_url y manifest.theme_color para override.
v1.1.1

Fixed

  • Profile section now renders on simple profile pages (->profile(isSimple: true)).
  • Install command applies HasPushSubscriptions correctly when Notifiable is declared alongside other traits (use Notifiable, HasRoles; etc.).
  • Idempotency guard now detects the trait in the class body, not just the import.
  • Install degrades gracefully when the User model is read-only (Docker) instead of throwing; prints manual instructions. Write-permission requirement documented.
  • Profile section spacing.

Added

  • Pest test suite covering the User model trait patcher.
v1.1.0

iOS PWA Support + Throttle + Test Command

iOS Support

  • Serves manifest.json with display: standalone and panel favicon icons
  • Injects Apple PWA meta tags automatically
  • Detects iOS Safari without PWA and shows "Add to Home Screen" instructions in the profile section
  • Service worker handles Apple non-JSON payloads gracefully

Throttle & Grouping

  • Multiple notifications within a configurable window (default 5s) are grouped into a single "You have N new notifications" push
  • Configurable via throttle_seconds in config (set to 0 to disable)

Test Command

php artisan browser-notifications:test 1        # queue
php artisan browser-notifications:test 1 --sync  # immediate

Other

  • Reload button on "denied" state in profile section
  • Auto-detect favicon MIME type for manifest icons
  • Server-side device count as source of truth for profile status
  • 8 tests covering listener, throttle, silent flag, URL extraction
v1.0.0

Initial Release

Zero-config browser push notifications for Filament. Every sendToDatabase() automatically triggers a Web Push — no code changes needed.

Features

  • Auto-piggyback on DatabaseNotification::created
  • VAPID-only (no Firebase, no external services)
  • Auto-register on all Filament panels
  • Auto-patch User model during install
  • Service worker served from route
  • Profile section auto-injected on Edit Profile page
  • Burst throttle: groups notifications within configurable window (default 5s)
  • Dismiss cooldown with localStorage opt-out
  • Panel favicon as push notification icon
  • Test command: php artisan browser-notifications:test {userId}
  • i18n: English + Spanish
  • Filament 3 / 4 / 5 compatible

Install

composer require emuniq/filament-browser-notifications
php artisan browser-notifications:install
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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package