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.
Resolves #3090.
I was able to reproduce the error using a minimal example inferred by code provided by the issue author:
raises
The apparent error was
NoUpdate
was being blamed for not being JSON serializable, even though theAssertionError
output was to blame. The root cause ended up beingNoUpdate
was not deemed to be a valid prop by bothvalid_props
andvalid_children
within_validate.fail_callback_output
.If the error-causing output was placed before the
NoUpdate
outputs in the return, the correct error message would have been displayed.E.g.
raises
This PR adds
NoUpdate
tovalid_props
andvalid_children
, which results in the expected error.One open question is the meaningful location for the
NoUpdate
definition. I made a new_no_update
module, which seems like overkill, but I did not see a better place and importing_callback
into_validate
resorts in a circular dependency.Side note: hello
NoUpdate
again, my old friend :)