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