Fix: this.done is not a function on wizard upload field#312
Merged
angusmcleod merged 2 commits intoJun 18, 2026
Conversation
uploadDone called this.done(), which is not defined on CustomWizardFieldUpload (not a method on the class, not in the template, not passed by any caller; done() only exists on custom-wizard-step). It threw 'this.done is not a function' on every successful upload, surfacing an error dialog even though field.value was already set. Remove the orphaned call.
Member
|
Thanks 🙏 Bump the patch version number and I'll merge! |
|
Version bumped! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
In custom-wizard-field-upload.js, the uploadDone callback calls this.done(), but done is not defined on CustomWizardFieldUpload — it is neither a method on the class, nor declared in its template, nor passed in by any caller. done is only defined as an action on the unrelated custom-wizard-step component and is never wired into the upload field.
On a successful upload this throws this.done is not a function, which Uppy catches and surfaces as an error dialog to the user, even though the upload itself succeeds (field.value is set before the failing call). The orphaned call is a leftover from a previous implementation.
Fix: remove the orphaned this.done() call. The upload result is already persisted via field.value, the loading state is tracked reactively through uppyUpload.uploading, and the preview renders from field.value, so no behavior is lost.