recalculate progress on starting request too in case it was within 500ms of the last finished request (so that it doesn't hover at 100% for the entire duration)