Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERROR: Unable to retrieve the visibility for file at location... #233

Closed
MikhailFerreira opened this issue Jul 3, 2023 · 7 comments · Fixed by #235
Closed

ERROR: Unable to retrieve the visibility for file at location... #233

MikhailFerreira opened this issue Jul 3, 2023 · 7 comments · Fixed by #235

Comments

@MikhailFerreira
Copy link

Hi @awcodes,

There seems to be an issue when deleting files from the library (FILESYSTEM_DISK=public).

Could you perhaps shed some light on this? Perhaps I'm missing some configuration?

Here's the error and stack trace I get:

ERROR: Unable to retrieve the visibility for file at location: media/96f646eb-9f3a-4267-a0d5-50621a185a52.jpg.  {"userId":1,"exception":"[object] (League\\Flysystem\\UnableToRetrieveMetadata(code: 0): Unable to retrieve the visibility for file at location: media/96f646eb-9f3a-4267-a0d5-50621a185a52.jpg.  at ...\\vendor\\league\\flysystem\\src\\UnableToRetrieveMetadata.php:49)
[stacktrace]
#0 ...\\vendor\\league\\flysystem\\src\\UnableToRetrieveMetadata.php(34): League\\Flysystem\\UnableToRetrieveMetadata::create('media/96f646eb-...', 'visibility', '', NULL)
#1 ...\\vendor\\league\\flysystem-local\\LocalFilesystemAdapter.php(369): League\\Flysystem\\UnableToRetrieveMetadata::visibility('media/96f646eb-...', '')
#2 ...\\vendor\\league\\flysystem\\src\\Filesystem.php(160): League\\Flysystem\\Local\\LocalFilesystemAdapter->visibility('media/96f646eb-...')
#3 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Filesystem\\FilesystemAdapter.php(443): League\\Flysystem\\Filesystem->visibility('media/96f646eb-...')
#4 ...\\vendor\\awcodes\\filament-curator\\src\\Models\\Media.php(40): Illuminate\\Filesystem\\FilesystemAdapter->getVisibility('media/96f646eb-...')
#5 [internal function]: Awcodes\\Curator\\Models\\Media->Awcodes\\Curator\\Models\\{closure}(NULL, Array)
#6 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Concerns\\HasAttributes.php(677): call_user_func(Object(Closure), NULL, Array)
#7 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Concerns\\HasAttributes.php(701): Illuminate\\Database\\Eloquent\\Model->mutateAttributeMarkedAttribute('url', NULL)
#8 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Concerns\\HasAttributes.php(213): Illuminate\\Database\\Eloquent\\Model->mutateAttributeForArray('url', NULL)
#9 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php(1638): Illuminate\\Database\\Eloquent\\Model->attributesToArray()
#10 ...\\vendor\\livewire\\livewire\\src\\HydrationMiddleware\\HydratePublicProperties.php(244): Illuminate\\Database\\Eloquent\\Model->toArray()
#11 ...\\vendor\\livewire\\livewire\\src\\HydrationMiddleware\\HydratePublicProperties.php(224): Livewire\\HydrationMiddleware\\HydratePublicProperties::filterData(Object(Awcodes\\Curator\\Resources\\MediaResource\\EditMedia), 'record')
#12 ...\\vendor\\livewire\\livewire\\src\\HydrationMiddleware\\HydratePublicProperties.php(112): Livewire\\HydrationMiddleware\\HydratePublicProperties::dehydrateModel(Object(Awcodes\\Curator\\Models\\Media), 'record', Object(Livewire\\Response), Object(Awcodes\\Curator\\Resources\\MediaResource\\EditMedia))
#13 [internal function]: Livewire\\HydrationMiddleware\\HydratePublicProperties::Livewire\\HydrationMiddleware\\{closure}(Object(Awcodes\\Curator\\Models\\Media), 'record')
#14 ...\\vendor\\livewire\\livewire\\src\\HydrationMiddleware\\HydratePublicProperties.php(145): array_walk(Array, Object(Closure))
#15 ...\\vendor\\livewire\\livewire\\src\\LifecycleManager.php(154): Livewire\\HydrationMiddleware\\HydratePublicProperties::dehydrate(Object(Awcodes\\Curator\\Resources\\MediaResource\\EditMedia), Object(Livewire\\Response))
#16 ...\\vendor\\livewire\\livewire\\src\\Connection\\ConnectionHandler.php(15): Livewire\\LifecycleManager->dehydrate()
#17 ...\\vendor\\livewire\\livewire\\src\\Controllers\\HttpConnectionHandler.php(21): Livewire\\Connection\\ConnectionHandler->handle(Array)
#18 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php(46): Livewire\\Controllers\\HttpConnectionHandler->__invoke('awcodes.curator...')
#19 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(260): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Livewire\\Controllers\\HttpConnectionHandler), '__invoke')
#20 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(205): Illuminate\\Routing\\Route->runController()
#21 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(799): Illuminate\\Routing\\Route->run()
#22 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(141): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#23 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 ...\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Middleware\\ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#31 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(800): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#38 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(777): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#39 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(741): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#40 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(730): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#41 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#42 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#43 ...\\vendor\\livewire\\livewire\\src\\DisableBrowserCache.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Livewire\\DisableBrowserCache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#57 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#58 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#59 ...\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#60 ...\\public\\index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#61 {main}
"}
@awcodes
Copy link
Owner

awcodes commented Jul 3, 2023

Never seen this error before. Sorry. Indicates to me that something is off in the file system driver.

@awcodes
Copy link
Owner

awcodes commented Jul 3, 2023

At least that's where I'd start to debug. Not to say there isn't a bug in curator but it's using apis provided by laravel and filament. I try to override as little as possible.

@MikhailFerreira
Copy link
Author

Thanks for the feedback, I'll keep debugging and post here when I find the issue. Whether it's my own setup or a bug.

@lotarbo
Copy link
Contributor

lotarbo commented Jul 5, 2023

@awcodes I confirm that behavior starts since 2.7.7
on 2.7.6 - no error

Example:
we picked image in field, then delete this image from disk
in 2.7.6 we have broken image but all work
image

since 2.7.7 we have exception and all broken(
I think better show broken image)

@awcodes
Copy link
Owner

awcodes commented Jul 5, 2023

Ok. I think I know what's happening. Will try to get a fix out later today. Thanks for the feedback and debugging.

@lotarbo
Copy link
Contributor

lotarbo commented Jul 5, 2023

yep i think we need check if path exist here https://github.com/awcodes/filament-curator/blob/2.x/src/Models/Media.php#L40 before get visibility

@awcodes
Copy link
Owner

awcodes commented Jul 5, 2023

Was thinking the same thing. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants