-
Notifications
You must be signed in to change notification settings - Fork 95
Open
Labels
Description
Bug description
Assets without metadata trigger an exception and prevent the Control Panel from listing assets in the affected directory.
Exception Details
- Class:
TypeError - Message:
Carbon\Carbon::createFromTimestamp(): Argument statamic/cms#1 ($timestamp) must be of type string|int|float, null given, called in .../vendor/statamic/cms/src/Assets/Asset.php on line 598 - Code:
0 - Handled:
false - File:
vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php:29
Stack Trace (most recent call first)
- [0] Carbon\Carbon::createFromTimestamp()
at vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php:29 - [1] Carbon\Carbon::createFromTimestamp()
at vendor/statamic/cms/src/Assets/Asset.php:598 - [2] Statamic\Assets\Asset->lastModified()
at vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23 - [3] Illuminate\Http\Resources\Json\JsonResource->forwardCallTo()
at vendor/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php:155 - [4] Illuminate\Http\Resources\Json\JsonResource->__call()
at vendor/statamic/cms/src/Http/Resources/CP/Assets/FolderAsset.php:19 - [5] Statamic\Http\Resources\CP\Assets\FolderAsset->toArray()
at vendor/laravel/framework/src/Illuminate/Collections/HigherOrderCollectionProxy.php:66 - [6] Illuminate\Support\HigherOrderCollectionProxy->Illuminate\Support{closure}()
at [internal function]
...
How to reproduce
- Configure Statamic to use the Eloquent assets metadata driver.
- Ensure an asset exists where the metadata is present but does not include anything:
{
"data": []
}
-
Open the Control Panel and navigate to the asset container / folder that includes this asset.
-
The Control Panel fails to list the assets and throws the exception (createFromTimestamp(null)).
Temporary hotfix / workaround
Manually setting a last_modified timestamp in the metadata prevents the exception, e.g.:
{
"data": [],
"last_modified": 1711738717
}
We haven’t identified the root cause yet. In our case, assets with missing metadata appear intermittently across multiple file types (e.g. .mp4, .jpg, .png).
Logs
Environment
Environment
Laravel Version: 12.41.1
PHP Version: 8.3.27
Composer Version: -
Environment: production
Debug Mode: OFF
Maintenance Mode: OFF
Timezone: UTC
Locale: en
Cache
Config: CACHED
Events: CACHED
Routes: CACHED
Views: CACHED
Drivers
Broadcasting: log
Cache: redis
Database: mysql
Logs: stack / single, flare, nightwatch
Mail: ses
Queue: database
Scout: database
Session: redis
Storage
public/storage: NOT LINKED
disk: s3
Statamic
Addons: 4
Sites: 27
Stache Watcher: Disabled
Static Caching: Disabled
Version: 5.70.0 PRO
Statamic Addons
statamic/eloquent-driver: 4.35.1
Statamic Eloquent Driver
Asset Containers: eloquent
Assets: eloquent
Blueprints: file
Collection Trees: eloquent
Collections: file
Entries: eloquent
Fieldsets: file
Form Submissions: file
Forms: eloquent
Global Sets: eloquent
Global Variables: eloquent
Navigation Trees: eloquent
Navigations: file
Revisions: eloquent
Sites: file
Taxonomies: file
Terms: eloquent
Tokens: eloquentInstallation
Existing Laravel app
Additional details
No response