Auto-join host into live session when going live from green room.
Deploy Ladill Meet / deploy (push) Successful in 2m1s

Green room poll was racing go-live and sending the host to the ended page; carry participant session into the new live session instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-02 06:57:33 +00:00
co-authored by Cursor
parent eadb77dd5b
commit 8162827957
6 changed files with 248 additions and 7 deletions
@@ -15,6 +15,7 @@ use App\Services\Meet\FileSharingService;
use App\Services\Meet\LiveStreamService;
use App\Services\Meet\PollService;
use App\Services\Meet\QaService;
use App\Services\Meet\SessionService;
use App\Services\Meet\StageLayoutService;
use App\Services\Meet\TownHallService;
use App\Services\Meet\WhiteboardService;
@@ -34,6 +35,7 @@ class MeetingFeaturesController extends Controller
protected LiveStreamService $liveStreams,
protected TownHallService $townHall,
protected StageLayoutService $stageLayout,
protected SessionService $sessions,
) {}
// --- Q&A ---
@@ -282,13 +284,24 @@ class MeetingFeaturesController extends Controller
public function goLiveTownHall(Request $request, Session $session): JsonResponse
{
$this->hostOnly($request, $session);
$live = $this->townHall->goLive($session, $request->user());
$participant = app(SessionService::class)->joinedParticipantForUser($live, $request->user());
$hostParticipant = $this->hostOnly($request, $session);
if ($participant) {
app(SessionService::class)->rememberParticipantSession($request, $participant, $live);
}
$user = $request->user()
?? ($hostParticipant->user_ref ? \App\Models\User::where('public_id', $hostParticipant->user_ref)->first() : null);
abort_unless($user, 403);
$live = $this->townHall->goLive($session, $user);
$this->sessions->ensureJoinedParticipant(
$request,
$live,
$user,
'host',
$hostParticipant->display_name,
$hostParticipant->email,
);
$request->session()->forget("meet.participant.{$session->uuid}");
return response()->json([
'session_uuid' => $live->uuid,