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 Chat

Filament Chat Laravel Package

asignua/filament-chat

Filament Chat adds real-time messaging to Filament admin panels. Drop-in chat components let you build conversations, direct messages, and threaded chats with a clean, native Filament UI, ideal for support inboxes, team communication, or customer chat inside your app.

View on GitHub
Deep Wiki
Context7

Internal team chat for Filament 5 panels: direct messages and groups, @mentions, replies, editing, reactions, read receipts, unread counters in navigation, tab title and favicon, a full chat page and a slide-over you can pin next to any page, and record references — drop a link to a panel record and it becomes a card. Real-time through Laravel Reverb, Pusher or Ably, or plain polling; ten languages.

Frequently asked questions about Filament Chat
What is asignua/filament-chat and what does it add to a Laravel Filament panel?
asignua/filament-chat is a Composer package that adds internal team chat to Filament 5 panels. It supports direct messages, groups, @mentions, replies, editing, reactions, read receipts, unread counters, tab title and favicon notifications, a full chat page, and a pinnable slide-over. Messages can also reference panel records, turning a link into a card inside the conversation.
How do I install Filament Chat in a Laravel application?
Install it with Composer using asignua/filament-chat, then follow the package documentation to publish its configuration, migrations, and front-end assets. Register the chat plugin or components with your Filament panel provider so the chat page and slide-over are available. Run the migrations and clear Laravel and Filament caches. Because installation details can change between releases, confirm the exact commands against the repository README for your version.
Does Filament Chat support real-time messaging with Laravel Reverb, Pusher, or Ably?
Yes. The package supports real-time delivery through Laravel Reverb, Pusher, or Ably, and it also supports plain polling for installs without websocket infrastructure. You configure the broadcast driver according to your Laravel broadcasting setup. For teams already using Reverb or Pusher, this lets chat reuse existing real-time infrastructure rather than adding a separate service.
Can Filament Chat work without websockets by using polling?
Yes, Filament Chat can run in polling mode when websockets are not available or not desirable. Version 1.5.0 adds a filament-chat-incoming browser event that is useful for polling-based deployments and can drive client-side sound or desktop notifications. Review the event payload in your installation before wiring custom listeners. Polling is a practical way to improve chat UX without adding Reverb, Pusher, or Ably infrastructure.
What chat features are included for direct messages, groups, mentions, replies, and reactions?
Filament Chat includes direct messages and group conversations, @mentions, threaded replies, message editing, and emoji reactions. It also provides read receipts, unread counters in navigation, and unread indicators in the browser tab title and favicon. These features are designed to feel native inside a Filament 5 admin panel rather than as a separate chat application.
How do record references work in Filament Chat messages?
Record references let you drop a link to a Filament panel record into a chat message, where it is rendered as a card. This is useful for sharing users, orders, tickets, or other Eloquent-backed records without pasting raw URLs. The card gives teammates context and a direct path back to the record inside the panel. Confirm the supported record types and authorization behavior in the package documentation.
Which Laravel, PHP, Filament, and Livewire versions does Filament Chat support?
Filament Chat is built for Filament 5 panels and Laravel applications that use Filament and Livewire. The provided package context does not list exact Laravel, PHP, Filament, or Livewire version constraints, so check the package composer.json and Packagist metadata before upgrading. Test the package against your application's current framework and Livewire versions in a branch. This is especially important if you use strict Eloquent settings such as Model::preventLazyLoading().
What changed in Filament Chat v1.5.0 and is the upgrade safe?
Version 1.5.0 is described as an additive minor release with no indicated breaking changes. It adds a last_read_at migration for participants, a ChatService::changed($conversation) method for non-message re-render signals, a filament-chat-incoming browser event, and a setRelation fix that improves conversation-scoped message queries under strict Eloquent lazy-loading settings. Existing installs should continue working if the new migration is not applied, but read-time features will be unavailable.
How should I handle the read receipts migration and last_read_at column safely?
Treat the add_last_read_at_to_filament_chat_participants migration as an optional but recommended upgrade step. Apply it in staging first, clear caches, and verify read receipts and unread counters before production. Test with Model::preventLazyLoading() enabled and confirm that ChatConfig::readTimeAvailable() behaves correctly when the migration is absent. For very large participant tables, plan the migration window and monitor it during rollout.
Is Filament Chat suitable for production and how should I test and maintain it?
Filament Chat is aimed at Laravel and Filament applications that need internal team chat, support inboxes, or customer conversations inside the panel. Before production, run your full test suite with lazy-loading prevention enabled, validate websocket or polling behavior, and test the read receipts migration in staging. Maintenance surface is relatively small in v1.5.0: one optional migration, one service method, one browser event, and a relation-loading fix. Monitor releases and confirm event payloads and read-time semantics when building custom extensions.
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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console