-
-
Notifications
You must be signed in to change notification settings - Fork 588
Open
Labels
Description
Bug description
Using the live preview is fine until the token is older then (I think) one hour.
Visiting that site (or any other) after this time will lead to a 404-error with this error code:
[2025-07-01 06:45:07] production.ERROR: Call to a member function repository() on null {"exception":"[object] (Error(code: 0): Call to a member function repository() on null at /var/www/statamic-cms/vendor/statamic/cms/src/Tokens/Handlers/LivePreview.php:18)
This error is only resolved if a new token is generated. That (probably) only happens if we call a new live preview.
How to reproduce
- Live preview a page
- Visit that page via URL
- Wait >1 hour
- Refresh the page that you visited via URL
- you now get a 404 response
Logs
[2025-07-01 06:45:07] production.ERROR: Call to a member function repository() on null {"exception":"[object] (Error(code: 0): Call to a member function repository() on null at /var/www/statamic-cms/vendor/statamic/cms/src/Tokens/Handlers/LivePreview.php:18)
[stacktrace]
#0 /var/www/statamic-cms/vendor/statamic/cms/src/Tokens/Token.php(59): Statamic\\Tokens\\Handlers\\LivePreview->handle()
#1 /var/www/statamic-cms/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(18): Statamic\\Tokens\\Token->handle()
#2 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle()
#3 /var/www/statamic-cms/vendor/statamic/cms/src/Http/Middleware/RequireStatamicPro.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#4 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\RequireStatamicPro->handle()
#5 /var/www/statamic-cms/vendor/statamic/cms/src/GraphQL/Middleware/CacheResponse.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\GraphQL\\Middleware\\CacheResponse->handle()
#7 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then()
#9 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack()
#10 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute()
#11 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute()
#12 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#13 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#14 /var/www/statamic-cms/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle()
#16 /var/www/statamic-cms/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle()
#18 /var/www/statamic-cms/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle()
#20 /var/www/statamic-cms/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#21 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle()
#22 /var/www/statamic-cms/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#23 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle()
#24 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#25 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#26 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#27 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#29 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#30 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#31 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#32 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#33 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#34 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle()
#36 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#38 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#40 /var/www/statamic-cms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#41 /var/www/statamic-cms/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle()
#42 {main}
"}
Environment
Environment
Application Name: Actiware
Laravel Version: 10.48.25
PHP Version: 8.2.15
Composer Version: 2.7.1
Environment: production
Debug Mode: ENABLED
URL: cmsapi.actiware.de
Maintenance Mode: OFF
Cache
Config: CACHED
Events: NOT CACHED
Routes: CACHED
Views: CACHED
Drivers
Broadcasting: log
Cache: file
Database: mysql
Logs: stack / single
Mail: smtp
Queue: sync
Session: file
Statamic
Addons: 2
Sites: 2 (Deutsch, Schweizerdeutsch)
Stache Watcher: Disabled
Static Caching: half
Version: 5.58.1 PRO
Statamic Addons
aerni/font-awesome: 3.0.2
teamnovu/graphql-breadcrumbs: 1.0.7
Installation
Fresh statamic/statamic site via CLI
Additional details
I have played around a bit and one thing that would resolve this is adding
if (!$item) {
return $next($request);
}
before src/Tokens/Handlers/LivePreview.php:18
.
But I am unsure if that would lead to any sideeffects I am unaware of.