Find the right check
A control is unstyled or does not open
Check the panel first. Confirm that its provider registersFilamentFlexFieldsPlugin::make(). Adding the plugin to a different panel does not configure the panel you are viewing.
Then check publication:
--json report
locally when you need the exact affected file. --share cannot be combined with
--definitions or --locations.
The check does not publish or repair files. A successful report covers the assets
and delivery settings it inspected; it does not confirm that queue workers,
storage credentials, media conversions or browser network access are working.
Expected result: the component has its styling and responds to interaction. If it still fails, include the failed resource URL and relevant error in your report. See Installation and asset delivery.
The value does not save
Check the complete path rather than changing the field’s appearance:- The field name matches the attribute or relationship you intend to save.
- The database has the appropriate column type.
- The model’s assignment policy allows the intended attribute.
- Structured values have the appropriate cast; a default signature string does not have an array cast.
- Your save flow reads
$this->form->getState()rather than writing raw public state. - The field is not intentionally excluded from persistence, for example with
dehydrated(false). - A relationship uses its configured relationship save flow instead of an unrelated scalar column.
An optional Spatie class is missing
Compare the chosen field class or storage mode with Requirements & integrations.- If you intend to use Spatie, install the compatible package and complete the model and field setup from its guide.
- If you intend to use plain arrays, JSON translations or disk storage, use the corresponding non-Spatie configuration.
- For Media Library uploads, check the matching Filament plugin as well as Media Library and the media-capable model.
Select shows only the first results
Check whether you supplied a fixed options array or a paginated provider. Virtualization changes the rendered row window; it does not fetch another result page. For a provider, check the next-page cursor, search handling and selected-value resolution against the Select guide. Use consistent identifier types across returned options, saved values and model attributes. Expected result: a larger result set offers subsequent results and reopening restores the selected label. Do not load an entire large catalog merely to conceal a paging error.A thumbnail is missing or stays pending
These situations have different fixes:
Selecting
previewConversion('thumb') does not create thumb. A pending or unavailable conversion may follow the configured fallback; seeing the original is not proof that the conversion job succeeded.
See native image processing, Spatie media and upload image previews.
The upload finished but the record failed to save
Temporary transfer, permanent storage and record acceptance are separate stages. Resolve the form/database failure, then follow the configured staging and retry workflow. A custom save path needs its completion hooks. Do not delete staging files indiscriminately while retries or record acceptance are pending. Review Media OS lifecycle for retention and cleanup.An editor button is missing
Image editing and information editing are separate opt-in features. Check:- Whether
imageEditor()or the information-editor configuration is enabled on this field. - Whether the file type is eligible for the selected editor.
- Whether the field is editable in the current operation.
- Which information fields and languages you configured.
Camera or microphone is unavailable
Check these in order:- Use HTTPS or an allowed local origin.
- Confirm that the browser supports the capture API used by the feature.
- Check site and operating-system permissions.
- Check that the device is available and not blocked by another application.
- For recording, check supported output formats. For hardware settings, check the selected camera’s detected capabilities.
A setting change has no effect
First check its scope: application default, panel option or explicit field setting. A field’s explicit setting may replace an application default. Verify that you changed the panel that serves the page. If you published and edited Laravel configuration, clear or rebuild the configuration cache according to your environment:vendor:publish --force to troubleshoot a single setting.
Dates, languages or direction look wrong
Compare the interface locale, content locale list, display format, storage format, timezone and RTL setting separately. Changing one does not automatically change the others. Date/timetimeZone() does not convert stored wall time.
Expected result: the field follows the selected configuration and restores the intended saved value. See Configuration & styling and date/time formats.