[CLI] Reject non-integer tokens for distributed render flags
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- aws, cloud, docker, gcp, typescript
- Área
- cli
Línea de trabajo
Los flags se analizan con Number.parseInt en las rutas de la CLI de Lambda y Cloud Run; empieza ahí y localiza el análisis de enteros compartido que se usa para width, height, fps, memory, concurrency, timeout y chunk size. Reemplázalo por una comprobación que acepte solo un token entero en base 10, conservando las comprobaciones existentes de valores positivos y de FPS, así como los valores por defecto de los flags omitidos. Está terminado cuando --width=1920.5 y --fps=24.5 se rechazan con un mensaje de entero no válido y los valores válidos siguen pasando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
The Lambda and Cloud Run CLI paths use Number.parseInt for integer-valued flags. This accepts a numeric prefix and silently truncates the rest: for example, 1920.5 becomes 1920, and 24.5 becomes 24. A render can therefore use dimensions or an FPS different from what the caller supplied instead of rejecting malformed input.
Minimal reproduction
The latest published CLI reports v0.8.223 as current (npx --yes [email protected] hyperframes upgrade --check). In an isolated test setup, run:
npx --yes [email protected] hyperframes cloudrun render /tmp --width=1920.5 --height=1080 --fps=24.5
Steps to reproduce
- Use the latest Hyperframes CLI; the upgrade check above reports
Already up to datefor v0.8.223. - Run the Cloud Run command above in a test environment. Do not use a production stack for this check.
- Observe that it does not report an invalid integer for either flag. On my machine it continues to the optional Cloud Run adapter check; the adapter is not installed, so no render is dispatched.
Expected behavior
Reject supplied integer flags unless the entire value is a base-10 integer token, then apply the existing positive-value and supported-FPS checks. Omitted optional flags should continue to use their current defaults.
Actual behavior
Number.parseInt("1920.5", 10) returns 1920, and Number.parseInt("24.5", 10) returns 24, so the CLI accepts the values and can continue with a silently altered render configuration.
Environment
Sanitized npx hyperframes doctor output (machine-specific cache paths and hardware metrics omitted):
✓ Version 0.8.223 (latest)
✓ Node.js v25.2.1 (darwin arm64)
✗ Chrome Chrome Headless Shell is required for local rendering.
✓ FFmpeg ffmpeg 9.0.1
✓ FFprobe ffprobe 9.0.1
✓ Docker Docker version 29.6.1
✓ Docker running Running
Additional context
The same integer-token validation should cover Lambda and Cloud Run flags, including width, height, FPS, memory, concurrency, timeout, and chunk sizing. Empty optional values should remain equivalent to an omitted flag where the CLI parser can produce them.
- Lenguaje dominante
- TypeScript
- Estrellas
- 54.1k
- Forks
- 4.9k
- Merge medio
- 6 h 8 min
- PR fusionados (30 d)
- 797
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de heygen-com/hyperframes
-
render --start/--end applies the 2 GB Lambda plan cap to local rendersPosiblemente ocupada @ump45nose la tomó hace 1 día. Abiertobug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
heygen-com/hyperframes#7035 ·
Los mantenedores suelen responder en 1 día
-
Segmented capture always fails with `--format mov`Posiblemente ocupada @DaKaufeeBoii la tomó hace 3 días. Abiertobug difficulty/easy triage/ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
heygen-com/hyperframes#6481 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Timeline: show a clip's full name when its label is cut offPosiblemente ocupada @DanielMcSheehy la tomó hace 16 días. Abiertodesktop-candidate difficulty/easy enhancement good first issue help wanted triage/ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
heygen-com/hyperframes#5582 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Studio: press ? to open the keyboard shortcuts panelPosiblemente ocupada @B-Payal la tomó hace 20 días. Abiertodesktop-candidate difficulty/easy enhancement good first issue help wanted triage/ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
heygen-com/hyperframes#5580 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
lint: add tests for three caption rules that have nonePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertodifficulty/easy enhancement help wanted triage/ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
heygen-com/hyperframes#5388 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de heygen-com/hyperframes
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
formbricks/formbricks#9918 ·
Los mantenedores suelen responder en 1 día
-
Chat: Resize question overlayAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
thecodacus/pithagoras#364 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
openclimatefix/quartz-frontend#823 ·
Los mantenedores suelen responder en 4 días
-
area:agent-manager community needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
`contacts.create` posts to `/audiences/undefined/contacts` when `audienceId` is undefinedPosiblemente ocupada @RaphaelFakhri la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
resend/resend-node#1176 ·
Los mantenedores suelen responder en 1 día