Skip to content

CO.7: Join Meeting

Summary

Counselors join a scheduled or instant meeting from session details, dashboard, or direct room route. The flow performs a pre-join device check before connecting to the LiveKit room.

Role

  • Primary: Counselor

Entry Point

  • URL: /meeting/:meetingId
  • Buttons from dashboard/session details.

Preconditions

  • User is authenticated and authorized for the meeting.
  • Meeting is joinable.

Steps

  1. Counselor clicks Join or Start.
  2. App opens /meeting/:meetingId.
  3. Meeting page loads meeting details.
  4. Counselor completes pre-join audio/video choices.
  5. Frontend calls start or join meeting API.
  6. Returned LiveKit credentials connect the room.

Diagram

Edge Cases

  • Not started: Host can attempt start if normal join fails because the meeting has not started.
  • Token failure: Room page shows an error and retry path.
  • Pre-passed credentials: Router state can carry a token and URL directly.

Current Implementation Notes

  • Frontend: frontend/src/app/pages/meeting-room.tsx, frontend/src/features/meeting/components/meeting-pre-join.tsx

Screenshot Status

  • Captured with Playwright on 2026-04-17 using dev-only fixture data:
    • Counselor detailed pre-join: detailed-pre-join.png