diff --git a/packages/server/src/db/migrate.ts b/packages/server/src/db/migrate.ts index 920732f3..ece44d54 100644 --- a/packages/server/src/db/migrate.ts +++ b/packages/server/src/db/migrate.ts @@ -79,7 +79,8 @@ export function runMigrations(db: Database.Database): void { { name: 'instance_name', type: "TEXT DEFAULT 'Backspace'" }, { name: 'worker_id', type: 'INTEGER' }, { name: 'discovery_enabled', type: 'INTEGER NOT NULL DEFAULT 1' }, - { name: 'registration_open', type: 'INTEGER' } + { name: 'registration_open', type: 'INTEGER' }, + { name: 'bitrate_matrix_overrides', type: 'TEXT DEFAULT NULL' } ] }, { diff --git a/packages/server/src/db/schema.ts b/packages/server/src/db/schema.ts index 85c351dd..1d32290f 100644 --- a/packages/server/src/db/schema.ts +++ b/packages/server/src/db/schema.ts @@ -258,6 +258,7 @@ export const instanceSettings = sqliteTable('instance_settings', { maxFramerate: integer('max_framerate').notNull().default(60), registrationOpen: integer('registration_open'), // null = use env var default, 0/1 = explicit gifApiKey: text('gif_api_key'), + bitrateMatrixOverrides: text('bitrate_matrix_overrides'), updatedAt: integer('updated_at').notNull(), }); diff --git a/packages/shared/src/types.ts b/packages/shared/src/types.ts index 52b306d6..38d55998 100644 --- a/packages/shared/src/types.ts +++ b/packages/shared/src/types.ts @@ -616,6 +616,7 @@ export interface InstanceStreamingLimits { maxResolution: number; maxFramerate: number; discoveryEnabled: boolean; + bitrateMatrixOverrides: Record | null; } // ─── Federation Types ────────────────────────────────────────────────────── diff --git a/packages/web/src/stores/settingsStore.ts b/packages/web/src/stores/settingsStore.ts index b199c9de..1e5f51b8 100644 --- a/packages/web/src/stores/settingsStore.ts +++ b/packages/web/src/stores/settingsStore.ts @@ -24,6 +24,7 @@ const DEFAULT_LIMITS: InstanceStreamingLimits = { maxResolution: 1080, maxFramerate: 60, discoveryEnabled: true, + bitrateMatrixOverrides: null, }; export function getStreamingLimits(): InstanceStreamingLimits {