Filament Chat Bubbles brings a complete real-time messaging experience to your Filament panel. Floating chat heads, a slide-over modal, and a dedicated full-page view — all powered by Laravel Echo with zero npm dependencies in the host project.
Ctrl+E code, Ctrl+B bold, Ctrl+I italic, Arrow-Up edit last, Escape cancel.You can install the package via Composer:
composer require aaix/filament-chat-bubbles
Run migrations and publish assets:
php artisan migrate
php artisan filament:assets
Add the package views to your panel's theme CSS so Tailwind picks up all utility classes:
/* resources/css/filament/admin/theme.css */
@source '../../../../vendor/aaix/filament-chat-bubbles/resources/views/**/*';
Then rebuild your theme:
npm run build
Optionally publish the configuration:
php artisan vendor:publish --tag=filament-chat-bubbles-config
Optionally publish the notification sound:
php artisan vendor:publish --tag=filament-chat-bubbles-assets
Register the plugin in your Filament panel provider:
use Aaix\FilamentChatBubbles\ChatBubblesPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
ChatBubblesPlugin::make(),
]);
}
Ensure broadcasting is configured:
php artisan install:broadcasting
Create the storage symlink (for file attachments):
php artisan storage:link
That's it. Chat bubbles will appear in the bottom-right corner of your panel, and the slide-over is accessible from the topbar.
The configuration file (config/filament-chat-bubbles.php) allows you to customize:
| Option | Default | Description |
|---|---|---|
user_model |
App\Models\User |
Your User model class |
user_name_attribute |
name |
Attribute used for display name |
user_avatar_attribute |
profile_picture_url |
Attribute used for avatar URL |
table_prefix |
fcb_ |
Database table prefix |
bubble_size |
48 |
Bubble diameter in pixels |
max_message_length |
5000 |
Maximum message body length |
attachments.disk |
public |
Storage disk for file uploads |
attachments.max_size |
50 MB |
Maximum upload file size |
attachments.max_per_message |
20 |
Maximum attachments per message |
link_previews.enabled |
true |
Enable link preview fetching |
presence.enabled |
true |
Enable online/idle tracking |
presence.idle_after |
300 |
Seconds before user is marked idle |
composer install
php artisan test --filter=ChatBubbles
Contributions are welcome! Please open an issue or submit a pull request.
The MIT License (MIT). Please see License File for more information.
How can I help you explore Laravel packages today?