Limit audio rooms to Twitter Spaces features and fix live toolbar UX.
Deploy Ladill Meet / deploy (push) Successful in 1m3s

Block breakouts, chat, Q&A, and other meeting-only tools in spaces, hide video controls for audio-only rooms, and stabilize mobile nav and toolbar layout.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-04 00:25:40 +00:00
co-authored by Cursor
parent b087b7e95a
commit c51e59945e
10 changed files with 310 additions and 35 deletions
@@ -95,7 +95,7 @@ class MeetingRoomController extends Controller
'messages' => $this->chat->recentMessages($session),
'activeRecording' => $session->recordings()->where('status', 'recording')->first(),
'watermark' => $room->organization?->securitySetting('watermark_enabled', false),
'isWebinar' => $room->isWebinar() || $room->isConference() || $room->isSpace(),
'isWebinar' => $room->isWebinar() || $room->isConference(),
'isConference' => $room->isConference(),
'isGreenRoom' => $session->session_mode === 'green_room',
'sessionMode' => $session->session_mode,
@@ -254,6 +254,8 @@ class MeetingRoomController extends Controller
public function sendMessage(Request $request, Session $session): JsonResponse
{
abort_unless(app(SpaceService::class)->allowsRoomFeature($session->room, 'chat'), 422);
$participant = $this->currentParticipant($request, $session);
$validated = $request->validate(['body' => ['required', 'string', 'max:2000']]);
@@ -493,6 +495,8 @@ class MeetingRoomController extends Controller
public function lock(Request $request, Session $session): JsonResponse
{
abort_unless(app(SpaceService::class)->allowsRoomFeature($session->room, 'lock'), 422);
$participant = $this->currentParticipant($request, $session);
abort_unless($participant->isHost(), 403);
$this->sessions->lock($session, $participant->user_ref ?? $participant->uuid);
@@ -502,6 +506,8 @@ class MeetingRoomController extends Controller
public function unlock(Request $request, Session $session): JsonResponse
{
abort_unless(app(SpaceService::class)->allowsRoomFeature($session->room, 'lock'), 422);
$participant = $this->currentParticipant($request, $session);
abort_unless($participant->isHost(), 403);
$this->sessions->unlock($session, $participant->user_ref ?? $participant->uuid);