Skip to content

Resolve "Upload problem due to a formatting error in the date tag"

Agate requested to merge 718-error-handling into develop

Closes #718 (closed), #583 (closed), #501 (closed), #252 (closed), #544 (closed) (yes, that's a lot :D)

So, this MR changes the way we parse audio metadata and handle validation for this data:

  • There is now a strict and explicit separation between the retrieve step (extracting raw metadata value from files), and the validation step (ensure the raw metadata is actually valid, convert it to our internal types, etc.)
  • The date parsing issue from #718 (closed) should be solved (and Funkwhale should not crash anymore against invalid dates, skipping those instead)
  • We are now ready to deal with multiple artists at the metadata parsing level (cf !515 (closed)). It should also be easier to exclude featuring artists now (cf #736 (closed)), but it's not implemented here
  • When invalid metadata makes the import fail, we store the errors on the upload so we can display those to the user
  • Tables that list uploads in the Web UI leverage this new data to display more detailed errors and advices, as shown on the screenshot below

Link to the detail modal

image

Import error detail

image

image

As you can see, we display the type of errors, the failing tags and the actual error, as well as some link to the documentation, support forum and some debug info you can easily copy-paste to get help.

Merge request reports