mirror of
https://github.com/projectsend/projectsend.git
synced 2026-09-22 11:33:24 +00:00
4905be8e32
Reported by @veenone (#1788). Setting "folder inside the bucket" on S3 or an S3-compatible backend made every page that touches storage answer 500, including the orphan-files screen. Reproduced against MinIO: the disk resolved into Class "League\Flysystem\PathPrefixing\PathPrefixedAdapter" not found One folder on the screen, two names underneath: Laravel's own drivers read `root`, and this application's GCS driver reads `prefix` and builds its adapter with it. Setting both looked like a harmless way to serve both, and was not — FilesystemManager wraps any disk carrying a non-empty `prefix` in that adapter, which lives in an optional package nobody installs. So the key meant for GCS broke S3, and only once somebody set a folder. `prefix` now goes to the GCS driver alone, and both keys are written on every apply rather than only when there is a folder — a process that switched provider or cleared the field kept a stale one otherwise. Verified against MinIO with a folder set: the orphans screen loads, and an upload lands inside the folder rather than at the root of the bucket.