Issues with Email notifications with latest update v4.5.48

A long time user here.

Email notifications (to the person who generates invoices) for new invoices have started failing after the latest patch update. The invoice recipient receives 3 copies of the same invoice (hinting that there is some weird retry going on)

The stacktrace points to app/Jobs/SendNotificationEmail.php and Line 26.

I am using PHP 7.3 and MariaDB 10.3.32 (Ubuntu 20.04)

I checked the recent commits and that file seems to have some changes. Just for kicks, I changed the following lines (basically reverted some of the changes in the recent commit)

--- a/app/Jobs/SendNotificationEmail.php
+++ b/app/Jobs/SendNotificationEmail.php
@@ -23,12 +23,12 @@ class SendNotificationEmail extends Job implements ShouldQueue
     /**
      * @var User
      */
-    public User $user;
+    public $user;

     /**
      * @var Invoice
      */
-    public Invoice $invoice;
+    public $invoice;

     /**
      * @var string
@@ -38,7 +38,7 @@ class SendNotificationEmail extends Job implements ShouldQueue
     /**
      * @var Payment
      */
-    public ?Payment $payment;
+    public $payment;

     /**
      * @var string

Now, it seems to work. Can someone see if this is a bug or some issue in my environment?

Thanks!
Amit

Hi,

Thanks for reporting this!

@david should we create a new v4 release?

Yes, that sounds good @hillel

@david: Not using v4 myself anymore, but if using v4.5.48, shouldn’t @journeyer upgrade to php7.4?

@xoo

correct, along with upgrading to PHP 7.4, the next release will contain several fixes for this particular notification issue.

Wait, are you saying that 7.4 is the minimum PHP version for IN version 4.5.48?

Will it work as-is on PHP 7.4?

In fact, this is my last PHP application which is using PHP7! So I will be happy to test that out.

Committed on Oct 19, 2021 to composer.json for v4.5.46

- "php": ">=7.1.0",
+ "php": ">=7.4.0",

So, yes, it’s apparently the minimum version. Not sure how well v4 works with php8.0; maybe it’s safest to go with php7.4.

v4.5.48 uses Laravel 6, which has no support for PHP 8.0