WebP Express CloudHost.es Fix v0.25.9-cloudhost
✅ Fixed bulk conversion getting stuck on missing files ✅ Added robust error handling and timeout protection ✅ Improved JavaScript response parsing ✅ Added file existence validation ✅ Fixed missing PHP class imports ✅ Added comprehensive try-catch error recovery 🔧 Key fixes: - File existence checks before conversion attempts - 30-second timeout protection per file - Graceful handling of 500 errors and JSON parsing issues - Automatic continuation to next file on failures - Cache busting for JavaScript updates 🎯 Result: Bulk conversion now completes successfully even with missing files 🚀 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
42
lib/migrate/migrate13.php
Normal file
42
lib/migrate/migrate13.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace WebPExpress;
|
||||
|
||||
|
||||
function webpexpress_migrate13_add_ffmpeg_message_if_relevant()
|
||||
{
|
||||
$config = Config::loadConfigAndFix(false); // false, because we do not need to test if quality detection is working
|
||||
$config = Config::updateConverterStatusWithFreshTest($config); // Test all converters (especially we are excited to learn if the new ffmpeg converter is working)
|
||||
|
||||
$workingConverterIds = ConvertersHelper::getWorkingAndActiveConverterIds($config);
|
||||
|
||||
if (!in_array('ffmpeg', $workingConverterIds)) {
|
||||
// ffmpeg is not working on the host, so no need to announce ffmpeg
|
||||
return;
|
||||
}
|
||||
|
||||
$betterConverterIds = ['cwebp', 'vips', 'imagemagick', 'graphicsmagick', 'imagick', 'gmagick', 'wpc'];
|
||||
$workingAndBetter = array_intersect($workingConverterIds, $betterConverterIds);
|
||||
|
||||
if (count($workingAndBetter) > 0) {
|
||||
// the user already has a better conversion method working. No reason to disturb
|
||||
return;
|
||||
}
|
||||
|
||||
if (in_array('gd', $workingConverterIds)) {
|
||||
DismissableGlobalMessages::addDismissableMessage('0.19.0/meet-ffmpeg-better-than-gd');
|
||||
} elseif (in_array('ewww', $workingConverterIds)) {
|
||||
DismissableGlobalMessages::addDismissableMessage('0.19.0/meet-ffmpeg-better-than-ewww');
|
||||
} else {
|
||||
DismissableGlobalMessages::addDismissableMessage('0.19.0/meet-ffmpeg-a-working-conversion-method');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function webpexpress_migrate13() {
|
||||
Option::updateOption('webp-express-migration-version', '13');
|
||||
|
||||
webpexpress_migrate13_add_ffmpeg_message_if_relevant();
|
||||
}
|
||||
|
||||
webpexpress_migrate13();
|
||||
Reference in New Issue
Block a user