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

Laravel Notification Inbox Laravel Package

amjadiqbal/laravel-notification-inbox

amjadiqbal/laravel-notification-inbox is a database-backed notification inbox for Laravel. It helps you store, retrieve, mark as read, and organize user notifications, making it easier to build in-app notification centers with a clean, simple API and read/unread status handling.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Initial assessment based on v0.1.2 release notes. The package is a Laravel notification-inbox interceptor that captures non-mail notification channels locally, with security controls around viewing/managing captured notifications and redaction before disk writes.

  • Architecture fit: Strong fit for Laravel applications that already use Laravel’s notification subsystem and want a local inbox for non-mail channels. It plugs into the notification pipeline rather than requiring a separate event bus. The v0.1.2 listener registration change is architecturally important: registering NotificationSending in register() makes interception more deterministic, but it also means the package must be treated as a global notification-pipeline participant, not just a UI add-on.
  • Integration feasibility: Feasible for a Laravel team. Integration likely requires Composer install, config publishing, inbox migration, gate definition, and scheduled pruning. The new manageNotificationInbox gate is a clear integration point: teams must explicitly grant delete/clear rights beyond inbox-view rights. Default local-only behavior is safe for development but must be reviewed for production roles.
  • Technical risk: Security-sensitive package at an early 0.1.x version. Redaction is improved but still pattern-based: keys containing password, passcode, secret, otp, code, private_key, or webhook are masked, and code masking in text is opt-in. This reduces risk but does not eliminate sensitive-data exposure. The listener-order change can affect notification interception behavior globally, so regression testing is required. Wording clarifications confirm that mail and database notifications are still sent and that custom toX() code still runs, so the package should not be treated as a full notification kill switch.
  • Key questions: Which Laravel/PHP versions are supported? What storage driver/table growth characteristics should we expect? Does the inbox support multi-tenant or per-user isolation out of the box? How are gates integrated with existing role/permission systems? Are queued notifications captured consistently? What is the redaction coverage for nested payloads, attachments, and custom channel payloads? Is there an audit trail for delete/clear actions? What UI/API surface exists for inbox viewing and management? How does Google Chat channel support behave compared with existing channels?

Integration Approach

  • Stack fit: Best suited to a standard Laravel stack using Laravel notifications. It is less attractive if the application depends heavily on mail/database notifications for critical delivery, because those are explicitly still sent; the package captures non-mail channels instead of blocking all outbound notifications.
  • Migration path: Treat this as a new package adoption, not an upgrade from a prior assessment. Start in a non-production environment, publish config and migrations, define the new manageNotificationInbox gate, configure redact/redact_containing, decide whether to enable mask_codes_in_text, and validate channel behavior before production rollout.
  • Compatibility: Compatibility is not fully established from the release notes alone. Confirm supported Laravel/PHP versions, database requirements, queue compatibility, and channel coverage. Google Chat is now listed, but teams should verify actual behavior for their notification classes and custom channels.
  • Sequencing: 1) Install and pin a version in a sandbox. 2) Publish config/migrations. 3) Map existing authorization roles to inbox view vs. manage gates. 4) Configure redaction and code-masking policy. 5) Test notification interception across mail, database, and non-mail channels. 6) Schedule notification-inbox:prune and tune prune_lottery. 7) Roll out to a limited user group, then broaden access after security review.

Operational Impact

  • Maintenance: Early-version package requires active version monitoring and pinning. Security-related releases, especially redaction and gate changes, should be reviewed promptly. The opportunistic pruning model means operations must own the scheduled prune command; otherwise inbox data will accumulate.
  • Support: Support posture is unclear from the release notes. Assume community/package-maintainer support unless a commercial arrangement exists. Internal documentation should cover gate setup, redaction configuration, pruning schedule, and channel behavior.
  • Scaling: Primary scaling concern is inbox table growth. Pruning is opportunistic by default—about one capture in fifty—and is now configurable via prune_lottery, but scheduling notification-inbox:prune is still required. High-volume notification environments should size storage, monitor table growth, and validate prune frequency.
  • Failure modes: Sensitive data may be written if redaction patterns miss custom keys or message content; delete/clear may be exposed if the manageNotificationInbox gate is not mapped correctly; notification interception may behave differently if other listeners depend on running before the package’s NotificationSending listener; pruning may never run if the schedule is missed; and teams may incorrectly assume all notifications are suppressed when mail and database are still sent.
  • Ramp-up: Developer ramp-up is likely low for a Laravel team. Security and operations ramp-up is moderate: teams need to understand redaction limits, gate semantics, listener-order effects, channel coverage, and retention/pruning behavior before production use.
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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core