Skip to content

Commit e928559

Browse files
committed
fix: improve user agent parsing and handle null values in email tracking
1 parent 25b1784 commit e928559

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

app/Actions/Comms/EmailTrackingEvent/PostProcessingEmailTrackingEvent.php

+10-6
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,19 @@ class PostProcessingEmailTrackingEvent extends OrgAction
2222

2323
public function handle(EmailTrackingEvent $emailTrackingEvent): EmailTrackingEvent
2424
{
25-
$parsedUserAgent = (new Browser())->parse(Arr::get($emailTrackingEvent->data, 'userAgent'));
25+
$ip = Arr::get($emailTrackingEvent->data, 'ipAddress');
26+
$userAgent = Arr::get($emailTrackingEvent->data, 'userAgent');
2627

27-
$ip = Arr::get($emailTrackingEvent->data, 'ipAddress');
28-
$device = $parsedUserAgent->deviceType();
28+
$device = null;
29+
if ($userAgent) {
30+
$parsedUserAgent = (new Browser())->parse($userAgent);
31+
$device = $parsedUserAgent->deviceType();
32+
}
2933

3034
return $this->update($emailTrackingEvent, [
31-
'ip' => $ip,
35+
'ip' => $ip,
3236
'device' => $device,
33-
'data' => (object) []
34-
]);
37+
'data' => (object)[]
38+
]);
3539
}
3640
}

app/Actions/Comms/SesNotification/ProcessSesNotification.php

+1-6
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,7 @@ public function asCommand(Command $command): int
172172
}
173173
$command->line('Number ses notifications to process '.SesNotification::count());
174174

175-
foreach (SesNotification::all() as $sesNotification) {
176-
$pending = $this->handle($sesNotification);
177-
if ($pending) {
178-
// print_r($pending);
179-
}
180-
}
175+
181176

182177
return 0;
183178
}

0 commit comments

Comments
 (0)