One note is that we sometimes don't want to fail the entire operation: one bad dependency shouldn't block downloading of the rest. Coincidentally, there is exactly a dependency like that in the Polymer dependency graph. It might be a bug in our code, but still, we should download as many dependencies as we can, I think. Ideally, we should later introduce a more elaborate status logging mechanism than just a transient message in the toolbar, so that the user can see a list of failures.