Summary: Upgrade Filament to v5 (Livewire v4), replace Filament v4-only plugins, add first-party JSON renderer, and harden Monitoring/Ops UX guardrails. What I changed: Composer: upgraded filament/filament → v5, removed pepperfm/filament-json and lara-zeus/torch-filament, added torchlight/engine. Views: replaced JSON viewer with json-viewer.blade.php and updated snapshot display. Tests: added DB-only + tenant-isolation guard tests under Monitoring and OpsUx, plus Filament smoke tests. Specs: added/updated specs/057-filament-v5-upgrade/* (spec, tasks, plan, quickstart, research). Formatting: ran Pint; ran full test suite (641 passed, 5 skipped). Validation: Ran ./vendor/bin/sail artisan test (full suite) — all tests passed. Ran ./vendor/bin/sail pint --dirty — formatting applied. Ran npm run build locally (Vite) — assets generated. Notes / Rollback: Rollback: revert composer.json/composer.lock and build assets; documented in quickstart.md. One pending app migration was noted during validation; ensure migrations are applied in staging before deploy. Reviewers: @frontend, @backend (adjust as needed) Spec links: spec.md tasks.md quickstart.md Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #66
18 lines
630 B
PHP
18 lines
630 B
PHP
<?php
|
|
|
|
it('ships a Filament notifications asset compatible with Livewire v4 message hook order', function () {
|
|
$js = file_get_contents(public_path('js/filament/notifications/notifications.js'));
|
|
|
|
$shim = file_get_contents(public_path('js/tenantpilot/livewire-intercept-shim.js'));
|
|
|
|
expect($js)
|
|
->toContain('onFinish')
|
|
->and($js)->toContain('onSuccess')
|
|
->and($js)->not->toContain('onRender');
|
|
|
|
expect($shim)
|
|
->toContain('TenantPilot shim')
|
|
->and($shim)->toContain('Livewire.interceptMessage')
|
|
->and($shim)->toContain('__tenantpilotInterceptMessageShimApplied');
|
|
});
|