Download the PHP package qalainau/filament-team-chat without Composer
On this page you can find all versions of the php package qalainau/filament-team-chat. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download qalainau/filament-team-chat
More information about qalainau/filament-team-chat
Files in qalainau/filament-team-chat
Package filament-team-chat
Short Description A Slack-like team chat plugin for Filament v5
License MIT
Homepage https://github.com/qalainau/filament-team-chat
Informations about the package filament-team-chat
Filament Team Chat
A complete Slack-like team chat for Filament v5. Drop it into any panel — channels, DMs, threads, reactions, mentions, file sharing, search, and unread tracking work out of the box. Self-hosted, no external services needed.
Why Filament Team Chat?
- Zero external dependencies — No Pusher, no Redis, no WebSocket server. Works with Livewire polling out of the box.
- Filament-native — Lives inside your Filament panel. Uses your existing auth, your existing users, your existing database.
- Multi-tenant ready — Optional
team_idscoping with automatic Filament tenant detection. - Self-hosted — Your data stays on your server. No third-party chat services.
Screenshots
| Threaded Conversations Click any message to reply in a side panel — just like Slack. |
File Attachments Share images (with inline preview) and documents. |
| Dark Mode Full dark mode support, following your Filament panel theme. |
|
Features
Messaging
- Channels — Public and private channels with member management
- Direct Messages — 1-on-1 and group DMs
- Threads — Reply to any message in a side panel, with reply count on the main feed
- Markdown — Messages support bold, italic,
code, lists, and links - Edit & Delete — Edit or soft-delete your own messages (hover action bar)
Collaboration
- Reactions — 8 built-in emoji reactions (toggle on/off)
- @Mentions —
@user,@channel,@herewith live autocomplete - File Attachments — Upload multiple files per message, image previews, download links
- Search — Full-text search across all channels and DMs you belong to
Awareness
- Unread Badges — Per-channel/DM unread counts with automatic read tracking
- Instant Refresh — Your own messages appear immediately; others update via polling
- Online Status — Presence indicators and custom status text
- Notifications — Database notifications for @mentions and DMs
Management
- Inline Channel Settings — Edit name, topic, and visibility directly in the chat header (owner only)
- Archive Channels — Soft-archive channels to hide them from the sidebar
- Public Auto-Join — Public channels appear for all users; clicking auto-joins
- Member List — View channel/DM members with online indicators and profile cards
Technical
- Multi-Tenancy — Optional
team_idscoping with Filament tenant auto-detection - Dark Mode — Follows your Filament panel theme
- 102 Tests — Comprehensive test suite with Orchestra Testbench
Installation
Publish and run the migrations:
Getting Started
1. Register the Plugin
2. Add the Trait to Your User Model
3. Notifications Table (if needed)
Required for @mention and DM notifications:
4. Tailwind CSS Setup
The plugin uses Tailwind CSS classes that must be included in your Filament theme.
If you don't have a custom theme yet, create one first:
Then add the package views as a source in your theme file:
Build the theme:
Done! Visit /admin/team-chat to start chatting.
Configuration
Publish the config file:
Multi-Tenancy
Set tenancy.enabled to true to scope channels and conversations per team. The resolver supports:
| Mode | Config | Behavior |
|---|---|---|
| Auto (default) | null |
Uses Filament::getTenant() |
| Callable | fn () => auth()->user()->team_id |
Custom closure |
| Class | TenantResolver::class |
Must have resolve() method |
Programmatic API
All features are available as PHP classes — useful for seeders, commands, or integrations.
Channels & DMs
Messages
Reactions, Read Tracking, Search
Architecture
Database
All tables use a configurable tc_ prefix:
| Table | Purpose |
|---|---|
tc_channels |
Public/private channels (optional team_id) |
tc_channel_user |
Channel membership pivot with roles |
tc_conversations |
1-on-1 and group DMs (optional team_id) |
tc_conversation_user |
DM participant pivot |
tc_messages |
Polymorphic messages (Channel or Conversation) |
tc_reactions |
Emoji reactions per message per user |
tc_attachments |
File metadata (name, path, MIME, size) |
tc_mentions |
@user / @channel / @here per message |
tc_read_receipts |
Per-user last-read tracking (polymorphic) |
tc_user_statuses |
Online status, display name, custom status |
Livewire Components
| Component | Role | Updates |
|---|---|---|
Sidebar |
Channel/DM list, unread badges, create/join | 5s poll + event |
MessageFeed |
Messages, reactions, edit/delete, reply | 3s poll + event |
MessageComposer |
Input, file upload, @mention autocomplete | on submit |
ChannelHeader |
Name, topic, members, settings, archive | on event |
ThreadPanel |
Threaded replies with own composer | 3s poll |
SearchModal |
Full-text search across channels/DMs | on input |
MemberList |
Member list with online status | on open |
UserProfileCard |
Profile popup with DM shortcut | on open |
Testing
102 tests covering channels, DMs, threads, reactions, mentions, attachments, search, read receipts, notifications, user status, and channel management.
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.