- Issue created by @recrit
- Merge request !58Issue #3402972: fix file conversion image style support → (Merged) created by recrit
- Status changed to Needs review
over 1 year ago 12:57am 21 November 2023 - 🇺🇸United States recrit
MR 58 has been opened with the fix for the 2.1.x branch.
Attached is a static patch at commit 28f616d8 for any builds to use. - Status changed to Fixed
about 1 year ago 5:05pm 27 November 2023 Automatically closed - issue fixed for 2 weeks with no activity.
- Status changed to Fixed
about 1 year ago 4:02pm 15 December 2023 - 🇺🇸United States smustgrave
May have to revert this as it caused a regression 🐛 Regression - Local files with a dot in their filenames are not correctly served Active if a quick solution can be found over there can leave this in.
- 🇺🇸United States recrit
@smustgrave the entire patch for this issue may not need reverted. I believe we might just need to revert this line change:
src/EventSubscriber/StageFileProxySubscriber.php: ~ line 190- if ($config->get('use_imagecache_root')) { + if ($config->get('use_imagecache_root') && $unconverted_path === $relative_path) {
- 🇺🇸United States smustgrave
If I revert that in the other issue, does this one still work for you?
- 🇺🇸United States recrit
@smustgrave Yes, this issue 3402972 is still fixed with the updates in #8
- 🇧🇪Belgium herved
Hi @recrit, @smustgrave,
The suggestion in #8 doesn't seem to fix 🐛 Regression - Local files with a dot in their filenames are not correctly served Active .
Files with a dot are still "hotlinked" without the extension for me.
E.g: some.image.png?itok=**** > some.image?itok=**** - 🇳🇱Netherlands idebr
This issue adds an additional path to check for all files. All paths that are not available on the origin trigger an exception. As a result, the watchdog is now filled with Stage file proxy exceptions.
- Status changed to Needs work
about 1 year ago 7:35pm 18 January 2024 - 🇺🇸United States smustgrave
Since this issue has been merged for 2 months almost, reluctant to fully revert so would like to see if we can find a solution for both.
- 🇺🇸United States smustgrave
@idebr can you post the error though. Then we can try and figure it out.
- 🇺🇸United States smustgrave
Also @herved and @idebr does reverting this solve both issues?
- 🇳🇱Netherlands idebr
Stage File Proxy is now pinned to version 2.1.2 for my project to prevent the watchdog spam. A watchdog entry looks like this:
Type stage_file_proxy Date 22 January 2024 - 11:27 User admin Location http://bamaco.localhost/sites/default/files/styles/original_image/public/new800x300.png?itok=D1Gc_UaD&mt= Referrer http://bamaco.localhost/ Message Stage File Proxy encountered an error when retrieving file https://www.uu.nl/sites/default/files/new800x300.png. Client error: `GET https://www.uu.nl/sites/default/files/./new800x300?mt=&itok=D1Gc_UaD` resulted in a `404 Not Found` response: <!DOCTYPE html><html lang="nl" dir="ltr" prefix="og: https://ogp.me/ns#"><head><link rel="preload" as="font" type="font/ (truncated...) in GuzzleHttp\Exception\RequestException::create() (line 113 of /Users/idebraakman/git/uu_bamaco/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php). Severity Error
- 🇺🇸United States smustgrave
I still have this problem with 2.1.4, it is unclear to me if I can do anything about it or not, but here is the error:
Stage File Proxy encountered an error when retrieving file https://www.***.***/sites/default/files/styles/large/public/2024-02/myfi.... Client error: `GET https://www.***.***/sites/default/files/styles/large/public/2024-02/myfi...` resulted in a `404 Not Found` response:
The GET request misses the .png extension of the file.
- 🇺🇸United States smustgrave
I reverted the change from this ticket as it caused other failures. So this solution may be on track but needs work.
- 🇺🇸United States recrit
In case anyone is looking for the functionality of this patch, I have attached a patch that works with the latest 2.1.x-dev which still has the method for "getFilePathWithoutConvertedExtension".
- 🇪🇸Spain Carlos Romero
Carlos Romero → made their first commit to this issue’s fork.
- 🇪🇸Spain Carlos Romero
With 2.1.4 on drupal 10.2 get error when apply the patch, i was updated the 2.1.x branch and reroll the patch
- Status changed to RTBC
9 months ago 1:40pm 14 May 2024 - 🇵🇹Portugal saidatom Lisbon
RTBC #24 - https://www.drupal.org/files/issues/2024-03-29/stage_file_proxy-3402972-... → works fine
- Status changed to Needs work
9 months ago 6:31pm 15 May 2024 - 🇧🇪Belgium herved
This is still causing issues for me.
With both hotlink and use_imagecache_root set to TRUE, and using a file with a dot in its name e.g.: foo.bar.jpg it redirects to foo.bar and wrongly strips the extension (expected is foo.bar.jpg).
You can replicate this with an image field directly with the widget preview (using thumbnail image style which doesn't use any image_convert effect).
Can anyone else confirm this? I'm moving this back to needs work for now.If I understand correctly, there are multiple scenarios depending on hotlink=TRUE/FALSE and use_imagecache_root=TRUE/FALSE.
Also I wonder, why would this be limited to webp? I suspect it is applicable to any image style using the image_convert effect (which can have many more supported extensions like webp, png, jpeg, jpe, gif,..). - Status changed to Postponed: needs info
9 months ago 12:07am 31 May 2024 - 🇺🇸United States smustgrave
Fix appears to be the same solution posted here 💬 Webp images are not getting generated locally. Active
Can someone test that ticket please.
- Status changed to Needs work
9 months ago 2:39pm 31 May 2024 - 🇺🇸United States smustgrave
Seems still an issue. Closing the other issue as duplicate
- 🇬🇧United Kingdom tonypaulbarker Leeds
#28 worked for me. I do not have the cases described in #29. I think those cases are less common than my case, which is no dots in the filename and converting JPEG to WebP. This issue describes a problem for webp images and I don't think a problem has been reported for other file types. As long as we don't introduce new issues, could we improve this for the majority of cases and then other potential cases be handled on follow up tickets?
- 🇳🇱Netherlands idebr
We can use Core's ImageStyleDownloadController::getUriWithoutConvertedExtension to get the the original file extension. This prevent the issue getting the filename without a dot as reported in #16
- Status changed to Needs review
7 months ago 2:16pm 15 July 2024 - Merge request !78Issue #3402972: Fetching does not respect use_imagecache_root when using... → (Merged) created by idebr
- 🇺🇸United States smustgrave
Like the approach, would like someone who's been experiencing this issue to mark it though.
- 🇬🇧United Kingdom justinchev
I was experiencing the issue with the double file extensions, eg. *.jpg.webp.
Applied the patch in #40 to 3.1.0 and it has resolved the issue for me. -
smustgrave →
committed d1f2e645 on 3.1.x authored by
idebr →
Issue #3402972: Fetching does not respect use_imagecache_root when using...
-
smustgrave →
committed d1f2e645 on 3.1.x authored by
idebr →
- Status changed to Fixed
6 months ago 9:18pm 17 August 2024 - 🇪🇸Spain Carlos Romero
Hi, I have reverted the commit of in branch 3402972-2.1.4.
The method ImageStyleDownloadController::getUriWithoutConvertedExtension is not present in Drupal version 9.5.x, the 2.x version of stage file proxy is for Drupal 9.x and 10.x.
idebr thanks for the contribution, but this only applies to version 3.x of stage file proxy.Thanks
- 🇧🇪Belgium herved
Ouch, this is causing a strange intermittent bug where drupal messages (messenger service) are not rendered in some occasions.
When drupal attempts to generate an image style derivative for a local image that contains a dot in its name, e.g.: public://random_66d64a4456c133.73906322.png
I see 2 records in dblog:
- Source image at public://random_66d653fc1a31f4.61396650.png not found while trying to generate derivative image at public://styles/col_lg_2_4x3/public/random_66d653fc1a31f4.61396650.png.
- Stage File Proxy encountered an error when retrieving file https://[prod_domain]/sites/default/files/styles/col_lg_2_4x3/public/random_66d653fc1a31f4.61396650.png. Client error: `GET https://[prod_domain]/sites/default/files/styles/col_lg_2_4x3/public/random_66d653fc1a31f4.61396650?itok=xzHldlkP` resulted in a `404 Not Found` response:
> notice the missing png extension in the request URL.Somehow the messages are registered in
\Drupal\Core\Messenger\Messenger::addMessage
and are present in flashbag but they are not present when retrieved to be printed in\Drupal\Core\Messenger\Messenger::deleteAll
. It looks like the flashbag reference is lost somehow. Maybe because of return new Response() in \Drupal\image\Controller\ImageStyleDownloadController::deliver ? I have no idea...I probably spent a day on this before noticing those errors and suspecting stage_file_proxy :\
Reverting to 3.1.0 or disabling stage_file_proxy fixes it. There is clearly a bug here IMO and it is a really nasty one to debug. Automatically closed - issue fixed for 2 weeks with no activity.
sebastiendaled-rosseel → changed the visibility of the branch 3402972-3.0.x to hidden.
sebastiendaled-rosseel → changed the visibility of the branch 3402972-3.0.x to active.
- 🇬🇧United Kingdom lincoln-batsirayi
I'm still getting this issue with the double file extensions, eg. *.jpg.webp using the module version 3.1.3 and 3.1.4 and on drupal 10.3.10, does anyone have any ideas? Looking at my sites/default/styles/[name-of-image-style] directory they just aren’t generated at all, I’ve also tried doing "drush if" on those image styles but it hasn’t worked either