filagora/filagora-messages
A Laravel and Filament package for adding private messaging to your application. It provides conversations, message threads, and a clean UI for sending and receiving messages between users, with straightforward installation and integration into existing Filament panels.
filagora/forums ^0.6 without re-platforming or rewriting message flows.MessageAttachmentAccess), and what happens to files when a conversation or user is deleted (foreign keys that clear rather than cascade). That is meaningful security/compliance work you would otherwise spec, build, and test yourself.filagora:messages:link-attachments command, and the AttachmentLinks idempotent installer together signal that partial/aborted rollouts are an expected state. That is a rollout-plan input (maintenance window, support runbook), not just an engineering note.Consider it when:
filagora/filagora-forums (or are willing to adopt it), since attachments reuse its attachments table via a declared schema extension that filagora:adopt recognizes.Look elsewhere when:
^0.6 sibling package means APIs and schema can still move.To executives: This release closes the most common gap in in-app messaging — sharing files inside a private conversation — without forcing us to build file permissions and deletion handling from scratch. It's opt-in: we can ship messaging first and switch attachments on later, so it doesn't block the current timeline. The genuine value is in the access and lifecycle rules (only current conversation participants can see a file; deletions detach rather than silently destroy), which is the part that usually becomes a security or legal review. Main caveat to price in: it depends on a second pre-1.0 package, and the upgrade path is designed for partial failure, so we should budget a runbook and a retention-policy decision alongside the engineering ticket.
To engineering: Attachments land as an optional integration, not a hard dependency. A migration dated after the forums attachments table adds private_message_id and private_conversation_id as clearing (not cascading) foreign keys; filagora:messages:link-attachments adds them post-hoc, and AttachmentLinks converges any half-applied state, so rollout is safely re-runnable. Sending and replying claim the sender's own pending uploads referenced in the body (ClaimMessageAttachments), visibility is enforced through MessageAttachmentAccess, and PrivateMessage::attachments() is the read path. The columns are declared as a schema extension of the forums snapshot so filagora:adopt accepts an already-extended table. Two asks before we commit: pin and verify the ^0.6 forums contract, and confirm our orphan-cleanup story for cleared keys.
How can I help you explore Laravel packages today?