Fix speaker token ignored after badge verification or active join.
Deploy Ladill Meet / deploy (push) Successful in 1m0s

Process ?speaker= before registration gate and already-joined redirects so Events speakers get panelist role even when they previously registered as attendees.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-03 18:35:03 +00:00
co-authored by Cursor
parent 3d68f7a83b
commit ee3f7410f4
3 changed files with 126 additions and 15 deletions
+6 -4
View File
@@ -42,11 +42,13 @@ class EventsRegistrationSession
/** @param array{email?: ?string, name?: ?string, badge_code?: ?string, speaker_token?: ?string} $data */
public static function store(Request $request, Room $room, array $data): void
{
$existing = self::get($request, $room) ?? [];
$request->session()->put(self::key($room), [
'email' => $data['email'] ?? null,
'name' => $data['name'] ?? null,
'badge_code' => $data['badge_code'] ?? null,
'speaker_token' => $data['speaker_token'] ?? null,
'email' => array_key_exists('email', $data) ? $data['email'] : ($existing['email'] ?? null),
'name' => array_key_exists('name', $data) ? $data['name'] : ($existing['name'] ?? null),
'badge_code' => array_key_exists('badge_code', $data) ? $data['badge_code'] : ($existing['badge_code'] ?? null),
'speaker_token' => array_key_exists('speaker_token', $data) ? $data['speaker_token'] : ($existing['speaker_token'] ?? null),
]);
}