After creating a user, when returning to the index the following error occurs:
[2020-12-17 14:44:18] production.ERROR: Call to a member function url() on null {"userId":"f3cfccc2-ec08-4767-9174-2c2daebe49c8","exception":"[object] (Error(code: 0): Call to a member function url() on null at /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Auth/HasAvatar.php:46)
[stacktrace]
#0 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Auth/HasAvatar.php(17): Statamic\\Auth\\User->avatarFieldUrl()
#1 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Statamic\\Auth\\User->avatar()
#2 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php(148): Illuminate\\Http\\Resources\\Json\\JsonResource->forwardCallTo()
#3 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Http/Resources/CP/Users/ListedUser.php(36): Illuminate\\Http\\Resources\\Json\\JsonResource->__call()
#4 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(95): Statamic\\Http\\Resources\\CP\\Users\\ListedUser->toArray()
#5 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(231): Illuminate\\Http\\Resources\\Json\\JsonResource->resolve()
#6 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(800): Illuminate\\Http\\Resources\\Json\\JsonResource->jsonSerialize()
#7 [internal function]: Illuminate\\Support\\Collection->Illuminate\\Support\\Traits\\{closure}()
#8 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(808): array_map()
#9 [internal function]: Illuminate\\Support\\Collection->jsonSerialize()
#10 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(71): json_encode()
#11 /home/forge/.../releases/20201210-092452/vendor/symfony/http-foundation/JsonResponse.php(50): Illuminate\\Http\\JsonResponse->setData()
#12 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(31): Symfony\\Component\\HttpFoundation\\JsonResponse->__construct()
#13 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(99): Illuminate\\Http\\JsonResponse->__construct()
#14 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/PaginatedResourceResponse.php(26): Illuminate\\Routing\\ResponseFactory->json()
#15 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceCollection.php(132): Illuminate\\Http\\Resources\\Json\\PaginatedResourceResponse->toResponse()
#16 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceCollection.php(112): Illuminate\\Http\\Resources\\Json\\ResourceCollection->preparePaginatedResponse()
#17 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Routing/Router.php(765): Illuminate\\Http\\Resources\\Json\\ResourceCollection->toResponse()
#18 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Routing/Router.php(752): Illuminate\\Routing\\Router::toResponse()
#19 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Routing/Router.php(692): Illuminate\\Routing\\Router->prepareResponse()
#20 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#21 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Http/Middleware/CP/CountUsers.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#22 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CP\\CountUsers->handle()
#23 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Http/Middleware/CP/Localize.php(16): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CP\\Localize->handle()
#25 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Http/Middleware/CP/Authorize.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CP\\Authorize->handle()
#27 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Http/Middleware/CP/ContactOutpost.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CP\\ContactOutpost->handle()
#29 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Http/Middleware/CP/ControlPanel.php(16): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#30 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CP\\ControlPanel->handle()
#31 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#33 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(77): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#35 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#37 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#39 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#40 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#42 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#44 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Http/Middleware/SwapExceptionHandler.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\SwapExceptionHandler->handle()
#46 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#47 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Routing/Router.php(694): Illuminate\\Pipeline\\Pipeline->then()
#48 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Routing/Router.php(669): Illuminate\\Routing\\Router->runRouteWithinStack()
#49 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRoute()
#50 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->dispatchToRoute()
#51 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch()
#52 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#53 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#54 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CheckMultisite->handle()
#55 /home/forge/.../releases/20201210-092452/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#56 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\PoweredByHeader->handle()
#57 /home/forge/.../releases/20201210-092452/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(60): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#58 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle()
#59 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#60 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#61 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#62 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#63 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#64 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#65 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#66 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#67 /home/forge/.../releases/20201210-092452/vendor/fruitcake/laravel-cors/src/HandleCors.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#68 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#69 /home/forge/.../releases/20201210-092452/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#70 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
#71 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#72 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then()
#73 /home/forge/.../releases/20201210-092452/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#74 /home/forge/.../releases/20201210-092452/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#75 {main}
"}
This is solved after running php please stache:clear
Statamic 3.0.34 Pro
Laravel 8.18.1
PHP 7.4.13
Are you using a custom assets field for your avatar? Also, are you using the initials avatar or the Gravatar ones?
Ya I saw this recently as well, didn't have time to track it down. Also solved w/ a cache clear. In my case we haven't done anything w/ the default User blueprint, it's stock.
I seem to be unable to reproduce this error locally. I've tried a couple of different variables: super user/non super user, stache watcher both true and false and the avatar being both initials and from gravatar.
Every time it seems to be working fine. Is there any more information you can provide about when the issue crops up?
Nothing changed about users. default blueprint.
It doesn't happen locally, only on our production server.
Nothing changed about users. default blueprint.
It doesn't happen locally, only on our production server.
That's weird. I'll retry tonight on a Forge server to see if I can re-create there.
Just attempted to re-create on one of my Forge Statamic sites that's running 3.0.34 but same, can't recreate. Very strange. I wonder why it's not happening for me. 馃
I have the stache file watcher turned off in production, that could be a setting that causes it?
I just ran into this on a freshly installed site on Laravel Forge + DigitalOcean.
Uploaded an avatar, saved, now the CP won't load.
I can confirm this bug.
It just happened for me in production. (Half caching, watcher turned off).
Fun one!
In Laravel 8, the collection's has method changed. Before 8, has would return false if the value was null. In Laravel 8, it's true.
What was happening was if you saved a user through the cp, it's data would would have 'avatar' => null, it thought that was enough to think there was an avatar, and try to get the url from nothing.
Ah ya, making it like the request method. I got bitten by that a while back. has means "is there a proper defined" NOT "does that property have a value".
That was a quick fix. Thanks!