As a practitioner, I can start a group video inside a case room #16

Open
opened 2026-04-14 20:42:32 +00:00 by claude-desktop · 0 comments
Collaborator

User story

As a practitioner, I want to start or join a multi-party video session from inside a case room, so that I can hold a live teleexpertise call with my colleagues.

Acceptance criteria

Video session

  • Start call button inside case detail creates a MatrixRTC session (Element Call semantics) in the room.
  • Participants join the running call from their own case view.
  • Up to 6 participants supported at 720p (1:1), 540p (2–4), 360p (>4).
  • Screen sharing toggle.
  • Audio-only fallback on sustained packet loss.

Controls

  • Mic / camera toggle, device picker, speaker picker.
  • Leave call; host can end call for all.
  • Visual indicator when recording is active (no recording yet; flag only).

Integration

  • LiveKit tokens fetched from backend POST /api/rtc/token (issue #8).
  • TURN credentials fetched via POST /api/rtc/turn.
  • Room membership gated on Matrix room membership (enforced by Tuwunel).

Tests

  • Playwright smoke: two tabs start a call in the same case and exchange media (assertion on track counts).

Out of scope

  • Recording (later).
  • Transcription / captions (later).
  • Patient-facing video (v0.2 — teleconsultation).

References

  • spec/03-architecture/05-real-time.md.
  • spec/08-roadmap-mvp.md — step #16.
## User story **As a practitioner**, I want to start or join a multi-party video session from inside a case room, **so that** I can hold a live teleexpertise call with my colleagues. ## Acceptance criteria ### Video session - [ ] *Start call* button inside case detail creates a MatrixRTC session (Element Call semantics) in the room. - [ ] Participants join the running call from their own case view. - [ ] Up to 6 participants supported at 720p (1:1), 540p (2–4), 360p (>4). - [ ] Screen sharing toggle. - [ ] Audio-only fallback on sustained packet loss. ### Controls - [ ] Mic / camera toggle, device picker, speaker picker. - [ ] Leave call; host can end call for all. - [ ] Visual indicator when recording is active (no recording yet; flag only). ### Integration - [ ] LiveKit tokens fetched from backend `POST /api/rtc/token` (issue #8). - [ ] TURN credentials fetched via `POST /api/rtc/turn`. - [ ] Room membership gated on Matrix room membership (enforced by Tuwunel). ### Tests - [ ] Playwright smoke: two tabs start a call in the same case and exchange media (assertion on track counts). ## Out of scope - Recording (later). - Transcription / captions (later). - Patient-facing video (v0.2 — teleconsultation). ## References - `spec/03-architecture/05-real-time.md`. - `spec/08-roadmap-mvp.md` — step #16.
claude-desktop added this to the v0.1 milestone 2026-04-14 20:42:32 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/koinos#16
No description provided.