user_83d32
Chevereto Member
I'm encountering a frontend JavaScript crash that causes the progressive image loading to permanently freeze on the blurry placeholder.
Many images are not fully loading and remain blurry. After playing with Cloudflare, nothing really changed, but the inspector showed that JS crashed in CHV.fn.viewerLoadImage.
This issue reliably occurs when serving images via external object storage (in my case, Cloudflare R2).
What I believe is happening, but take it with a grain of salt, when TTFB is slightly elevated (e.g., 500ms - 1s for a cold fetch from R2/S3), the viewerLoadImage function fires, but the image object it expects is currently undefined. Because the script attempts to read the is_360 property without first checking whether the parent object actually exists, it throws a fatal TypeError.
Unexpected result:
When the image gets stuck in the blurry state, the browser developer console always outputs the following fatal error:
Uncaught TypeError: Cannot read properties of undefined (reading 'is_360')
at CHV.fn.viewerLoadImage (chevereto-all.min.js...)
Reproduction steps
Error log message
Attached is the Inspector screenshot
Thank you for looking into this!
Many images are not fully loading and remain blurry. After playing with Cloudflare, nothing really changed, but the inspector showed that JS crashed in CHV.fn.viewerLoadImage.
This issue reliably occurs when serving images via external object storage (in my case, Cloudflare R2).
What I believe is happening, but take it with a grain of salt, when TTFB is slightly elevated (e.g., 500ms - 1s for a cold fetch from R2/S3), the viewerLoadImage function fires, but the image object it expects is currently undefined. Because the script attempts to read the is_360 property without first checking whether the parent object actually exists, it throws a fatal TypeError.
Unexpected result:
When the image gets stuck in the blurry state, the browser developer console always outputs the following fatal error:
Uncaught TypeError: Cannot read properties of undefined (reading 'is_360')
at CHV.fn.viewerLoadImage (chevereto-all.min.js...)
Reproduction steps
- Configure Chevereto to use external object storage (S3/R2)
- Open the image. The UI will stick on the blurry placeholder, and the is_360 TypeError will appear in the console.
- Refreshing the page loads the image instantly from cache, bypassing the race condition and loading successfully.
Error log message
Attached is the Inspector screenshot
Thank you for looking into this!