transport: let the progress output return an error There are any number of issues that can come up in the progress callback, and we should let the user cancel at that point as well.