fix: improve connection string error handling for common copy-paste mistakes by dkohn1337 · Pull Request #1128 · cloudinary/cloudinary_wordpress
Summary
Author: Dor Kohn
Context: Product Manager Home Assignment
This PR improves the connection string handling in the WordPress plugin setup wizard to prevent common copy-paste errors that cause connection failures.
Problem
Users frequently encounter "Incorrect connection string" errors during initial setup due to:
-
Angle bracket placeholders: The Cloudinary dashboard shows
cloudinary://<your_api_key>:<your_api_secret>@<cloud_name>. Users copy this literally, including the<>brackets, resulting in a cryptic error with no guidance. -
CLOUDINARY_URL= prefix: The dashboard's "Environment variable" format includes
CLOUDINARY_URL=prefix. Users must manually remove this, but the error message doesn't explain why it fails. -
Inconsistent handling: The wizard REST endpoint and settings page handle connection strings differently, creating unpredictable behavior.
Solution
-
Added
normalize_cloudinary_url()method - Centralizes URL preprocessing:- Trims whitespace and surrounding quotes
- Strips
CLOUDINARY_URL=prefix automatically - Applied consistently across all connection flows
-
Added angle bracket detection - Returns a helpful error message:
"Your connection string contains angle brackets (< or >). Replace the placeholder values like <your_api_key> with your actual credentials."
-
Updated regex - Now supports cloud names with underscores, hyphens, and numbers.
Testing
- Paste
cloudinary://<api_key>:<api_secret>@cloud→ Shows angle bracket error - Paste
CLOUDINARY_URL=cloudinary://123:abc@mycloud→ Auto-strips prefix, attempts connection - Paste valid credentials with prefix → Connects successfully
Files Changed
php/class-connect.php- Core connection handling logic