roundly-consulting/messages-for-laravel
Messages for Laravel provides a clean, simple API for composing, queuing, and delivering messages within your Laravel application. It supports multiple channels and customizable templates, streamlining in-app and user-to-user communication with minimal setup.
messages.resources.participant key allows teams to customize participant payloads via a JsonResource, reducing the need to fork the package. However, integration requires coordination with API clients and notification consumers because payload contracts change.participant.type, reply_to.sender_type, and notification sender_type now use the model’s class basename (User) instead of the morph type/full class name (App\Models\User). Clients parsing full class names will break. Stored notifications with old sender_type values may remain. Deleted participants now render as null instead of stored IDs; sender for a non-participating model renders {id,type} instead of null. Published stubs do not auto-update. Invalid messages.resources.participant config throws InvalidConfigurationException. Semver concern: a minor release includes breaking public payload changes.null participant when deleted. If a morph map exists, verify basenames match expected aliases (or add mapping). Re-publish or manually update messages-resources and messages-notifications stubs. Configure messages.resources.participant to a custom resource if additional fields (names, avatars, etc.) are required. Consider backfilling or versioning stored notification data if old sender_type values must remain readable.InvalidConfigurationException and null participant handling.messages.resources.participant config throws InvalidConfigurationException at runtime; stale stubs produce inconsistent payloads; clients expecting full class names fail; deleted participants yield null and may break UI if unhandled; old notifications with full class names may render inconsistently.How can I help you explore Laravel packages today?