From 98a09bcc37549db7bf671a4e074767ea0989b10b Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Tue, 25 Nov 2025 19:55:22 +0000 Subject: [PATCH 1/2] Deps: Updated PHP packages --- composer.lock | 112 +++++++++++++++++++++++++------------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/composer.lock b/composer.lock index 881521a43d8..799616abfc3 100644 --- a/composer.lock +++ b/composer.lock @@ -62,16 +62,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.362.1", + "version": "3.363.2", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "f29a49b74d5ee771f13432e16d58651de91f7e79" + "reference": "f8b5f125248daa8942144b4771c041a63ec41900" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/f29a49b74d5ee771f13432e16d58651de91f7e79", - "reference": "f29a49b74d5ee771f13432e16d58651de91f7e79", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/f8b5f125248daa8942144b4771c041a63ec41900", + "reference": "f8b5f125248daa8942144b4771c041a63ec41900", "shasum": "" }, "require": { @@ -153,9 +153,9 @@ "support": { "forum": "https://github.com/aws/aws-sdk-php/discussions", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.362.1" + "source": "https://github.com/aws/aws-sdk-php/tree/3.363.2" }, - "time": "2025-11-20T19:10:40+00:00" + "time": "2025-11-25T19:04:55+00:00" }, { "name": "bacon/bacon-qr-code", @@ -214,16 +214,16 @@ }, { "name": "brick/math", - "version": "0.14.0", + "version": "0.14.1", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2" + "reference": "f05858549e5f9d7bb45875a75583240a38a281d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2", - "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2", + "url": "https://api.github.com/repos/brick/math/zipball/f05858549e5f9d7bb45875a75583240a38a281d0", + "reference": "f05858549e5f9d7bb45875a75583240a38a281d0", "shasum": "" }, "require": { @@ -262,7 +262,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.14.0" + "source": "https://github.com/brick/math/tree/0.14.1" }, "funding": [ { @@ -270,7 +270,7 @@ "type": "github" } ], - "time": "2025-08-29T12:40:03+00:00" + "time": "2025-11-24T14:40:29+00:00" }, { "name": "carbonphp/carbon-doctrine-types", @@ -1739,16 +1739,16 @@ }, { "name": "laravel/framework", - "version": "v12.39.0", + "version": "v12.40.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "1a6176129ef28eaf42b6b4a6250025120c3d8dac" + "reference": "2e986acbf9acf62cba13400bc23c4d639bf188b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/1a6176129ef28eaf42b6b4a6250025120c3d8dac", - "reference": "1a6176129ef28eaf42b6b4a6250025120c3d8dac", + "url": "https://api.github.com/repos/laravel/framework/zipball/2e986acbf9acf62cba13400bc23c4d639bf188b9", + "reference": "2e986acbf9acf62cba13400bc23c4d639bf188b9", "shasum": "" }, "require": { @@ -1860,7 +1860,7 @@ "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", "opis/json-schema": "^2.4.1", - "orchestra/testbench-core": "^10.7.0", + "orchestra/testbench-core": "^10.8.0", "pda/pheanstalk": "^5.0.6|^7.0.0", "php-http/discovery": "^1.15", "phpstan/phpstan": "^2.0", @@ -1954,20 +1954,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-11-18T15:16:10+00:00" + "time": "2025-11-25T16:16:33+00:00" }, { "name": "laravel/prompts", - "version": "v0.3.7", + "version": "v0.3.8", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "a1891d362714bc40c8d23b0b1d7090f022ea27cc" + "reference": "096748cdfb81988f60090bbb839ce3205ace0d35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/a1891d362714bc40c8d23b0b1d7090f022ea27cc", - "reference": "a1891d362714bc40c8d23b0b1d7090f022ea27cc", + "url": "https://api.github.com/repos/laravel/prompts/zipball/096748cdfb81988f60090bbb839ce3205ace0d35", + "reference": "096748cdfb81988f60090bbb839ce3205ace0d35", "shasum": "" }, "require": { @@ -1983,7 +1983,7 @@ "require-dev": { "illuminate/collections": "^10.0|^11.0|^12.0", "mockery/mockery": "^1.5", - "pestphp/pest": "^2.3|^3.4", + "pestphp/pest": "^2.3|^3.4|^4.0", "phpstan/phpstan": "^1.12.28", "phpstan/phpstan-mockery": "^1.1.3" }, @@ -2011,22 +2011,22 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.7" + "source": "https://github.com/laravel/prompts/tree/v0.3.8" }, - "time": "2025-09-19T13:47:56+00:00" + "time": "2025-11-21T20:52:52+00:00" }, { "name": "laravel/serializable-closure", - "version": "v2.0.6", + "version": "v2.0.7", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "038ce42edee619599a1debb7e81d7b3759492819" + "reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/038ce42edee619599a1debb7e81d7b3759492819", - "reference": "038ce42edee619599a1debb7e81d7b3759492819", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/cb291e4c998ac50637c7eeb58189c14f5de5b9dd", + "reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd", "shasum": "" }, "require": { @@ -2035,7 +2035,7 @@ "require-dev": { "illuminate/support": "^10.0|^11.0|^12.0", "nesbot/carbon": "^2.67|^3.0", - "pestphp/pest": "^2.36|^3.0", + "pestphp/pest": "^2.36|^3.0|^4.0", "phpstan/phpstan": "^2.0", "symfony/var-dumper": "^6.2.0|^7.0.0" }, @@ -2074,20 +2074,20 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2025-10-09T13:42:30+00:00" + "time": "2025-11-21T20:52:36+00:00" }, { "name": "laravel/socialite", - "version": "v5.23.1", + "version": "v5.23.2", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "83d7523c97c1101d288126948947891319eef800" + "reference": "41e65d53762d33d617bf0253330d672cb95e624b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/83d7523c97c1101d288126948947891319eef800", - "reference": "83d7523c97c1101d288126948947891319eef800", + "url": "https://api.github.com/repos/laravel/socialite/zipball/41e65d53762d33d617bf0253330d672cb95e624b", + "reference": "41e65d53762d33d617bf0253330d672cb95e624b", "shasum": "" }, "require": { @@ -2103,9 +2103,9 @@ }, "require-dev": { "mockery/mockery": "^1.0", - "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0|^9.0|^10.0", + "orchestra/testbench": "^4.18|^5.20|^6.47|^7.55|^8.36|^9.15|^10.8", "phpstan/phpstan": "^1.12.23", - "phpunit/phpunit": "^8.0|^9.3|^10.4|^11.5" + "phpunit/phpunit": "^8.0|^9.3|^10.4|^11.5|^12.0" }, "type": "library", "extra": { @@ -2146,20 +2146,20 @@ "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" }, - "time": "2025-10-27T15:36:41+00:00" + "time": "2025-11-21T14:00:38+00:00" }, { "name": "laravel/tinker", - "version": "v2.10.1", + "version": "v2.10.2", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3" + "reference": "3bcb5f62d6f837e0f093a601e26badafb127bd4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3", - "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3", + "url": "https://api.github.com/repos/laravel/tinker/zipball/3bcb5f62d6f837e0f093a601e26badafb127bd4c", + "reference": "3bcb5f62d6f837e0f093a601e26badafb127bd4c", "shasum": "" }, "require": { @@ -2210,9 +2210,9 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.10.1" + "source": "https://github.com/laravel/tinker/tree/v2.10.2" }, - "time": "2025-01-27T14:24:01+00:00" + "time": "2025-11-20T16:29:12+00:00" }, { "name": "league/commonmark", @@ -3466,16 +3466,16 @@ }, { "name": "nette/utils", - "version": "v4.0.8", + "version": "v4.0.9", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede" + "reference": "505a30ad386daa5211f08a318e47015b501cad30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/c930ca4e3cf4f17dcfb03037703679d2396d2ede", - "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede", + "url": "https://api.github.com/repos/nette/utils/zipball/505a30ad386daa5211f08a318e47015b501cad30", + "reference": "505a30ad386daa5211f08a318e47015b501cad30", "shasum": "" }, "require": { @@ -3549,9 +3549,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.8" + "source": "https://github.com/nette/utils/tree/v4.0.9" }, - "time": "2025-08-06T21:43:34+00:00" + "time": "2025-10-31T00:45:47+00:00" }, { "name": "nikic/php-parser", @@ -4120,16 +4120,16 @@ }, { "name": "predis/predis", - "version": "v3.2.0", + "version": "v3.3.0", "source": { "type": "git", "url": "https://github.com/predis/predis.git", - "reference": "9e9deec4dfd3ebf65d32eb368f498c646ba2ecd8" + "reference": "153097374b39a2f737fe700ebcd725642526cdec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/predis/predis/zipball/9e9deec4dfd3ebf65d32eb368f498c646ba2ecd8", - "reference": "9e9deec4dfd3ebf65d32eb368f498c646ba2ecd8", + "url": "https://api.github.com/repos/predis/predis/zipball/153097374b39a2f737fe700ebcd725642526cdec", + "reference": "153097374b39a2f737fe700ebcd725642526cdec", "shasum": "" }, "require": { @@ -4171,7 +4171,7 @@ ], "support": { "issues": "https://github.com/predis/predis/issues", - "source": "https://github.com/predis/predis/tree/v3.2.0" + "source": "https://github.com/predis/predis/tree/v3.3.0" }, "funding": [ { @@ -4179,7 +4179,7 @@ "type": "github" } ], - "time": "2025-08-06T06:41:24+00:00" + "time": "2025-11-24T17:48:50+00:00" }, { "name": "psr/clock", From 9de294343dd7309bb00e6a0011dfbd443e8620c4 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Tue, 25 Nov 2025 21:08:45 +0000 Subject: [PATCH 2/2] Notifications: Fixed error on comment notification Fixes an error where a used relation (entity) on the comment was resulting in null due to eager loading the notification when deserializing from the queue, where Laravel was then mis-matching the names when performing the eager loading. For #5918 --- app/Activity/Models/Comment.php | 14 +++++++++++++- .../Handlers/BaseNotificationHandler.php | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/Activity/Models/Comment.php b/app/Activity/Models/Comment.php index 4d6c7fa41c6..0f8e5d785a1 100644 --- a/app/Activity/Models/Comment.php +++ b/app/Activity/Models/Comment.php @@ -41,7 +41,19 @@ class Comment extends Model implements Loggable, OwnableInterface */ public function entity(): MorphTo { - return $this->morphTo('commentable'); + // We specifically define null here to avoid the different name (commentable) + // being used by Laravel eager loading instead of the method name, which it was doing + // in some scenarios like when deserialized when going through the queue system. + // So we instead specify the type and id column names to use. + // Related to: + // https://github.com/laravel/framework/pull/24815 + // https://github.com/laravel/framework/issues/27342 + // https://github.com/laravel/framework/issues/47953 + // (and probably more) + + // Ultimately, we could just align the method name to 'commentable' but that would be a potential + // breaking change and not really worthwhile in a patch due to the risk of creating extra problems. + return $this->morphTo(null, 'commentable_type', 'commentable_id'); } /** diff --git a/app/Activity/Notifications/Handlers/BaseNotificationHandler.php b/app/Activity/Notifications/Handlers/BaseNotificationHandler.php index bc6f2e22fc0..efa46b0d6ff 100644 --- a/app/Activity/Notifications/Handlers/BaseNotificationHandler.php +++ b/app/Activity/Notifications/Handlers/BaseNotificationHandler.php @@ -20,6 +20,7 @@ protected function sendNotificationToUserIds(string $notification, array $userId { $users = User::query()->whereIn('id', array_unique($userIds))->get(); + /** @var User $user */ foreach ($users as $user) { // Prevent sending to the user that initiated the activity if ($user->id === $initiator->id) {