Skip to content

fix: prevent TypeError when open() called before widget script loads - #659

Merged
PaulBoye-py merged 1 commit into
mainfrom
fix/upload-widget-open-undefined
Sep 15, 2026
Merged

PaulBoye-py merged 1 commit into
mainfrom
fix/upload-widget-open-undefined

Conversation

@PaulBoye-py

Copy link
Copy Markdown
Collaborator

Description

invokeInstanceMethod used widget?.current[method] which only guards against widget being undefined. widget is a React ref and is always defined, so the optional chaining was ineffective.

When a user calls open() before the Cloudinary script has finished loading, createWidget() returns undefined (because cloudinary.current is not yet set), leaving widget.current as undefined. The subsequent widget.current[method] access then throws a TypeError, which is what Sentry was catching.

Changing to widget.current?.[method] moves the optional chaining to where it matters, so calling open() before the script loads fails gracefully instead of throwing.

Issue Ticket Number

Fixes #586

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I have followed the contributing guidelines of this project as mentioned in CONTRIBUTING.md
  • I have created an issue ticket for this PR
  • I have checked to ensure there aren't other open Pull Requests for the same update/change
  • I have performed a self-review of my own code
  • I have run tests locally to ensure they all pass
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes needed to the documentation

invokeInstanceMethod used widget?.current[method] which only guards
against widget being undefined. widget is a React ref and is always
defined, so the optional chaining was ineffective. If the Cloudinary
script hasn't loaded yet, createWidget() returns undefined, leaving
widget.current undefined, and widget.current[method] throws a TypeError.

Change to widget.current?.[method] so the optional chaining correctly
guards against widget.current being undefined.

Fixes #586.
@vercel

vercel Bot commented Sep 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
next-cloudinary Ready Ready Preview Sep 15, 2026 10:09pm UTC

Request Review

@PaulBoye-py
PaulBoye-py merged commit 5147aa5 into main Sep 15, 2026
7 checks passed
@PaulBoye-py
PaulBoye-py deleted the fix/upload-widget-open-undefined branch September 15, 2026 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Sentry reports error with open function in CldUploadWidget

1 participant