From 7a5be729e879aeaf10afe77b419f3d5c6395b27c Mon Sep 17 00:00:00 2001 From: Roly Gutierrez Date: Thu, 23 Jul 2026 14:56:21 -0400 Subject: [PATCH] FOUR-32357 REGRESSION>> Intermediate Signal Throw Event is not working Description: Fix intermediate signal throw when storage/app/private is missing ThrowSignalEvent calls packTemporalData() in its constructor; that helper wrote to storage_path('app/private') without ensuring the directory exists. On develop-qa the folder was absent, causing file_put_contents to fail and blocking the signal before CatchSignalEventRequest could run. Create the directory with mkdir(..., 0755, true) before writing. Uses the current storage_path(), so tenant and landlord contexts are unchanged. Related tickets: https://processmaker.atlassian.net/browse/FOUR-32357 --- helpers.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/helpers.php b/helpers.php index cfcc0bc6cf..c602750faa 100644 --- a/helpers.php +++ b/helpers.php @@ -250,7 +250,11 @@ function sanitizeVueExp($expression) function packTemporalData($data) { $uid = uniqid('data_', true); - $path = storage_path('app/private/' . $uid); + $directory = storage_path('app/private'); + if (!is_dir($directory)) { + mkdir($directory, 0755, true); + } + $path = $directory . '/' . $uid; file_put_contents($path, json_encode($data));