-
-
Notifications
You must be signed in to change notification settings - Fork 42
Description
What happened?
Description
Installing this package in a project that uses standalone Filament components (only filament/tables and filament/forms via Livewire) breaks the entire application by forcing a global Panel requirement.
Because this package requires the full filament/filament package as a dependency, installing it triggers Filament's strict Panel checks. Any generic actions (create, edit, ) used elsewhere in the application (associated with independent filament forms and tables) suddenly throw a NoDefaultPanelSetException, even if they are not related to the Kanban board.
How to reproduce the bug
Steps to Reproduce
- Create a Laravel project and install only filament/forms and filament/tables (Standalone mode, no Admin Panel).
- Create a standard table with some actions (like create user or edit user actions) accessed via route (users.index).
- Install the relaticle/flowforge package via Composer.
- Implement a user tasks feature for flowforge kanban say in a separate route (tasks.index).
- Go back and attempt to trigger any action on the standalone table for users in the route (users.index).
The application crashes with:
[Bug]: Filament\Exceptions\NoDefaultPanelSetException vendor\filament\filament\src\PanelRegistry.php:32 No default Filament panel is set. You may do this with the default() method inside a Filament provider's panel() configuration.
The Workaround Used
Currently, the only way to make the application function again is to create a "Dummy" Panel provider just to satisfy the package's internal dependency checks:
PHP
public function panel(Panel $panel): Panel
{
return $panel
->default() // Satisfies the exception
->id('dummy-flowforge')
->path('hidden-path')
->login(null)
->registration(null)
->passwordReset(null)
->emailVerification(null)
->profile(null)
...
;
}
However, this causes side effects with Livewire state and middleware bindings (e.g., auth()->user() returning null inside form schema closures on the Kanban board) because the component is now running through the isolated Panel middleware instead of the standard web middleware.
Expected Behavior
The package should ideally support standalone Livewire usage without forcing a hard dependency on the full filament/filament Panel Builder. If it is intended to be used strictly inside an Admin Panel, I could not find it explicitly stated in the documentation as a limitation; from what I see it like the documentation assumes a full admin panel for filamentphp is present.
Alternatively, if it is meant to support standalone usage, the internal actions used by the package should be refactored to not assume a default Panel context.
Should the full filament/filament package be a requirement when installing Relaticle/flowforge in a Laravel project that only uses filament/forms and filament/tables without need for the full panel?
If the issues is on my setup/configuration of the package for a Laravel project using only filament forms and tables without the full filamentphp panel, I would be glad to correct that and update the documentation accordingly.
Package Version
4.0.3
PHP Version
8.4
Laravel Version
12.52.0
Which operating systems does with happen with?
Windows
Notes
No response