Files
threadnet-call/vite-embedded.config.ts
T

55 lines
1.7 KiB
TypeScript
Raw Normal View History

/*
Copyright 2025 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE in the repository root for full details.
*/
2025-03-12 17:00:44 +00:00
import { defineConfig, mergeConfig } from "vite";
import generateFile from "vite-plugin-generate-file";
import fullConfig from "./vite.config";
2025-03-12 17:00:44 +00:00
const base = "./";
// Config for embedded deployments (possibly hosted under a non-root path)
export default defineConfig((env) =>
mergeConfig(
fullConfig({ ...env, packageType: "embedded" }),
defineConfig({
base, // Use relative URLs to allow the app to be hosted under any path
publicDir: false, // Don't serve the public directory which only contains the favicon
plugins: [
generateFile([
{
type: "json",
output: "./config.json",
data: {
matrix_rtc_session: {
wait_for_key_rotation_ms: 5000,
delayed_leave_event_restart_ms: 4000,
delayed_leave_event_delay_ms: 18000,
2025-03-12 17:00:44 +00:00
},
media_quality: {
// video_codec intentionally left unset (defaults to vp8) - setting it
// to "vp9" broke calls entirely in production (2026-07-28, no audio/video
// transmitted). Root cause not confirmed; revisit once isolated.
video: {
max_resolution: 1440,
max_bitrate: 8_000_000,
max_framerate: 60,
},
screen_share: {
max_resolution: 1440,
max_bitrate: 6_000_000,
max_framerate: 30,
},
},
2025-03-12 17:00:44 +00:00
},
},
]),
],
}),
),
);