cloudinary / cloudinary/cloudinary_npm

Comma escaping for text overlays is not working correctly

Open
#702 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
666
Forks
319
Avg merge
17h 18m
Merged PRs (30d)
3

Description

## 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:

```JavaScript
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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.