In the handle_progress function I ran into trouble with the returned value from consume_upload_entry. The code in the book has this:
{:ok, path} = consume_upload_entry( ...
However consume_upload_entry just returns path apparently. So changing it to this worked
path = consume_upload_entry(...
Looking at the source code for this in LiveView:
It raises exceptions instead of using :ok / :error