escalated-dev/escalated-filament
A Filament v3 admin panel plugin for the Escalated support ticket system. Manage tickets, departments, SLA policies, escalation rules, and macros from your existing Filament panel, powered by escalated-laravel.
Architecture fit
escalated-dev/escalated-laravel ^1.9.0. It sits in the authorization/presentation layer of an existing support product: it owns panel resources and pages, but delegates identity, tenancy, and staff-seat resolution to the parent package.Support\StaffSeat (wraps escalated-laravel's StaffAccess) and Support\PanelAccess (resolves configured gate names). This is the right shape: gate naming is configurable rather than hard-coded, and seat checks are centralized instead of scattered across resources.agentGate() / adminGate() were documented but never read, meaning every prior version exposed webhooks, API tokens, roles, automations, macros, skills, custom fields, KB articles, newsletters, reports, settings, and the ticket list to any user who could authenticate to the panel. Any deployment on ≤1.3.x should be treated as having a live authorization gap.Integration feasibility
escalated-agent / escalated-admin, or names passed to the plugin), so integration with existing Spatie Permission / Filament Shield role models is feasible, but requires an explicit mapping decision rather than an assumption.Technical risk — HIGH
TenantResolver::isAgent/isAdmin is also required. Hosts that granted access purely through global roles will silently lose per-account access.ApiTokenResource::tokenUserOptions() and the skill agent picker now list only seated agents. Where seats have not been backfilled, admins will see truncated or empty pickers and may misread this as data loss.ViewErrorBag Livewire patch script is a monkey-patch against Livewire internals, now matching 4.4 as well as 4.3. It will break on the next Livewire minor. Low user impact but a recurring test-suite interruption.Key questions
escalated-agent or escalated-admin? Can we produce that audit query before touching prod?Gate::define, Spatie permissions, or Filament Shield — and is the mapping 1:1 or does it need translation?Stack fit
escalated-laravel ^1.9.0 → frontend 0.12) means the host must be current on Filament and Livewire; teams pinned to older Filament should not attempt this upgrade opportunistically.Support\PanelAccess gives us a supported seam for custom gate names, which avoids forking the package to match our naming conventions.Migration path
Compatibility
Sequencing
Maintenance
PanelAccess, seat logic in StaffSeat, so future authorization changes are single-point edits.ViewErrorBag vendor patch is the standing maintenance liability — it requires review on every Livewire bump and can block CI on an otherwise unrelated upgrade. Track it as a known debt item with an owner.escalated-laravel to ^1.9.0 and treat future 1.x minors as reviewable, since this release demonstrates the parent package can ship breaking authorization changes in a minor.Support
Scaling
Failure modes
Ramp-up
How can I help you explore Laravel packages today?