d44bafb8cf
Getting progress with the fetch() API is complicated and requires us to stream the data and create the blob ourselves, so use XMLHttpRequest instead to get live progress updates.