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

@@ -74,6 +74,7 @@ const recordingTypeOptions: SelectOption[] = [
const platformOptions: SelectOption[] = [
{ label: "Whereby", value: "whereby" },
{ label: "Daily", value: "daily" },
{ label: "LiveKit", value: "livekit" },
];
const roomInitialState = {
@@ -309,10 +310,7 @@ export default function RoomsList() {
return;
}
const platform: "whereby" | "daily" =
room.platform === "whereby" || room.platform === "daily"
? room.platform
: "daily";
const platform = room.platform as "whereby" | "daily" | "livekit";
const roomData = {
name: room.name,
@@ -544,7 +542,10 @@ export default function RoomsList() {
<Select.Root
value={[room.platform]}
onValueChange={(e) => {
const newPlatform = e.value[0] as "whereby" | "daily";
const newPlatform = e.value[0] as
| "whereby"
| "daily"
| "livekit";
const updates: Partial<typeof room> = {
platform: newPlatform,
};