feat: Livekit - Selfhost video room solution (#946)

* feat: Livekit bare no recording nor pipeline

* feat: full livekit pipeline

* fix: caddy hatchet with livekit

* fix: caddy livekit

* fix: hatchet tls

* fix: agg to webm for no padding

* fix: reflector user id on participants and duration fix

* fix: better docs and internal review fixes

* fix: remove video files livekit
This commit is contained in:
Juan Diego García
2026-04-07 11:55:16 -05:00
committed by GitHub
parent b570d202dc
commit bc8338fa4f
41 changed files with 3731 additions and 146 deletions

View File

@@ -14,6 +14,7 @@ import MeetingSelection from "../MeetingSelection";
import useRoomDefaultMeeting from "../useRoomDefaultMeeting";
import WherebyRoom from "./WherebyRoom";
import DailyRoom from "./DailyRoom";
import LiveKitRoom from "./LiveKitRoom";
import { useAuth } from "../../lib/AuthProvider";
import { useError } from "../../(errors)/errorContext";
import { parseNonEmptyString } from "../../lib/utils";
@@ -199,8 +200,9 @@ export default function RoomContainer(details: RoomDetails) {
return <DailyRoom meeting={meeting} room={room} />;
case "whereby":
return <WherebyRoom meeting={meeting} room={room} />;
default: {
const _exhaustive: never = platform;
case "livekit":
return <LiveKitRoom meeting={meeting} room={room} />;
default:
return (
<Box
display="flex"
@@ -213,6 +215,5 @@ export default function RoomContainer(details: RoomDetails) {
<Text fontSize="lg">Unknown platform: {platform}</Text>
</Box>
);
}
}
}