Practitionist / Practitionist/elluminar_web
Live classes: fix #53 join-fallback + add Stream Video provider
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 17h 2m
- Merged PRs (30d)
- 18
Description
Founder decision: standardize on Stream (getstream.io) for video AND chat (vendor consistency). Stream livestream call type covers host→cohort; $100/mo credit covers beta usage (~$0–110/mo).
Phase 1 — #53 (ship standalone, vendor-independent)
- Provisioning failure → Sentry warning + flagged session; learner sees explicit 'setup in progress'; creator retry/paste-URL action flipping provider to EXTERNAL_LINK
- Regression test: rejected provisioning still creates visible session
Phase 2 — STREAM provider
- LiveProvider.STREAM enum (⚠️ schema-approved label) + env STREAM_API_KEY/SECRET
- src/lib/stream/live.ts: create livestream call, mint host/viewer tokens, recordings fetch
- Schedule dialog provider select; learner embedded join 15-min-before; recording → VideoAsset
- Cost metric logging per session (participant-minutes)
Specs: temp prompt library 04-live-classes-stream. Related #53.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Phase 1 requirements and related issue #53, then inspect src/lib/stream/live.ts and the schedule dialog entry point. The work is done when provisioning fallback behavior, the STREAM provider flow, embedded joining, recordings, and per-session cost logging are implemented with regression coverage for rejected provisioning.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- audio-video-rtc, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100