Introduce feature flag for Browsershot waitUntilNetworkIdle

This commit is contained in:
Benjamin Nussbaum 2025-07-08 12:35:33 +02:00
parent 4b32f3e8b2
commit 45e40a5661
2 changed files with 17 additions and 8 deletions

View file

@ -28,21 +28,29 @@ class ImageGenerationService
// Generate PNG
if (config('app.puppeteer_mode') === 'sidecar-aws') {
try {
BrowsershotLambda::html($markup)
->windowSize(800, 480)
->waitUntilNetworkIdle()
->save($pngPath);
$browsershot = BrowsershotLambda::html($markup)
->windowSize(800, 480);
if (config('app.puppeteer_wait_for_network_idle')) {
$browsershot->waitUntilNetworkIdle();
}
$browsershot->save($pngPath);
} catch (Exception $e) {
Log::error('Failed to generate PNG: '.$e->getMessage());
throw new RuntimeException('Failed to generate PNG: '.$e->getMessage(), 0, $e);
}
} else {
try {
Browsershot::html($markup)
$browsershot = Browsershot::html($markup)
->setOption('args', config('app.puppeteer_docker') ? ['--no-sandbox', '--disable-setuid-sandbox', '--disable-gpu'] : [])
->windowSize(800, 480)
->waitUntilNetworkIdle()
->save($pngPath);
->windowSize(800, 480);
if (config('app.puppeteer_wait_for_network_idle')) {
$browsershot->waitUntilNetworkIdle();
}
ray($browsershot);
$browsershot->save($pngPath);
} catch (Exception $e) {
Log::error('Failed to generate PNG: '.$e->getMessage());
throw new RuntimeException('Failed to generate PNG: '.$e->getMessage(), 0, $e);

View file

@ -130,6 +130,7 @@ return [
'force_https' => env('FORCE_HTTPS', false),
'puppeteer_docker' => env('PUPPETEER_DOCKER', false),
'puppeteer_mode' => env('PUPPETEER_MODE', 'local'),
'puppeteer_wait_for_network_idle' => env('PUPPETEER_WAIT_FOR_NETWORK_IDLE', false),
'notifications' => [
'battery_low' => [