ci: GitLab-Pipeline - build_embedded + manueller npm-Publish nach rohana (threadnet-call#1)
Registry-Entscheidung evidenzbasiert: das Package ist pnpm-Dependency von ThreadNet-Webs apps/web, der Lockfile pinnt die Tarball-URL auf rohana - Registry bleibt dort. Publish-Auth ueber CI-Variable GITEA_NPM_TOKEN statt lokaler Klartext-.npmrc. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
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.
|
||||
*/
|
||||
|
||||
import { defineConfig, mergeConfig } from "vite";
|
||||
import generateFile from "vite-plugin-generate-file";
|
||||
|
||||
import fullConfig from "./vite.config";
|
||||
|
||||
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,
|
||||
},
|
||||
media_quality: {
|
||||
// h264 uses classic simulcast (like vp8), not SVC, so it's compatible
|
||||
// with buildPublishOptions()'s simulcast-shaped layers without a code
|
||||
// fix - unlike vp9/av1 (see 2026-07-28 incident: forcing vp9 broke calls
|
||||
// entirely, likely due to that SVC/simulcast mismatch). h264 also tends
|
||||
// to be hardware-accelerated on more devices (notably iOS/Safari).
|
||||
video_codec: "h264",
|
||||
video: {
|
||||
max_resolution: 1440,
|
||||
max_bitrate: 8_000_000,
|
||||
max_framerate: 60,
|
||||
// Without this, the code default is only [180p, 360p] - a huge quality
|
||||
// cliff straight to blocky 360p on any minor network hiccup instead of
|
||||
// gracefully stepping down. Added a 720p middle rung.
|
||||
simulcast_layers: [
|
||||
{ height: 180, bitrate: 150_000 },
|
||||
{ height: 720, bitrate: 2_500_000 },
|
||||
],
|
||||
},
|
||||
screen_share: {
|
||||
max_resolution: 1440,
|
||||
max_bitrate: 6_000_000,
|
||||
max_framerate: 30,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
]),
|
||||
],
|
||||
}),
|
||||
),
|
||||
);
|
||||
Reference in New Issue
Block a user