Comma escaping for text overlays is not working correctly

Abierto
#702 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript, node.js
Área
api, backend

Línea de trabajo

Empieza ejecutando la reproducción de JavaScript del issue y siguiendo la ruta de generación de URL de Cloudinary utilizada para las superposiciones de texto. Comprueba cómo se escapan las comas en comparación con las comillas, los guiones, los signos de interrogación y los signos de porcentaje; se considera terminado cuando una coma aparece literalmente en la superposición renderizada sin romper el resto del comportamiento de escape.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the bug in a sentence or two.

Adding text overlays with commas (,) on videos results in %2C escape sequences in the overlay.
Other characters like quotes, dashes, question marks, and percent are automatically handled correctly and appear correctly in the overlay.
Manually escaping the comma does not work either because the % is automatically escaped.

Issue Type (Can be multiple)

[ ] Build - Can’t install or import the SDK
[ ] Babel - Babel errors or cross browser issues
[ ] Performance - Performance issues
[x] Behaviour - Functions aren’t working as expected (Such as generate URL)
[ ] Documentation - Inconsistency between the docs and behaviour
[ ] Incorrect Types - For typescript users who are having problems with our d.ts files
[ ] Other (Specify)

Steps to reproduce

Create a text overlay on a video that contains a comma.

Sample code:

let transformations = [
    { width: 900, height: 900, crop: "fill" },
    { color: "#ffffff", 
        overlay: { 
            font_family: font, 
            font_size: 48, 
            text: "So, \"here\" & here are 10% special chars - right?", 
            text_align: "center" 
        }, 
        width: 800, crop: "fit" }, 
    { duration: 2.0 },
    { flags: "layer_apply", gravity: gravity, x: 0, y: 0.05, start_offset: 0.0, end_offset: 2.0 }
];
      
      
let namedVideoTransformation = "myTransformation";
await cloudinary.v2.api.create_transformation(namedVideoTransformation, {
    transformation: transformations,
});
videoUri = cloudinary.url("folder/video.mp4", {
    resource_type: "video",
    transformation: [namedVideoTransformation],
});

Error screenshots

Image

Versions and Libraries (fill in the version numbers)

Cloudinary_NPM SDK version 2.5.1
Node - 23.7.0
NPM - 10.9.2

Lenguaje dominante
JavaScript
Estrellas
672
Forks
318
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de cloudinary/cloudinary_npm

Todos los issues de cloudinary/cloudinary_npm

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.