feat(735): bound the numeric FFmpeg profile fields with a 422, and expose readrate pacing (#847)
Build ErsatzTV Image / CI toolchain image resolves (push) Successful in 11s
Build ErsatzTV Image / Delimiter ban (release path) (push) Successful in 25s
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 9m9s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 6m41s
Build ErsatzTV Image / Functional E2E (curl + UI contracts) (push) Successful in 6m23s
Build ErsatzTV Image / API docs in sync (OpenAPI + endpoint index) (push) Skipped
Build ErsatzTV Image / Formatting (changed .cs conform to .editorconfig) (push) Skipped
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 6m23s

Co-authored-by: Timothy <timothy@noreply.gitea.tblindustries.be>
This commit was merged in pull request #847.
This commit is contained in:
2026-08-26 22:05:38 +00:00
committed by timothy
parent 469d19852c
commit ed8b602445
40 changed files with 15763 additions and 237 deletions
+5
View File
@@ -114,8 +114,11 @@ export interface InputProps {
style?: CSSProperties;
// Native <input> passthroughs — added for numeric fields (e.g. the multi-collection weight input,
// #404): min/max bound the stepper, inputMode hints the mobile keyboard, onBlur normalizes on commit.
// `step` matters for a decimal field: it defaults to 1, under which a fractional value fails the
// browser's own constraint validation (the FFmpeg pacing fields, #735).
min?: number;
max?: number;
step?: number;
inputMode?: 'numeric' | 'decimal' | 'text';
onBlur?: (e: FocusEvent<HTMLInputElement>) => void;
ariaLabel?: string;
@@ -136,6 +139,7 @@ export function Input({
style,
min,
max,
step,
inputMode,
onBlur,
ariaLabel
@@ -163,6 +167,7 @@ export function Input({
disabled={disabled}
min={min}
max={max}
step={step}
inputMode={inputMode}
aria-label={ariaLabel}
/>