fix: improve connection string error handling for common copy-paste mistakes #1128
+52
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:CLOUDINARY_URL=prefix automaticallyAdded angle bracket detection - Returns a helpful error message:
Updated regex - Now supports cloud names with underscores, hyphens, and numbers.
Testing
cloudinary://<api_key>:<api_secret>@cloud→ Shows angle bracket errorCLOUDINARY_URL=cloudinary://123:abc@mycloud→ Auto-strips prefix, attempts connectionFiles Changed
php/class-connect.php- Core connection handling logic