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.
This release enforces the panel's agent and admin gates and requires escalated-laravel 1.9. Read Upgrading before deploying.
agentGate() / adminGate() are now enforced. Tickets, canned responses
and the support dashboard require the agent or admin gate; every other
Escalated resource and page requires the admin gate. Panel users who pass
neither get a 403 and see no Escalated navigation. Make sure your support
staff pass the configured gates (by default escalated-agent /
escalated-admin, or the names passed to the plugin) before upgrading, or
they lose access to the panel's Escalated pages.escalated-dev/escalated-laravel ^1.9.0. Follow that release's
upgrading notes first (frontend 0.12, migrations, private attachments,
verified guest access, requester-only inbound email replies, tenant staff
seats).StaffAccess (host gate plus the
tenant-local seat from TenantResolver::isAgent/isAdmin). A user with the
global flag but no seat in the current account is refused and is not offered
in the pickers.Support\StaffSeat checks staff access through escalated-laravel's
StaffAccess, and Support\PanelAccess resolves the plugin's gate names.
The API token user picker (ApiTokenResource::tokenUserOptions()) and the
skill agent picker list only seated agents. (#49, #50)ViewErrorBag vendor patch script matches Livewire 4.4 as well
as 4.3, so the test suite runs again on current Filament 5.7. (#47)agentGate() / adminGate() settings are now enforced. They were documented but never read, so every resource and page without an escalated-laravel model policy (webhooks, API tokens, roles, automations, macros, skills, custom fields, KB articles, newsletters, reports, settings, and more) was open to anyone who could sign in to the panel, and the ticket list was too. Tickets, canned responses and the support dashboard now require the agent or admin gate; every other resource and page requires the admin gate. Users without either gate get a 403 and see no Escalated navigation. Existing model policies still apply on top, and in tenant mode a staff seat in the current account is still required. Upgrade note: make sure your support staff pass the configured gates before upgrading, or they will lose access to the panel's Escalated pages.Allow Filament 5.5+ (resolves discussion #120). Removes the conflict cap that excluded Filament >= 5.5.0 — that cap existed only because every earlier 5.x carried the filament/actions advisory (PKSA-ndkp-2znf-9m7c), which is resolved in 5.5. The require constraint stays ^4.0 || ^5.0. Full CI matrix (PHP 8.2/8.3 x Laravel 11/12 x Filament 3/4/5) green.
TicketConversation and SatisfactionRating Livewire islands were mounted without a key(), so Livewire tracked both children under the same null slot in the parent page's children memo. When the parent re-rendered (e.g. switching relation-manager tabs) both placeholders resolved to the same previously-rendered child, swapping the satisfaction widget's content for the conversation thread. Each island now has a stable, record-scoped wire:key. (#35)filament/actions advisory PKSA-ndkp-2znf-9m7c in the root config.audit.ignore. It flags every released Filament 5.x with no advisory-clean version, so Composer 2.9+ excluded the whole line and the F^5.0 compatibility matrix could no longer resolve. Composer still caps at <5.5.0 via the existing conflict block (root / test-matrix only; does not propagate to host apps).Full Changelog: https://github.com/escalated-dev/escalated-filament/compare/v1.2.0...v1.2.1
Completes the Filament surface for the newsletter system on top of the base resources from #30.
NewsletterResource Send / Schedule / Test-send actions, ViewNewsletter page, NewsletterSettings page, MembersRelationManager for list membership, and a NewsletterOperations helper. Includes panel feature tests. (#39)escalated-dev/locale ^0.1 dependency.escalated-dev/escalated-laravel ^1.5.1 — the first Laravel release carrying the newsletter HTTP/service layer.color() compatibility on newsletter tables/actions.config.audit.ignore so the L^11 compat-matrix leg resolves under Composer 2.9+ (root/test-matrix only).Full Changelog: https://github.com/escalated-dev/escalated-filament/compare/v1.1.0...v1.2.0
docker/ (#21). docker compose up --build boots a Postgres-backed Laravel + Filament 4 host with the plugin registered and a /demo click-to-login picker. Excluded from the Composer dist.TicketResourceescalated.ui.enabled config gateshow_powered_by setting on Filament settings pageApiTokenResource (#23, fixes #22) — the rest of the resource code already targeted v4/5 (Filament\Schemas\Schema), but ApiTokenResource still used v3-style protected static ?string $navigationIcon. v4/5 requires string|BackedEnum|null and php artisan package:discover blew up at install time. Migrated all property-based statics to method getters.Reports.php selectRaw('AVG(TIMESTAMPDIFF(MINUTE, …))') (MySQL-only) 500'd on Postgres. Now branches on driver via a minutesDiffExpression helper covering sqlite | pgsql | mysql.escalated-laravel dependency now ^1.0Full changelog: https://github.com/escalated-dev/escalated-filament/compare/v1.0.0...v1.1.0
Major version bump to align with escalated-laravel v1.x.
show_powered_by setting on Filament settings pageescalated.ui.enabled config gate to control panel visibility| Dependency | Versions |
|---|---|
| PHP | ^8.2 |
| Laravel | 11.x / 12.x / 13.x |
| Filament | 4.x / 5.x |
| escalated-laravel | ^1.0 |
Update your composer.json:
"escalated-dev/escalated-filament": "^1.0"
Then run composer update escalated-dev/escalated-filament.
How can I help you explore Laravel packages today?