Show Ladill profile avatars in the meeting participants UI.
Deploy Ladill Meet / deploy (push) Successful in 1m10s

Resolve participant photos from linked user records for the header host chip and participants panel, with initials as fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-01 10:15:11 +00:00
co-authored by Cursor
parent 11b16b7c52
commit 4cc4970916
3 changed files with 96 additions and 26 deletions
@@ -7,6 +7,7 @@ use App\Models\Participant;
use App\Models\Session;
use App\Services\Meet\ChatService;
use App\Services\Meet\Media\MediaProviderInterface;
use App\Services\Meet\ParticipantPresenter;
use App\Services\Meet\RecordingService;
use App\Services\Meet\SecurityPolicyService;
use App\Services\Meet\SessionService;
@@ -146,6 +147,8 @@ class MeetingRoomController extends Controller
$session->load(['participants' => fn ($q) => $q->where('status', 'joined')]);
$avatars = ParticipantPresenter::avatarMap($session->participants, $session->room->host_user_ref);
$messages = $this->chat->recentMessages($session, 50);
$reactions = $session->reactions()->where('created_at', '>=', now()->subMinutes(5))->latest()->limit(20)->get();
$qa = app(\App\Services\Meet\QaService::class)->forSession($session, true);
@@ -161,15 +164,9 @@ class MeetingRoomController extends Controller
->get();
return response()->json([
'participants' => $session->participants->map(fn ($p) => [
'uuid' => $p->uuid,
'display_name' => $p->display_name,
'role' => $p->role,
'hand_raised' => $p->hand_raised,
'is_muted' => $p->is_muted,
'is_video_off' => $p->is_video_off,
'breakout_room_id' => $p->breakout_room_id,
]),
'participants' => $session->participants->map(
fn ($p) => ParticipantPresenter::toArray($p, $avatars, $session->room->host_user_ref)
),
'messages' => $messages->map(fn ($m) => [
'uuid' => $m->uuid,
'sender_name' => $m->sender_name,