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

Ux Notify Laravel Package

symfony/ux-notify

symfony/ux-notify provides a simple notification system for Symfony apps, letting you send user-facing alerts from PHP and display them in the browser through Symfony UX. It integrates with Symfony Notifier and offers straightforward setup for consistent, real-time notifications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The release in question is symfony/ux-notify v3.6.0 — a Symfony UX bundle providing server-driven flash/toast notifications rendered through Twig components and Stimulus controllers. It is a PHP package but not a Laravel package: no service provider for Laravel's container, no Blade/Livewire components, no Laravel Mix/Vite integration. Architecture fit against a Laravel codebase is therefore low to moderate: the PHP runtime is compatible, the Symfony components it depends on can coexist in a Laravel vendor/ tree, but its delivery model (Symfony Flex recipes, bundle registration, AssetMapper, Twig) does not map onto Laravel's Blade + Vite + service-provider conventions without a bespoke integration layer.

Integration feasibility. Feasible but non-trivial and not what this package is designed for. A Laravel adoption would require: rendering the notification markup into Blade (or an Inertia/JSON channel instead of Twig), re-implementing the Stimulus controller as a Vite-bundled JS module, replacing MercureBundle wiring with a Hub client configured manually, and hand-managing the CSS/asset payload rather than using Flex's asset workflow. Realistically, the marginal value over Laravel-native options (session flash + a JS toast library, or Livewire/Filament notifications) is negative unless the organization is already running Mercure as a shared event hub across Symfony and Laravel services.

Technical risk. v3.6.0 is a minor, backward-compatible release: no breaking API changes, no deprecations announced. Notable content:

  • #4056 adds MercureBundle ^0.6 support; #4036 adds ^0.5 / Mercure ^0.8 support — a widening compatibility matrix, which is good for adoption but means the Mercure integration surface is churning across minor versions and is now the primary evolution point of the package.
  • #3919 adds a conflict with symfony/asset-mapper >= 8.2 — a hard constraint guard, not a fix. If the project already pins a newer asset-mapper (e.g. pulled in transitively), Composer resolution will fail until the constraint is lifted. This is the single highest-risk item in the release for an evaluator.
  • #3904 checks shipped assets against Web Platform Baseline and #3907/#4086 are tooling/README hygiene — signals of healthy maintenance, not capability.

Key questions.

  1. Are we evaluating this as a Symfony dependency (correct usage) or genuinely trying to use it inside Laravel (likely mis-scoped)? If the latter, what is the business driver versus Laravel-native notification tooling?
  2. Does any current or planned dependency require symfony/asset-mapper >= 8.2? If yes, this release is blocked and we must stay on 3.5.x or patch the constraint.
  3. What Mercure version is deployed, and is the hub shared infrastructure or per-app? The 0.5/0.6/0.8 matrix implies we must pin explicitly.
  4. What is the minimum PHP and Symfony component version we support, and does 3.6.0's tooling bump (#4086) imply a raised CI/dev floor?
  5. Is there an owning team with Symfony competence, or would this become an orphaned dependency?

Integration Approach

Stack fit. Treat this as a Symfony-side component in a polyglot estate, not a Laravel package. Clean fit exists in a Symfony app using Flex, Twig, AssetMapper and a Mercure hub. In a pure Laravel app, fit is poor; in a mixed estate with a shared Mercure hub, the more sensible pattern is notify from Symfony, consume in Laravel — publish notification events on Mercure and render them with a small Laravel/Vite toast consumer. That keeps Laravel native and gets the real interoperability benefit.

Migration path. If adopting inside Symfony: upgrade 3.5.x → 3.6.0 as a routine minor, no code changes expected. If pursuing Laravel integration: (1) spike a Mercure topic contract first, (2) build the Blade/Vite renderer, (3) vendor or port the Stimulus controller, (4) only then evaluate whether symfony/ux-notify remains a runtime dependency at all — in most Laravel scenarios it will not, and we would carry the dependency without using its bundle surface.

Compatibility. Verify before merging: PHP floor, Symfony component ranges, symfony/asset-mapper must be < 8.2 or the install fails per #3919, Mercure hub version must match one of the declared ranges (^0.8, MercureBundle ^0.5/^0.6), and front-end asset pipeline must tolerate the Baseline-checked assets from #3904. Run composer why symfony/asset-mapper before committing to the upgrade; a transitive major bump is the likely failure path.

Sequencing.

  1. Confirm scope decision (Symfony-native vs. Laravel-native) — this gates everything else.
  2. Dependency audit for the asset-mapper 8.2 conflict.
  3. Pin Mercure versions explicitly in composer.json.
  4. Upgrade in a branch; validate asset delivery and notification rendering in a staging environment with a real hub.
  5. Only afterwards, decide on cross-framework consumption (Laravel consumer) as a separate, smaller workstream.

Operational Impact

Maintenance. Upstream cadence is steady and disciplined (minor-version tooling upkeep, README fixes, Baseline checks) — a positive maintenance signal. Budget for routine minors every few weeks during active development, plus occasional constraint-tightening releases like #3919 that can break Composer resolution without any API change. Pin with a caret constraint and review each minor, since the Mercure compatibility matrix is still moving.

Support. No first-party vendor support; reliance on Symfony community channels and GitHub issues. If this lands in a Laravel app, internal owners will be supporting an unsupported integration pattern — a real and under-estimated cost. Identify a named owner with Symfony UX familiarity before adoption.

Scaling. Notification rendering is lightweight and stateless; the scaling characteristics are dominated by the Mercure hub, not this package. Plan hub capacity, connection limits, and horizontal scaling at the Mercure layer. Server-side notification generation scales with the app tier; the Stimulus consumer is per-connection and will need CDN/HTTP-2 treatment at high concurrency.

Failure modes.

  • Dependency resolution failure on symfony/asset-mapper >= 8.2 (#3919) — build-blocking, no runtime warning.
  • Mercure version drift — silent incompatibility between the bundled integration and deployed hub, manifesting as notifications that never arrive rather than errors.
  • Asset pipeline divergence — assets validated against Web Platform Baseline (#3904) may behave inconsistently on older browsers in an enterprise fleet; confirm browser baseline expectations.
  • Twig/Stimulus coupling — any Laravel port that bypasses the bundle will silently lose upstream fixes and become an unmaintained fork.
  • Orphaned dependency — adopted for one feature, no owner, drift over 2–3 quarters.

Ramp-up. For a Symfony team: under a day to evaluate, roughly a sprint to production. For a Laravel team: 1–2 sprints of exploratory work with uncertain payoff, plus ongoing ownership of a bespoke bridge. Recommended position: do not adopt into Laravel as a Laravel package; adopt on the Symfony side and, if cross-framework notifications are the actual goal, integrate at the Mercure event layer. Version 3.6.0 itself is safe to take on the Symfony side once the asset-mapper constraint is confirmed clear.

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.
skyraptor/chatter
edlugz/sasapay
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