Fix Events mail calendar sync when virtual sessions lack ids.
Deploy Ladill Events / deploy (push) Successful in 52s

Generate session ids before upserting and fall back to the main event date so August events reach Mail calendar.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-04 12:27:48 +00:00
co-authored by Cursor
parent d25682bc6c
commit a00f032b5b
3 changed files with 38 additions and 3 deletions
@@ -9,6 +9,7 @@ use App\Services\Integrations\MailCalendarClient;
use Carbon\CarbonInterface;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Str;
class EventMailCalendarSyncService
{
@@ -91,7 +92,9 @@ class EventMailCalendarSyncService
}
}
if ($format === 'hybrid' && filled($content['starts_at'] ?? null)) {
if ($entries === [] && filled($content['starts_at'] ?? null)) {
$entries[] = $this->mainEventEntry($event, $content);
} elseif ($format === 'hybrid' && filled($content['starts_at'] ?? null)) {
$entries[] = $this->mainEventEntry($event, $content, ' (in person)');
}
@@ -114,7 +117,7 @@ class EventMailCalendarSyncService
{
$sessionId = trim((string) ($session['id'] ?? ''));
if ($sessionId === '') {
return null;
$sessionId = 'vs-'.Str::lower(Str::random(12));
}
$starts = $this->parseDate($session['scheduled_at'] ?? $content['starts_at'] ?? null);