- What is Fluppy and how is it different from Filament's FileUpload field?
- Fluppy is a Laravel package that replaces Filament's default FileUpload field with an Uppy dashboard, adding chunked and resumable uploads, S3 multipart, and sources such as the camera, a URL, your disks, Google Drive and Dropbox. It extends FileUpload rather than reimplementing it, so validation rules, disk configuration, directory conventions and modifiers like imageEditor() and reorderable() are inherited. In practice adoption is a one-word change at the field level, and reverting is the same one-word change.
- Which Laravel and Filament versions does Fluppy require?
- Fluppy requires PHP 8.2+ and Filament 4 or 5, and it does not support Filament 3 panels. The package does not publish a Laravel version matrix, so confirm compatibility against your pinned framework version before scheduling the work. Pin the constraint at ^1.0 and expect a coordinated upgrade when a future Filament major is released.
- How do I install and configure Fluppy in a Filament panel?
- Require saade/fluppy with Composer, then swap the field's class from Filament's FileUpload to the Fluppy field in your form schema. You also need to import the package's CSS into your panel theme and rebuild the front-end assets. Enable only the upload sources you actually need instead of leaving every source on by default.
- Why does Fluppy need a custom Filament theme and an asset build?
- The package ships an uncompiled CSS file that must be @imported and @sourced into your panel theme and then rebuilt, so panels running only the default Filament theme need one created first. This is the main setup friction and makes asset compilation a hard prerequisite rather than a styling nicety. In CI, run composer install before the asset build so the vendor path exists when the front-end build runs.
- Why do large chunked uploads still fail, and which server limits matter?
- Chunked uploads only help if the chunk size sits below upload_max_filesize, post_max_size, your web server's body limit, and any proxy or WAF request-body limit. On multi-node or autoscaled deployments, on-disk chunk assembly also needs shared storage so every node sees the same parts. Run the fluppy:doctor command to check the whole chain, and run it in every environment rather than only on a developer laptop.
- Does Fluppy support S3 multipart uploads?
- Yes, S3 multipart is one of its headline features alongside chunked and resumable uploads. The bucket needs CORS configured for your panel's origin plus permissions for the multipart operations such as create, upload part, complete and abort. The fluppy:doctor command helps verify this chain during setup.
- Which upload sources does Fluppy support, and are they all free?
- The field supports the camera, importing from a URL, your configured disks, Google Drive, Dropbox and more, but ready-made connectors, custom sources and AI image generation live in the paid Pro tier. Third-party cloud sources usually mean per-provider OAuth client credentials, redirect URIs and provider app verification, which your Laravel app now manages instead of a Companion server. Enable only the sources you can support, and decide early whether a Pro dependency is acceptable.
- Does resumable upload really work after a page reload or a dropped connection?
- Resuming depends on Uppy fingerprinting the same file plus whatever session state the server retains, so it is not purely a front-end concern. Test it with real reloads and on flaky networks before promising resumability to your users. Treat it as a UX claim to verify in your own environment rather than something to assume.
- Can I keep my existing validation rules, disk config and field modifiers?
- Yes. Because Fluppy extends Filament's FileUpload, existing validation rules, disk and directory configuration, and modifiers such as imageEditor(), reorderable(), openable() and downloadable() are inherited rather than re-derived. Chunked transport changes how bytes arrive, so confirm in your own tests that validation runs on the assembled file rather than per chunk.
- Is Fluppy production-ready, and who maintains it?
- Version 1.0.0 with an explicit ^1.0 constraint is a reasonable stability signal, but it is a single-author package, so bus factor is the real consideration. The core is MIT licensed and forkable, which mitigates that risk, while the Pro tier is not. Adopt it on new or actively developed Filament panels first and keep the default FileUpload for small, simple attachments.