From 154cafa6d900c9edbb3a460896fec2f8809a1165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Franco?= Date: Thu, 1 Oct 2026 10:15:11 +0200 Subject: [PATCH] fix: Igor WorkerSafe for once-per-worker LibreOffice boot check. Co-authored-by: Cursor --- demo/symfony8/composer.lock | 6 +++++- demo/symfony8/config/reference.php | 1 + docs/CHANGELOG.md | 10 ++++++++++ docs/FRANKENPHP-WORKER-AUDIT.md | 3 ++- docs/UPGRADING.md | 10 ++++++++++ specs/001-baseline/spec.md | 2 +- src/EventListener/RuntimeBootCheckListener.php | 5 +++++ 7 files changed, 34 insertions(+), 3 deletions(-) diff --git a/demo/symfony8/composer.lock b/demo/symfony8/composer.lock index a9dd4a7..84cd653 100644 --- a/demo/symfony8/composer.lock +++ b/demo/symfony8/composer.lock @@ -200,7 +200,7 @@ "dist": { "type": "path", "url": "/var/word-to-pdf-bundle", - "reference": "d78f6d06166edd071a8c1d809a53b07a2d377ef4" + "reference": "320e2d00b620035c6077b2a0b4d457630a2a31dc" }, "require": { "ext-fileinfo": "*", @@ -215,6 +215,7 @@ }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.0", + "igor-php/igor-php": "^0.9.7", "nowo-tech/phpstan-frankenphp": "^1.0", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^2.0", @@ -278,6 +279,9 @@ ], "rector-dry": [ "@php vendor/bin/rector --dry-run --no-progress-bar" + ], + "igor": [ + "igor-php --no-agent ." ] }, "license": [ diff --git a/demo/symfony8/config/reference.php b/demo/symfony8/config/reference.php index a401a86..de0e52c 100644 --- a/demo/symfony8/config/reference.php +++ b/demo/symfony8/config/reference.php @@ -752,6 +752,7 @@ * @psalm-type NowoWordToPdfConfig = array{ * engine?: scalar|Param|null, // Conversion backend: libreoffice (LibreOffice Writer / soffice). // Default: "libreoffice" * default_profile?: scalar|Param|null, // Default: "default" + * max_batch_size?: int|Param, // Maximum number of Word sources accepted by convertMany() (DoS guard). // Default: 10 * profiles?: array