fix(web): read runtime-cased ffmpegProfileId/ffmpegProfile keys (#198)

Regenerate v1.d.ts from the aligned spec (fFmpegProfileId->ffmpegProfileId,
fFmpegProfile->ffmpegProfile) and update every SPA reader/writer and test mock
to the runtime casing:

- ChannelEditScreen: read channel.ffmpegProfileId; draft/set/select use
  ffmpegProfileId.
- ChannelBuilder: template reads/writes + ADVANCED_KEYS use ffmpegProfileId.
- App.tsx channel list: read channel.ffmpegProfile (was fFmpegProfile, a latent
  bug that always rendered "Unassigned" since the runtime never sent that key).
- PlaybackTroubleshootingScreen: drop the #198 escape hatch (rawChannel cast +
  dual-read) and read data.channel.ffmpegProfileId directly.
- Test mocks now use runtime casing; pinning comments updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-09 20:00:38 +02:00
co-authored by Claude Fable 5
parent f26790aa35
commit 7ffde6225f
9 changed files with 46 additions and 50 deletions
+8 -8
View File
@@ -157,7 +157,7 @@ export interface components {
"name": string;
"group": string;
"categories": string;
"fFmpegProfile": string;
"ffmpegProfile": string;
"language": string;
"streamingMode": string;
"isEnabled": boolean;
@@ -178,7 +178,7 @@ export interface components {
"description": string;
"isSystem": boolean;
"isDefault": boolean;
"fFmpegProfileId": number;
"ffmpegProfileId": number;
"watermarkId": null | number;
"fallbackFillerId": null | number;
"preRollFillerId": null | number;
@@ -209,7 +209,7 @@ export interface components {
"name": null | string;
"group": null | string;
"categories": null | string;
"fFmpegProfileId": number;
"ffmpegProfileId": number;
"slugSeconds": null | number;
"logo": components["schemas"]["ArtworkContentTypeModel"];
"streamSelectorMode": components["schemas"]["ChannelStreamSelectorMode"];
@@ -259,7 +259,7 @@ export interface components {
};
"CreateChannelFromLineupAdvancedOptionsRequest": {
"playbackOrder"?: null | components["schemas"]["PlaybackOrder"];
"fFmpegProfileId"?: null | number;
"ffmpegProfileId"?: null | number;
"watermarkId"?: null | number;
"fallbackFillerId"?: null | number;
"preRollFillerId"?: null | number;
@@ -316,7 +316,7 @@ export interface components {
"number": null | string;
"group": null | string;
"categories": null | string;
"fFmpegProfileId": number;
"ffmpegProfileId": number;
"slugSeconds": null | number;
"logo": components["schemas"]["ArtworkContentTypeModel"];
"streamSelectorMode": components["schemas"]["ChannelStreamSelectorMode"];
@@ -343,7 +343,7 @@ export interface components {
"CreateChannelTemplateRequest": {
"name": string;
"description": string;
"fFmpegProfileId": number;
"ffmpegProfileId": number;
"watermarkId": null | number;
"fallbackFillerId": null | number;
"preRollFillerId": null | number;
@@ -1432,7 +1432,7 @@ export interface components {
"number": null | string;
"group": null | string;
"categories": null | string;
"fFmpegProfileId": number;
"ffmpegProfileId": number;
"slugSeconds": null | number;
"logo": components["schemas"]["ArtworkContentTypeModel"];
"streamSelectorMode": components["schemas"]["ChannelStreamSelectorMode"];
@@ -1459,7 +1459,7 @@ export interface components {
"UpdateChannelTemplateRequest": {
"name": string;
"description": string;
"fFmpegProfileId": number;
"ffmpegProfileId": number;
"watermarkId": null | number;
"fallbackFillerId": null | number;
"preRollFillerId": null | number;